openhpi2 / Open-HPI

Open HPI is an open source implementation of the SA Forum's Hardware Platform Interface (HPI). HPI provides an abstracted interface to managing computer hardware, typically for chassis and rack based servers
Other
3 stars 1 forks source link

Crash in a call get_oa_soap_info #2540

Closed openhpi2 closed 8 years ago

openhpi2 commented 10 years ago

On a "HP c-Class system", we observed a crash on a call to get_oa_soap_info().

0 0x00007fa816bc7f74 in g_hash_table_lookup_node (hash_return=, key=0x7fa815825a85,

hash_table=0x742064656e61656c) at ghash.c:365

1 g_hash_table_lookup (hash_table=0x742064656e61656c, key=key@entry=0x7fa815825a85) at ghash.c:1076

2 0x00007fa8157f76e8 in get_oa_soap_info (oh_handler=oh_handler@entry=0x77da10) at oa_soap_utils.c:158

3 0x00007fa8157f3dc4 in build_oa_soap_custom_handler (oh_handler=oh_handler@entry=0x77da10) at oa_soap.c:177

4 0x00007fa815802174 in oa_soap_discover_resources (oh_handler=0x77da10) at oa_soap_discover.c:226

5 0x0000000000415140 in oh_discovery () at plugin.c:730

6 0x0000000000424461 in discovery_func (data=) at threaded.c:48

7 0x00007fa816bfc265 in g_thread_proxy (data=0x781400) at gthread.c:798

8 0x00007fa81697ae9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0

9 0x00007fa816195ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6

10 0x0000000000000000 in ?? ()

OpenHPI version: 3.4.0

Full back trace :

(gdb) t a a bt

Thread 3 (Thread 0x7fd477960740 (LWP 13142)):

0 0x00007fd475a8089c in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0

1 0x00007fd475a7c09b in _L_lock_1006 () from /lib/x86_64-linux-gnu/libpthread.so.0

2 0x00007fd475a7c01c in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0

3 0x00007fd475d169e1 in g_mutex_lock (mutex=) at gthread-posix.c:210

4 0x0000000000424652 in oh_threaded_stop () at threaded.c:159

5 0x00000000004139f8 in oh_finit () at init.c:207

6 0x0000000000407e75 in main (argc=1, argv=0x7ffffc9634a8) at openhpid-posix.cpp:442

Thread 2 (Thread 0x7fd473d8c700 (LWP 24081)):

0 0x00007fd475a8089c in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0

1 0x00007fd475a7c080 in _L_lock_903 () from /lib/x86_64-linux-gnu/libpthread.so.0

2 0x00007fd475a7bf19 in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0

3 0x00007fd475cab651 in g_static_rec_mutex_lock (mutex=mutex@entry=0x1ca34f8) at deprecated/gthread-deprecated.c:716

4 0x0000000000414c6c in oh_get_handler (hid=hid@entry=1) at plugin.c:410

5 0x0000000000412e92 in oh_harvest_events () at event.c:198

6 0x0000000000424311 in evtget_func (data=) at threaded.c:81

7 0x00007fd475cfb265 in g_thread_proxy (data=0x1ca6450) at gthread.c:798

8 0x00007fd475a79e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0

9 0x00007fd475294ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6

10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fd47458d700 (LWP 24080)):

0 0x00007fd475cc6f74 in g_hash_table_lookup_node (hash_return=, key=0x7fd474924a85, hash_table=0x742064656e61656c) at ghash.c:365

1 g_hash_table_lookup (hash_table=0x742064656e61656c, key=key@entry=0x7fd474924a85) at ghash.c:1076

2 0x00007fd4748f66e8 in get_oa_soap_info (oh_handler=oh_handler@entry=0x1ca2a10) at oa_soap_utils.c:158

3 0x00007fd4748f2dc4 in build_oa_soap_custom_handler (oh_handler=oh_handler@entry=0x1ca2a10) at oa_soap.c:177

4 0x00007fd474901174 in oa_soap_discover_resources (oh_handler=0x1ca2a10) at oa_soap_discover.c:226

5 0x0000000000415140 in oh_discovery () at plugin.c:730

6 0x0000000000424461 in discovery_func (data=) at threaded.c:48

7 0x00007fd475cfb265 in g_thread_proxy (data=0x1ca6400) at gthread.c:798

8 0x00007fd475a79e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0

9 0x00007fd475294ccd in clone () from /lib/x86_64-linux-gnu/libc.so.6

10 0x0000000000000000 in ?? ()


There were not testing being carried w.r.t openhpid.

On our system during bring up our HPI client will connect to openhpid and perform discovery + inventory walk-through + listen for any HPI events.

We are not sure how to reproduce this issue.

Reported by: amar-nv

openhpi2 commented 10 years ago

Information shared by Verizon:

  1. Issue is not consistent.
  2. Not sure of the exact steps involved.This has happened a few times over a day or two of testing.
  3. OpenHPI version: openhpid: INFO: openhpid-posix.cpp:418: Starting OpenHPI 3.4.0. openhpid: INFO: openhpid-posix.cpp:420: OPENHPI_CONF = /opt/bbee/etc/openhpi/openhpi.conf. openhpid: INFO: openhpid-posix.cpp:425: OPENHPI_DAEMON_PORT = 4743. openhpid: INFO: openhpid-posix.cpp:428: Enabled IP versions: IPv4. openhpid: INFO: openhpid-posix.cpp:429: Max threads: -1. openhpid: INFO: openhpid-posix.cpp:430: Socket timeout(sec): 0. openhpid: DBG: event.c:49: Setting up event processing queue.

Original comment by: shyamalah

openhpi2 commented 10 years ago

Configuration Details and tasks carried out before crash dump, shared by Verizon:

Machine Details : Linux cz1 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux OA Firmware Version: 4.01

We were not directly testing any thing related to open-hpid.

When our application comes up it establishes a connection to the HPID and do

  1. Discover
  2. Inventory walk-through
  3. Listen for any HPI events on the system through saHpiEventGet()

The exact tasks before the crash is not known as this was observed at later point of time.

Original comment by: shyamalah

openhpi2 commented 10 years ago

We could not recreate the issue with the OS RHEL. So got the versions of OS and glib from Verizon. Next we are planning to install Ubuntu OS and trying to recreate the issue.

Ubuntu 12.04 LTS glib-2.35.7

Original comment by: shyamalah

openhpi2 commented 9 years ago

Original comment by: dr_mohan

openhpi2 commented 9 years ago

Bugs 1814 and 1871 are related to this. When patches for those bugs were checked in, this bug is also resolved automatically. Closing it as duplicate.

Original comment by: dr_mohan