Re: [AD] crash 16bit fullscreen mode

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


i have a theory...

i think i have found a race condition where the graphics driver may be drawing to a surface it no longer has locked, due to alt-tabing away from the app. is that possible ? could it be that during the alt-tab away, the screen bitmap is lost and attempting to draw on it causes a crash ? this problem has only been reported to me by some users that claim its a recent bug, so maybe its a change that occured between 4.1.15 and 4.1.16 ?



winXPsp1
msvc7.1 (.net)
allegro 4.1.16

my allegro app crashes in 16bit mode, running on a 16bit desktop.
when i alt-tab away from the fullscreen driver it crashes.

it does not crash in the debug mode.
only the release version.

i also tried 32bit desktop and it does NOT crash.


here is the only info i could find.. the crash location is marked with an arrow.


005088ED  dec         ecx
005088EE  jne         005088E0
005088F0  movs        word ptr [edi],word ptr [esi]
005088F2  mov         ds,bx
005088F4  inc         dword ptr [ebp+14h]
005088F7  inc         dword ptr [ebp+1Ch]
005088FA  dec         dword ptr [ebp+24h]
005088FD  jg          005088BC
005088FF  emms
00508901  jmp         00508A74
00508906  mov         esi,esi
00508908  mov         edx,dword ptr [ebp+0Ch]
0050890B  mov         eax,dword ptr [ebp+1Ch]
0050890E  mov         edi,dword ptr [ebp+18h]
00508911  call        dword ptr [edx+20h]
00508914  lea         edi,[eax+edi*2]
00508917  mov         edx,dword ptr [ebp+8]
0050891A  mov         eax,dword ptr [ebp+14h]
0050891D  mov         esi,dword ptr [ebp+10h]
00508920  call        dword ptr [edx+24h]
00508923  lea         esi,[eax+esi*2]
00508926  mov         ecx,dword ptr [ebp+20h]
00508929  mov         ds,word ptr [edx+3Ch]
0050892C  movq        mm0,mmword ptr [esi]
0050892F  add         esi,8
-----> 00508932  movq        mmword ptr es:[edi],mm0
00508936  add         edi,8
00508939  dec         ecx
0050893A  jne         0050892C
0050893C  mov         ds,bx
0050893E  inc         dword ptr [ebp+14h]
00508941  inc         dword ptr [ebp+1Ch]
00508944  dec         dword ptr [ebp+24h]
00508947  jg          00508908
00508949  emms
0050894B  jmp         00508A74
00508950  mov         edx,dword ptr [ebp+0Ch]
00508953  mov         eax,dword ptr [ebp+1Ch]
00508956  mov         edi,dword ptr [ebp+18h]
00508959  call        dword ptr [edx+20h]
0050895C  lea         edi,[eax+edi*2]
0050895F  mov         edx,dword ptr [ebp+8]
00508962  mov         eax,dword ptr [ebp+14h]



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
--
https://lists.sourceforge.net/lists/listinfo/alleg-developers





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/