crash while switching vts between x and console

Matthew Dillon dillon at apollo.backplane.com
Sun Oct 31 09:13:06 PDT 2010


: 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





More information about the Bugs mailing list