Team
I hit a crash while testing a DLL compiled from the GIT branch marked
"ASCII + misc fixes". I used CMake 2.6.4 to generate code for VS 2008
with ENABLE_ASCII_MODE | DISABLE_MULTITHREADING.
It appears that (under certain circumstances) DLLMain implemented in
ThreadLocal.cpp gets invoked with fdwReason=3 (DLL_THREAD_DETACH) more
than once. As my test is compiled with DISABLE_MULTITHREADING,
UnregisterCurrentThread() attempts to unregister the same (current)
thread more than once, which causes Access Violation with NULL
pointers or pointers to 0xFEEEFEEE (freed memory).
As a stopgap, I used the fix below.
Regards
Celto
-------------------------
1) in _ThreadLocal::~_ThreadLocal():
replace this line:
delete _internal;
with:
_CLDELETE(_internal);
_CLDELETE(threadData);
2) in _ThreadLocal::setNull()
add this check:
if (_internal == NULL ){
return;
}
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
CLucene-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clucene-developers