[omniORB] Access violation in ~Strand_iterator
Gavin Matthews
gavin.matthews@tumbleweed.com
Wed, 8 Aug 2001 13:51:21 -0700
/Resending, I got a bounce on the original send/
Hi,
I'm experiencing a problem with omniORB2.6.1 (unfortunately we're tied into
2.6.1, so for the time being upgrading is not a solution). When under
extremely heavy load for a prolonged period of time (~24-48 hours) we
experience get an access violation in omniORB on WindowsNT.
The information extracted from Dr.Watson and the dump file points to a race
condition in ~Strand_iterator
The faulting address is:
>State Dump for Thread Id 0x154
>
>eax=00000000 ebx=026c00b0 ecx=05ae0038 edx=05ae0038 esi=026c00b0
edi=00000000
>eip=77f67616 esp=02a1feb8 ebp=02a1fec4 iopl=0 nv up ei pl zr na po
nc
>cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000
efl=00000246
>
>
>function: RtlLeaveCriticalSection
> 77f67610 8b542404 mov edx,[esp+0x4]
ss:0574e8bf=00000000
> 77f67614 33c0 xor eax,eax
>FAULT ->77f67616 ff4a08 dec dword ptr [edx+0x8]
ds:0880ea3e=????????
> 77f67619 7525 jnz RtlLeaveCriticalSection+0x30
(77f67640)
> 77f6761b 89420c mov [edx+0xc],eax
ds:0880ea3e=????????
> 77f6761e f0ff4a04 lock dec dword ptr [edx+0x4]
ds:0880ea3f=????????
> 77f67622 7d03 jge RtlLeaveCriticalSection+0x17
(77f67627)
> 77f67624 c20400 ret 0x4
> 77f67627 52 push edx
> 77f67628 e829590000 call RtlpUnWaitCriticalSection
(77f6cf56)
> 77f6762d 33c0 xor eax,eax
> 77f6762f c20400 ret 0x4
> 77f67632 2e8bc0 mov eax,cs:eax
> 77f67635 2e8bc0 mov eax,cs:eax
And the stack for the faulting thread (154) is:
>. 2 id: 146.154 Suspend: -1 Teb 7ffdc000 Unfrozen
>ChildEBP RetAddr Args to Child
>02a1feb4 002312f1 05ae0038 05ae0038 02a1fed0
ntdll!RtlLeaveCriticalSection+0x6
>02a1fec4 10025641 02a1fef0 02a1ff18 10026317
omnithread2_rt!omni_mutex__unlock+0x11
>02a1fed0 10026317 05ae0034 05ae0034 05ae0034
omniORB260_rt!Strand_iterator__~Strand_iterator+0x21
>02a1ff18 10026116 026f0038 1009d4a4 02830034
omniORB260_rt!outScavenger_t__run_undetached+0x387
>02a1ff60 00232078 00000000 00000000 00000000
omniORB260_rt!outScavenger_t__run_undetached+0x186
>02a1ff84 7800248d 02830034 00000000 00000000
omnithread2_rt!omni_thread__init_t__init_t+0x2b8
>02a1ffb8 77f04ede 026c00b0 00000000 00000000 MSVCRT!beginthreadex+0xb2
>02a1ffec 00000000 78002432 026c00b0 00000000 KERNEL32!BaseThreadStart+0x51
I've implemented all the patches I could find that appeared to be related,
none of them have solved the problem.
Relevant Patches Implemented:
http://www.uk.research.att.com/omniORB/bugs/40.html
http://www.uk.research.att.com/omniORB/archives/1999-07/0230.html
Are there any other patches that I should be looking into? Has anyone seen
this problem or something similar? Any help would be much appreciated.
thanks,
gavin
---------------------------------
Gavin Matthews
Software Engineer II
Tumbleweed Communications Corp