Skip to main content

Summary This article clarifies the details of an Orbix 3.3.10 server crash when using the RogueWave threading libraries.
Environment

Orbix 3.3.10

HP UX 11.31

Question/Problem Description Orbix 3.3 server crash
Clarifying Information This issue occurs when using the RogueWave threading libraries.
Error Message

Stack traces:

0 0x60000000c0126320:0 in pthread_mutex_lock 0x20 ()
   from /usr/lib/hpux32/libpthread.so.1
(gdb) ba
#0 0x60000000c0126320:0 in pthread_mutex_lock 0x20 ()
   from /usr/lib/hpux32/libpthread.so.1
#1 0x60000000e201f0b0:0 in IT_Mutex::lock ()
    at posix/unchecked/it_mutex.cxx:36
#2 0x60000000e1cab450:0 in RWMutex::get_write_lock ()
    at /vob/orbix/../staging_element1/ArtFiles/3.3/HPUX64_ITAN_11.23_aCC6.1.3/rel/include/it_ts/locker.h:42
#3 0x60000000e1cac690:0 in WriteLocker::WriteLocker ()
    at /vob/orbix/network_threads/read_write_locker.cxx:103
#4 0x60000000e1cac790:0 in WriteLocker::WriteLocker ()
   from /opt/aidev/iona/Orbix/V3.3.10-32i/lib/liborbixmt.3.3.aCC.1
#5 0x60000000e1caa0c0:0 in IT_NetSocketSet::add ()
    at /vob/orbix/network_threads/NetSocketSet.cxx:124

Program terminated with signal 10, Bus error.
BUS_ADRALN - Invalid address alignment
#0 0x60000000c00ce470:1 in pthread_cond_destroy 0x31 ()
   from /usr/lib/hpux32/libpthread.so.1
(gdb) bt
#0 0x60000000c00ce470:1 in pthread_cond_destroy 0x31 ()
   from /usr/lib/hpux32/libpthread.so.1
#1 0x60000000e096efd0:0 in IT_Condition::~IT_Condition ()
    at posix/unchecked/../it_condition_i.h:101
#2 0x60000000e05f3a00:0 in IT_NetSocketSet::~IT_NetSocketSet ()
    at /vob/orbix/network_threads/NetSocketSet.cxx:1
#3 0x60000000e05e2fd0:0 in IT_NetworkThreads::~IT_NetworkThreads ()
    at /vob/orbix/network_threads/NetworkThreads.cxx:335
#4 0x60000000e05ed6f0:0 in IT_NetworkThreads::destroy_instance ()
    at /vob/orbix/network_threads/NetworkThreads.cxx:264

Defect/Enhancement Number ORBTHREE-838
Cause The cause of this problem is that one of the RogueWave libraries contained a symbol with the same name as a symbol used in the Orbix code. This is causing a situation where a constructor of one class was being called, and the destructor of the other being called, thus resulting in the crash.
Resolution Upgrade to the latest available service pack release of Orbix 3.3
Workaround
Notes
Attachment

#KnowledgeDocs
#Orbix