On 10.12.13 03:52, Larry Rosenman wrote:
> On 2013-12-09 16:04, Aleksandr Rybalko wrote:
>> On Mon, 9 Dec 2013 10:36:34 -0600
>> Larry Rosenman <l...@lerctr.org> wrote:
>>
>>>
>>> Path: .
>>> Working Copy Root Path: /usr/src
>>> URL: svn://svn.freebsd.org/base/head
>>> Relative URL: ^/head
>>> Repository Root: svn://svn.freebsd.org/base
>>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
>>> Revision: 259130
>>> Node Kind: directory
>>> Schedule: normal
>>> Last Changed Author: ray
>>> Last Changed Rev: 259130
>>> Last Changed Date: 2013-12-09 09:28:34 -0600 (Mon, 09 Dec 2013)
>>>
>> [[cut]]
>>
>> Can you please share core and kernel with modules.
>> I'm not sure, but looks like it is related to vt (newcons).
>> So I have to investigate.
>>
>> Thanks!
>>
>> WBW
> I've passed ray@ credentials to get at the core/kernel/etc on the system 
> that generated it.

I have a +2, the same panic as Larry plus another one on my Thinkpads.

The second panic looks like this:


Fatal trap 9: general protection fault while in kernel mode
cpuid = 0; apic id = 00
instruction pointer     = 0x20:0xffffffff807b8147
stack pointer           = 0x28:0xfffffe00dd97f8e0
frame pointer           = 0x28:0x333231302f2e2d2c
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 1132 (vidcontrol)


I 'fixed' this with the attached patch. I have to test tomorrow if the
first panic (the one Larry sees) on my Dell also goes away with this 'fix'.

I compared with syscons.c and there the ival/data assigment is always
done inside the case label and not at the end.

maybe I'm papering over ... but at least a starting point to investigate.

Andreas


Index: dev/vt/vt_core.c
===================================================================
--- dev/vt/vt_core.c    (revision 259154)
+++ dev/vt/vt_core.c    (working copy)
@@ -1294,37 +1295,55 @@
        switch (cmd) {
        case _IO('v', 4):
                cmd = VT_RELDISP;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('v', 5):
                cmd = VT_ACTIVATE;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('v', 6):
                cmd = VT_WAITACTIVE;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('K', 20):
                cmd = KDSKBSTATE;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('K', 67):
                cmd = KDSETRAD;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('K', 7):
                cmd = KDSKBMODE;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('K', 8):
                cmd = KDMKTONE;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('K', 63):
                cmd = KIOCSOUND;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('K', 66):
                cmd = KDSETLED;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        case _IO('c', 110):
                cmd = CONS_SETKBD;
+               ival = IOCPARM_IVAL(data);
+               data = (caddr_t)&ival;
                break;
        }
-       ival = IOCPARM_IVAL(data);
-       data = (caddr_t)&ival;
 #endif
 
        switch (cmd) {
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to