Hello, All.

   In YAttachment::detach() I see following code:

>               YEntry<YAttachment> entry(status, this, 0);
>
>               if (entry.next())
>                       entry.next()->detach(status);
>
>               if (!(status->getState() & Firebird::IStatus::STATE_ERRORS))
>                       destroy(DF_RELEASE);

   At this point variable entry is destructed and YEntry::fini() is called. 
Inside of it 
following code is executed:

>                       if (ref)
>                       {
>                               MutexLockGuard guard(ref->enterMutex, 
> FB_FUNCTION);
>                               --ref->enterCount;
>                       }

   But ref is object->attachment, which has been released and destroyed at the 
last line 
of first piece of code. So, it crashes.
   Is my observation wrong or it is a bug?

-- 
   WBR, SD.

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to