RELENG7 using lpt causes panic
scottl at samsco.org
Tue Jan 8 07:08:12 PST 2008
John Baldwin wrote:
> On Monday 07 January 2008 10:08:57 pm Adrian Wontroba wrote:
>> I've recently switched some of my home systems to RELENG7.
>> All seemed fairly well until I tried printing a CUPS test page on my
>> backup and print server to an elderly Laserjet IIIp, where I seem to
>> have a reproducible panic. It has happened twice. This is painful, as
>> I have a big home fileystem (striped over two mirrors over most of two
>> 500 GB disks). The gmirror syncronisation and background fsck leave the
>> system close to unusable for hours while they fight over the disks.
>> I was somewhat startled that something so basic as printing causes a
>> panic. There have been no hardware changes since I last printed under
>> RELENG6, but I don't print often, so hardware decay is a possibility.
>> Is this a known problem? If not, I'll take the time to try various tests
>> (with /home unmounted) and raise a PR.
>> I envisage tests such as:
>> * Does switching to a kernel without SMP and apic make a difference?
>> * Does direct output cause a crash?
>> * Does polling make a difference?
>> * Does the parallel port mode (I think extended at present) make a
>> Some detail below.
> This is a known issue and it has to do with some changes in the interrupt
> code in 7.x that interact badly with the lpt(4) driver (which tears down its
> interrupt handler and sets it back up again for each character, and the
> panic you see is because an interrupt came when it wasn't expecting it).
> The lpt(4) driver does this weird dance to allow coexisting with vpo so you
> can have lpd running and unplug your printer and plug up a Zip drive w/o
> having to stop lpd. I think the way I want to fix it is to change the lpt
> driver to not release the bus (and thus remove its interrupt handler) for
> every char but to keep the bus while /dev/lpt0 is open (which would be all
> the time with lpd running).
My guess is that LPT ZIP drives all died a clicking death many, many
years ago. I usually don't advocate for the removal of hardware
support, but these drives were so pitiful and so poorly engineered that
I honestly doubt there is any value in keeping the driver around.
More information about the freebsd-stable