Hi Alexey,
Since you are still working on these LdrXXX functions then you maybe
find possibility
to add there some code to prevent them trapping into infinite cycle (bug 5881:
http://www.reactos.org/bugzilla/show_bug.cgi?id=5881 )
While booted up with RAM 25 or 24 MB ROS kernel falls into infinite
cycle there,
but being booted up with 15 Mbs ROS stalls and and hangs up.
To test it is enough to run it on any VM with 24Mb of RAM.
What occurs there is infinite recursive calls, in form of
LdrpLoadModule ->calls LdrFixupImports -> LdrpGetOrLoadModule ->
LdrpLoadModule and so forth.
(detailed bt is in bug 5881 description).
Maybe ROS kernel doesn't check memory availability, something like
XXXMalloc returning NULL or so.
Thanks!
-M.A.
On Wed, Mar 23, 2011 at 4:25 PM, <fireball(a)svn.reactos.org> wrote:
Author: fireball
Date: Wed Mar 23 12:25:53 2011
New Revision: 51123
URL:
http://svn.reactos.org/svn/reactos?rev=51123&view=rev
Log:
[NTDLL/LDR]
- Fix a few bugs (wrong variable usage, wrong variable initialization) which led to
incorrect snapping of import address table.
- Wrap LdrpSnapThunk() invocations into SEH.
Modified:
trunk/reactos/dll/ntdll/ldr/ldrpe.c
Modified: trunk/reactos/dll/ntdll/ldr/ldrpe.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrpe.c?rev=…