From owner-freebsd-current@FreeBSD.ORG Tue Sep 25 11:28:23 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C242916A418 for ; Tue, 25 Sep 2007 11:28:23 +0000 (UTC) (envelope-from serguey-grigoriev@yandex.ru) Received: from webmail24.mail.yandex.net (webmail24.mail.yandex.net [213.180.223.151]) by mx1.freebsd.org (Postfix) with ESMTP id ED21713C43E for ; Tue, 25 Sep 2007 11:28:22 +0000 (UTC) (envelope-from serguey-grigoriev@yandex.ru) Received: from YAMAIL (webmail24) by mail.yandex.ru id S491844AbXIYL2P for (+ 1 other); Tue, 25 Sep 2007 15:28:15 +0400 X-Yandex-Spam: 1 Received: from [77.244.18.3] ([77.244.18.3]) by mail.yandex.ru with HTTP; Tue, 25 Sep 2007 15:28:15 +0400 From: "S.N.Grigoriev" To: kris@FreeBSD.org In-Reply-To: 9070000000021720668 References: <1291921190632545@webmail31.yandex.ru> 9070000000021720668 MIME-Version: 1.0 Message-Id: <71531190719695@webmail24.yandex.ru> Date: Tue, 25 Sep 2007 15:28:15 +0400 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Mailman-Approved-At: Wed, 26 Sep 2007 12:34:24 +0000 Cc: freebsd-current@freebsd.org Subject: Re: Parallel port printing crashes 7.0 system X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2007 11:28:23 -0000 25.09.07, 13:07, Kris Kennaway (kris@FreeBSD.org): > S.N.Grigoriev wrote: > > Hi, list, > > > > This problem has already been reported this year at least twice. > > I can confirm it still exists. Probably it has been introduced > > near the beginning of May because April and earlyer sources > > handle parallel printing correctly. > So we can cross-reference, what number is your PR? > Kris Hi, Kris, The following messages posted to freebsd-current@ this year: On Wen May 16 I wrote: > From: S.N.Grigoriev > To: freebsd-current@freebsd.org > Subject: Crash during sending print jobs > > Hi, > > beginning with last week my 7-Current amd64 system panics > during sending print jobs (especially PostScript) to my > LPT connected laser printer. Kernels compiled with April > or March sources still work fine. Does anybody find this > problem? On Mon, Jun 4 I wrote: > The problem persists. GENERIC compiled with today sources > crashes with the following output: > panic: bad stray interrupt > cpuid = 0 > KDB: enter: panic > [thread pid = 11 tid 100002 ] > Stopped at kdb_enter+0x2f: leave > > > The call stack trace is: > > Tracing pid 11 tid 100002 td 0xffffff003db84990 > kdb_enter() at kdb_enter+0x30 > intr_execute_handlers() at intr_execute_handlers+0x183 > Xapic_isr1() at Xapic_isr1()+0x7f > --- interrupt, rip = 0xffffffff8071ec56, rsp = 0xffffffffa075fbd0, rbp > = 0xffffffffa075fbe0 --- > acpi_cpu_c1() at acpi_cpu_c1+0x6 > acpi_cpu_idle() at acpi_cpu_idle+0x27c > sched_idletd() at sched_idletd+0x35 > fork_exit() at fork_exit+0x153 > fork_trampoline() at fork_trampoline+0xe > --- trap 0, rip = 0, rsp = 0xffffffffa075fd30, rbp = 0 --- On Tue Jul 3 Gary Jennejohn wrote: > Date: Tue, 3 Jul 2007 11:42:48 +0200 > From: Gary Jennejohn > To: freebsd-current@freebsd.org > Subject: panic when printing > Message-ID: <20070703114248.37a2019b.garyj@jennejohn.org> > > I haven't seen this reported before. > > Trying to print to my parallel printer with a -current kernel from July > 2 (amd64) results in a kernel panic. A kernel from June 16 (i386) does > not cause a panic. > > If I boot with the printer turned on then the kernel sees it (PnP) > with no problem. Just printing causes a panic. > > BTW this kernel is using the SMP-scheduler from Jeff Roberson, but > IIRC a different kernel (June 29) w/o that scheduler also panics. > > I can't say whether it's amd64-specific or just due to recent changes to > the sources. I'm rather reluctant to generate a new i386 kernel to check > that, but I could be persuaded to do it. > > Below a typescript of a very limited kgdb session: > > root:peedub:crash:bash:1> gdb /boot/kernel/kernel vmcore.1 > [GDB will not be able to debug user-mode > threads: /usr/lib/libthread_db.so: Undefined symbol > "ps_pglobal_lookup"] GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free > Software Foundation, Inc. GDB is free software, covered by the GNU > General Public License, and you are welcome to change it and/or > distribute copies of it under certain conditions. Type "show copying" > to see the conditions. There is absolutely no warranty for GDB. Type > "show warranty" for details. This GDB was configured as > "amd64-marcel-freebsd". > > Unread portion of the kernel message buffer: > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > lpt0: [GIANT-LOCKED] > lpt0: [ITHREAD] > > > Fatal trap 30: reserved (unknown) fault while in kernel mode > cpuid = 1; apic id = 01 > instruction pointer = 0x8:0xffffffff804ece83 > stack pointer = 0x10:0xffffffffaf97a760 > frame pointer = 0x10:0xffffffffaf97a780 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, long 1, def32 0, gran 1 > processor eflags = interrupt enabled, IOPL = 0 > current process = 1980 (lpd) > trap number = 30 > panic: reserved (unknown) fault > cpuid = 1 > Uptime: 2h41m43s > Physical memory: 2037 MB > Dumping 977 MB: 961 945 929 913 897 881 865 849 833 817 801 785 769 753 > 737 721 705 689 673 657 641 625 609 593 577 561 545 529 513 497 481 465 > 449 433 417 401 385 369 353 337 321 305 289 273 257 241 225 209 193 177 > 161 145 129 113 97 81 65 49 33 17 1 > > #0 doadump () at pcpu.h:194 > 194 pcpu.h: No such file or directory. > in pcpu.h > (kgdb) bt > #0 doadump () at pcpu.h:194 > #1 0xffffffff802f94db in boot (howto=260) > at /usr/src/sys/kern/kern_shutdown.c:409 > #2 0xffffffff802f97de in panic (fmt=Variable "fmt" is not available. > ) at /usr/src/sys/kern/kern_shutdown.c:563 > #3 0xffffffff804fec9c in trap_fatal (frame=0xffffffffaf97a6b0, eva=0) > at /usr/src/sys/amd64/amd64/trap.c:695 > #4 0xffffffff804ffaa3 in trap (frame=0xffffffffaf97a6b0) > at /usr/src/sys/amd64/amd64/trap.c:498 > #5 0xffffffff804e566e in calltrap () > at /usr/src/sys/amd64/amd64/exception.S:169 > #6 0xffffffff804ece83 in spinlock_exit () at cpufunc.h:391 > #7 0xffffffff804e9291 in ioapic_program_intpin > #(intpin=0xffffff0001043208) > at /usr/src/sys/amd64/amd64/io_apic.c:273 > #8 0xffffffff804e967a in ioapic_disable_intr (isrc=0xffffff0001043208) > at /usr/src/sys/amd64/amd64/io_apic.c:375 > #9 0xffffffff804e843d in intr_remove_handler (cookie=Variable "cookie" > #is not available. > ) > at /usr/src/sys/amd64/amd64/intr_machdep.c:217 > #10 0xffffffff804f23bc in nexus_teardown_intr (dev=Variable "dev" is > #not available. > ) > at /usr/src/sys/amd64/amd64/nexus.c:451 > #11 0xffffffff8031bf8f in bus_generic_teardown_intr > #(dev=0xffffffffabf30000, > child=0xffffff0003285b00, irq=0xffffff0003316480, > cookie=0xffffff001bf44100) at bus_if.h:416 > #12 0xffffffff8022fc9d in ppc_teardown_intr (bus=0xffffff0001216500, > child=0xffffff0003285b00, r=0xffffff0003316480, > ih=0xffffff001bf44100) at bus_if.h:416 > #13 0xffffffff8022e3f4 in ppbus_teardown_intr (bus=0xffffff0003286e00, > child=0xffffff0003285b00, r=Variable "r" is not available. > ) at bus_if.h:416 > #14 0xffffffff8022ef6a in ppb_release_bus (bus=0xffffff0003286e00, > dev=0xffffff0003285b00) at bus_if.h:416 > #15 0xffffffff8022a9a5 in lpt_release_ppbus (dev=0xffffff0003285b00) > at /usr/src/sys/dev/ppbus/lpt.c:227 > #16 0xffffffff8022b796 in lptwrite (dev=Variable "dev" is not available. > ) at /usr/src/sys/dev/ppbus/lpt.c:826 > #17 0xffffffff802c6f61 in giant_write (dev=0xffffff00032fe800, > uio=0xffffffffaf97ab00, ioflag=0) > at /usr/src/sys/kern/kern_conf.c:358 > #18 0xffffffff8028b9f7 in devfs_write_f (fp=0xffffff0003b092d0, > uio=0xffffffffaf97ab00, cred=Variable "cred" is not available. > ) at /usr/src/sys/fs/devfs/devfs_vnops.c:1290 > #19 0xffffffff8033058a in dofilewrite (td=0xffffff00039c5360, fd=6, > fp=0xffffff0003b092d0, auio=0xffffffffaf97ab00, offset=Variable > "offset" is not available. ) at file.h:254 > #20 0xffffffff8033080f in kern_writev (td=0xffffff00039c5360, fd=6, > auio=0xffffffffaf97ab00) at /usr/src/sys/kern/sys_generic.c:373 > #21 0xffffffff8033088b in write (td=0xffffffffabf30000, uap=0x1e) > at /usr/src/sys/kern/sys_generic.c:303 > #22 0xffffffff804ff2d1 in syscall (frame=0xffffffffaf97ac70) > at /usr/src/sys/amd64/amd64/trap.c:820 > #23 0xffffffff804e581b in Xfast_syscall () > at /usr/src/sys/amd64/amd64/exception.S:272 > #24 0x000000080071ccac in ?? () > Previous frame inner to this frame (corrupt stack?) > (kgdb) q > > --- > Gary Jennejohn / garyjATjennejohnDOTorg gjATfreebsdDOTorg On Mon, 23 Jul John Baldwin wrote: > On Tuesday 03 July 2007 05:42:48 am Gary Jennejohn wrote: > > I haven't seen this reported before. > > > > Trying to print to my parallel printer with a -current kernel from > > July 2 (amd64) results in a kernel panic. A kernel from June 16 > > (i386) does not cause a panic. > > > > If I boot with the printer turned on then the kernel sees it (PnP) > > with no problem. Just printing causes a panic. > > > > BTW this kernel is using the SMP-scheduler from Jeff Roberson, but > > IIRC a different kernel (June 29) w/o that scheduler also panics. > > > > I can't say whether it's amd64-specific or just due to recent > > changes to the sources. I'm rather reluctant to generate a new i386 > > kernel to check that, but I could be persuaded to do it. > > > > Below a typescript of a very limited kgdb session: > > You got an interrupt after the lpt driver removed its handler. > Really the ppbus device should not be so stupid and should have its > own interrupt handler that routes interrupts to the "active" child. > Regards, Serguey.