Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Dec 2013 23:06:06 +0100
From:      Andreas Tobler <andreast@FreeBSD.org>
To:        Larry Rosenman <ler@lerctr.org>, Aleksandr Rybalko <ray@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: panic with -CURRENT @Boot [r259130]
Message-ID:  <52A7904E.1040100@FreeBSD.org>
In-Reply-To: <0c6229e29c448e1940d75e75d41a65a6@webmail.lerctr.org>
References:  <20131209163634.GA1471@borg.lerctr.org> <20131210000430.0cff80c1.ray@freebsd.org> <0c6229e29c448e1940d75e75d41a65a6@webmail.lerctr.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070608070602020603080307
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

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 <ler@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



--------------070608070602020603080307
Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0";
 name="vt_core.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="vt_core.diff"

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) {

--------------070608070602020603080307--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52A7904E.1040100>