#1 July 5, 2016 17:02:26

Nico.edev
Registered: 2016-07-05
Posts: 1
Profile   Send e-mail  

Memory leak on Linux

Hello,
I am using Tiwi uB2, kernel 4.7-rc3 and Bluez 5.40.
It looks like there is a memory leak in TI hci_ll protocol on linux. I tried several kernel revision up to 4.2 and the issue is always there.
There is nothing special to do to encounter the problem; HCI traffic is enough.
I can speed up the occurrence of the issue when BT module is scanning because it increases HCI traffic.
FYI, the leak is 1MByte/hour when BT scanning is on; which is a lot on embedded systems.

Does anyone encounter the same problem?

Below is a piece of kmemleak dump:
unreferenced object 0xc6a59ac0 (size 2048):
comm “kworker/u2:0”, pid 6, jiffies 4294951225 (age 1195.920s)
hex dump (first 32 bytes):
6b 6b 6b 6b 6b 6b 6b 6b 0e 0e 01 04 10 00 01 01 kkkkkkkk……..
00 00 00 00 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b ……..kkkkkkkk
backtrace:
__alloc_skb+0x7c/0x164
ll_recv+0x1c8/0x41c
hci_uart_tty_receive+0x44/0x64
tty_ldisc_receive_buf+0x50/0x58
flush_to_ldisc+0xb8/0xd0
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc62f0020 (size 168):
comm “kworker/u3:2”, pid 439, jiffies 4294951225 (age 1195.920s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 54 a4 46 a9 95 53 54 14 ……..T.F..ST.
00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 …………….
backtrace:
hci_event_packet+0x1d8/0x2ba0
hci_rx_work+0x170/0x248
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6a5be40 (size 2048):
comm “kworker/u2:0”, pid 6, jiffies 4294951227 (age 1195.900s)
hex dump (first 32 bytes):
6b 6b 6b 6b 6b 6b 6b 6b 0e 04 01 10 20 00 6b 6b kkkkkkkk…. .kk
6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
backtrace:
__alloc_skb+0x7c/0x164
ll_recv+0x1c8/0x41c
hci_uart_tty_receive+0x44/0x64
tty_ldisc_receive_buf+0x50/0x58
flush_to_ldisc+0xb8/0xd0
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6315da0 (size 168):
comm “kworker/u3:2”, pid 439, jiffies 4294951227 (age 1195.900s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 5d c6 6d aa 95 53 54 14 ……..].m..ST.
00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 …………….
backtrace:
hci_event_packet+0x1d8/0x2ba0
hci_rx_work+0x170/0x248
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6a5a3a0 (size 2048):
comm “kworker/u2:0”, pid 6, jiffies 4294951228 (age 1195.890s)
hex dump (first 32 bytes):
6b 6b 6b 6b 6b 6b 6b 6b 0e 06 01 12 0c 00 00 00 kkkkkkkk……..
6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
backtrace:
__alloc_skb+0x7c/0x164
ll_recv+0x1c8/0x41c
hci_uart_tty_receive+0x44/0x64
tty_ldisc_receive_buf+0x50/0x58
flush_to_ldisc+0xb8/0xd0
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6315620 (size 168):
comm “kworker/u3:2”, pid 439, jiffies 4294951228 (age 1195.890s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 1a 97 8f aa 95 53 54 14 ………….ST.
00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 …………….
backtrace:
hci_event_packet+0x1d8/0x2ba0
hci_rx_work+0x170/0x248
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc63151a0 (size 168):
comm “kworker/u3:0”, pid 435, jiffies 4294953313 (age 1175.050s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 86 3f ce 85 9a 53 54 14 ………?…ST.
00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 …………….
backtrace:
hci_event_packet+0x1d8/0x2ba0
hci_rx_work+0x170/0x248
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6a5ac80 (size 2048):
comm “kworker/u2:0”, pid 6, jiffies 4294958830 (age 1119.880s)
hex dump (first 32 bytes):
6b 6b 6b 6b 6b 6b 6b 6b 0e 0a 01 09 10 00 f8 a7 kkkkkkkk……..
d7 e9 17 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b ….kkkkkkkkkkkk
backtrace:
__alloc_skb+0x7c/0x164
ll_recv+0x1c8/0x41c
hci_uart_tty_receive+0x44/0x64
tty_ldisc_receive_buf+0x50/0x58
flush_to_ldisc+0xb8/0xd0
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6315aa0 (size 168):
comm “kworker/u3:2”, pid 439, jiffies 4294958830 (age 1119.890s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 c0 e0 d1 5d a7 53 54 14 ………..].ST.
00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 …………….
backtrace:
hci_event_packet+0x1d8/0x2ba0
hci_rx_work+0x170/0x248
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff
unreferenced object 0xc6600020 (size 2048):
comm “kworker/u2:0”, pid 6, jiffies 4294958833 (age 1119.860s)
hex dump (first 32 bytes):
6b 6b 6b 6b 6b 6b 6b 6b 0e 0e 01 04 10 00 01 01 kkkkkkkk……..
01 00 00 00 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b ……..kkkkkkkk
backtrace:
__alloc_skb+0x7c/0x164
ll_recv+0x1c8/0x41c
hci_uart_tty_receive+0x44/0x64
tty_ldisc_receive_buf+0x50/0x58
flush_to_ldisc+0xb8/0xd0
process_one_work+0x128/0x478
worker_thread+0x54/0x574
kthread+0xc0/0xdc
ret_from_fork+0x14/0x24
0xffffffff


I had a look to kernel source code but did not find anything obvious.

Offline

#2 July 11, 2016 14:14:34

SupportEngineer
Registered: 2016-03-11
Posts: 85
Profile   Send e-mail  

Memory leak on Linux

Hi there,

I believe you have sent an email into our support issue about this. We are looking into this issue. We have contacted TI in order to resolve the issue. Once we have some type of resolution I will post again here as well as send an email through our support system.

Thank you.

Offline

#3 Aug. 29, 2016 15:04:00

SupportEngineer
Registered: 2016-03-11
Posts: 85
Profile   Send e-mail  

Memory leak on Linux

Hi there,

This issue has been resolved via email. There was an issue with the Linux Bluetooth HCI stack. More specifically there was a memory leak. The following patch resolves the issue: http://marc.info/?l=linux-bluetooth&m=147193208628547

If you have any questions please post here or contact our support team, thanks!

Offline

Board footer

Moderator control