weiden(a)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