Hi,
there exist more problems. Some functions (for instance
KiDispatchException) leave a TRY block with a return statement. Quoting
: /"Absolutely do not use
*return* inside a try block/: this will lead to crashes, or worse
undetectable corruption, because some per-thread system state will still
refer to local variables of the function you've returned from."
- Hartmut
Alex Ionescu wrote:
Hartmut Birr wrote:
Hi,
calling RaiseException(EXCEPTION_ACCESS_VIOLATION,
EXCEPTION_NONCONTINUABLE, 0, NULL) from user mode does crash reactos.
- Hartmut
(lib\rtl\exception.c:29) RtlRaiseException(Status 0064fea8)
(lib\rtl\exception.c:36) ExceptionAddress 7c801fcc
(ntoskrnl\ke\exception.c:94) KiRaiseException
(ntoskrnl\ke\i386\exp.c:933) KiDispatchException() called
(lib\rtl\exception.c:75) RtlRaiseStatus(Status 0x80000002)
^^^ It seems that the user-mode context or exception frame is not
properly aligned (or the Probe check is broken)... I will test and see
which of the probe fails.
(lib\rtl\i386\exception.c:59)
RtlDispatchException(): 87032998, 870326c8
(lib\rtl\i386\exception.c:64) RegistrationFrame is 0x87032D30
(lib\rtl\i386\exception.c:90) Invalid exception frame
^^^ RtlpGetStackLimits should not be shared, because the limits have
to be taken from the thread's teb, not KPCR. This is my fault, I'll
fix it right now.
Best regards,
Alex Ionescu
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.com
http://reactos.com:8080/mailman/listinfo/ros-dev