Oops when attempting to load a speakup synthesizer module for an external serial device.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
linux-source-2.6.20 (Ubuntu) |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
Binary package hint: linux-source-2.6.20
When attempting to load speakup with one of the synthesizer drivers, I get this output from dmesg, followed by what seems to look like an oops.
I think this can even be reproduced without the necessary hardware.
1. Load the speakupmain module.
2. Attempt to load the speakup_dectlk module.
You should get something similar to below. Note that the speakup_dectlk module doesn't load, but messages are spewed to the console until speakupmain is unloaded.
Note you will need to try this on a system that has serial ports on the motherboard.
[ 460.273303] Speakup v-2.00 CVS: Sat Oct 7 10:52:29 EDT 2006 : initialized
[ 460.274183] initialized device: /dev/synth, node ( MAJOR 10, MINOR 25 )
[ 480.448337] synth probe
[ 480.448365] Probing for Dectalk Express.
[ 483.702492] IRQ handler type mismatch for IRQ 3
[ 483.702685] current handler: serial
[ 483.702878] [<c015382e>] setup_irq+
[ 483.702936] [<c024c6c0>] serial8250_
[ 483.702971] [<c0153983>] request_
[ 483.703000] [<c024c608>] serial8250_
[ 483.703033] [<c0247d69>] uart_startup+
[ 483.703061] [<c0247f3e>] uart_open+
[ 483.703089] [<c0231e34>] check_tty_
[ 483.703150] [<c02359b7>] tty_open+
[ 483.703177] [<c0235870>] tty_open+0x0/0x2f0
[ 483.703199] [<c01786e8>] chrdev_
[ 483.703233] [<c0178640>] chrdev_
[ 483.703248] [<c0173f3a>] __dentry_
[ 483.703297] [<c01740f5>] nameidata_
[ 483.703322] [<c0174150>] do_filp_
[ 483.703401] [<c01741ae>] do_sys_
[ 483.703435] [<c017428c>] sys_open+0x1c/0x20
[ 483.703454] [<c0103260>] syscall_
[ 483.703496] [<c02e0033>] unix_gc+0xa3/0x3c0
[ 483.703532] =======
[ 487.857798] Dectalk Express: not found
[ 487.857823] dectlk: device probe failed
[ 488.706143] IRQ handler type mismatch for IRQ 3
[ 488.706257] current handler: serial
[ 488.706374] [<c015382e>] setup_irq+
[ 488.706430] [<c024c6c0>] serial8250_
[ 488.706464] [<c0153983>] request_
[ 488.706493] [<c024c608>] serial8250_
[ 488.706525] [<c0247d69>] uart_startup+
[ 488.706553] [<c0247f3e>] uart_open+
[ 488.706580] [<c0231e34>] check_tty_
[ 488.706639] [<c02359b7>] tty_open+
[ 488.706664] [<c0235870>] tty_open+0x0/0x2f0
[ 488.706686] [<c01786e8>] chrdev_
[ 488.706719] [<c0178640>] chrdev_
[ 488.706734] [<c0173f3a>] __dentry_
[ 488.706781] [<c01740f5>] nameidata_
[ 488.706806] [<c0174150>] do_filp_
[ 488.706882] [<c01741ae>] do_sys_
[ 488.706915] [<c017428c>] sys_open+0x1c/0x20
[ 488.706933] [<c0103260>] syscall_
[ 488.706975] [<c02e0033>] unix_gc+0xa3/0x3c0
[ 488.707010] =======
[ 493.709892] IRQ handler type mismatch for IRQ 3
[ 493.710004] current handler: serial
[ 493.710121] [<c015382e>] setup_irq+
[ 493.710177] [<c024c6c0>] serial8250_
[ 493.710210] [<c0153983>] request_
[ 493.710239] [<c024c608>] serial8250_
[ 493.710271] [<c0247d69>] uart_startup+
[ 493.710299] [<c0247f3e>] uart_open+
[ 493.710326] [<c0231e34>] check_tty_
[ 493.710385] [<c02359b7>] tty_open+
[ 493.710411] [<c0235870>] tty_open+0x0/0x2f0
[ 493.710432] [<c01786e8>] chrdev_
[ 493.710466] [<c0178640>] chrdev_
[ 493.710480] [<c0173f3a>] __dentry_
[ 493.710528] [<c01740f5>] nameidata_
[ 493.710552] [<c0174150>] do_filp_
[ 493.710628] [<c01741ae>] do_sys_
[ 493.710661] [<c017428c>] sys_open+0x1c/0x20
[ 493.710680] [<c0103260>] syscall_
[ 493.710721] [<c02e0033>] unix_gc+0xa3/0x3c0
[ 493.710756] =======
[ 498.713880] IRQ handler type mismatch for IRQ 3
[ 498.714003] current handler: serial
[ 498.714142] [<c015382e>] setup_irq+
[ 498.714208] [<c024c6c0>] serial8250_
[ 498.714252] [<c0153983>] request_
[ 498.714285] [<c024c608>] serial8250_
[ 498.714324] [<c0247d69>] uart_startup+
[ 498.714360] [<c0247f3e>] uart_open+
[ 498.714393] [<c0231e34>] check_tty_
[ 498.714450] [<c0120650>] default_
[ 498.714488] [<c02359b7>] tty_open+
[ 498.714526] [<c0235870>] tty_open+0x0/0x2f0
[ 498.714556] [<c01786e8>] chrdev_
[ 498.714596] [<c0178640>] chrdev_
[ 498.714621] [<c0173f3a>] __dentry_
[ 498.714679] [<c01740f5>] nameidata_
[ 498.714712] [<c0174150>] do_filp_
[ 498.714793] [<c01741ae>] do_sys_
[ 498.714831] [<c017428c>] sys_open+0x1c/0x20
[ 498.714854] [<c0103260>] syscall_
[ 498.714905] [<c02e0033>] unix_gc+0xa3/0x3c0
[ 498.714944] =======
[ 503.717353] IRQ handler type mismatch for IRQ 3
[ 503.717476] current handler: serial
[ 503.717616] [<c015382e>] setup_irq+
[ 503.717681] [<c024c6c0>] serial8250_
[ 503.717724] [<c0153983>] request_
[ 503.717763] [<c024c608>] serial8250_
[ 503.717803] [<c0247d69>] uart_startup+
[ 503.717838] [<c0247f3e>] uart_open+
[ 503.717874] [<c0231e34>] check_tty_
[ 503.717942] [<c02359b7>] tty_open+
[ 503.717974] [<c0235870>] tty_open+0x0/0x2f0
[ 503.718006] [<c01786e8>] chrdev_
[ 503.718045] [<c0178640>] chrdev_
[ 503.718067] [<c0173f3a>] __dentry_
[ 503.718125] [<c01740f5>] nameidata_
[ 503.718155] [<c0174150>] do_filp_
[ 503.718236] [<c01741ae>] do_sys_
[ 503.718273] [<c017428c>] sys_open+0x1c/0x20
[ 503.718303] [<c0103260>] syscall_
[ 503.718351] [<c02e0033>] unix_gc+0xa3/0x3c0
[ 503.718394] =======
[ 507.085342] speakup: unregistering synth device /dev/synth
[ 508.721079] IRQ handler type mismatch for IRQ 3
[ 508.721244] BUG: unable to handle kernel paging request at virtual address f0fd7254
[ 508.721383] printing eip:
[ 508.721450] c01efb6c
[ 508.721458] *pde = 2e0e2067
[ 508.721530] Oops: 0000 [#1]
[ 508.721597] SMP
[ 508.721753] Modules linked in: nfs nfsd exportfs lockd sunrpc video sbs i2c_ec dock container button battery asus_acpi backlight ac ext3 jbd mbcache ipv6 eeprom w83781d hwmon_vid i2c_isa sbp2 parport_pc lp parport sr_mod cdrom floppy i2c_piix4 intel_agp agpgart pcspkr i2c_core shpchp pci_hotplug af_packet evdev jfs usb_storage libusual piix generic sg sd_mod siimage ata_piix tulip hpt366 ohci1394 ieee1394 ehci_hcd pata_sil680 aic7xxx scsi_transport_spi uhci_hcd usbcore ata_generic libata scsi_mod dm_mod raid0 md_mod thermal processor fan fbcon tileblit font bitblit softcursor vesafb capability commoncap
[ 508.725441] CPU: 1
[ 508.725445] EIP: 0060:[<c01efb6c>] Not tainted VLI
[ 508.725452] EFLAGS: 00010097 (2.6.20-6-generic #2)
[ 508.725667] EIP is at vsnprintf+
[ 508.725743] eax: f0fd7254 ebx: c04324d4 ecx: f0fd7254 edx: fffffffe
[ 508.725829] esi: c0360400 edi: f0fd7254 ebp: c04328c0 esp: ef41bd38
[ 508.725909] ds: 007b es: 007b ss: 0068
[ 508.725985] Process brltty (pid: 3900, ti=ef41a000 task=c16f6560 task.ti=ef41a000)
[ 508.726065] Stack: c039d7b0 c039d7ac 00000000 00000001 ef41bd6c c011e188 00000000 00000400
[ 508.726557] c04324c0 00000000 ffffffff ffffffff ffffffff 00000086 c03604fc 00000400
[ 508.727051] f0fd7254 00000000 00000000 c01efe44 ef41be18 00000003 c012640a ef41be14
[ 508.727544] Call Trace:
[ 508.727690] [<c011e188>] __wake_up+0x38/0x50
[ 508.727867] [<c01efe44>] vscnprintf+
[ 508.727994] [<c012640a>] vprintk+0x5a/0x370
[ 508.728164] [<c015b5e7>] get_page_
[ 508.728315] [<c012673b>] printk+0x1b/0x20
[ 508.728441] [<c0153829>] setup_irq+
[ 508.728594] [<c024c6c0>] serial8250_
[ 508.728733] [<c0153983>] request_
[ 508.728866] [<c024c608>] serial8250_
[ 508.729008] [<c0247d69>] uart_startup+
[ 508.729143] [<c0247f3e>] uart_open+
[ 508.729276] [<c0231e34>] check_tty_
[ 508.729443] [<c02359b7>] tty_open+
[ 508.729576] [<c0235870>] tty_open+0x0/0x2f0
[ 508.729702] [<c01786e8>] chrdev_
[ 508.729841] [<c0178640>] chrdev_
[ 508.729962] [<c0173f3a>] __dentry_
[ 508.730118] [<c01740f5>] nameidata_
[ 508.730249] [<c0174150>] do_filp_
[ 508.730432] [<c01741ae>] do_sys_
[ 508.730570] [<c017428c>] sys_open+0x1c/0x20
[ 508.730694] [<c0103260>] syscall_
[ 508.730841] [<c02e0033>] unix_gc+0xa3/0x3c0
[ 508.730979] =======
[ 508.731049] Code: fd ff ff c6 03 25 e9 1b fd ff ff 8d 4f 04 89 4c 24 50 8b 3f 81 ff ff 0f 00 00 77 05 bf a1 9c 36 c0 8b 54 24 2c 89 f9 89 c8 eb 06 <80> 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 89 c6 8b 44 24 28 f6
[ 508.734077] EIP: [<c01efb6c>] vsnprintf+
[ 508.734249]
Changed in linux-source-2.6.20: | |
assignee: | nobody → ubuntu-kernel-team |
importance: | Undecided → Medium |
status: | Unconfirmed → Confirmed |
Ok after further testing, and attempting to use the same device on another machine, it turns out that the oops is an SMP related issue. Attempting to use the speakup_dectlk module on another machine with the serial device states that the device cannot be found, even though I am able to send it data using minicom, and get other user-space apps to talk to it.