Subject: Re: "panic: trap" while trying to run linux/i386 netscape with currentkernel
To: None <current-users@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: current-users
Date: 12/15/1998 09:42:47
In article <3675E544.4EF0C20C@nc.com> paul.wain@nc.com (Paul Wain) writes:
>
>--------------D27ADDF6EE932864D4BACFC5
>Content-Type: text/plain; charset=us-ascii
>Content-Transfer-Encoding: 7bit
>
>See if this works:
>
>In compat/linux/common/linux_ioctl.c find the line that says:
>
>#if NSEQUENCERS > 0
>
>and change it to:
>
>#if 0
>
>Ive seen a similar thing in a kernel that was built for a type of machine that
>may or maynot have a sound card (long story). Basically it appears that if you
>have a MIDI sequencer configured, but no sound card, one of the linux ioctl's
>for termio can cause a kernel panic. (If you look at the linux emulation code,
>its quite logical!)
>
>If the above fixes things, you need to do one of two things:
>
>a) remove the midi sequencer from your configuration file and rebuild your
>kernel or
>b) find out why, if you have it configured, you sound card isnt attaching a
>midi sequencer.
>
>BTW, the signal message you are seeing can be ignored. Its apparently one of
>the linux signal types/handlers that NetBSD doesnt support in emulation mode,
>that isnt really needed so it complains only if you have debugging on.
>

I think that fixing the tests to make them more defensive might
correct the problem:

such as:
                if (fp->f_type == DTYPE_VNODE &&
                    (vp = (struct vnode *)fp->f_data) != NULL &&
                    vp->v_type == VCHR &&
                    VOP_GETATTR(vp, &va, p->p_ucred, p) == 0 &&
                    major(va.va_rdev) < nchrdev &&
                    cdevsw[major(va.va_rdev)].d_ioctl == sequencerioctl)