Azure-Samples / azure-iot-starter-kits

Samples for Azure IoT starter kits.
MIT License
30 stars 39 forks source link

temperature-sensor certificate verify failure #31

Open tteuniss opened 5 years ago

tteuniss commented 5 years ago

Please provide us with the following information:

This issue is for a: (mark with an x)

- [ x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Deploy temperature-sensor, container runs but no events arrive at the IoT Hub. pi@raspberrypi:~ $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 91a32a145411 mcr.microsoft.com/azureiotedge-hub:1.0 "/bin/sh -c 'echo \"$…" 3 days ago Up About an hour 0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp edgeHub 8c1694be51b4 ttseeedcr.azurecr.io/azureiotedge-seeed-temperature-sensor:1.0.2-arm32v7 "python3 -u ./main.py" 4 days ago Up About an hour temperature-sensor ec43df49c982 microsoft/azureiotedge-agent:1.0.0-preview022-linux-arm32v7 "/usr/bin/dotnet Mic…" 4 days ago Up About an hour edgeAgent pi@raspberrypi:~ $

Any log messages given by the failure

edgeHub log:

2019-02-26 08:47:03.877 +00:00 [WRN] - TLS handshake failed., System.IO.IOException: Channel is closed, 69dce510 2019-02-26 08:47:50.659 +00:00 [WRN] - TLS handshake failed., System.IO.IOException: Channel is closed, 37cb8141 2019-02-26 08:48:54.306 +00:00 [WRN] - TLS handshake failed., System.IO.IOException: Channel is closed, 3c99e613 2019-02-26 08:51:02.307 +00:00 [WRN] - TLS handshake failed., System.IO.IOException: Channel is closed, 5659f679 2019-02-26 08:52:36.404 +00:00 [INF] - Reauthenticating connected clients 2019-02-26 08:52:55.537 +00:00 [INF] - Exiting connected state 2019-02-26 08:52:55.540 +00:00 [INF] - Entering unreachable state 2019-02-26 08:52:56.029 +00:00 [INF] - Entering connected state 2019-02-26 08:55:21.298 +00:00 [WRN] - TLS handshake failed., System.IO.IOException: Channel is closed, 0c4e493a

temperature-sensor log:

Error: Time:Tue Feb 26 08:44:02 2019 File:/usr/sdk/src/c/c-utility/adapters/socketio_berkeley.c Func:wait_for_connection Line:385 Failure: connect failure 111. Error: Time:Tue Feb 26 08:44:02 2019 File:/usr/sdk/src/c/c-utility/adapters/socketio_berkeley.c Func:socketio_open Line:769 wait_for_connection failed Error: Time:Tue Feb 26 08:44:02 2019 File:/usr/sdk/src/c/c-utility/adapters/tlsio_openssl.c Func:on_underlying_io_open_complete Line:760 Invalid tlsio_state. Expected state is TLSIO_STATE_OPENING_UNDERLYING_IO. Error: Time:Tue Feb 26 08:44:02 2019 File:/usr/sdk/src/c/c-utility/adapters/tlsio_openssl.c Func:tlsio_openssl_open Line:1258 Failed opening the underlying I/O. Error: Time:Tue Feb 26 08:44:02 2019 File:/usr/sdk/src/c/umqtt/src/mqtt_client.c Func:mqtt_client_connect Line:1000 Error: io_open failed Error: Time:Tue Feb 26 08:44:02 2019 File:/usr/sdk/src/c/iothub_client/src/iothubtransport_mqtt_common.c Func:SendMqttConnectMsg Line:2122 failure connecting to address raspberrypi. Sending message: 3, Body: {"timeCreated": "2019-02-26 08:44:03.930331", "machine": {"pressure": 1031.142827161509, "temperature": 21.193549685186007}, "ambient": {"humidity": 37.98350231217907, "temperature": 21.193549685186007}, "id": {"int": 79368801543368547115704163784748906476}} Sending message: 4, Body: {"timeCreated": "2019-02-26 08:44:08.954609", "machine": {"pressure": 1031.1056742449916, "temperature": 21.203708364773775}, "ambient": {"humidity": 37.43827245405641, "temperature": 21.203708364773775}, "id": {"int": 172317755671103402045226109145346141105}} Sending message: 5, Body: {"timeCreated": "2019-02-26 08:44:13.979483", "machine": {"pressure": 1031.205995246968, "temperature": 21.19862902483437}, "ambient": {"humidity": 37.2451880206323, "temperature": 21.19862902483437}, "id": {"int": 14802848402852709408976605549884189746}} Sending message: 6, Body: {"timeCreated": "2019-02-26 08:44:19.000761", "machine": {"pressure": 1031.1688427783474, "temperature": 21.208787705004216}, "ambient": {"humidity": 37.07473304573379, "temperature": 21.208787705004216}, "id": {"int": 168246659649390105969928582859248955295}} Error: Time:Tue Feb 26 08:44:19 2019 File:/usr/sdk/src/c/c-utility/adapters/tlsio_openssl.c Func:send_handshake_bytes Line:673 error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed Sending message: 7, Body: {"timeCreated": "2019-02-26 08:44:24.021232", "machine": {"pressure": 1031.178747114484, "temperature": 21.19862902483437}, "ambient": {"humidity": 36.949824741601944, "temperature": 21.19862902483437}, "id": {"int": 129744185465634630368362613026475715813}}

Expected/desired behavior

Certificate verification succesfull, messages are arriving at the Azure IoT Hub.

OS and Version?

Windows 10 Pro 1809

Versions

mcr.microsoft.com/azureiotedge-agent:1.0 mcr.microsoft.com/azureiotedge-hub:1.0

Mention any other details that might be useful

"edgeHub": { "type": "docker", "status": "running", "restartPolicy": "always", "settings": { "image": "mcr.microsoft.com/azureiotedge-hub:1.0", "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}], \"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}" }, "env": { "OptimizeForPerformance": { "value": "false" } } } },

connect.log edgeAgent.log edgeHub.log temperature-sensor.log


Thanks! We'll be in touch soon.

4or5trees commented 5 years ago

experiencing the same issue. it also affects the 3-speech-recognizer tutorial for me. (it doesn't recognize any of my commands either, even if the trigger text is correctly 'heard')

This error gets thrown in the natural-language-processing container:

/usr/local/lib/python2.7/dist-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.

Part of the speech-to-text container log:

Heard: good morning Error: Time:Wed Feb 27 23:31:00 2019 File:/usr/sdk/src/c/c-utility/adapters/tlsio_openssl.c Func:send_handshake_bytes Line:673 error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed Listening ... Processing 48576 bytes ... Heard: hello HTTPConnectionPool(host='natural-language-processing', port=8080): Max retries exceeded with url: /chat (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x72ec7e90>: Failed to establish a new connection: [Errno 111] Connection refused',))

Full logs: speechtotextlog.log naturallanguageprocessing.log

the 2-image-classifier tutorial does not have this issue for me. i can monitor D2C devices there and experience no TLS handshake failure there.