|
From: Hartmut B. <har...@te...> - 2002-05-08 08:19:52
|
> -----Ursprungliche Nachricht----- > Von: David Welch [SMTP:we...@cw...] > Gesendet am: Mittwoch, 8. Mai 2002 09:57 > An: rea...@li... > Betreff: Re: [ros-kernel] CVS commit: ReactOS > > On Wed, May 08, 2002 at 12:52:36AM +0200, Hartmut Birr wrote: > > Fixed a bug in MmNotPresentFaultSectionView. > > > Could you explain the reason for this change. If two processes have a not present fault within the same address range, there is called MmNotPresentFaultSectionView. The first get the pageop and handles the fault. The second use this page, if the event in the pageop is signaled. If the first process terminate before the second can map the page, than is the page unmapped and not longer valid. There occurs a bug check within the following call to MmReferencePage. If gcc uses piping, there are started three processes within a short time and two of them does also exit at the same time. The page fault occurs within msvcrt.dll when __atexit_ptr is accessed from exit. The faulting address is __atexit_ptr. The first fix was to init this variable within DllMain but the real problem is in MmNotPresentFaultSectionView. - Hartmut |