Itamar,

Done -- Tracker ID 2900857.

Regards
Celto

2009/11/16 Itamar Syn-Hershko <ita...@divrei-tora.com>:
> Celto, forgot to mention -- please open a ticket with all that you've
> described till now (+ sample code + traces + explanations) in our bug
> tracker so we will have a full reference in one central place. Thanks.
>
> Itamar.
>
> -----Original Message-----
> From: cel tix44 [mailto:celti...@gmail.com]
> Sent: Friday, November 13, 2009 7:18 AM
> To: clucene-developers@lists.sourceforge.net
> Subject: Re: [CLucene-dev] Branch 2.3.2 -- crash in ThreadLocal.cpp
>
> Itamar
>
> If you still have my test-case for StandardAnalyzer, here's an easy way to
> reproduce this crash:
>
> in my_test_main.cpp --->
>
> 1) after #includes, add this:
>        bool __stdcall DllMain( unsigned short hinstDLL,     // DLL
> module handle
>                                _cl_dword_t fdwReason,  // reason called
>                                void*);                  // reserved
>
> 2) after s->close(), add these:
>        DllMain(0,3,NULL); // <--- trace from here & see how the crash
> occurs
>        DllMain(0,3,NULL);
>
> No sure if that's intentional -- but _CLDELETE(threadData) appears only in
> _ThreadLocal::_shutdown() and is absent from the destructor.
>
> Regards
> Celto
>
>
> On Fri, Nov 13, 2009 at 9:11 AM, cel tix44 <celti...@gmail.com> wrote:
>> Itamar
>>
>> I'm afraid it's a stopgap only. No tests done to see how it affects
>> multi-threaded use or if it breaks anything else.
>>
>> Also, having DllMain in ThreadLocal.cpp is a problem for those who
>> implement their own DllMain -- so you're right, let's leave it for Ben
>> to review and / or wait for Isidor to finish his work.
>>
>> Regards
>> Celto
>>
>>
>> On Fri, Nov 13, 2009 at 4:09 AM, Itamar Syn-Hershko
>> <ita...@divrei-tora.com> wrote:
>>> Celto,
>>>
>>> Is this a stopgap or an actual fix? I'm less familiar with the code
>>> there, it's more of Ben's work (and we are about to move to Boost
>>> Threads -- still waiting for the person to take this up to
>>> completion) so I'd rather not touch it for now unless there is a
>>> proven test case to make it crash and then this fix indeed resolves the
> issue without breaking anything else.
>>>
>>> BTW, as _internal is always created using new (as opposed to _CLNEW)
>>> internally, you would rather use delete _internal; than the _CLDELETE
> macro.
>>> You can also nullify it yourself, but there's no point in nullifying
>>> member variables in the destructor unless they are shared.
>>>
>>> Itamar.
>>>
>>> -----Original Message-----
>>> From: cel tix44 [mailto:celti...@gmail.com]
>>> Sent: Wednesday, November 11, 2009 1:04 AM
>>> To: clucene-developers@lists.sourceforge.net
>>> Subject: [CLucene-dev] Branch 2.3.2 -- crash in ThreadLocal.cpp
>>>
>>> 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
>>> CLucene-developers@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/clucene-developers
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> --------- 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
>>> CLucene-developers@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/clucene-developers
>>>
>>
>
> ----------------------------------------------------------------------------
> --
> 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
> CLucene-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/clucene-developers
>
>
>
> ------------------------------------------------------------------------------
> 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
> CLucene-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/clucene-developers
>

------------------------------------------------------------------------------
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
CLucene-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/clucene-developers

Reply via email to