crash while switching vts between x and console

rob rob at dragonflybsd.org
Mon Nov 1 04:34:26 PDT 2010


Matthew Dillon wrote:

> 
> : 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
this appears to help in 32bit mode.. I will try it in 64 bit mode which
currently crashes everytime I change from X to a vty

RG





More information about the Bugs mailing list