[ros-dev] Re: [ros-svn] [ion] 20580: - New ERESOURCE implementation: fixes the return value of some functions (VOID vs NTSTATUS, USHORT vs ULONG), as well as optimized the code loops and general structure of the code. Additionnaly, functions do not simply call other functions with similar names; the exact implementation of each function has now been properly separated (see the DDK for more information on this) to have the most optimized scenarios.

Hartmut Birr osexpert at googlemail.com
Thu Jan 5 22:25:22 CET 2006


ion at svn.reactos.org wrote:
> - New ERESOURCE implementation: fixes the return value of some functions (VOID vs NTSTATUS, USHORT vs ULONG), as well as optimized the code loops and general structure of the code. Additionnaly, functions do not simply call other functions with similar names; the exact implementation of each function has now been properly separated (see the DDK for more information on this) to have the most optimized scenarios.
> - Also, the spinlock is not actually acquired on non-SMP builds; instead, interrupts are blocked and unblocked for acquire/release, this optimizes locking.
> - Added many asserts and bugcheck scenarios.
> - Added thread priority boosting.
> - Added some debugging helpers and deadlock detection.
> - Added RESOURCE_NOT_OWNED bugcehck message.
> * Thanks again to Waxdragon (Andrew) for testing this build.

It seems, that your implementation is broken. On a non SMP machine
during 'make clean' on the ros source:

KeBugCheckEx at ./ntoskrnl/ex/resource.c:1847
A problem has been detected and ReactOS has been shut down to prevent
damage to your computer.

Technical information:

*** STOP: 0x000000E3 (0x81a5eb0c,0x81a55c70,0x00000000,0x00000002)

Frames:
<ntoskrnl.exe:2599 (./ntoskrnl/ke/bug.c:483 (KeBugCheckEx))>
<ntoskrnl.exe:27ac4 (./ntoskrnl/ex/resource.c:1843 (ExReleaseResourceLite))>
<vfatfs.sys:3ee2 (drivers/fs/vfat/dir.c:471 (DoQuery))>
<vfatfs.sys:416f (drivers/fs/vfat/dir.c:486 (VfatDirectoryControl))>
<vfatfs.sys:dc06 (drivers/fs/vfat/misc.c:119 (VfatDispatchRequest))>
<vfatfs.sys:dd8f (drivers/fs/vfat/misc.c:167 (VfatBuildRequest))>
<ntoskrnl.exe:4369b (./ntoskrnl/io/irp.c:1076 (IofCallDriver))>
<ntoskrnl.exe:53a3a (ntoskrnl/io/file.c:2607 (NtQueryDirectoryFile))>
<ntoskrnl.exe:a0daa (ntoskrnl\ke\i386\syscall.S:372 (KiSystemService))>
<kernel32.dll:9b22 (./lib/kernel32/file/find.c:143 (InternalFindNextFile))>

The same on a SMP machine (no back trace available):

KeBugCheckEx at ./ntoskrnl/ex/resource.c:1868
(./ntoskrnl/mm/mm.c:292 CPU0) Page fault at high IRQL was 2, address c2410
A problem has been detected and ReactOS has been shut down to prevent
damage to your computer.

Technical information:

*** STOP: 0x000000E3 (0x8131d0d8,0x81620d68,0x81376640,0x00000002)

- Hartmut



More information about the Ros-dev mailing list