weiden@svn.reactos.com wrote:
- fixed Read/WriteFile(Ex) and properly wait on completion for synchronous operations
- prevent completion port notification by not passing an APC context to the kernel when the low-order bit of the event handle is set (for asynchronous operations)
Modified: trunk/reactos/lib/kernel32/file/rw.c
Hi,
this changes breaks compiling ros on ros. I get the following debug output for 'make clean':
Page Fault Exception: 14(7) Processor: 0 CS:EIP 1b:7c90acc0 <ntdll.dll:acc0 (rtl/exception.c:89 (KiUserExceptionDispatcher))> cr2 970000 cr3 1ccdb000 Proc: 81720ab8 Pid: 120 <_make.EX> Thrd: 817298f0 Tid: 124 DS 23 ES 23 FS 3b GS 23 EAX: 00970000 EBX: 008708a0 ECX: 0074f118 EDX: 00970000 EBP: 0074f1c8 ESI: 008708a0 ESP: ad802d74 EDI: 00870968 EFLAGS: 00010206 Frames: <msvcrt.dll:d24c (stdio/filbuf.c:60 (_filbuf))> <msvcrt.dll:1c416 (stdio/getc.c:56 (getc))> <msvcrt.dll:1b159 (stdio/fgets.c:38 (fgets))> <_make.EXE:19efd> <_make.EXE:168c1> <_make.EXE:1643c> <_make.EXE:17904> <_make.EXE:1643c> <_make.EXE:1621d> <_make.EXE:12903> <_make.EXE:1189> <_make.EXE:1018> <kernel32.dll:28ae9 (process/create.c:344 (BaseProcessStart))> <DEADBEEF> Page Fault Exception: 14(6) Processor: 0 CS:EIP 1b:7c90acc0 <ntdll.dll:acc0 (rtl/exception.c:89 (KiUserExceptionDispatcher))> cr2 5f00860c cr3 1ccdb000 Proc: 81720ab8 Pid: 120 <_make.EX> Thrd: 817298f0 Tid: 124 DS 23 ES 23 FS 3b GS 23 EAX: 48544150 EBX: 00000013 ECX: 00000013 EDX: 5f008600 EBP: 0074e6a0 ESI: 0074e798 ESP: ad802d74 EDI: 00000023 EFLAGS: 00010206 Frames: <msvcrt.dll:cbf9 (stdlib/malloc.c:35 (malloc))> <_make.EXE:285d1> <_make.EXE:276fe> <_make.EXE:24a3e> <_make.EXE:2464d> <_make.EXE:241c6> <_make.EXE:14d0d> <kernel32.dll:28a10 (process/create.c:295 (_except_handler))> <ntdll.dll:22a08 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccOUaaaa.s:167 (RtlpCaptureContext))> <ntdll.dll:21af6 (i386/exception.c:173 (RtlpDispatchException))> <ntdll.dll:acfe (rtl/exception.c:100 (KiUserExceptionDispatcher))> <0> Unhandled exception Address: 780139df G:\ReactOS\system32\msvcrt.dll CS:EIP 1b:780139df DS 23 ES 23 FS 3b GS 23 EAX: 00970000 EBX: 008708a0 ECX: 0074f118 EDX: 00970000 EBP: 0074f1c8 ESI: 008708a0 ESP: 0074f1a0 EDI: 00870968 EFLAGS: 00010206 Frames: 78000000+d24c G:\ReactOS\system32\msvcrt.dll 78000000+1c416 G:\ReactOS\system32\msvcrt.dll 78000000+1b159 G:\ReactOS\system32\msvcrt.dll 400000+19efd G:\ReactOS\bin_make.EXE 400000+168c1 G:\ReactOS\bin_make.EXE 400000+1643c G:\ReactOS\bin_make.EXE 400000+17904 G:\ReactOS\bin_make.EXE 400000+1643c G:\ReactOS\bin_make.EXE 400000+1621d G:\ReactOS\bin_make.EXE 400000+12903 G:\ReactOS\bin_make.EXE 400000+1189 G:\ReactOS\bin_make.EXE 400000+1018 G:\ReactOS\bin_make.EXE 7c800000+28ae9 G:\ReactOS\system32\kernel32.dll Page Fault Exception: 14(6) Processor: 0 CS:EIP 1b:7c90acc0 <ntdll.dll:acc0 (rtl/exception.c:89 (KiUserExceptionDispatcher))> cr2 5f48544d cr3 1ccdb000 Proc: 81720ab8 Pid: 120 <_make.EX> Thrd: 817298f0 Tid: 124 DS 23 ES 23 FS 3b GS 23 EAX: 545f4f54 EBX: 00870a38 ECX: 00871a48 EDX: 5f485441 EBP: 0074ea9c ESI: 0074ee84 ESP: ad802d74 EDI: 00000000 EFLAGS: 00010206 Frames: <ntdll.dll:167fa (heap.c:453 (HEAP_MakeInUseBlockFree))> <ntdll.dll:1788e (heap.c:1277 (RtlFreeHeap))> <msvcrt.dll:cc17 (stdlib/malloc.c:43 (free))> <msvcrt.dll:1afba (stdio/fclose.c:39 (fclose))> <msvcrt.dll:cefd (stdio/allocfil.c:88 (_fcloseall))> <msvcrt.dll:1028 (dllmain.c:121 (DllMain))> <ntdll.dll:4969 (ldr/utils.c:179 (LdrpCallDllEntry))> <ntdll.dll:8177 (ldr/utils.c:2443 (LdrpDetachProcess))> <ntdll.dll:8478 (ldr/utils.c:2558 (LdrShutdownProcess))> <kernel32.dll:27f49 (process/proc.c:582 (ExitProcess))> <kernel32.dll:28a6d (process/create.c:308 (_except_handler))> <ntdll.dll:22a08 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccOUaaaa.s:167 (RtlpCaptureContext))> <ntdll.dll:21af6 (i386/exception.c:173 (RtlpDispatchException))> <ntdll.dll:acfe (rtl/exception.c:100 (KiUserExceptionDispatcher))> <0> Page Fault Exception: 14(6) Processor: 0 CS:EIP 1b:7c90acc0 <ntdll.dll:acc0 (rtl/exception.c:89 (KiUserExceptionDispatcher))> cr2 5f00860c cr3 1ccdb000 Proc: 81720ab8 Pid: 120 <_make.EX> Thrd: 817298f0 Tid: 124 DS 23 ES 23 FS 3b GS 23 EAX: 48544150 EBX: 00000013 ECX: 00000013 EDX: 5f008600 EBP: 0074df84 ESI: 0074e07c ESP: ad802d74 EDI: 00000023 EFLAGS: 00010206 Frames: <msvcrt.dll:cbf9 (stdlib/malloc.c:35 (malloc))> <_make.EXE:285d1> <_make.EXE:276fe> <_make.EXE:24a3e> <_make.EXE:2464d> <_make.EXE:241c6> <_make.EXE:14d0d> <kernel32.dll:28a10 (process/create.c:295 (_except_handler))> <ntdll.dll:22a08 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccOUaaaa.s:167 (RtlpCaptureContext))> <ntdll.dll:21af6 (i386/exception.c:173 (RtlpDispatchException))> <ntdll.dll:acfe (rtl/exception.c:100 (KiUserExceptionDispatcher))> <0> Unhandled exception Address: 7c9166de G:\ReactOS\system32\ntdll.dll CS:EIP 1b:7c9166de DS 23 ES 23 FS 3b GS 23 EAX: 545f4f54 EBX: 00870a38 ECX: 00871a48 EDX: 5f485441 EBP: 0074ea9c ESI: 0074ee84 ESP: 0074ea84 EDI: 00000000 EFLAGS: 00010206 Frames: 7c900000+167fa G:\ReactOS\system32\ntdll.dll 7c900000+1788e G:\ReactOS\system32\ntdll.dll 78000000+cc17 G:\ReactOS\system32\msvcrt.dll 78000000+1afba G:\ReactOS\system32\msvcrt.dll 78000000+cefd G:\ReactOS\system32\msvcrt.dll 78000000+1028 G:\ReactOS\system32\msvcrt.dll 7c900000+4969 G:\ReactOS\system32\ntdll.dll 7c900000+8177 G:\ReactOS\system32\ntdll.dll 7c900000+8478 G:\ReactOS\system32\ntdll.dll 7c800000+27f49 G:\ReactOS\system32\kernel32.dll 7c800000+28a6d G:\ReactOS\system32\kernel32.dll 7c900000+22a08 G:\ReactOS\system32\ntdll.dll 7c900000+21af6 G:\ReactOS\system32\ntdll.dll 7c900000+acfe G:\ReactOS\system32\ntdll.dll Page Fault Exception: 14(4) Processor: 0 CS:EIP 1b:7c90acc0 (ke/i386/exp.c:224) Stack underflow (tf->esp acfffff8 Limit ad000000) (ke/i386/exp.c:230) 816ae250 816ae250 Stack Segment Fault Exception: 12(0) CS:EIP 8:80054eb7 <ntoskrnl.exe:54eb7 (mm/aspace.c:34 (MmLockAddressSpace))> cr2 acfffff4 cr3 1cef5000 Proc: 816ae250 Pid: 110 <cmd.exe> Thrd: 816b9410 Tid: 118 DS 10 ES 10 FS 30 GS 10 EAX: 816ae4e8 EBX: 00000008 ECX: 816ae4ec EDX: 00000000 EBP: ad000000 ESI: 0000000e ESP: acfffff8 EDI: 816b9410 EFLAGS: 00010282 kESP acfffff8 kernel stack base ad000000 Frames: <ntoskrnl.exe:5cf66 (mm/mm.c:353 (MmNotPresentFault))> <ntoskrnl.exe:adbb (mm/i386/pfault.c:130 (MmPageFault))> <ntoskrnl.exe:ad06 (mm/i386/pfault.c:81 (KiPageFaultHandler))> <ntoskrnl.exe:33f3 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccaKaaaa.s:132 ())> <ntoskrnl.exe:9a4a3 (i386/exception.c:153 (RtlpDispatchException))> <ntoskrnl.exe:c8a9 (ke/catch.c:194 (KiDispatchException))> <ntoskrnl.exe:1229 (ke/i386/exp.c:176 (KiKernelTrapHandler))> <ntoskrnl.exe:ad55 (mm/i386/pfault.c:99 (KiPageFaultHandler))> <ntoskrnl.exe:33f3 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccaKaaaa.s:132 ())> <ntoskrnl.exe:9a4a3 (i386/exception.c:153 (RtlpDispatchException))> <ntoskrnl.exe:c8a9 (ke/catch.c:194 (KiDispatchException))> <ntoskrnl.exe:1229 (ke/i386/exp.c:176 (KiKernelTrapHandler))> <ntoskrnl.exe:ad55 (mm/i386/pfault.c:99 (KiPageFaultHandler))> <ntoskrnl.exe:33f3 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccaKaaaa.s:132 ())> <ntoskrnl.exe:9a4a3 (i386/exception.c:153 (RtlpDispatchException))> <ntoskrnl.exe:c8a9 (ke/catch.c:194 (KiDispatchException))> <ntoskrnl.exe:1229 (ke/i386/exp.c:176 (KiKernelTrapHandler))> <ntoskrnl.exe:ad55 (mm/i386/pfault.c:99 (KiPageFaultHandler))> <ntoskrnl.exe:33f3 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccaKaaaa.s:132 ())> <ntoskrnl.exe:9a4a3 (i386/exception.c:153 (RtlpDispatchException))> <ntoskrnl.exe:c8a9 (ke/catch.c:194 (KiDispatchException))> <ntoskrnl.exe:1229 (ke/i386/exp.c:176 (KiKernelTrapHandler))> <ntoskrnl.exe:ad55 (mm/i386/pfault.c:99 (KiPageFaultHandler))> <ntoskrnl.exe:33f3 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccaKaaaa.s:132 ())> <ntoskrnl.exe:8c197 (kdbg/kdb_symbols.c:81 (KdbpSymFindUserModule))> <ntoskrnl.exe:8c382 (kdbg/kdb_symbols.c:141 (KdbpSymFindModule))> <ntoskrnl.exe:8c3a7 (kdbg/kdb_symbols.c:160 (KdbpSymFindModuleByAddress))> <ntoskrnl.exe:8c40a (kdbg/kdb_symbols.c:222 (KdbSymPrintAddress))> <ntoskrnl.exe:1697 (ke/i386/exp.c:419 (KiDumpTrapFrame))> <ntoskrnl.exe:c7d6 (ke/catch.c:154 (KiDispatchException))> <ntoskrnl.exe:6ace (ke/i386/usertrap.c:120 (KiUserTrapHandler))> <ntoskrnl.exe:ad3c (mm/i386/pfault.c:95 (KiPageFaultHandler))> <ntoskrnl.exe:33f3 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccaKaaaa.s:132 ())>
- Hartmut