Bluez5 crashes RHEL 7.1
I've compiled an rpm package of bluez-5.30 from upstream tar-balls. Currently, in the Beta release of RHEL 7.1, systemd-208-20
leaves udev
incessantly complaining about bluetooth peripheral devices' Power Supply, which is a known bug that was fixed in systemd-219
, if I'm not mistaken. While the constant flood of error messages in the journal gets to be very annoying, it's not nearly as detrimental to the system stability as another issue, which, as far as I can tell, was reported only recently in the linux-bluetooth mailing list:
[Bug 99301] New: socket shutdown of L2CAP ERTM channel causes hung tasks when S or I frame ACK is pending
https://bugzilla.kernel.org/show_bug.cgi?id=99301
Here's the backtrace from the recent crash that caused the system to reboot; whereas, most of the time, the system simply hangs and/or powers off.
CPU: 1 PID: 664 Comm: kworker/u17:0 Tainted: PF O-------------- 3.10.0-229.7.2.el7.x86_64 #1
[40466.385054] Hardware name: LENOVO 42762QU/42762QU, BIOS 8BET62WW (1.42 ) 07/26/2013
[40466.385077] Workqueue: hci0 hci_rx_work [bluetooth]
[40466.385081] task: ffff880422bae660 ti: ffff880423ed4000 task.ti: ffff880423ed4000
[40466.385084] RIP: 0010:[<ffffffff810a0767>] [<ffffffff810a0767>] __wake_up_common+0x67/0x90
[40466.385093] RSP: 0018:ffff880423ed7b58 EFLAGS: 00010046
[40466.385096] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00000000000057fc
[40466.385098] RDX: 0000000057fc57fc RSI: 0000000000000046 RDI: 0000000000000046
[40466.385101] RBP: ffff880423ed7b90 R08: 0000000000000046 R09: 0000000000000001
[40466.385103] R10: 0000000000015ab9 R11: 0000000000015ab9 R12: ffff88035e654c08
[40466.385106] R13: dead0000001000e8 R14: 0000000000000000 R15: 0000000000000001
[40466.385109] FS: 0000000000000000(0000) GS:ffff88043dc40000(0000) knlGS:0000000000000000
[40466.385112] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[40466.385114] CR2: 00007f5ce2b1c200 CR3: 000000000190a000 CR4: 00000000000427e0
[40466.385117] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[40466.385120] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[40466.385121] Stack:
[40466.385123] 0000000000000082 0000000000000000 ffff88035e654c00 0000000000000246
[40466.385128] 0000000000000001 0000000000000000 0000000000000000 ffff880423ed7bc8
[40466.385132] ffffffff810a2379 0000000000000000 0000000000000068 ffff880361cf5000
[40466.385137] Call Trace:
[40466.385144] [<ffffffff810a2379>] __wake_up+0x39/0x50
[40466.385150] [<ffffffff814e5ea0>] sock_def_wakeup+0x30/0x40
[40466.385177] [<ffffffffa0d737f7>] l2cap_sock_teardown_cb+0x127/0x150 [bluetooth]
[40466.385201] [<ffffffffa0d6b338>] l2cap_chan_del+0x138/0x2c0 [bluetooth]
[40466.385223] [<ffffffffa0d6f5fb>] l2cap_sig_channel+0xbfb/0x14f0 [bluetooth]
[40466.385232] [<ffffffff810125c6>] ? __switch_to+0x136/0x4a0
[40466.385253] [<ffffffffa0d6fffb>] l2cap_recv_frame+0x10b/0x840 [bluetooth]
[40466.385261] [<ffffffff8160a899>] ? schedule_preempt_disabled+0x29/0x70
[40466.385267] [<ffffffff8160862e>] ? __mutex_lock_slowpath+0x10e/0x1c0
[40466.385288] [<ffffffffa0d71b63>] l2cap_recv_acldata+0x2c3/0x340 [bluetooth]
[40466.385305] [<ffffffffa0d47e66>] hci_rx_work+0x1a6/0x3f0 [bluetooth]
[40466.385314] [<ffffffff8108f0bb>] process_one_work+0x17b/0x470
[40466.385321] [<ffffffff8108fe8b>] worker_thread+0x11b/0x400
[40466.385329] [<ffffffff8108fd70>] ? rescuer_thread+0x400/0x400
[40466.385336] [<ffffffff8109726f>] kthread+0xcf/0xe0
[40466.385342] [<ffffffff810971a0>] ? kthread_create_on_node+0x140/0x140
[40466.385350] [<ffffffff81614158>] ret_from_fork+0x58/0x90
[40466.385355] [<ffffffff810971a0>] ? kthread_create_on_node+0x140/0x140
[40466.385359] Code: 3b 0f 1f 00 4c 89 e8 49 89 d5 8b 18 48 8b 4d d0 44 89 f2 44 89 fe 48 89 c7 ff 50 10 85 c0 74 0b 83 e3 01 74 06 83 6d cc 01 74 11 <49> 8b 45 18 48 8d 50 e8 49 8d 45 18 49 39 c4 75 c8 48 83 c4 10
[40466.385417] RIP [<ffffffff810a0767>] __wake_up_common+0x67/0x90
[40466.385422] RSP <ffff880423ed7b58>
This has not been an issue for me on Fedora 18,19,20 or ArchLinux; only on RHEL7 so far. Since the next Beta version of RHEL (7.2) is supposed to have systemd-219
available, which will fix the issues with udev
messages, will RHEL 7.2 also include support for Bluez5? Furthermore, if anyone has any input on how to resolve this issue in the meantime, it'd be very much appreciated.