[DragonFlyBSD - Bug #2649] Panic after loading i915kms

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Thu Apr 17 02:07:50 PDT 2014


Issue #2649 has been updated by profmakx.


This is due to the gfx chip corrupting memory where the callout callwheel is located. I have debugged it but not found a fix yet. The fix will involve setting DMA properties correctly.

Obviously this means that certain graphics chips on certain configurations _can randomly corrupt your data_!

----------------------------------------
Bug #2649: Panic after loading i915kms
http://bugs.dragonflybsd.org/issues/2649#change-11928

* Author: masterblaster
* Status: New
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
on x86_64, v3.7.1.742.gc2d9fe-DEVELOPMENT, onboard D510 intel vga
Xorg starts successfully, i915kms loaded, no errors

after a short random amount of time system panics;
it seems a node on the callwheel gets corrupted(see kgdb trace below;
please ignore the warning, corefile was analyzed on another machine);

system runs stable without i915 kms

core pack on leaf:~randy/crash/crash.1.txz

(kgdb) where
#0  _get_mycpu () at ./machine/thread.h:69
#1  md_dumpsys (di=di at entry=0xffffffff80a0a620 <dumper>) at /usr/src/sys/platform/pc64/x86_64/dump_machdep.c:265
#2  0xffffffff802c216c in dumpsys () at /usr/src/sys/kern/kern_shutdown.c:912
#3  0xffffffff802c2639 in boot (howto=howto at entry=260) at /usr/src/sys/kern/kern_shutdown.c:369
#4  0xffffffff802c2931 in panic (fmt=fmt at entry=0xffffffff8054854b "%s") at /usr/src/sys/kern/kern_shutdown.c:818
#5  0xffffffff804f81ea in trap_fatal (frame=frame at entry=0xffffffe02c863968, eva=<optimized out>)
    at /usr/src/sys/platform/pc64/x86_64/trap.c:1034
#6  0xffffffff804f83e9 in trap_pfault (frame=frame at entry=0xffffffe02c863968, usermode=usermode at entry=0)
    at /usr/src/sys/platform/pc64/x86_64/trap.c:934
#7  0xffffffff804f89c1 in trap (frame=0xffffffe02c863968) at /usr/src/sys/platform/pc64/x86_64/trap.c:610
#8  0xffffffff804e1f5f in calltrap () at /usr/src/sys/platform/pc64/x86_64/exception.S:188
#9  0xffffffff802e6014 in softclock_handler (arg=0xffffffff80ad9e80 <softclock_pcpu_ary+4032>)
    at /usr/src/sys/kern/kern_timeout.c:274
#10 0xffffffff802d3b37 in lwkt_deschedule_self (td=<optimized out>) at /usr/src/sys/kern/lwkt_thread.c:325
#11 0x0000000000000000 in ?? ()
(kgdb) f 9
#9  0xffffffff802e6014 in softclock_handler (arg=0xffffffff80ad9e80 <softclock_pcpu_ary+4032>)
    at /usr/src/sys/kern/kern_timeout.c:274
warning: Source file is more recent than executable.
274                             if (c->c_time != sc->softticks) {
(kgdb) p c
$1 = (struct callout *) 0x1
(kgdb) l
269     loop:
270             while (sc->softticks != (int)(sc->curticks + 1)) {
271                     bucket = &sc->callwheel[sc->softticks & callwheelmask];
272
273                     for (c = TAILQ_FIRST(bucket); c; c = sc->next) {
274                             if (c->c_time != sc->softticks) {
275                                     sc->next = TAILQ_NEXT(c, c_links.tqe);
276                                     continue;
277                             }
278                             if (c->c_flags & CALLOUT_MPSAFE) {
(kgdb) p *bucket
$2 = {tqh_first = 0x1, tqh_last = 0xffffffe02c808000}
(kgdb) p bucket
$3 = (struct callout_tailq *) 0xffffffe02c808000
(kgdb) 




-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list