noble icon indicating copy to clipboard operation
noble copied to clipboard

(1967) uncaught exception: Cannot set property 'mtu' of undefined

Open r0b1zZle opened this issue 4 years ago • 9 comments

Description
BLE Adapter is connecting well and consequently getting data from my flower sensors. Unfortunately every like 20 seconds the adapter is restarting due to an error.

Expected behavior
No errors.

Screenshots & Logfiles
`

host.raspberrypi4-iob 2020-05-28 00:26:12.683 info Restart adapter system.adapter.ble.0 because enabled
host.raspberrypi4-iob 2020-05-28 00:26:12.683 info instance system.adapter.ble.0 terminated with code 0 (NO_ERROR)
host.raspberrypi4-iob 2020-05-28 00:26:12.683 error Caught by controller[6]: noble: unknown peripheral 001a220754a6 handle notify!
host.raspberrypi4-iob 2020-05-28 00:26:12.683 error Caught by controller[5]: at Hci.emit (events.js:315:20)
host.raspberrypi4-iob 2020-05-28 00:26:12.683 error Caught by controller[5]: at NobleBindings.onAclDataPkt (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:288:15)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at AclStream.push (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/acl-stream.js:33:10)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at AclStream.emit (events.js:327:22)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at Gatt.onAclStreamData (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/gatt.js:133:26)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at Object.callback (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/gatt.js:329:10)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at Gatt.emit (events.js:315:20)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at NobleBindings.onMtu (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:277:8)
host.raspberrypi4-iob 2020-05-28 00:26:12.682 error Caught by controller[5]: at NobleBindings.emit (events.js:315:20)
host.raspberrypi4-iob 2020-05-28 00:26:12.681 error Caught by controller[5]: at Noble.onMtu (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:564:18)
host.raspberrypi4-iob 2020-05-28 00:26:12.681 error Caught by controller[5]: TypeError: Cannot set property 'mtu' of undefined
host.raspberrypi4-iob 2020-05-28 00:26:12.681 error Caught by controller[4]: at Hci.emit (events.js:315:20)
host.raspberrypi4-iob 2020-05-28 00:26:12.681 error Caught by controller[4]: at NobleBindings.onAclDataPkt (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:288:15)
host.raspberrypi4-iob 2020-05-28 00:26:12.681 error Caught by controller[4]: at AclStream.push (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/acl-stream.js:33:10)
host.raspberrypi4-iob 2020-05-28 00:26:12.681 error Caught by controller[4]: at AclStream.emit (events.js:327:22)
host.raspberrypi4-iob 2020-05-28 00:26:12.680 error Caught by controller[4]: at Gatt.onAclStreamData (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/gatt.js:133:26)
host.raspberrypi4-iob 2020-05-28 00:26:12.680 error Caught by controller[4]: at Object.callback (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/gatt.js:329:10)
host.raspberrypi4-iob 2020-05-28 00:26:12.680 error Caught by controller[4]: at Gatt.emit (events.js:315:20)
host.raspberrypi4-iob 2020-05-28 00:26:12.680 error Caught by controller[4]: at NobleBindings.onMtu (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js:277:8)
host.raspberrypi4-iob 2020-05-28 00:26:12.680 error Caught by controller[4]: at NobleBindings.emit (events.js:315:20)
host.raspberrypi4-iob 2020-05-28 00:26:12.680 error Caught by controller[4]: at Noble.onMtu (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:564:18)
host.raspberrypi4-iob 2020-05-28 00:26:12.679 error Caught by controller[4]: TypeError: Cannot set property 'mtu' of undefined
host.raspberrypi4-iob 2020-05-28 00:26:12.679 error Caught by controller[3]: noble: unknown peripheral 001a220754a6 connected!
host.raspberrypi4-iob 2020-05-28 00:26:12.679 error Caught by controller[2]: noble: unknown peripheral 001a220754a6 disconnected!
host.raspberrypi4-iob 2020-05-28 00:26:12.678 error Caught by controller[1]: noble: unknown peripheral 001a220754a6 connected!
ble.0 2020-05-28 00:26:12.162 info (1967) Terminated (NO_ERROR): Without reason
ble.0 2020-05-28 00:26:12.161 info (1967) terminating
ble.0 2020-05-28 00:26:12.150 error (1967) TypeError: Cannot set property 'mtu' of undefined at Noble.onMtu (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:564:18) at NobleBindings.emit (events.js:315:20) at Nobl
ble.0 2020-05-28 00:26:12.149 error (1967) uncaught exception: Cannot set property 'mtu' of undefined
ble.0 2020-05-28 00:26:12.143 info (1967) stopping scan
ble.0 2020-05-28 00:26:12.141 error (1967) TypeError: Cannot set property 'mtu' of undefined at Noble.onMtu (/opt/iobroker/node_modules/@abandonware/noble/lib/noble.js:564:18) at NobleBindings.emit (events.js:315:20) at Nobl
ble.0 2020-05-28 00:26:12.140 error (1967) uncaught exception: Cannot set property 'mtu' of undefined
`

Versions:

pi@raspberrypi4-iob:~ $ nodejs -v && node -v && npm -v
  | v12.17.0
  | v12.17.0
  | 6.14.4
pi@raspberrypi4-iob:~ $ which nodejs && which node && which npm
  | /usr/bin/nodejs
  | /usr/bin/node
  | /usr/bin/npm
  • ioBroker.ble adapter version: 0.11.6
  • JS-Controller version: 2.2.10
  • Node / Nodejs version: v12.17.0
  • Operating system: Raspbian (Linux 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux)

r0b1zZle avatar May 28 '20 10:05 r0b1zZle

Can you please also compare with earlier versions ?

rzr avatar May 28 '20 10:05 rzr

Can you please also compare with earlier versions ?

What do you mean? Which earlier versions?

r0b1zZle avatar May 28 '20 11:05 r0b1zZle

@rzr @r0b1zZle The BLE adapter is using noble 1.9.2-8. Any specific versions we should compare with?

AlCalzone avatar May 28 '20 13:05 AlCalzone

Updated to js-controller: 3.1.4, still the same issue.

r0b1zZle avatar May 31 '20 20:05 r0b1zZle

My app just crashed with:

"Cannot set property 'mtu' of undefined"
/node_modules/@abandonware/noble/lib/noble.js:564
peripheral.mtu = mtu;

Ubuntu Server 18.04, NodeJS 12.18.2, Noble 1.9.2-8. Before the error I had a warning event, but the message was emtpy.

2020-07-22T13:19:22.348Z [info] [START] Scanning for devices with service xyz...
2020-07-22T13:19:22.348Z [info]
2020-07-22T13:19:28.911Z [info]
2020-07-22T13:19:28.912Z [warn] Warning message:
2020-07-22T13:19:28.913Z [info]
2020-07-22T13:19:28.914Z [info]
2020-07-22T13:19:28.914Z [info] [STOP] Stopped scanning.
2020-07-22T13:19:28.915Z [info]
/home/node_modules/@abandonware/noble/lib/noble.js:564
peripheral.mtu = mtu;
                ^

[  TypeError: Cannot set property 'mtu' of undefined

- noble.js:564 Noble.onMtu
    [contact-tracing]/[@abandonware]/noble/lib/noble.js:564:18

- events.js:315 NobleBindings.emit
    events.js:315:20

- bindings.js:277 NobleBindings.onMtu
    [contact-tracing]/[@abandonware]/noble/lib/hci-socket/bindings.js:277:8

- events.js:315 Gatt.emit
    events.js:315:20

- gatt.js:329 Object.callback
    [contact-tracing]/[@abandonware]/noble/lib/hci-socket/gatt.js:329:10

- gatt.js:133 Gatt.onAclStreamData
    [contact-tracing]/[@abandonware]/noble/lib/hci-socket/gatt.js:133:26

- events.js:327 AclStream.emit
    events.js:327:22

- acl-stream.js:33 AclStream.push
    [contact-tracing]/[@abandonware]/noble/lib/hci-socket/acl-stream.js:33:10

- bindings.js:288 NobleBindings.onAclDataPkt
    [contact-tracing]/[@abandonware]/noble/lib/hci-socket/bindings.js:288:15

- events.js:315 Hci.emit
    events.js:315:20

]

This never happened in two months of developing with the library, so it's not easy to reproduce. I just hope it won't crash during critical times

Fabryz avatar Jul 22 '20 13:07 Fabryz

I also just got this error in noble (on node 14.10.1, but not on a similar system running node 12.19.0), did you ever find a solution?

Patronics avatar Oct 26 '20 00:10 Patronics

I also just got this error in noble (on node 14.10.1, but not on a similar system running node 12.19.0), did you ever find a solution?

Nope, it didn't happen again, but also I had to work on another different project shortly after so I couldn't continue debugging....

Fabryz avatar Oct 26 '20 11:10 Fabryz

I had the same issue (#164) and I add a PR for it (#165) but in the meantime you can just apply my changes if you still have this issue

mylylyl avatar Jan 25 '21 19:01 mylylyl

Sorry, can you clarify what changes you're referring to @fisherwise?

Jacksonbm1 avatar May 09 '21 23:05 Jacksonbm1