Closed ivelin closed 3 years ago
@bhavikapanara looks like the numpy.float32 doesn't have a default string representation. Here is more on this. Should be a simple fix.
Please test thoroughly end to end with UI rendering falls and object detections in the timeline.
@bhavikapanara there is a new critical serialization issue after the #332 merge. Worse yet, the new merge was pushed to production and effectively stopped all edge devices from functioning.
Now we not only have to promptly resolve the root cause, but also include a recovery script in the next merge that cleans up corrupted timeline event files and allows edge devices to resume function without user intervention. Not an ideal situation, but this is the price we pay for incomplete end to end testing.
Looking at the exception in the edge log, the format store.py serializes post #332 merge is some sort of weird proprietary stuff that cannot be deserialized by the regular json library used in the flasker web API.
Please review carefully and make sure to test end to end, including UI before submitting the next PR. Also add more tests for to REST API to be sure it can function with the event serialization format.
Here is the new exception in the web API when it tries to respond to a UI request:
ambianic-edge | 2021-02-26 03:05:49 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(281): Request failed
ambianic-edge | 2021-02-26 03:05:49 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(282): found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | Traceback (most recent call last):
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
ambianic-edge | rv = self.dispatch_request()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
ambianic-edge | return self.view_functions[rule.endpoint](**req.view_args)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/flaskr.py", line 169, in get_timeline
ambianic-edge | resp = samples.get_timeline(page=req_page, data_dir=data_dir)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/server/samples.py", line 178, in get_timeline
ambianic-edge | timeline_events = yaml.safe_load(pf)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
ambianic-edge | return load(stream, SafeLoader)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 114, in load
ambianic-edge | return loader.get_single_data()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/constructor.py", line 49, in get_single_data
ambianic-edge | node = self.get_single_node()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 36, in get_single_node
ambianic-edge | document = self.compose_document()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 55, in compose_document
ambianic-edge | node = self.compose_node(None, None)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 77, in compose_node
ambianic-edge | "second occurrence", event.start_mark)
ambianic-edge | yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | 2021-02-26 03:05:49 INFO /usr/local/lib/python3.7/dist-packages/werkzeug/_internal.py._log(113): 127.0.0.1 - - [26/Feb/2021 03:05:49] "GET /api/timeline.json?page=1 HTTP/1.1" 500 -
ambianic-edge | 2021-02-26 03:05:49 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(271): Proxy fetched response with headers:
ambianic-edge | <CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '48', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/1.0.1 Python/3.7.3', 'Date': 'Fri, 26 Feb 2021 03:05:49 GMT')>
ambianic-edge | 2021-02-26 03:05:49 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(274): Answering request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'} response header:
ambianic-edge | {'status': 500, 'content-type': 'application/json', 'content-length': 48}
ambianic-edge | 2021-02-26 03:05:50 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1305.32 ms, 0.76 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:50 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.join_peer_room(83): myRoom members {'clientsIds': ['01a20dc8-6a8a-4a75-aa5d-013a97612909']}
ambianic-edge | 2021-02-26 03:05:50 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(241): webrtc peer: http proxy request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'}
ambianic-edge | 2021-02-26 03:05:50 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:51 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1118.57 ms, 0.89 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:51 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:51 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(281): Request failed
ambianic-edge | 2021-02-26 03:05:51 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(282): found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | Traceback (most recent call last):
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
ambianic-edge | rv = self.dispatch_request()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
ambianic-edge | return self.view_functions[rule.endpoint](**req.view_args)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/flaskr.py", line 169, in get_timeline
ambianic-edge | resp = samples.get_timeline(page=req_page, data_dir=data_dir)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/server/samples.py", line 178, in get_timeline
ambianic-edge | timeline_events = yaml.safe_load(pf)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
ambianic-edge | return load(stream, SafeLoader)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 114, in load
ambianic-edge | return loader.get_single_data()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/constructor.py", line 49, in get_single_data
ambianic-edge | node = self.get_single_node()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 36, in get_single_node
ambianic-edge | document = self.compose_document()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 55, in compose_document
ambianic-edge | node = self.compose_node(None, None)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 77, in compose_node
ambianic-edge | "second occurrence", event.start_mark)
ambianic-edge | yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | 2021-02-26 03:05:51 INFO /usr/local/lib/python3.7/dist-packages/werkzeug/_internal.py._log(113): 127.0.0.1 - - [26/Feb/2021 03:05:51] "GET /api/timeline.json?page=1 HTTP/1.1" 500 -
ambianic-edge | 2021-02-26 03:05:51 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(271): Proxy fetched response with headers:
ambianic-edge | <CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '48', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/1.0.1 Python/3.7.3', 'Date': 'Fri, 26 Feb 2021 03:05:51 GMT')>
ambianic-edge | 2021-02-26 03:05:51 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(274): Answering request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'} response header:
ambianic-edge | {'status': 500, 'content-type': 'application/json', 'content-length': 48}
ambianic-edge | 2021-02-26 03:05:52 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1157.59 ms, 0.86 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:52 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(241): webrtc peer: http proxy request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'}
ambianic-edge | 2021-02-26 03:05:52 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:53 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.join_peer_room(83): myRoom members {'clientsIds': ['01a20dc8-6a8a-4a75-aa5d-013a97612909']}
ambianic-edge | 2021-02-26 03:05:53 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:53 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(281): Request failed
ambianic-edge | 2021-02-26 03:05:53 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(282): found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | Traceback (most recent call last):
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
ambianic-edge | rv = self.dispatch_request()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
ambianic-edge | return self.view_functions[rule.endpoint](**req.view_args)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/flaskr.py", line 169, in get_timeline
ambianic-edge | resp = samples.get_timeline(page=req_page, data_dir=data_dir)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/server/samples.py", line 178, in get_timeline
ambianic-edge | timeline_events = yaml.safe_load(pf)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
ambianic-edge | return load(stream, SafeLoader)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 114, in load
ambianic-edge | return loader.get_single_data()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/constructor.py", line 49, in get_single_data
ambianic-edge | node = self.get_single_node()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 36, in get_single_node
ambianic-edge | document = self.compose_document()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 55, in compose_document
ambianic-edge | node = self.compose_node(None, None)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 77, in compose_node
ambianic-edge | "second occurrence", event.start_mark)
ambianic-edge | yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | 2021-02-26 03:05:53 INFO /usr/local/lib/python3.7/dist-packages/werkzeug/_internal.py._log(113): 127.0.0.1 - - [26/Feb/2021 03:05:53] "GET /api/timeline.json?page=1 HTTP/1.1" 500 -
ambianic-edge | 2021-02-26 03:05:53 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(271): Proxy fetched response with headers:
ambianic-edge | <CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '48', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/1.0.1 Python/3.7.3', 'Date': 'Fri, 26 Feb 2021 03:05:53 GMT')>
ambianic-edge | 2021-02-26 03:05:53 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(274): Answering request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'} response header:
ambianic-edge | {'status': 500, 'content-type': 'application/json', 'content-length': 48}
ambianic-edge | 2021-02-26 03:05:53 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1402.12 ms, 0.71 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:54 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(241): webrtc peer: http proxy request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'}
ambianic-edge | 2021-02-26 03:05:54 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:54 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1030.88 ms, 0.97 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:55 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:55 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(281): Request failed
ambianic-edge | 2021-02-26 03:05:55 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(282): found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | Traceback (most recent call last):
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
ambianic-edge | rv = self.dispatch_request()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
ambianic-edge | return self.view_functions[rule.endpoint](**req.view_args)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/flaskr.py", line 169, in get_timeline
ambianic-edge | resp = samples.get_timeline(page=req_page, data_dir=data_dir)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/server/samples.py", line 178, in get_timeline
ambianic-edge | timeline_events = yaml.safe_load(pf)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
ambianic-edge | return load(stream, SafeLoader)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 114, in load
ambianic-edge | return loader.get_single_data()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/constructor.py", line 49, in get_single_data
ambianic-edge | node = self.get_single_node()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 36, in get_single_node
ambianic-edge | document = self.compose_document()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 55, in compose_document
ambianic-edge | node = self.compose_node(None, None)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 77, in compose_node
ambianic-edge | "second occurrence", event.start_mark)
ambianic-edge | yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | 2021-02-26 03:05:55 INFO /usr/local/lib/python3.7/dist-packages/werkzeug/_internal.py._log(113): 127.0.0.1 - - [26/Feb/2021 03:05:55] "GET /api/timeline.json?page=1 HTTP/1.1" 500 -
ambianic-edge | 2021-02-26 03:05:55 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(271): Proxy fetched response with headers:
ambianic-edge | <CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '48', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/1.0.1 Python/3.7.3', 'Date': 'Fri, 26 Feb 2021 03:05:55 GMT')>
ambianic-edge | 2021-02-26 03:05:55 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(274): Answering request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'} response header:
ambianic-edge | {'status': 500, 'content-type': 'application/json', 'content-length': 48}
ambianic-edge | 2021-02-26 03:05:56 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1214.68 ms, 0.82 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:56 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(241): webrtc peer: http proxy request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'}
ambianic-edge | 2021-02-26 03:05:56 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:56 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.join_peer_room(83): myRoom members {'clientsIds': ['01a20dc8-6a8a-4a75-aa5d-013a97612909']}
ambianic-edge | 2021-02-26 03:05:57 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1172.95 ms, 0.85 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:57 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:57 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(281): Request failed
ambianic-edge | 2021-02-26 03:05:57 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(282): found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | Traceback (most recent call last):
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
ambianic-edge | rv = self.dispatch_request()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
ambianic-edge | return self.view_functions[rule.endpoint](**req.view_args)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/flaskr.py", line 169, in get_timeline
ambianic-edge | resp = samples.get_timeline(page=req_page, data_dir=data_dir)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/server/samples.py", line 178, in get_timeline
ambianic-edge | timeline_events = yaml.safe_load(pf)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
ambianic-edge | return load(stream, SafeLoader)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 114, in load
ambianic-edge | return loader.get_single_data()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/constructor.py", line 49, in get_single_data
ambianic-edge | node = self.get_single_node()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 36, in get_single_node
ambianic-edge | document = self.compose_document()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 55, in compose_document
ambianic-edge | node = self.compose_node(None, None)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 77, in compose_node
ambianic-edge | "second occurrence", event.start_mark)
ambianic-edge | yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | 2021-02-26 03:05:57 INFO /usr/local/lib/python3.7/dist-packages/werkzeug/_internal.py._log(113): 127.0.0.1 - - [26/Feb/2021 03:05:57] "GET /api/timeline.json?page=1 HTTP/1.1" 500 -
ambianic-edge | 2021-02-26 03:05:57 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(271): Proxy fetched response with headers:
ambianic-edge | <CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '48', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/1.0.1 Python/3.7.3', 'Date': 'Fri, 26 Feb 2021 03:05:57 GMT')>
ambianic-edge | 2021-02-26 03:05:57 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(274): Answering request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'} response header:
ambianic-edge | {'status': 500, 'content-type': 'application/json', 'content-length': 48}
ambianic-edge | 2021-02-26 03:05:58 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1111.52 ms, 0.89 fps in pipeline area_watch
ambianic-edge | 2021-02-26 03:05:58 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(241): webrtc peer: http proxy request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'}
ambianic-edge | 2021-02-26 03:05:58 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:59 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py._ping(220): webrtc peer: http proxy response ping. Keeping datachannel alive.
ambianic-edge | 2021-02-26 03:05:59 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.join_peer_room(83): myRoom members {'clientsIds': ['01a20dc8-6a8a-4a75-aa5d-013a97612909']}
ambianic-edge | 2021-02-26 03:05:59 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(281): Request failed
ambianic-edge | 2021-02-26 03:05:59 ERROR /opt/ambianic-edge/src/ambianic/webapp/flaskr.py.handle_exception(282): found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | Traceback (most recent call last):
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
ambianic-edge | rv = self.dispatch_request()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
ambianic-edge | return self.view_functions[rule.endpoint](**req.view_args)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/flaskr.py", line 169, in get_timeline
ambianic-edge | resp = samples.get_timeline(page=req_page, data_dir=data_dir)
ambianic-edge | File "/opt/ambianic-edge/src/ambianic/webapp/server/samples.py", line 178, in get_timeline
ambianic-edge | timeline_events = yaml.safe_load(pf)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 162, in safe_load
ambianic-edge | return load(stream, SafeLoader)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/__init__.py", line 114, in load
ambianic-edge | return loader.get_single_data()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/constructor.py", line 49, in get_single_data
ambianic-edge | node = self.get_single_node()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 36, in get_single_node
ambianic-edge | document = self.compose_document()
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 55, in compose_document
ambianic-edge | node = self.compose_node(None, None)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 84, in compose_node
ambianic-edge | node = self.compose_mapping_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 133, in compose_mapping_node
ambianic-edge | item_value = self.compose_node(node, item_key)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 82, in compose_node
ambianic-edge | node = self.compose_sequence_node(anchor)
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 111, in compose_sequence_node
ambianic-edge | node.value.append(self.compose_node(node, index))
ambianic-edge | File "/usr/local/lib/python3.7/dist-packages/yaml/composer.py", line 77, in compose_node
ambianic-edge | "second occurrence", event.start_mark)
ambianic-edge | yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2030, column 13
ambianic-edge | second occurrence
ambianic-edge | in "data/timeline-event-log.yaml", line 2118, column 13
ambianic-edge | 2021-02-26 03:05:59 INFO /usr/local/lib/python3.7/dist-packages/werkzeug/_internal.py._log(113): 127.0.0.1 - - [26/Feb/2021 03:05:59] "GET /api/timeline.json?page=1 HTTP/1.1" 500 -
ambianic-edge | 2021-02-26 03:05:59 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(271): Proxy fetched response with headers:
ambianic-edge | <CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '48', 'Access-Control-Allow-Origin': '*', 'Server': 'Werkzeug/1.0.1 Python/3.7.3', 'Date': 'Fri, 26 Feb 2021 03:05:59 GMT')>
ambianic-edge | 2021-02-26 03:05:59 INFO /usr/local/lib/python3.7/dist-packages/peerjs/ext/http_proxy.py.pc_data(274): Answering request:
ambianic-edge | {'url': 'http://localhost:8778/api/timeline.json?page=1', 'method': 'GET'} response header:
ambianic-edge | {'status': 500, 'content-type': 'application/json', 'content-length': 48}
ambianic-edge | 2021-02-26 03:05:59 INFO /opt/ambianic-edge/src/ambianic/pipeline/ai/tf_detect.py.log_stats(178): FallDetector inference time 1394.22 ms, 0.72 fps in pipeline area_watch
And here is what I see in the events log. See how It moved from a previously simple and clean serialization format to a new post merge format that looks weird cannot be deserialized easily:
- args:
datetime: '2021-02-22T23:42:31.128045'
id: 0da18f16665541b3bdcf6982d0e78d7d
image_file_name: 20210222-234231.128045-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.48517078150132414
label: FALL
json_file_name: 20210222-234231.128045-inference.json
rel_dir: detections/20210219-070626.740747
thumbnail_file_name: 20210222-234231.128045-thumbnail.jpg
created: 1614037351.1647851
id: 055e50f9e70b434aae4c7ee0e5808ff1
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-23T00:10:57.634838'
id: a56092fe7bd84c27ab9299c1e7afb5d7
image_file_name: 20210223-001057.634838-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.20621569629182934
label: FALL
json_file_name: 20210223-001057.634838-inference.json
rel_dir: detections/20210219-070626.740747
thumbnail_file_name: 20210223-001057.634838-thumbnail.jpg
created: 1614039057.6609294
id: 4f63f2f845fc4b62b1e960e07ec702e4
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-23T23:44:29.093104'
id: 3b86f5d1859e4beabed19a4f569df5f2
image_file_name: 20210223-234429.093104-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.4280285843033219
label: FALL
json_file_name: 20210223-234429.093104-inference.json
rel_dir: detections/20210223-070620.649938
thumbnail_file_name: 20210223-234429.093104-thumbnail.jpg
created: 1614123869.1176443
id: ad8634dde02b45bd963b834676b8127c
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-24T23:38:55.804576'
id: feb8d4a7c14d495e8802f3f2fa86404b
image_file_name: 20210224-233855.804576-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.5720082229529512
label: FALL
json_file_name: 20210224-233855.804576-inference.json
rel_dir: detections/20210223-070620.649938
thumbnail_file_name: 20210224-233855.804576-thumbnail.jpg
created: 1614209935.8287358
id: b1af22824f8b407aa02a4e57f0d147bd
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-24T23:40:48.483577'
id: 6341010f2c8c4055814d4b10ec01b77d
image_file_name: 20210224-234048.483577-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.9455373799010511
label: FALL
json_file_name: 20210224-234048.483577-inference.json
rel_dir: detections/20210223-070620.649938
thumbnail_file_name: 20210224-234048.483577-thumbnail.jpg
created: 1614210048.508217
id: 50b261e8724342f4bfbaa1aa4e06074f
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-24T23:41:08.892942'
id: f3244ba9671441e58f15ba4e5a6b5aff
image_file_name: 20210224-234108.892942-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.9089497362743941
label: FALL
json_file_name: 20210224-234108.892942-inference.json
rel_dir: detections/20210223-070620.649938
thumbnail_file_name: 20210224-234108.892942-thumbnail.jpg
created: 1614210068.9171371
id: 9ed87b4bb5f44f60b4546f1a7afb8e79
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-24T23:41:20.333795'
id: 449dcf021b384ff984e4d184532ee6e8
image_file_name: 20210224-234120.333795-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- box:
xmax: 1.0
xmin: 0.0
ymax: 1.0
ymin: 0.0
confidence: 0.7568398849136351
label: FALL
json_file_name: 20210224-234120.333795-inference.json
rel_dir: detections/20210223-070620.649938
thumbnail_file_name: 20210224-234120.333795-thumbnail.jpg
created: 1614210080.35794
id: 40b46c01be7c4d28b357fc7c464ee3fe
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 129
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-25T16:58:38.878406'
id: 849de191df8945df8ef99938c5d941cd
image_file_name: 20210225-165838.878406-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- confidence: !!python/object/apply:numpy.core.multiarray.scalar
- !!python/object/apply:numpy.dtype
args:
- f8
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
1pW1ST6I7j8=
keypoint_corr:
left hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- &id001 !!python/object/apply:numpy.dtype
args:
- f4
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
AAAiQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAwQg==
left shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAeQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAAAA==
right hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAA3Qw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAA0Qg==
right shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABAQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACAvw==
label: FALL
leaning_angle: 79.90647863847745
json_file_name: 20210225-165838.878406-inference.json
rel_dir: detections/20210225-070613.653252
thumbnail_file_name: 20210225-165838.878406-thumbnail.jpg
created: 1614272318.9029865
id: 80bad7917e50482594233d0630213bd3
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 111
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-25T16:58:50.752860'
id: 2c70b331a8674d40bf489ccf000ca4f7
image_file_name: 20210225-165850.752860-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- confidence: !!python/object/apply:numpy.core.multiarray.scalar
- !!python/object/apply:numpy.dtype
args:
- f8
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
MtGk0P9W7D8=
keypoint_corr:
left hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- &id001 !!python/object/apply:numpy.dtype
args:
- f4
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
AAAoQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAoQg==
left shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAACQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAMQg==
right hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAjQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAsQg==
right shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAD6Qg==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAAQg==
label: FALL
leaning_angle: 64.6933141739948
json_file_name: 20210225-165850.752860-inference.json
rel_dir: detections/20210225-070613.653252
thumbnail_file_name: 20210225-165850.752860-thumbnail.jpg
created: 1614272330.7778678
id: de1e85a8d37043dca8e89d837f208309
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 111
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-25T17:00:32.284116'
id: a98bfb13edd746d6b9f0da82377dcda4
image_file_name: 20210225-170032.284116-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- confidence: !!python/object/apply:numpy.core.multiarray.scalar
- !!python/object/apply:numpy.dtype
args:
- f8
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
0FgwDa1V7j8=
keypoint_corr:
left hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- &id001 !!python/object/apply:numpy.dtype
args:
- f4
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
AAAzQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAA8Qg==
left shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACiQg==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAMQg==
right hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABOQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABAQg==
right shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABTQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACAPw==
label: FALL
leaning_angle: 87.9886833212805
json_file_name: 20210225-170032.284116-inference.json
rel_dir: detections/20210225-070613.653252
thumbnail_file_name: 20210225-170032.284116-thumbnail.jpg
created: 1614272432.308417
id: dff82c2f0a0f40a381eacad72ed11d48
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 111
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-25T17:00:45.564962'
id: d21001f4ac7c4867968cc4803dc94a58
image_file_name: 20210225-170045.564962-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- confidence: !!python/object/apply:numpy.core.multiarray.scalar
- !!python/object/apply:numpy.dtype
args:
- f8
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
+p/tJVHg6z8=
keypoint_corr:
left hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- &id001 !!python/object/apply:numpy.dtype
args:
- f4
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
AAA1Qw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABAQg==
left shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABwQg==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACQQg==
right hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABOQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABEQg==
right shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABRQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACAvw==
label: FALL
leaning_angle: 262.51255471789165
json_file_name: 20210225-170045.564962-inference.json
rel_dir: detections/20210225-070613.653252
thumbnail_file_name: 20210225-170045.564962-thumbnail.jpg
created: 1614272445.5896482
id: d1a38fa90d224691a5a9ad50501f4405
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 111
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-25T21:38:11.363193'
id: eb2bf00124c64d88958ca9d74e4dda08
image_file_name: 20210225-213811.363193-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- confidence: !!python/object/apply:numpy.core.multiarray.scalar
- !!python/object/apply:numpy.dtype
args:
- f8
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
Po3SMUEI0D8=
keypoint_corr:
left hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- &id001 !!python/object/apply:numpy.dtype
args:
- f4
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
AABqQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAQQg==
left shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACCQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABAwA==
right hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABdQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAQQg==
right shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAA/Qw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AADAwA==
label: FALL
leaning_angle: 64.48867299944118
json_file_name: 20210225-213811.363193-inference.json
rel_dir: detections/20210225-070613.653252
thumbnail_file_name: 20210225-213811.363193-thumbnail.jpg
created: 1614289091.386901
id: 7a1263a7e6114ea9b6d602cd18adb241
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 111
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
- args:
datetime: '2021-02-25T22:59:46.635374'
id: 3aab6565e5f64fbfac30db693767030b
image_file_name: 20210225-225946.635374-image.jpg
inference_meta:
display: Fall Detection
inference_result:
- confidence: !!python/object/apply:numpy.core.multiarray.scalar
- !!python/object/apply:numpy.dtype
args:
- f8
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
lphWQoca5z8=
keypoint_corr:
left hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- &id001 !!python/object/apply:numpy.dtype
args:
- f4
- 0
- 1
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- !!binary |
AABYQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACwQQ==
left shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAQQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AACAQQ==
right hip:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AABHQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AADQQQ==
right shoulder:
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAAJQw==
- !!python/object/apply:numpy.core.multiarray.scalar
- *id001
- !!binary |
AAC4QQ==
label: FALL
leaning_angle: 77.64171494068236
json_file_name: 20210225-225946.635374-inference.json
rel_dir: detections/20210225-070613.653252
thumbnail_file_name: 20210225-225946.635374-thumbnail.jpg
created: 1614293986.659398
id: c2a4335055ea47339507682eb426768c
message: Detection Event
priority: INFO
source_code:
funcName: _save_sample
lineno: 111
pathname: /opt/ambianic-edge/src/ambianic/pipeline/store.py
@bhavikapanara here is a possible solution to the graceful recovery from corrupted event timeline files.
Starting here:
try:
timeline_events = yaml.safe_load(pf)
timeline_events += events_queue
except (
yaml.reader.ReaderError,
yaml.scanner.ScannerError,
):
log.exception("Detected unreadable timeline, removing %s" % file_path)
remove_timeline(file_path)
continue
add handler for the new exception we are seeing :
yaml.composer.ComposerError: found duplicate anchor 'id001'; first occurrence
as follows
try:
timeline_events = yaml.safe_load(pf)
timeline_events += events_queue
except (
yaml.reader.ReaderError,
yaml.scanner.ScannerError,
yaml.composer.ComposerError
) as e:
log.exception(f"Detected unreadable timeline, removing {file_path}", e)
remove_timeline(file_path)
continue
This will unfortunately wipe out all events in the file that has corrupted data, including good ones, which is not ideal, but hopefully we will not get into this same type of issues anytime soon.
@ivelin Instead of removing the timeline, can we ignore the only corrupt event data to render on UI?
@ivelin Instead of removing the timeline, can we ignore the only corrupt event data to render on UI?
That would be better. How do you suggest we do that?
Users are starting to complain that their edge is not responsive. We need to push a fix sooner than later.
Yes...will do that as soon as possible
:tada: This issue has been resolved in version 1.14.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:
Describe the bug After merging PR #314 , there is an exception in store.py when it tries to save a detection event.
To Reproduce Run edge with fall detection and observe log.