Hello,
I found some more broken things:
Versions:
OS: SunOS v40z-1 5.10 Generic_125101-08 i86pc i386 i86pc
Compiler: CC: Sun C++ 5.9 SunOS_i386 2007/05/03
Ice: 3.2.0 with CtrlCHandler.cpp with patch from Bernard
#######################
# Mutex broken ??
#######################
- Only builds with "OPTIMIZE=yes" are affected.
- It can be reproduced with the Ice unittest test/Ice/exception.
DEBUG binaries:
---------------
-bash-3.00$ LD_LIBRARY_PATH=../debug/lib/amd64 test/Ice/exceptions/client
testing object adapter registration exceptions... ok
testing servant registration exceptions... ok
testing servant locator registrations exceptions... ok
testing object factory registration exception... ok
testing stringToProxy... ok
testing checked cast... Network.cpp:686: Ice::ConnectionRefusedException:
connection refused: Connection refused
execution completed, exit code is 1
RELEASE binaries:
---------------
-bash-3.00$ LD_LIBRARY_PATH=../release/lib/amd64 dbx test/Ice/exceptions/client
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
Reading client
Reading ld.so.1
Reading libIce.so.3.2.0
Reading libIceUtil.so.3.2.0
Reading libpthread.so.1
Reading libstlport.so.1
Reading librt.so.1
Reading libCrun.so.1
Reading libm.so.2
Reading libthread.so.1
Reading libc.so.1
Reading libdl.so.1
Reading libsocket.so.1
Reading libaio.so.1
Reading libmd5.so.1
Reading libnsl.so.1
(dbx) run
Running: client
(process id 17265)
testing object adapter registration exceptions... t@1 (l@1) signal SEGV (access to address exceeded protections) in tdb_mutex_stats at 0xfffffd7ffec569cc
0xfffffd7ffec569cc: tdb_mutex_stats+0x000c: movw $0x0000000000004d58,0x0000000000000006(%rdi)
dbx: read of 8 bytes at address 706164417473655c failed
dbx: attempt to read frame failed -- cannot get return address
dbx: warning: No frame with source found
(dbx) where
current thread: t@1
dbx: read of 8 bytes at address 706164417473655c failed
dbx: attempt to read frame failed -- cannot get return address
=>[1] tdb_mutex_stats(0xfffffd7ffec5679b, 0x0, 0x1, 0xfffffd7ffeeb456c, 0x0, 0xfffffd7ffec5679b), at 0xfffffd7ffec569cc
[2] mutex_lock_internal(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec53daa
[3] mutex_lock_impl(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5445e
[4] _private_mutex_lock(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec544fb
[5] IceInternal::decRef(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffefc927a
[6] IceInternal::ObjectAdapterFactory::createObjectAda pter(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffefca657
[7] 0xfffffd7fffdff500(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fffdff500
[8] 0x4f112c(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x4f112c
[9] 0x6c610030726574(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x6c610030726574
(dbx) threads
*> t@1 a l@1 ?() signal SIGSEGV in tdb_mutex_stats()
t@2 a l@2 .XDCvXZe6eLaGlqX.startHook() sleep on 0x4f5c78 in __lwp_park()
Notice: test/IceUtil/thread/client is running without problems
-bash-3.00$ LD_LIBRARY_PATH=../release/lib/amd64 test/IceUtil/thread/client
running mutex test... ok
running countDownLatch test... ok
running thread start test... ok
running thread create test... ok
running thread alive test... ok
running recursive mutex test... ok
running read/write recursive mutex test... ok
running static mutex test... ok
running monitor<mutex> test... ok
running monitor<recmutex> test... ok
#######################
# Exception handling broken ??
#######################
- Only builds with "OPTIMIZE=yes" are affected.
- It can be reproduced with the Ice unittest test/Ice/operations.
DEBUG binaries:
---------------
-bash-3.00$ LD_LIBRARY_PATH=../debug/lib/amd64 test/Ice/operations/client
testing stringToProxy... ok
testing ice_getCommunicator... ok
testing proxy methods... ok
testing proxy comparison... ok
testing checked cast... ok
testing checked cast with context... ok
testing timeout... ok
testing twoway operations... ok
testing twoway operations with AMI... ok
testing batch oneway operations... ok
testing server shutdown... ok
execution completed, exit code is 0
RELEASE binaries:
---------------
-bash-3.00$ LD_LIBRARY_PATH=../release/lib/amd64 dbx test/Ice/operations/client
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
Reading client
Reading ld.so.1
Reading libIce.so.3.2.0
Reading libIceUtil.so.3.2.0
Reading libpthread.so.1
Reading libstlport.so.1
Reading librt.so.1
Reading libCrun.so.1
Reading libm.so.2
Reading libthread.so.1
Reading libc.so.1
Reading libdl.so.1
Reading libsocket.so.1
Reading libaio.so.1
Reading libmd5.so.1
Reading libnsl.so.1
(dbx) run
Running: client
(process id 17513)
testing stringToProxy... ok
testing ice_getCommunicator... ok
testing proxy methods... ok
testing proxy comparison... ok
testing checked cast... ok
testing checked cast with context... ok
testing timeout... ok
testing twoway operations... ok
testing twoway operations with AMI... ok
testing batch oneway operations... t@1 (l@1) signal SEGV (no mapping at the fault address) in _dlamd64getunwind at 0xfffffd7fff3dd521
0xfffffd7fff3dd521: _dlamd64getunwind+0x0061: movq 0x00000000000000d0(%r14),%rdi
dbx: read of 8 bytes at address 3c failed
dbx: attempt to read frame failed -- cannot get return address
dbx: warning: No frame with source found
(dbx) where -h
current thread: t@1
dbx: read of 8 bytes at address 3c failed
dbx: attempt to read frame failed -- cannot get return address
=>[1] _dlamd64getunwind(0x0, 0xfffffd7fffdfc8e0, 0xfffffd7fffdfc478, 0xfffffd7fff3fd8b8, 0xfffffd7fff3fd720, 0x0), at 0xfffffd7fff3dd521
[2] _Unw_EhfhLookup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5c8aa
[3] complete_context(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5cd75
[4] down_one(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5cef0
[5] _Unwind_RaiseException_Body(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5d020
[6] _SUNW_Unwind_RaiseException(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5d1e9
[7] __Crun::ex_throw(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2a9464
[8] IceInternal::BasicStream::throwMemoryLimitExceptio n(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef164cf
[9] IceInternal::BasicStream::write(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffef0b5f5
[10] 0xfffffd7fffdfc8e0(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fffdfc8e0
#######################
# Starting 2 communicators on same port broken ??
#######################
- Only builds with "OPTIMIZE=yes" are affected.
- It can be reproduced with the Ice unittest test/Ice/operations.
DEBUG binaries:
---------------
-bash-3.00$ LD_LIBRARY_PATH=../debug/lib/amd64 test/Ice/operations/server &
[1] 17620
-bash-3.00$ LD_LIBRARY_PATH=../debug/lib/amd64 test/Ice/operations/server
Network.cpp:485: Ice::SocketException:
socket exception: Address already in use
RELEASE binaries:
---------------
-bash-3.00$ LD_LIBRARY_PATH=../release/lib/amd64 test/Ice/operations/server &
[1] 17622
-bash-3.00$ LD_LIBRARY_PATH=../release/lib/amd64 dbx test/Ice/operations/server
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
Reading server
Reading ld.so.1
Reading libIce.so.3.2.0
Reading libIceUtil.so.3.2.0
Reading libpthread.so.1
Reading libstlport.so.1
Reading librt.so.1
Reading libCrun.so.1
Reading libm.so.2
Reading libthread.so.1
Reading libc.so.1
Reading libdl.so.1
Reading libsocket.so.1
Reading libaio.so.1
Reading libmd5.so.1
Reading libnsl.so.1
(dbx) run
Running: server
(process id 17627)
t@1 (l@1) signal SEGV (no mapping at the fault address) in _dlamd64getunwind at 0xfffffd7fff3dd521
0xfffffd7fff3dd521: _dlamd64getunwind+0x0061: movq 0x00000000000000d0(%r14),%rdi
(dbx) where -h
current thread: t@1
=>[1] _dlamd64getunwind(0x0, 0x5499c0, 0xfffffd7fffdfe440, 0xfffffd7fff3fd8b8, 0xfffffd7fff3fd720, 0x0), at 0xfffffd7fff3dd521
[2] _Unw_EhfhLookup(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5c8aa
[3] complete_context(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5cd75
[4] down_one(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5cef0
[5] _Unwind_RaiseException_Body(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5d082
[6] _SUNW_Unwind_Resume(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffec5d4aa
[7] IceInternal::TcpEndpointI::acceptor(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff07806b
[8] 0x5499c0(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x5499c0
[9] 0x549780(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x549780
------------------
Do you have any idea where to look or what to do ???
Best regards,
Markus

Reply With Quote