Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#23195 - [kernel26] ir-keytable busted for imon device 15c2:ffdc
Attached to Project:
Arch Linux
Opened by ben123 (ben123) - Tuesday, 08 March 2011, 23:50 GMT
Last edited by Tobias Powalowski (tpowa) - Wednesday, 15 February 2012, 08:12 GMT
Opened by ben123 (ben123) - Tuesday, 08 March 2011, 23:50 GMT
Last edited by Tobias Powalowski (tpowa) - Wednesday, 15 February 2012, 08:12 GMT
|
DetailsDescription:
After upgrading v4l-utils from 0.8.1-1 to 0.8.3-1, I started seeing the following error when loading the imon module (kernel/drivers/media/IR/imon.ko.gz) "Pid: 5436, comm: ir-keytable Tainted: G C 2.6.37-ARCH #1" Here's the device: "Bus 004 Device 003: ID 15c2:ffdc SoundGraph Inc. iMON PAD Remote Controller" The remote still works, but the LCD is now broken. The rc.d script from lcdproc package now hangs infinitely as it repeated tries to connect to the lcd and times out every 120s. Please see the attached error logs. Downgrading back to 0.8.1-1 sees the IR keymap getting correctly registered. "Registered IR keymap rc-imon-pad" Could we: 1. Notified upstream 2. Downgrade arch back to 0.8.1 Additional info: * package version(s) v4l-utils-0.8.3-1 * config and/or log files etc. Steps to reproduce: 1. upgrade v4l-utils-0.8.3-1 2. reboot and watch system hang (luckily 1 in 5 reboots gets to prompt, so I was able to disable lcdd) |
This task depends upon
Closed by Tobias Powalowski (tpowa)
Wednesday, 15 February 2012, 08:12 GMT
Reason for closing: Upstream
Wednesday, 15 February 2012, 08:12 GMT
Reason for closing: Upstream
error.txt
Exactly same behavior here, and downgrading v4l-utils solves the problem!
http://freshmeat.net/projects/libv4l/tickets/17c1a21a339
Paolo, you could prefix it with a "@", that's what I do since nothing depends on it anyway...
Any news on the upsteam bug report (I can't see it since I don't have an account on freshmeat)?
from Jarod Wilson <???@redhat.com>
subject Re: v4l-utils 0.8.3
There's a bit of an egregious bug in the imon driver in 2.6.37,
specifically with the ffdc devices, which probably warrants a -stable
patch...
This should be fully fixed in 2.6.38 by these two patches:
7d2edfc23e9852591cb031a26093cdcd07a34a90
9ad77eb57b45f81ac3e12077d19e5f121c4cff6d
I believe my device is different than yours though, but I am not at home and don't have the version right now.
"That's an entirely different trace in that bug, unrelated to the fixes I was referring to. Not sure what's going on there.".
Which will be why it isn't fixed yet. I'm experiencing the same problem so hopefully this gets resolved soon. Not sure who or where to report this to (going to check with v4l).
Would this cause my remote not to work, or would that be unrelated? I know there were a lot of changes for 2.6.37+ / lirc 0.9+ - and very little information regarding my (imon) Antec Veris.
==================================================
Nope, I was wrong, its a bug in the imon code. A Fedora kernel-debug
build and a bit more code inspection revealed what was wrong. Now I
just have to write up a patch to fix it, its kind of a gross little
corner case bug that's been there a while, but only recently started
to be triggered... Basically, when v4l-utils started installing a
udev rule that ran ir-keytable, which calls the imon driver's
change_protocol function, things started going sideways, because of
an assumption in the driver that the send_packet() function is always
called with ictx->lock already held, and that isn't the case with the
change_protocol function. So it first tries to drop the lock (that it
isn't holding), then tries to reacquire it, assuming the calling
function will then drop it. It never gets dropped. Along comes a
second process, like lcdproc, which tries to write to the display,
which also calls send_packet(), but does so after first grabbing the
lock -- which is already held. Thus the hung task warning. I'll try
to get something together tomorrow, this'll be 2.6.38.x stable tree
stuff here...
[ 15.014153] =====================================
[ 15.015048] [ BUG: bad unlock balance detected! ]
[ 15.015048] -------------------------------------
[ 15.015048] ir-keytable/773 is trying to release lock (&ictx->lock) at:
[ 15.015048] [<ffffffff814c6297>] mutex_unlock+0xe/0x10
[ 15.015048] but there are no more locks to release!
[ 15.015048]
[ 15.015048] other info that might help us debug this:
[ 15.015048] 2 locks held by ir-keytable/773:
[ 15.015048] #0: (&buffer->mutex){+.+.+.}, at: [<ffffffff8119d400>] sysfs_write_file+0x3c/0x144
[ 15.015048] #1: (s_active#87){.+.+.+}, at: [<ffffffff8119d4ab>] sysfs_write_file+0xe7/0x144
[ 15.015048]
[ 15.015048] stack backtrace:
[ 15.015048] Pid: 773, comm: ir-keytable Not tainted 2.6.38.4-20.fc15.x86_64.debug #1
[ 15.015048] Call Trace:
[ 15.015048] [<ffffffff81089715>] ? print_unlock_inbalance_bug+0xca/0xd5
[ 15.015048] [<ffffffff8108b35c>] ? lock_release_non_nested+0xc1/0x263
[ 15.015048] [<ffffffff814c6297>] ? mutex_unlock+0xe/0x10
[ 15.015048] [<ffffffff814c6297>] ? mutex_unlock+0xe/0x10
[ 15.015048] [<ffffffff8108b67b>] ? lock_release+0x17d/0x1a4
[ 15.015048] [<ffffffff814c6229>] ? __mutex_unlock_slowpath+0xc5/0x125
[ 15.015048] [<ffffffff814c6297>] ? mutex_unlock+0xe/0x10
[ 15.015048] [<ffffffffa02964b6>] ? send_packet+0x1c9/0x264 [imon]
[ 15.015048] [<ffffffff8108b376>] ? lock_release_non_nested+0xdb/0x263
[ 15.015048] [<ffffffffa0296731>] ? imon_ir_change_protocol+0x126/0x15e [imon]
[ 15.015048] [<ffffffffa024a334>] ? store_protocols+0x1c3/0x286 [rc_core]
[ 15.015048] [<ffffffff81326e4e>] ? dev_attr_store+0x20/0x22
[ 15.015048] [<ffffffff8119d4cc>] ? sysfs_write_file+0x108/0x144
[ 15.015048] [<ffffffff8113f001>] ? vfs_write+0xaf/0x102
[ 15.015048] [<ffffffff81140530>] ? fget_light+0x3a/0x83
[ 15.015048] [<ffffffff8113f214>] ? sys_write+0x4d/0x74
[ 15.015048] [<ffffffff8110e3b3>] ? handle_pte_fault+0x1dc/0x6e2
[ 15.015048] [<ffffffff8100abc2>] ? system_call_fastpath+0x16/0x1b
==================================================
Thanks!
I am using the following kernel :
2.38.7-1 kernel
udev 171
and v4l-utils is 0.8.3-2
here is bellow the log at boot :
[ 7.074196] Registered IR keymap rc-imon-pad
[ 7.074330] input: iMON Remote (15c2:0038) as /devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.5/2-1.5:1.0/rc/rc0/input5
[ 7.074377] rc0: iMON Remote (15c2:0038) as /devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1.5/2-1.5:1.0/rc/rc0
[ 7.074553] imon:send_packet: packet tx failed (-32)
[ 7.080879] imon 2-1.5:1.0: imon usb_rx_callback_intf0: status(-71): ignored
[ 7.091296] IR JVC protocol handler initialized
[ 7.104851] imon 2-1.5:1.0: imon usb_rx_callback_intf0: status(-71): ignored
[ 7.128770] imon 2-1.5:1.0: imon usb_rx_callback_intf0: status(-71): ignored
[ 7.137673] imon 2-1.5:1.0: remote input dev register failed
[ 7.137677] imon 2-1.5:1.0: imon_init_intf0: rc device setup failed
[ 7.152799] imon 2-1.5:1.0: imon usb_rx_callback_intf0: status(-71): ignored
[ 7.176668] imon 2-1.5:1.0: imon usb_rx_callback_intf0: status(-71): ignored
[ 7.200589] imon 2-1.5:1.0: imon usb_rx_callback_intf0: status(-71): ignored
[ 7.217275] imon 2-1.5:1.0: unable to initialize intf0, err 0
[ 7.217279] imon:imon_probe: failed to initialize context!
[ 7.217283] imon 2-1.5:1.0: unable to register, err -19
[ 7.217328] BUG: unable to handle kernel NULL pointer dereference at 0000000000000024
[ 7.217474] IP: [<ffffffff813b29a3>] __mutex_lock_slowpath+0x63/0x320
[ 7.217566] PGD 10e543067 PUD 10d599067 PMD 0
[ 7.217713] Oops: 0002 [#1] PREEMPT SMP
[ 7.217860] last sysfs file: /sys/module/imon/initstate
[ 7.217916] CPU 0
[ 7.217951] Modules linked in: ir_jvc_decoder ir_rc6_decoder rc_imon_pad ir_rc5_decoder ir_nec_decoder imon(+) rc_core snd_hda_codec_realtek snd_seq_dummy snd_seq_oss snd_hda_intel(+) snd_hda_codec nvidia(P) snd_seq_midi_event snd_seq snd_seq_device firewire_ohci snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore ehci_hcd psmouse xhci_hcd firewire_core evdev snd_page_alloc i2c_i801 processor pcspkr serio_raw crc_itu_t usbcore intel_agp button intel_gtt iTCO_wdt i2c_core asus_atk0110 sg iTCO_vendor_support r8169 mii ext4 mbcache jbd2 crc16 ahci libahci sr_mod cdrom sd_mod pata_marvell ata_piix pata_acpi libata scsi_mod
[ 7.220178]
[ 7.220226] Pid: 1009, comm: modprobe Tainted: P 2.6.38-ARCH #1 System manufacturer System Product Name/P7H55D-M EVO
[ 7.220462] RIP: 0010:[<ffffffff813b29a3>] [<ffffffff813b29a3>] __mutex_lock_slowpath+0x63/0x320
[ 7.220569] RSP: 0018:ffff88010c8c9c48 EFLAGS: 00010046
[ 7.220623] RAX: 0000000000000100 RBX: 0000000000000020 RCX: 0000000000000000
[ 7.220680] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000020
[ 7.220737] RBP: ffff88010c8c9ca8 R08: ffff8800dfc16148 R09: 2222222222222222
[ 7.220795] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000024
[ 7.220852] R13: 0000000000000246 R14: ffff88010e95e200 R15: 0000000000000001
[ 7.220910] FS: 00007f502719d700(0000) GS:ffff8800dfc00000(0000) knlGS:0000000000000000
[ 7.220983] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 7.221039] CR2: 0000000000000024 CR3: 000000010d75c000 CR4: 00000000000006f0
[ 7.221096] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 7.221154] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 7.221212] Process modprobe (pid: 1009, threadinfo ffff88010c8c8000, task ffff88010e95e200)
[ 7.221285] Stack:
[ 7.221333] ffff88010c8c9ca8 0000000000000286 2222222222222222 ffffffffa01e15e9
[ 7.221529] 00000000000000c0 000000d022222222 ffff88010c8c9c98 0000000000000020
[ 7.221726] ffff88010efa6800 ffff88010ebbcc00 ffff88010efa6800 0000000000000001
[ 7.221921] Call Trace:
[ 7.221977] [<ffffffffa01e15e9>] ? usb_alloc_urb+0x19/0x50 [usbcore]
[ 7.222034] [<ffffffff813b2c71>] mutex_lock+0x11/0x30
[ 7.222091] [<ffffffffa0206c9b>] imon_probe+0x8aa/0xd01 [imon]
[ 7.222149] [<ffffffffa01e5943>] usb_probe_interface+0xd3/0x1e0 [usbcore]
[ 7.222208] [<ffffffff812b9209>] driver_probe_device+0x79/0x1a0
[ 7.222264] [<ffffffff812b93cb>] __driver_attach+0x9b/0xa0
[ 7.222320] [<ffffffff812b9330>] ? __driver_attach+0x0/0xa0
[ 7.222375] [<ffffffff812b9330>] ? __driver_attach+0x0/0xa0
[ 7.222430] [<ffffffff812b8234>] bus_for_each_dev+0x54/0x90
[ 7.222486] [<ffffffff812b8ec9>] driver_attach+0x19/0x20
[ 7.222540] [<ffffffff812b8b30>] bus_add_driver+0x1a0/0x270
[ 7.222596] [<ffffffff812b95b1>] driver_register+0x71/0x140
[ 7.222653] [<ffffffff8107fa4d>] ? notifier_call_chain.isra.0+0x4d/0x70
[ 7.223611] [<ffffffffa01e4788>] usb_register_driver+0x98/0x190 [usbcore]
[ 7.223670] [<ffffffffa00d7000>] ? imon_init+0x0/0x40 [imon]
[ 7.223726] [<ffffffffa00d701e>] imon_init+0x1e/0x40 [imon]
[ 7.223783] [<ffffffff8100204b>] do_one_initcall+0x3b/0x180
[ 7.223840] [<ffffffff81095d0b>] sys_init_module+0xab/0x200
[ 7.223896] [<ffffffff8100ae12>] system_call_fastpath+0x16/0x1b
[ 7.223951] Code: 63 80 44 e0 ff ff a9 00 ff ff 07 0f 85 a7 02 00 00 9c 58 0f 1f 44 00 00 49 89 c5 fa 66 0f 1f 44 00 00 b8 00 01 00 00 4c 8d 63 04 <f0> 66 0f c1 43 04 38 e0 74 07 f3 90 8a 43 04 eb f5 44 8b 3d d5
[ 7.226090] RIP [<ffffffff813b29a3>] __mutex_lock_slowpath+0x63/0x320
[ 7.226178] RSP <ffff88010c8c9c48>
[ 7.226229] CR2: 0000000000000024
[ 7.226281] ---[ end trace 9d967353f121f9e8 ]---
[ 7.226334] note: modprobe[1009] exited with preempt_count 1
[ 7.355338] IR Sony protocol handler initialized
[ 7.369728] lirc_dev: IR Remote Control driver registered, major 251
[ 7.370794] IR LIRC bridge handler initialized