[ros-dev] [ros-diffs] [ion] 24767: - Purposefully add 6 debug prints to RtlpGetRegistryHandle, which, while ndis.sys is initializing, should BSOD the system. I have seen this "RtlpGetRegistryHandle" BSOD randomly during boot (But always with the same stack trace), and a local HAL patch managed to cause it 100% of the time. I know that the problem had nothing to do with the HAL or registry paths, because it came up before too when I added debug prints to fstub. These 6 prints 100% reproduce the problem on my machine with GCC 3.4.5. It is my hope it will do the same for everyone. This is a nasty bug, either stack related or some critical structure is being damaged. I am breaking trunk because it's been here for a long time, but now I found a way to repro it so that we can work together to try finding it. In a way, trunk was always broken, but this patch should force a freeze. Please help.

Reuel ben Yisrael reuel at ev1.net
Thu Nov 16 15:57:48 CET 2006


ion at svn.reactos.org wrote:
> Author: ion
> Date: Thu Nov 16 10:09:37 2006
> New Revision: 24767
>
> URL: http://svn.reactos.org/svn/reactos?rev=24767&view=rev
> Log:
> - Purposefully add 6 debug prints to RtlpGetRegistryHandle, which, while ndis.sys is initializing, should BSOD the system. I have seen this "RtlpGetRegistryHandle" BSOD randomly during boot (But always with the same stack trace), and a local HAL patch managed to cause it 100% of the time. I know that the problem had nothing to do with the HAL or registry paths, because it came up before too when I added debug prints to fstub. These 6 prints 100% reproduce the problem on my machine with GCC 3.4.5. It is my hope it will do the same for everyone. This is a nasty bug, either stack related or some critical structure is being damaged. I am breaking trunk because it's been here for a long time, but now I found a way to repro it so that we can work together to try finding it. In a way, trunk was always broken, but this patch should force a freeze. Please help.
>
> Modified:
>     trunk/reactos/lib/rtl/registry.c
>
> Modified: trunk/reactos/lib/rtl/registry.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/registry.c?rev=24767&r1=24766&r2=24767&view=diff
> ==============================================================================
> --- trunk/reactos/lib/rtl/registry.c (original)
> +++ trunk/reactos/lib/rtl/registry.c Thu Nov 16 10:09:37 2006
> @@ -94,6 +94,11 @@
>      }
>  
>      /* And now append the path */
> +    DPRINT1("I'm about to crash due to an overwrite problem, Alex thinks\n");
> +    DPRINT1("I'm about to crash due to a overwrite problem, Alex thinks\n");
> +    DPRINT1("I'm about to crash due to a overwrite problem, Alex thinks\n");
> +    DPRINT1("I'm about to crash due to a overwrite problem, Alex thinks\n");
> +    DPRINT1("I'm about to crash due to a overwrite problem, Alex thinks\n");
>      if (Path[0] == L'\\' && RelativeTo != RTL_REGISTRY_ABSOLUTE) Path++; // HACK!
>      Status = RtlAppendUnicodeToString(&KeyName, Path);
>      if (!NT_SUCCESS(Status)) return Status;
>   
Where's # 6? I only see 5..

LOL




More information about the Ros-dev mailing list