[omniORB] Access violation when application exits
Ivan Ivanov
Ivan.Ivanov@trema.com
Wed, 30 Jan 2002 15:15:03 +0100
Hi,
I had similar problem, have you tried _etit(code) instead of exit(code)
- in my case this helped. The _exit(...) function bypasses the standard
handler which might be a cause of a crash.
Cheers,
Ivan
-----Original Message-----
From: owner-omniorb-list@uk.research.att.com
[mailto:owner-omniorb-list@uk.research.att.com] On Behalf Of
jon.kristensen@kongsberg-simrad.com
Sent: Wednesday, January 30, 2002 11:05 AM
To: omniorb-list@uk.research.att.com
Subject: [omniORB] Access violation when application exits
Hi,
I get an access violation error when my omniORB 4 application exits.
VC60 on Win2k.
omni_rmutex::~omni_rmutex()
{
OMNIORB_ASSERT(!pd_holder);
}
The error occurs within the above ASSERT macro in rmutex.cc
Seems that this mutex has been destructed already,and that a second
attempt fails.
Here is my stack trace:
omni_rmutex::~omni_rmutex() line 43 + 3 bytes
omni_rmutex::`scalar deleting destructor'(unsigned int 0x00000001) + 15
bytes
omni::omniOrbPOA::~omniOrbPOA() line 459 + 34 bytes
omni::omniOrbPOA::`scalar deleting destructor'(unsigned int 0x00000001)
+ 15 bytes
_omniFinalCleanup::~_omniFinalCleanup() line 1447 + 32 bytes
$E9() + 13 bytes
_CRT_INIT(void * 0x67d70000, unsigned long 0x00000000, void *
0x00000001) line 236
_DllMainCRTStartup(void * 0x67d70000, unsigned long 0x00000000, void *
0x00000001) line 289 + 17 bytes
NTDLL! 77f82fc9()
NTDLL! 77f8de04()
KERNEL32! 77e98fe9()
doexit(int 0x00000000, int 0x00000000, int 0x00000000) line 392
exit(int 0x00000000) line 279 + 13 bytes
mainCRTStartup() line 345
Any clues?
Thanks,
Jon.
--------------
Jon Kristensen
Principal Engineer, SW Embedded Systems
Kongsberg Simrad AS, Horten, Norway
email: jon.kristensen@kongsberg-simrad.com