RELENG7 using lpt causes panic

Scott Long 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
>>   difference?
>>
>> 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.

Scott


More information about the freebsd-stable mailing list