內(nèi)核藍(lán)牙協(xié)議rfcomm線程崩潰

偶然的一次測試中發(fā)現(xiàn)了這一問題菠隆,在不斷的連斷HFP協(xié)議的時候,一次端RFCOMM連接中遠(yuǎn)端發(fā)來DISC命令,隨后幾乎同時發(fā)來了l2cap連接骇径,本地Host端立即接受了斷l(xiāng)2cap連接躯肌,還沒來得及回復(fù)遠(yuǎn)端的DISC命令已經(jīng)斷完了l2cap連接,或者說斷l(xiāng)2cap連接與RFCOMM回復(fù)DISC命令時同時進(jìn)行破衔,但是RFCOMM層回復(fù)DISC命令會稍微慢于l2cap斷連接清女。在已經(jīng)斷了l2cap的情況下,l2cap資源已經(jīng)釋放晰筛,鎖資源也釋放了嫡丙。本地在回復(fù)RFCOMM的DISC命令發(fā)送UA命令時,發(fā)到l2cap層時加鎖發(fā)送命令读第,鎖資源已經(jīng)不存在曙博,所以加鎖的時候崩潰了,從內(nèi)核的log中也可以看到怜瞒。
內(nèi)核的部分syslog如下:
[ 5956.093941] Bluetooth: bad checksum in packet
[ 5957.735360] Bluetooth: Unknown control type 0x10
[ 5957.741376] Bluetooth: Unknown control type 0x30
[ 5957.747333] Bluetooth: Unknown control type 0x34
[ 5957.754427] Bluetooth: bad checksum in packet
[ 5958.918615] Bluetooth: bad checksum in packet
[ 5959.427632] BUG: unable to handle kernel NULL pointer dereference at 00000010
[ 5959.427636] IP: [<f840f716>] l2cap_chan_send+0x76/0x930 [bluetooth]
[ 5959.427647] *pde = 00000000
[ 5959.427650] Oops: 0000 [#1] SMP
[ 5959.427652] Modules linked in: bnep nfnetlink_queue nfnetlink_log nfnetlink hci_uart ftdi_sio usbserial i915 fbcon tileblit font bitb
[ 5959.427684] Pid: 1296, comm: krfcommd Tainted: G O 3.8.13.13 #1 Dell Inc. Latitude E5470/0P88J9
[ 5959.427687] EIP: 0060:[<f840f716>] EFLAGS: 00010297 CPU: 3
[ 5959.427692] EIP is at l2cap_chan_send+0x76/0x930 [bluetooth]
[ 5959.427694] EAX: 00000000 EBX: c5a22c00 ECX: 00000004 EDX: c5a22c00
[ 5959.427695] ESI: 00000000 EDI: c5a22c00 EBP: c9b85da0 ESP: c9b85d48
[ 5959.427696] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 5959.427697] CR0: 80050033 CR2: 00000010 CR3: 06a0c000 CR4: 003407d0
[ 5959.427699] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 5959.427700] DR6: ffff0ff0 DR7: 00000400
[ 5959.427701] Process krfcommd (pid: 1296, ti=c9b84000 task=c99c4c80 task.ti=c9b84000)
[ 5959.427702] Stack:
[ 5959.427703] 00000001 00000000 00000004 0000024d 00000000 c9b85ebc ffffffa6 c9b85d90
[ 5959.427707] c0643972 80486713 0000056b c5a22c00 000003ff f641c500 c9b85e08 c5a22e4c
[ 5959.427711] c9b85ebc ea94d400 c9b85da0 c5a22c00 c9b85ebc ea94d400 c9b85dc0 f8413451
[ 5959.427715] Call Trace:
[ 5959.427719] [<c0643972>] ? mutex_lock_slowpath+0x32/0x120
[ 5959.427725] [<f8413451>] l2cap_sock_sendmsg+0x61/0x90 [bluetooth]
[ 5959.427728] [<c0550b01>] sock_sendmsg+0xd1/0xf0
[ 5959.427731] [<c06443e9>] ? schedule+0x3a9/0x7e0
[ 5959.427734] [<fae00ab0>] ? rfcomm_dlc_alloc+0x30/0xe0 [rfcomm]
[ 5959.427736] [<c0550b54>] kernel_sendmsg+0x34/0x50
[ 5959.427739] [<fae0032b>] rfcomm_send_frame.isra.5+0x3b/0x40 [rfcomm]
[ 5959.427742] [<fae00582>] rfcomm_send_ua+0x62/0x70 [rfcomm]
[ 5959.427745] [<fae01ed0>] rfcomm_run+0x890/0x11e0 [rfcomm]
[ 5959.427748] [<fae01640>] ? rfcomm_check_accept+0xa0/0xa0 [rfcomm]
[ 5959.427751] [<c0158134>] kthread+0x94/0xa0
[ 5959.427753] [<c064c9bb>] ret_from_kernel_thread+0x1b/0x30
[ 5959.427756] [<c01580a0>] ? flush_kthread_worker+0x90/0x90
[ 5959.427757] Code: 39 45 b0 0f 86 dc 02 00 00 8b 45 c0 83 c4 4c 5b 5e 5f 5d c3 90 8b 55 d4 c7 45 c0 a6 ff ff ff 0f b7 42 1e 39 45 b0 7
[ 5959.427785] EIP: [<f840f716>] l2cap_chan_send+0x76/0x930 [bluetooth] SS:ESP 0068:c9b85d48
[ 5959.427791] CR2: 0000000000000010
[ 5959.427793] ---[ end trace 9070b47c84680a8e ]---
[ 6357.710107] Bluetooth: hci0 link tx timeout
[ 6357.710126] Bluetooth: hci0 killing stalled connection 00:1e:ab:4c:50:e7
[ 7266.495913] usb 1-1: USB disconnect, device number 4
[ 7266.496044] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 7266.496073] ftdi_sio 1-1:1.0: device disconnected
[ 7266.497038] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
[ 7266.497051] ftdi_sio 1-1:1.1: device disconnected
anager[1209]: <info> sleep requested (sleeping: no enabled: yes)
anager[1209]: <info> sleeping or disabling...
anager[1209]: <info> (eth0): now unmanaged
anager[1209]: <info> (eth0): device state change: unavailable -> unmanaged (reason 'sleeping') [20 10 37]
anager[1209]: <info> (eth0): cleaning up...
anager[1209]: <info> (eth0): taking down device.
[ 7266.988991] e1000e: eth0 NIC Link is Down
[ 7267.595439] ACPI Error: [_SB
.PCI0.LPCB.H_EC.CHRG] Namespace lookup failure, AE_NOT_FOUND (20121018/psargs-359)
[ 7267.595475] ACPI Error: Method parse/execution failed [\PNOT] (Node f5c4a5b8), AE_NOT_FOUND (20121018/psparse-537)
[ 7267.595509] ACPI Error: Method parse/execution failed [_SB
.AC
._PSR] (Node f5c51990), AE_NOT_FOUND (20121018/psparse-537)
[ 7267.595592] ACPI Exception: AE_NOT_FOUND, Error reading AC Adapter state (20121018/ac-122)
[ 7270.166817] PM: Syncing filesystems ... done.
[ 7270.173616] PM: Preparing system for mem sleep
[ 7270.173705] Freezing user space processes ...
[ 7290.156755] Freezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy=0):
[ 7290.156825] bt_daemon_d D 00000096 0 3497 1 0x00000006
[ 7290.156836] ebc6fcf0 00000046 00000003 00000096 00000000 f5cf9980 c0964500 c0964500
[ 7290.156851] 591f45b9 000005cc f6443500 f1335940 f101d940 c0150b2e ebc6fcb4 c0151375
[ 7290.156865] 00000000 f6444300 ebc6fce4 c0151469 00000000 f5c01300 00000001 00c6fcf0
[ 7290.156879] Call Trace:
[ 7290.156894] [<c0150b2e>] ? wake_up_worker+0x1e/0x30
[ 7290.156902] [<c0151375>] ? insert_work+0x75/0x80
[ 7290.156909] [<c0151469>] ? __queue_work+0xe9/0x320
[ 7290.156927] [<c0644ac3>] schedule+0x23/0x60
[ 7290.156935] [<c0644d0d>] schedule_preempt_disabled+0xd/0x10
[ 7290.156942] [<c0643a06>] __mutex_lock_slowpath+0xc6/0x120
[ 7290.156952] [<c06436b4>] mutex_lock+0x24/0x40
[ 7290.156963] [<fae0124f>] rfcomm_dlc_close+0x1f/0x40 [rfcomm]
[ 7290.156973] [<fae02f44>] __rfcomm_sock_close+0x84/0x90 [rfcomm]
[ 7290.156983] [<fae02f08>] __rfcomm_sock_close+0x48/0x90 [rfcomm]
[ 7290.156993] [<fae031b8>] rfcomm_sock_shutdown+0x58/0x80 [rfcomm]
[ 7290.157002] [<fae03207>] rfcomm_sock_release+0x27/0x80 [rfcomm]
[ 7290.157013] [<c0551480>] sock_release+0x20/0x80
[ 7290.157021] [<c0551897>] sock_close+0x17/0x30
[ 7290.157030] [<c022c807>] __fput+0x97/0x200
[ 7290.157038] [<c022c97d>] ____fput+0xd/0x10
[ 7290.157046] [<c0155451>] task_work_run+0xb1/0xd0
[ 7290.157056] [<c02555e7>] ? exit_fs+0x77/0x90
[ 7290.157064] [<c013dfb0>] do_exit+0x280/0x940
[ 7290.157073] [<c0149447>] ? recalc_sigpending+0x17/0x50
[ 7290.157082] [<c01496e1>] ? dequeue_signal+0x31/0x190
[ 7290.157090] [<c013e7e8>] do_group_exit+0x38/0xa0
[ 7290.157100] [<c014b861>] get_signal_to_deliver+0x1d1/0x5b0
[ 7290.157108] [<c01021ba>] do_signal+0x2a/0x990
[ 7290.157117] [<c0190379>] ? do_futex+0x2d9/0x970
[ 7290.157126] [<c0263e78>] ? fsnotify+0x198/0x250
[ 7290.157134] [<c0190afd>] ? sys_futex+0xed/0x130
[ 7290.157143] [<c0102ca5>] do_notify_resume+0x55/0x80
[ 7290.157152] [<c0645cb5>] work_notifysig+0x30/0x3b
[ 7290.157160]
lient 1379[0:0] has disconnected
[ 7290.157164] Restarting tasks ... done.
lient connected from 1379[0:0]
client rule loaded
5978]: Anacron 2.3 started on 2017-06-08
5978]: Normal exit (0 jobs run)
anager[1209]: <info> wake requested (sleeping: yes enabled: yes)
anager[1209]: <info> waking up and re-enabling...
anager[1209]: <info> WWAN now enabled by management service
anager[1209]: <info> (eth0): now managed
anager[1209]: <info> (eth0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
anager[1209]: <info> (eth0): bringing up device.
[ 7290.791621] e1000e 0000:00:1f.6: setting latency timer to 64
[ 7291.151227] e1000e 0000:00:1f.6: irq 140 for MSI/MSI-X
anager[1209]: <info> (eth0): preparing device.
anager[1209]: <info> (eth0): deactivating device (reason 'managed') [2]
[ 7291.254912] e1000e 0000:00:1f.6: irq 140 for MSI/MSI-X
[ 7291.255078] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 7444.582525] usb 1-3: new high-speed USB device number 5 using xhci_hcd
[ 7444.599916] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected
[ 7444.599970] usb 1-3: Detected FT2232H
[ 7444.599975] usb 1-3: Number of endpoints 2
[ 7444.599981] usb 1-3: Endpoint 1 MaxPacketSize 512
[ 7444.599985] usb 1-3: Endpoint 2 MaxPacketSize 512
[ 7444.599989] usb 1-3: Setting MaxPacketSize 512
[ 7444.600262] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB0
[ 7444.600439] ftdi_sio 1-3:1.1: FTDI USB Serial Device converter detected
[ 7444.600479] usb 1-3: Detected FT2232H
[ 7444.600484] usb 1-3: Number of endpoints 2
[ 7444.600489] usb 1-3: Endpoint 1 MaxPacketSize 512
[ 7444.600493] usb 1-3: Endpoint 2 MaxPacketSize 512
[ 7444.600498] usb 1-3: Setting MaxPacketSize 512
[ 7444.600645] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB1
e: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3"
e: bus: 1, device: 5 was not an MTP device
[ 7471.474545] usb 1-3: USB disconnect, device number 5
[ 7471.475088] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 7471.475137] ftdi_sio 1-3:1.0: device disconnected
[ 7471.475515] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
[ 7471.475562] ftdi_sio 1-3:1.1: device disconnected
[ 7471.803876] usb 1-3: new high-speed USB device number 6 using xhci_hcd
[ 7471.821584] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected
[ 7471.821686] usb 1-3: Detected FT2232H

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末父泳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吴汪,更是在濱河造成了極大的恐慌惠窄,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漾橙,死亡現(xiàn)場離奇詭異杆融,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)霜运,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門擒贸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人觉渴,你說我怎么就攤上這事』胀铮” “怎么了案淋?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長险绘。 經(jīng)常有香客問我踢京,道長,這世上最難降的妖魔是什么宦棺? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任瓣距,我火速辦了婚禮,結(jié)果婚禮上代咸,老公的妹妹穿的比我還像新娘蹈丸。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布逻杖。 她就那樣靜靜地躺著奋岁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荸百。 梳的紋絲不亂的頭發(fā)上闻伶,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音够话,去河邊找鬼蓝翰。 笑死,一個胖子當(dāng)著我的面吹牛女嘲,可吹牛的內(nèi)容都是我干的畜份。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼澡为,長吁一口氣:“原來是場噩夢啊……” “哼漂坏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起媒至,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤顶别,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拒啰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驯绎,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年谋旦,在試婚紗的時候發(fā)現(xiàn)自己被綠了剩失。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡册着,死狀恐怖拴孤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甲捏,我是刑警寧澤演熟,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站司顿,受9級特大地震影響芒粹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜大溜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一化漆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钦奋,春花似錦座云、人聲如沸疙赠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棺聊。三九已至,卻和暖如春贞谓,著一層夾襖步出監(jiān)牢的瞬間限佩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工裸弦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留祟同,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓理疙,卻偏偏與公主長得像晕城,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子窖贤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容