DragonFly BSD
DragonFly bugs List (threaded) for 2010-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: crash while switching vts between x and console


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 31 Oct 2010 09:12:25 -0700 (PDT)

: dumped core - see /var/crash/vmcore.0
:
:Sun Oct 31 00:39:05 PDT 2010
:
:Version String: DragonFly v2.9.0.89.gcd3c6-DEVELOPMENT #2: Sat Oct 30
:14:14:38 PDT 2010 root@:/usr/obj/usr/src/sys/EAGLE
:
:panic: assertion: gd->gd_spinlocks_wr == 0 in bsd4_schedulerclock
:...
:exchange_scr(c05674a0,fffffffd,20007604,cec3f880,d22b8b80) at
:exchange_scr+0x138
:finish_vt_rel(d22b8c18,7,c064a7a0,c286ca98,c02bc049) at finish_vt_rel+0x55
:scioctl(d22b8b8c,c05619a8,cecf3110,20007604,d22b8c18) at scioctl+0xae5
:dev_dioctl(cecf3110,20007604,d22b8c18,7,cc850620) at dev_dioctl+0xb0
:devfs_fo_ioctl(cc8737f0,20007604,d22b8c18,cc850620,d22b8cf0) at

    Try removing the crit_exit/crit_enter in do_switch_scr().

    /usr/src/sys/dev/misc/syscons/syscons.c line ~2540

static void
do_switch_scr(sc_softc_t *sc)
{
    lwkt_gettoken(&tty_token);
    vt_proc_alive(sc->new_scp);

    crit_exit();		<--- remove
    exchange_scr(sc);		(keep)
    crit_enter();		<--- remove
    /* sc->cur_scp == sc->new_scp

    					-Matt



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]