[omniORB] Thread omniORB synchroniztion bug on startup?
Rob Kovalchik
robk@super.marketorder.com
Tue, 3 Nov 1998 08:34:41 -0800
A very simple client running on Solaris 2.6 with omniORB 2.6.0 will
periodically crash during startup, prior to entering "main()" with a SEGV.
This occurs in omni_thread::init_t::init_t() as shown by the following stack
trace from the resulting core file using dbx. The client app usually works
fine. This error occurs maybe one out of ten startups.
t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
(dbx) where -h
current thread: t@1
=>[1] _ex_throw(0xef6514c0, 0xef6f2ec4, 0xef6471e0, 0x0, 0x0, 0xef6f2ec4),
at 0xef633d24
[2] omni_thread::init_t::init_t(0x38b88, 0xc, 0xef6514c0, 0xef7f8bd0,
0xff00, 0xff), at 0xef6e1d88
[3] _init(0x0, 0xef7f9f34, 0x2, 0xef7f8b10, 0xef5e5250, 0xef7dd814), at
0xef6e2950
[4] elf_bndr(0xef6e2920, 0xef7f9f34, 0xef6d0124, 0xef7f8c98, 0xef7f84a4,
0xef6b1817), at 0xef7dd878
[5] _elf_rtbndr(0xef6b56f4, 0xef5e5250, 0x1, 0x2, 0xef5a772c, 0xef6471e0),
at 0xef7d2434
[6] 0xef6c62ec(0xef6c6d41, 0xef5e5250, 0xef6471e0, 0xef5e5250, 0xef5ee2b4,
0x2000), at 0xef6c62eb
[7] _init(0xef6d0124, 0x0, 0x200803, 0xef7f9918, 0xc5d0f0e, 0x0), at
0xef6b56f4
[8] call_init(0xef3c0230, 0xef7f8c98, 0xef7f84a4, 0x400000, 0x80000,
0x4201), at 0xef7d8360
[9] setup(0xef7f9918, 0xef7f8c58, 0xef7f8c98, 0xef3c0230, 0xef6d06dc,
0xef7f84a4), at 0xef7d8238
[10] _setup(0xef7f9918, 0xef7f84a4, 0x5, 0xd4, 0x100d4, 0xef7d0000), at
0xef7dec1c
[11] _rt_boot(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xef7d23e4
(dbx)
(dbx) threads
o> t@1 a l@1 ?() signal SIGSEGV in _ex_throw()
t@2 b l@2 ?() LWP suspended in __signotifywait()
t@3 ?() sleep on (unknown) in _swtch()
(dbx)
ORB runtime was downloaded in binary from ORL site.
Client was built using the Sun SparcCompiler:
robk> CC -V
CC: WorkShop Compilers 4.2 18 Sep 1997 C++ 4.2 patch 104631-04
Any suggestions would be most welcomed.
robk@marketorder.com