Comments (12)
A restart of the container helps to resolve the issue.
from homiemonitor.
Problem still happens. Here is a full stack trace
homieMonitor | #<Thread:0x000055650987f348@/vendor/bundle/ruby/2.6.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:471 run> terminated with exception (report_on_exception is true):
homieMonitor | Traceback (most recent call last):
homieMonitor | 47: from /vendor/bundle/ruby/2.6.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
homieMonitor | 46: from /mains/homie/providers/manager.rb:60:in `block in call'
homieMonitor | 45: from /mains/homie/providers/manager.rb:60:in `loop'
homieMonitor | 44: from /mains/homie/providers/manager.rb:62:in `block (2 levels) in call'
homieMonitor | 43: from /mains/homie/providers/manager.rb:125:in `actions_router'
homieMonitor | 42: from /mains/homie/providers/manager.rb:154:in `save_device_inventory'
homieMonitor | 41: from /usr/local/lib/ruby/2.6.0/pstore.rb:335:in `transaction'
homieMonitor | 40: from /usr/local/lib/ruby/2.6.0/pstore.rb:436:in `save_data'
homieMonitor | 39: from /usr/local/lib/ruby/2.6.0/yaml/store.rb:64:in `dump'
homieMonitor | 38: from /usr/local/lib/ruby/2.6.0/psych/core_ext.rb:13:in `to_yaml'
homieMonitor | 37: from /usr/local/lib/ruby/2.6.0/psych.rb:513:in `dump'
homieMonitor | 36: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:118:in `push'
homieMonitor | 35: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 34: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:358:in `visit_Hash'
homieMonitor | 33: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:358:in `each'
homieMonitor | 32: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:360:in `block in visit_Hash'
homieMonitor | 31: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 30: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:381:in `visit_Array'
homieMonitor | 29: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `visit_Enumerator'
homieMonitor | 28: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `each'
homieMonitor | 27: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `block in visit_Enumerator'
homieMonitor | 26: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 25: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:163:in `visit_Object'
homieMonitor | 24: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `dump_ivars'
homieMonitor | 23: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `each'
homieMonitor | 22: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:546:in `block in dump_ivars'
homieMonitor | 21: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 20: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:381:in `visit_Array'
homieMonitor | 19: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `visit_Enumerator'
homieMonitor | 18: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `each'
homieMonitor | 17: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `block in visit_Enumerator'
homieMonitor | 16: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 15: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:163:in `visit_Object'
homieMonitor | 14: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `dump_ivars'
homieMonitor | 13: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `each'
homieMonitor | 12: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:546:in `block in dump_ivars'
homieMonitor | 11: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 10: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:381:in `visit_Array'
homieMonitor | 9: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `visit_Enumerator'
homieMonitor | 8: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `each'
homieMonitor | 7: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `block in visit_Enumerator'
homieMonitor | 6: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | 5: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:163:in `visit_Object'
homieMonitor | 4: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `dump_ivars'
homieMonitor | 3: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `each'
homieMonitor | 2: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:546:in `block in dump_ivars'
homieMonitor | 1: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
homieMonitor | /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:298:in `visit_String': invalid byte sequence in UTF-8 (ArgumentError)
from homiemonitor.
Is this a fresh installation or had it been running ok for you?
from homiemonitor.
I am using the docker image https://hub.docker.com/r/skoona/homie-monitor and SSL for MQTT. I still have some Homie V2 devices and thought, that maybe those are the cause for the encoding problems.
Every time, when then problem occurs, I redeploy the docker container completely fresh with new volumes to solve the issue for me. But this always kills all settings and uploaded firmwares.
from homiemonitor.
from homiemonitor.
Then I have an idea, what may be the cause. I implemented some temperature sensors and those sent for the sensor unit the value °C
. Maybe that degree character is transferred wrong. Does ESP8266 really use UTF-8 for character encoding? I doubt that and will have a closer look there.
Regarding the Docker container everything should be fine. I just mounted some directories into the container. This should not cause any character encoding issues and I clear the directories always before launching homieMonitor again. But I will have a closer look here, too.
Thanks for your hints!
from homiemonitor.
from homiemonitor.
This will take a bit to analyze, but first glance indicates it was trying to save your device inventory to a file in your filesystem and failed badly.
from homiemonitor.
Updated to survive this exception and not crash the program. However, the offending non-utf8 character will prevent the save from occurring. It may however appear on the screen and therefore allow it's removal or change.
from homiemonitor.
Thank you very much for your exception handling. Let's see, when the exception occurs again.
from homiemonitor.
I can see now the following exception in the container logs. But there is still no indicator, what character and where is wrong. How can I find that and eliminate it?
#<Thread:0x0000564c8e5881e0@/vendor/bundle/ruby/2.6.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:471 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
47: from /vendor/bundle/ruby/2.6.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
46: from /mains/homie/providers/manager.rb:60:in `block in call'
45: from /mains/homie/providers/manager.rb:60:in `loop'
44: from /mains/homie/providers/manager.rb:62:in `block (2 levels) in call'
43: from /mains/homie/providers/manager.rb:125:in `router'
42: from /mains/homie/providers/manager.rb:158:in `save_device_inventory'
41: from /usr/local/lib/ruby/2.6.0/pstore.rb:335:in `transaction'
40: from /usr/local/lib/ruby/2.6.0/pstore.rb:436:in `save_data'
39: from /usr/local/lib/ruby/2.6.0/yaml/store.rb:64:in `dump'
38: from /usr/local/lib/ruby/2.6.0/psych/core_ext.rb:13:in `to_yaml'
37: from /usr/local/lib/ruby/2.6.0/psych.rb:513:in `dump'
36: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:118:in `push'
35: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
34: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:358:in `visit_Hash'
33: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:358:in `each'
32: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:360:in `block in visit_Hash'
31: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
30: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:381:in `visit_Array'
29: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `visit_Enumerator'
28: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `each'
27: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `block in visit_Enumerator'
26: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
25: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:163:in `visit_Object'
24: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `dump_ivars'
23: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `each'
22: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:546:in `block in dump_ivars'
21: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
20: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:381:in `visit_Array'
19: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `visit_Enumerator'
18: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `each'
17: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `block in visit_Enumerator'
16: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
15: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:163:in `visit_Object'
14: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `dump_ivars'
13: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `each'
12: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:546:in `block in dump_ivars'
11: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
10: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:381:in `visit_Array'
9: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `visit_Enumerator'
8: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `each'
7: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:389:in `block in visit_Enumerator'
6: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
5: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:163:in `visit_Object'
4: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `dump_ivars'
3: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:544:in `each'
2: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:546:in `block in dump_ivars'
1: from /usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:136:in `accept'
/usr/local/lib/ruby/2.6.0/psych/visitors/yaml_tree.rb:298:in `visit_String': invalid byte sequence in UTF-8 (ArgumentError)
6: from /vendor/bundle/ruby/2.6.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
5: from /mains/homie/providers/manager.rb:60:in `block in call'
4: from /mains/homie/providers/manager.rb:60:in `loop'
3: from /mains/homie/providers/manager.rb:62:in `block (2 levels) in call'
2: from /mains/homie/providers/manager.rb:125:in `router'
1: from /mains/homie/providers/manager.rb:157:in `save_device_inventory'
/mains/homie/providers/manager.rb:161:in `rescue in save_device_inventory': undefined method `msg' for #<ArgumentError: invalid byte sequence in UTF-8> (NoMethodError)
from homiemonitor.
from homiemonitor.
Related Issues (4)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homiemonitor.