Additional info: reporter: libreport-2.1.11 BUG: unable to handle kernel paging request at 0000001d00008000 IP: [<0000001d00008000>] 0x1d00008000 PGD 0 Oops: 0010 [#1] SMP Modules linked in: tda10048 tda827x tda10023 dvb_usb_ttusb2 dvb_usb dvb_core rc_core coretemp fuse ccm nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw bnep iTCO_wdt iTCO_vendor_support snd_hda_codec_hdmi snd_hda_codec_conexant x86_pkg_temp_thermal arc4 kvm_intel kvm iwldvm uvcvideo cdc_mbim videobuf2_vmalloc mac80211 snd_hda_intel videobuf2_memops crct10dif_pclmul crc32_pclmul cdc_ncm snd_hda_codec crc32c_intel usbnet videobuf2_core ghash_clmulni_intel mii snd_hwdep videodev sdhci_pci btusb snd_seq cdc_wdm sdhci iwlwifi cdc_acm bluetooth snd_seq_device media i2c_i801 snd_pcm cfg80211 joydev mmc_core microcode e1000e snd_page_alloc thinkpad_acpi serio_raw snd_timer snd mei_me lpc_ich ptp mfd_core pps_core mei soundcore shpchp tpm_tis rfkill tpm binfmt_misc nfsd auth_rpcgss nfs_acl lockd sunrpc btrfs libcrc32c xor nouveau raid6_pq mxm_wmi i2c_algo_bit drm_kms_helper ttm firewire_ohci firewire_core drm i2c_core crc_itu_t wmi video [last unloaded: coretemp] CPU: 5 PID: 4738 Comm: CI adapter on d Not tainted 3.13.0-0.rc8.git1.2.fc21.x86_64 #1 Hardware name: LENOVO 42844DG/42844DG, BIOS 8BET57WW (1.37 ) 04/06/2012 task: ffff8803abcbdee0 ti: ffff88033324e000 task.ti: ffff88033324e000 RIP: 0010:[<0000001d00008000>] [<0000001d00008000>] 0x1d00008000 RSP: 0018:ffff88033324fed0 EFLAGS: 00010206 RAX: 0000001d00008000 RBX: ffff8803ef0d4000 RCX: 00007f384545b590 RDX: 00007f384545b590 RSI: 00000000800c6f82 RDI: ffff8803ef0d4000 RBP: ffff88033324ff30 R08: ffff8803ef0d4038 R09: 0000000000000000 R10: 0000000000000005 R11: 0000000000000246 R12: ffff880427340058 R13: 00007f384545b590 R14: 00007f384545b590 R15: 0000000000000001 FS: 00007f384545c700(0000) GS:ffff88043dd40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001d00008000 CR3: 0000000320e3a000 CR4: 00000000000407e0 Stack: ffffffff811cb598 0000000000000293 ffff88033324fef0 ffffffff8101aca9 ffff88033324ff18 ffffffff810ccc88 ffff88033324ff50 0000000002faf080 ffff8803ef0d4000 ffff8803ef0d4000 0000000000000009 00000000800c6f82 Call Trace: [<ffffffff811cb598>] ? do_vfs_ioctl+0x2d8/0x4a0 [<ffffffff8101aca9>] ? read_tsc+0x9/0x20 [<ffffffff810ccc88>] ? ktime_get_ts+0x48/0xe0 [<ffffffff811cb7e1>] SyS_ioctl+0x81/0xa0 [<ffffffff81695029>] system_call_fastpath+0x16/0x1b Code: Bad RIP value. RIP [<0000001d00008000>] 0x1d00008000 RSP <ffff88033324fed0> CR2: 0000001d00008000
Created attachment 850228 [details] File: dmesg
Can you tell us what was happening on the machine at the time?
Plugged in usb-dvb device and started VDR: Jan 14 20:57:36 kernel: [ 3412.843737] dvb-usb: found a 'Technotrend TT-connect CT-3650' in warm state. Jan 14 20:57:36 kernel: [ 3412.844286] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. Jan 14 20:57:36 kernel: [ 3412.844289] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. Jan 14 20:57:36 kernel: [ 3412.844759] DVB: registering new adapter (Technotrend TT-connect CT-3650) Jan 14 20:57:36 kernel: [ 3412.852685] ttusb2: CI initialized. Jan 14 20:57:36 kernel: [ 3412.852694] usb 1-1.2: DVB: registering adapter 0 frontend 0 (Philips TDA10023 DVB-C)... Jan 14 20:57:36 kernel: [ 3412.870142] usb 1-1.2: DVB: registering adapter 0 frontend 1 (NXP TDA10048HN DVB-T)... Jan 14 20:57:36 kernel: [ 3412.871367] dvb-usb: Technotrend TT-connect CT-3650 successfully initialized and connected. Jan 14 20:57:36 kernel: [ 3412.871388] usbcore: registered new interface driver dvb_usb_ttusb2 Jan 14 20:57:44 vdr: [4730] VDR version 2.0.4 started Recording had ended and I unplugged the dvb usb device: Jan 14 23:53:43 kernel: [13986.819435] dvb-usb: bulk message failed: -71 (8/0) Jan 14 23:53:43 kernel: [13986.819440] ttusb2: there might have been an error during control message transfer. (rlen = 4, was 0) Jan 14 23:53:43 kernel: [13986.819442] ttusb2: i2c transfer failed. Jan 14 23:53:43 kernel: [13986.819444] DVB: TDA10023(0): tda10023_readreg: readreg error (reg == 0x11, ret == 0) Jan 14 23:53:43 kernel: [13986.836954] usb 1-1.2: USB disconnect, device number 5 Jan 14 23:53:43 kernel: [13986.839576] dvb-usb: bulk message failed: -19 (5/0) Jan 14 23:53:43 kernel: [13986.839579] ttusb2: there might have been an error during control message transfer. (rlen = 1, was 0) Jan 14 23:53:43 kernel: [13986.840352] dvb-usb: bulk message failed: -19 (9/0) Jan 14 23:53:43 kernel: [13986.840355] ttusb2: there might have been an error during control message transfer. (rlen = 3, was 0) Jan 14 23:53:43 kernel: [13986.840356] ttusb2: i2c transfer failed. .... more similar error messages (full version in attachment) until oops
Created attachment 850666 [details] /var/log/messages around the problem time
Hi, I have similar problems with the same hardware (Technotrend TT-connect CT-3650) on kernel-3.14.19-100.fc19.x86_64, kernel-3.14.22-100.fc19.x86_64 and kernel-3.14.23-100.fc19.x86_64. I have also tested on another machine, kernel-3.17.7-200.fc20.x86_64. The machine locks up after a while. dmesg shows: [ 1400.146109] DVB: TDA10023(1): tda10023_writereg, writereg error (reg == 0x0a, val == 0xed, ret == 0) [ 1402.145222] dvb-usb: bulk message failed: -110 (4/0) [ 1402.146228] ttusb2: there might have been an error during control message transfer. (rlen = 9, was 0) [ 1402.146232] dvb-usb: error -5 while querying for an remote control event. [ 1404.146241] dvb-usb: bulk message failed: -110 (4/0) [ 1404.147242] ttusb2: there might have been an error during control message transfer. (rlen = 1, was 0) [ 1406.147276] dvb-usb: bulk message failed: -110 (5/0) [ 1406.148275] ttusb2: there might have been an error during control message transfer. (rlen = 1, was 0) [ 1408.148297] dvb-usb: bulk message failed: -110 (4/0) [ 1408.149293] ttusb2: there might have been an error during control message transfer. (rlen = 1, was 0) [ 1410.149192] dvb-usb: bulk message failed: -110 (5/0) [ 1410.150170] ttusb2: there might have been an error during control message transfer. (rlen = 1, was 0) [ 1412.150211] dvb-usb: bulk message failed: -110 (4/0) Mikko: Did you find out if it was related to the kernel/firmware, or if the hardware (the dvb-c/t usb box) was faulty? Did you manage to reset it somehow? Was the problem solved?
I forgot to add: The errors start when I use tvheadend to tune into a channel. The messages listed above happens before I unplug the usb device. I do use highspeed usb ports. I have tried to hotplug and to cold boot the system, but get the same result.
To my understanding the bug is in the kernel driver not handling properly device that vanishes under it. If the device is already disconnected any bugs in it cannot affect the kernel. Classically dvb devices were pci cards and could not be removed while system was powered so the bug could also be in generic dvb code, but most likely it is just the buggy driver that does not cancel some dma transfers and starts to corrupt system memory when usb device is unplugged.
I would like to add, that I got the usb device working on kernel 3.12.31 (on a Raspberry Pi running raspbmc). The Technotrend TT-connect CT-3650 works and dmesg shows: bcm2708_i2c_init_pinmode(1,2) bcm2708_i2c_init_pinmode(1,3) bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000) dvb-usb: found a 'Technotrend TT-connect CT-3650' in warm state. dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. DVB: registering new adapter (Technotrend TT-connect CT-3650) ttusb2: CI initialized. usb 1-1.2: DVB: registering adapter 0 frontend 0 (Philips TDA10023 DVB-C)... usb 1-1.2: DVB: registering adapter 0 frontend 1 (NXP TDA10048HN DVB-T)... Registered IR keymap rc-tt-1500 input: IR-receiver inside an USB DVB receiver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/rc/rc0/input2 rc0: IR-receiver inside an USB DVB receiver as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/rc/rc0 dvb-usb: schedule remote query interval to 150 msecs. pcm512x 1-004d: Failed to reset device: -5 pcm512x: probe of 1-004d failed with error -5 pcm512x 1-004c: Failed to reset device: -5 pcm512x: probe of 1-004c failed with error -5 dvb-usb: recv bulk message failed: -110 ttusb2: there might have been an error during control message transfer. (rlen = 0, was 18) dvb-usb: recv bulk message failed: -110 ttusb2: there might have been an error during control message transfer. (rlen = 9, was 0) dvb-usb: error -5 while querying for an remote control event. dvb-usb: Technotrend TT-connect CT-3650 successfully initialized and connected. usbcore: registered new interface driver dvb_usb_ttusb2 So obviously, there is a problem with the device, but this kernel manages to recover.
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22