[ros-dev] Multiple problems with HEAD

Hartmut Birr hartmut.birr at gmx.de
Sat Apr 30 18:03:13 CEST 2005


Ge van Geldorp wrote:

>1st problem: when booting rev 14873 (DBG := 1, KDBG := 0) it crashes with:
>
>DriverBase for \SystemRoot\system32\drivers\fs_rec.sys: 9cf7c000
>(io/file.c:898) Status :0
>(io/file.c:898) Status :0
>(io/file.c:898) Status :0
>DriverBase for \SystemRoot\system32\drivers\beep.sys: 9cf8b000
>(io/file.c:898) Status :0
>Assertion NewRefCount >= 0 failed at ob/object.c:1150
>KeBugCheckWithTf at ke/catch.c:217
>A problem has been detected and ReactOS has been shut down to prevent damage
>to your computer.
>  
>
The problem is in IoSecondStageCompletion. Sometimes Irp->UserEvent
points to Fileobject->Event. Dereferencing such an event object crashs ros.

>The problem seems to be caused by the following file: ntoskrnl.exe
>
>KMODE_EXCEPTION_NOT_HANDLED 
>Technical information:
>
>*** STOP: 0x0000001E (0x80000003,0x800057a4,0x8005d08b,0x8071c9ec)
>
>***    ntoskrnl.exe - Address 0x800057a4 base at 0x80000000, DateStamp 0x0
>
>Breakpoint Exception: 3(0)
>Processor: 0 CS:EIP 8:800057a4 <ntoskrnl.exe: 57a4>
>cr2 8ccfc000 cr3 27000 Proc: 8053fcf8 Pid: 4 <System> Thrd: 805407f0 Tid: 0
>DS 10 ES 10 FS 30 GS 10
>EAX: 00000036   EBX: 8004515d   ECX: 00000000
>EDX: 000003f8   EBP: 800e47a4   ESI: 800e4a84   ESP: 800e4730
>EDI: 800e49f4   EFLAGS: 00200286 kESP 800e4730 kernel stack base 800e3000
>Frames:
><ntoskrnl.exe: 72a9f>
><ntoskrnl.exe: 45f2a>
><ntoskrnl.exe: 456e1>
><vfatfs.sys: 2d00>
><vfatfs.sys: d1de>
><vfatfs.sys: d3ee>
><ntoskrnl.exe: 45158>
><ntoskrnl.exe: 40487>
><ntoskrnl.exe: 414dd>
><ntoskrnl.exe: 3602>
><7D83F045>
><ntoskrnl.exe: 3e6c0>
><ntoskrnl.exe: 3602>
><EC83FC45>
><ntoskrnl.exe: 3de8e>
><800A48CE>
><800A21D4>
><ntoskrnl.exe: 10004>
><800A07AA>
><ntoskrnl.exe: 104b>
>
>2nd problem: the crash info is only written to the debug log and not shown
>as a BSOD.
>  
>
It is result from Alex' debugger rewrite, currently I cannot find the
real problem.

>3rd problem: the stack trace only shows addresses, not source file/line as
>it should for a DBG build
>  
>
It may be fixed by the attached patch, but sometimes ros doesn't load
the symbol files for ntoskrnl and hal. I'm not sure, If it is a problem
of the debugger rewrite or a problem from freeldr.

>4th problem: booting with /DEBUGPORT=GDB results in a kernel stack fault
>very early in the boot process.
>  
>
One init function is called twice. The first call should only
initialized boch and comX debug, the later call should initialized all
other debug channels.

5th problem: After fixing the 1st problem, there is no keyboard responce
within usetup.

6th problem: The second stage setup hangs after starting csrss. csrss
reports an error.

There are many problems from the io rewrite. We should revert Alex'
changes and implement it again step by step.

- Hartmut




-------------- next part --------------
Index: ntoskrnl/include/internal/kd.h
===================================================================
--- ntoskrnl/include/internal/kd.h	(revision 14866)
+++ ntoskrnl/include/internal/kd.h	(working copy)
@@ -79,13 +79,17 @@
 # define KDB_CREATE_THREAD_HOOK(CONTEXT)	do { } while (0)
 #endif
 
+#if defined(KDBG) || defined(DBG)
+# define KeRosPrintAddress(ADDRESS)         KdbSymPrintAddress(ADDRESS)
+#else
+# define KeRosPrintAddress(ADDRESS)         KiRosPrintAddress(ADDRESS)
+#endif
+
 #ifdef KDBG
-# define KeRosPrintAddress(ADDRESS)         KdbSymPrintAddress(ADDRESS)
 # define KdbInit()                          KdbpCliInit()
 # define KdbModuleLoaded(FILENAME)          KdbpCliModuleLoaded(FILENAME)
 # define KDB_DELETEPROCESS_HOOK(PROCESS)	KdbDeleteProcessHook(PROCESS)
 #else
-# define KeRosPrintAddress(ADDRESS)         KiRosPrintAddress(ADDRESS)
 # define KdbEnterDebuggerException(ER, PM, C, TF, F)  kdHandleException
 # define KdbInit()                          do { } while (0)
 # define KdbEnter()                         do { } while (0)


More information about the Ros-dev mailing list