FWIW, Alex is also experiencing this problem...
Basically while shutting down for reboot, I hit Ctrl+Alt on the
keyboard, and it crashed.
Here's the dump:
(smss.c:85) SM: Process terminated!
(ke/error.c:54) Hard error c000021a
(ke/catch.c:142) Unhandled UserMode exception, terminating thread
KeBugCheckWithTf at ke/catch.c:177
Bug detected (code 1e param 0 0 0 0)
KMODE_EXCEPTION_NOT_HANDLED
Page Fault Exception: 14(0)
Processor: 0 CS:EIP 8:9d5b40ef <win32k.sys: 180ef>
cr2 cdcdcef1 cr3 27000 Proc: 8048d8e0 Pid: 4 <System> Thrd: 80670050 Tid: 78
DS 10 ES 10 FS 30 GS 10
EAX: cdcdcdcd EBX: 9d5b3db2 ECX: 80593a50
EDX: 80670084 EBP: 9d70fdd8 ESI: 00000000 ESP: 9d70fcbc
EDI: 00000000 EFLAGS: 00000282 kESP 9d70fcbc kernel stack base 9d70d000
Frames:
<ntoskrnl.exe: 33f0>
here's the assembly instruction where we crashed:
<win32k.sys: 180ef> cmpl $0x0,0x124(%eax)
here's what addr2line gives:
C:\cvs\reactos\subsys\win32k>a 180ef
C:/cvs/reactos/subsys/win32k/ntuser/input.c:380
subsys/win32k/ntuser/input.c:380:
if (FocusThread && FocusThread->Tcb.Win32Thread &&
so FocusThread is 0xcdcdcdcd, which means that the FocusQueue holding it is getting deleted out from under us.
after initial examination, we aren't ref counting the desktop or the queue when we obtain it via IntGetFocusMessageQueue().
as this bug is occuring on shutdown, I think the most proper solution is to reference the msgqueue until we're done with it there in ntuser/input.c.
However, in order to safely reference the msgqueue, it seems we really need to reference the desktop at least long enough to obtain the msgqueue pointer and reference it.
This sounds very slow, so I'm wondering if there's a better fix than that...
I was thinking we could add a "shutdown hack" for this, by at the very least killing InputDesktop sooner, but it seems that might not help in situations where we're killing one of many desktops.
Anyways, I'm not confident what should be done in this case, so I'm passing this information to the list in hopes that someone more familiar with the msgqueue code can fix it.
Thanks,
Royce Mitchell III
<ntoskrnl.exe: 33f0>
Hi!
The CAPS constant is defined to be KSHIFT, which if I understand this correct means that the shifted value is used when caps lock is used.
Try to change the line :
/* none, shift, ctrl-alt, ctrl, ctrl-shift */
{ VK_OEM_7, NOCAPS, 0xe4, 0xe0, 0x7b, WCH_NONE, 0x00 }, /* ä à { */
to:
{ VK_OEM_7, KCTRL, 'code for ä', 'code for à', 0x7b, 'code for Ä', 'code for À }, /* ä à { */
in order to use the ctrl and ctrl-shift states for caps lock for this key.
I don't have a test environment set up at the moment to test this, but it is possible that windows uses something like this.
Regards
Johannes Olofsson
> Från: art yerkes <ayerkes(a)speakeasy.net>
> Till: ReactOS Development List <ros-dev(a)reactos.com>
> Rubrik: Re: [ros-dev] added a proposed patch to bugzilla
> Datum: Tue, 1 Mar 2005 12:23:52 -0600
> <pre>On Thu, 24 Feb 2005 15:51:38 +0100
> Roman Hoegg <roman.hoegg(a)unisg.ch> wrote:
>
> >
> >
> > > as NOCAPS in your layout file
> >
> > yes that's true but I did that for a reason. I had two choices. Either
> > can't set differentiate between SHIFT and CAPS LOCK.
>
> I wasn't aware that NOCAPS could be different from SHIFT, so NOCAPS always
> implies shift in our current model. I'll try to fix it.
> --
10 Gigabyte Mailbox - http://mail.spray.se
Date : Wed, 2 Mar 2005 12:46:30 +0100
Subject : [ros-dev] RE: [ros-diffs] [ea] 13792: Fix SM\Subsystems\Required
andSM\Subsystems\Optional.
Casper> Why is it needed to expand the unicode characters to hex?
With value type 0x00070000 I get garbage from the SM when I pick up the Required
names. If there is a way to make a REG_MULTI_SZ with a string, I'd be happy.
ea
____________________________________________________________
Navighi a 2 MEGA e i primi 3 mesi sono GRATIS.
Scegli Libero Adsl Flat senza limiti su http://www.libero.it
Hi!
What about the ö and ä keys? Should they behave the same way? (note that these keys and the ü key are marked as NOCAPS in your layout file).
Regards
Johannes Olofsson
> Från: Roman Hoegg <roman.hoegg(a)unisg.ch>
> Till: ros-dev(a)reactos.com
> Rubrik: [ros-dev] added a proposed patch to bugzilla
> Datum: Wed, 23 Feb 2005 22:58:02 +0100
Hello everybody!
I've been a long time lurker and have decided to finaly contribute something to this wonderful project.
quick introduction:
29, male, research assistent at the University of St. Gallen (Switzerland), some C/C++ knowledge (but not enough for serious contributions to an OS)
I'm in the process of creating a keyboard layout (it's nearly finished) and have run into a problem which I posted in bugzilla. I was told on #reactos that this is the way to do it.
http://reactos.com/bugzilla/show_bug.cgi?id=509
would be cool if someone with experience with keyboard layouts could give me a tip.
thanks!
Roman Hoegg (RomanH)_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.com
http://reactos.com:8080/mailman/listinfo/ros-dev
Otur i kärlek - http://www.spray.se/spel Tur i kärlek - http://www.spraydate.com