Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ace-users] ACE::init crash on win32

2 views
Skip to first unread message

Ryan Lee

unread,
Jul 24, 2008, 3:10:42 PM7/24/08
to ace-...@list.isis.vanderbilt.edu
ACE VERSION: 5.6

HOST MACHINE and OPERATING SYSTEM
- Windows XP sp2. Winsock 2.0

TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
- Host and target system are the same

COMPILER NAME AND VERSION (AND PATCHLEVEL):
- Microsoft Visual Studio 2005 v8.0.50727.762 (sp.050727-7600)

THE $ACE_ROOT/ace/config.h FILE
- #define ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER 1
before including ace/config-win32.h
- No other modifications have been made to the other config files.

AREA/CLASS/EXAMPLE AFFECTED:
ACE::init causes a stack overflow

DOES THE PROBLEM AFFECT:
- EXECUTION

SYNOPSIS:
- application crashes due to stack overflow

DESCRIPTION:
- Our system uses ACE. I am writing a dll that is used by a 3rd party application to interface with our application. The 3rd party app loads in our dll when it is required (could be long after the app starts up). After our DLL is loaded, the 3rd party app calls an initialization function where our system performs ACE::init(). ACE::init eventually gets into a loop where it calls itself until the stack overflows.

> ACE-5_6d.dll!ACE_Log_Msg::instance() Line 319 C++
ACE-5_6d.dll!__ace_assert(const char * file=0x08cf1808, int line=868, const char * expression=0x08cf17e0) Line 16 + 0x5 bytes C++
ACE-5_6d.dll!ACE_TSS_Cleanup::insert(unsigned long key=70, void (void *)* destructor=0x08b58c83) Line 868 + 0x1c bytes C++
ACE-5_6d.dll!ACE_OS::thr_keycreate(unsigned long * key=0x08d956ac, void (void *)* dest=0x08b58c83, void * __formal=0x00000000) Line 4933 + 0x19 bytes C++
ACE-5_6d.dll!ACE_Thread::keycreate(unsigned long * keyp=0x08d956ac, void (void *)* destructor=0x08b58c83, void * inst=0x00000000) Line 23 + 0x11 bytes C++
ACE-5_6d.dll!ACE_Log_Msg::instance() Line 319 + 0x12 bytes C++
ACE-5_6d.dll!__ace_assert(const char * file=0x08cf1808, int line=868, const char * expression=0x08cf17e0) Line 16 + 0x5 bytes C++
ACE-5_6d.dll!ACE_TSS_Cleanup::insert(unsigned long key=69, void (void *)* destructor=0x08b58c83) Line 868 + 0x1c bytes C++
ACE-5_6d.dll!ACE_OS::thr_keycreate(unsigned long * key=0x08d956ac, void (void *)* dest=0x08b58c83, void * __formal=0x00000000) Line 4933 + 0x19 bytes C++
ACE-5_6d.dll!ACE_Thread::keycreate(unsigned long * keyp=0x08d956ac, void (void *)* destructor=0x08b58c83, void * inst=0x00000000) Line 23 + 0x11 bytes C++
ACE-5_6d.dll!ACE_Log_Msg::instance() Line 319 + 0x12 bytes C++
ACE-5_6d.dll!__ace_assert(const char * file=0x08cf1808, int line=868, const char * expression=0x08cf17e0) Line 16 + 0x5 bytes C++
ACE-5_6d.dll!ACE_TSS_Cleanup::insert(unsigned long key=68, void (void *)* destructor=0x08b58c83) Line 868 + 0x1c bytes C++
ACE-5_6d.dll!ACE_OS::thr_keycreate(unsigned long * key=0x08d956ac, void (void *)* dest=0x08b58c83, void * __formal=0x00000000) Line 4933 + 0x19 bytes C++
ACE-5_6d.dll!ACE_Thread::keycreate(unsigned long * keyp=0x08d956ac, void (void *)* destructor=0x08b58c83, void * inst=0x00000000) Line 23 + 0x11 bytes C++
ACE-5_6d.dll!ACE_Log_Msg::instance() Line 319 + 0x12 bytes C++
ACE-5_6d.dll!ACE_Object_Manager::init() Line 262 + 0x5 bytes C++
ACE-5_6d.dll!ACE_Object_Manager::ACE_Object_Manager() Line 313 C++
ACE-5_6d.dll!ACE_Object_Manager::instance() Line 334 + 0x27 bytes C++
ACE-5_6d.dll!ACE::init() Line 23 + 0x5 bytes C++

REPEAT BY:
N/A

SAMPLE FIX/WORKAROUND:
- No known fix or workaround

Douglas C. Schmidt

unread,
Jul 24, 2008, 3:12:32 PM7/24/08
to ryan...@avigilon.com, ace-...@cse.wustl.edu
Hi Ryan,

Thanks for using the PRF.

>ACE VERSION: 5.6

You are using an old version of ACE. Please upgrade to ACE+TAO+CIAO
x.6.5 (i.e., ACE 5.6.5, TAO 1.6.5, and CIAO 0.6.5), which you can
download from

http://download.dre.vanderbilt.edu

under the heading: "Latest Micro Release Kit."

The DOC groups at Washington University, UC Irvine, and Vanderbilt
University only provide "best effort" support for non-sponsors for the
latest release, as described in

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/docs/ACE-bug-process.html

Thus, if you need more "predictable" help for earlier versions of
ACE+TAO, I recommend that you check out

http://www.dre.vanderbilt.edu/support.html

for a list of companies that will provide you with ACE+TAO commercial
support.

Thanks,

Doug


--
Dr. Douglas C. Schmidt Professor and Associate Chair
Electrical Engineering and Computer Science TEL: (615) 343-8197
Vanderbilt University WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203 NET: d.sc...@vanderbilt.edu

0 new messages