aw-server-rust & aw-watcher-window: Persistent fatal error "unexpected end of hex escape"
See original GitHub issue- I am on the latest ActivityWatch version.
- I have searched the issues of this repo and believe that this is not a duplicate.
- OS name and version: Windows 10 LTSC Build 17763
- ActivityWatch version: v0.12.1 (rust)
Describe the bug
The ActivityWatch web UI silently stops updating data, and logs with huge filesizes are created. The issue persists after you close the explorer.exe window, restart ActivityWatch, and even through rebooting the computer.
To Reproduce
Repro steps are my best guess from looking at the logs, given that I can’t re-trigger the bug without somehow fixing it first:
- Create a new folder named
1719158 (100) - 𝕎𝕚𝕟𝕥𝕖𝕣❄️メイキング
- Open this folder with the Windows explorer
- Watch
AppData\Local\activitywatch\activitywatch\Logs\aw-watcher-window
andAppData\Local\activitywatch\Logs\aw-server-rust
explode
Expected behavior
Either keep tracking and reporting data as usual, or fail loudly with an error telling me that the window watcher has stopped working.
Documentation
Snippet from logs. It’s the same messages repeated thousands of times.
aw-server_2022-10-26T14-22-29+0800.log
[2022-10-26 14:22:29][[32mINFO[0m][aw_server]: Using DB at path "C:\\Users\\s9menine\\AppData\\Local\\activitywatch\\aw-server-rust\\sqlite.db"
[2022-10-26 14:22:29][[32mINFO[0m][aw_server]: Using aw-webui assets at path "C:\\Users\\s9menine\\AppData\\Local\\Programs\\ActivityWatch\\aw-server-rust\\./static/"
[2022-10-26 14:22:29][[32mINFO[0m][aw_server::endpoints]: Starting aw-server-rust at 127.0.0.1:5600
[2022-10-26 14:22:30][[33mWARN[0m][_]: Data guard `Json < Event >` failed: Parse("{\"id\": null, \"timestamp\": \"2022-10-15T12:34:03.230000+00:00\", \"duration\": 1.059, \"data\": {\"app\": \"explorer.exe\", \"title\": \"D:\\\\[[REDACTED]]\\\\1719158 (100) - \\ud835\\udd4e\\ud835\\udd5a\\ud835\\udd5f\\ud835\"}}", Error("unexpected end of hex escape", line: 1, column: 261)).
[2022-10-26 14:22:30][[33mWARN[0m][_]: No 400 catcher registered. Using Rocket default.
[2022-10-26 14:22:30][[33mWARN[0m][_]: Data guard `Json < Event >` failed: Parse("{\"id\": null, \"timestamp\": \"2022-10-15T12:34:03.230000+00:00\", \"duration\": 1.059, \"data\": {\"app\": \"explorer.exe\", \"title\": \"D:\\\\[[REDACTED]]\\\\1719158 (100) - \\ud835\\udd4e\\ud835\\udd5a\\ud835\\udd5f\\ud835\"}}", Error("unexpected end of hex escape", line: 1, column: 261)).
[2022-10-26 14:22:30][[33mWARN[0m][_]: No 400 catcher registered. Using Rocket default.
[2022-10-26 14:22:30][[33mWARN[0m][_]: Data guard `Json < Event >` failed: Parse("{\"id\": null, \"timestamp\": \"2022-10-15T12:34:03.230000+00:00\", \"duration\": 1.059, \"data\": {\"app\": \"explorer.exe\", \"title\": \"D:\\\\[[REDACTED]]\\\\1719158 (100) - \\ud835\\udd4e\\ud835\\udd5a\\ud835\\udd5f\\ud835\"}}", Error("unexpected end of hex escape", line: 1, column: 261)).
[2022-10-26 14:22:30][[33mWARN[0m][_]: No 400 catcher registered. Using Rocket default.
aw-watcher-window_2022-10-26T14-22-29.log
2022-10-26 14:22:29 [INFO ]: aw-watcher-window started (aw_watcher_window.main:62)
2022-10-26 14:22:30 [INFO ]: Connection to aw-server established by aw-watcher-window (aw_client.client:429)
2022-10-26 14:22:30 [WARNING]: 400 Client Error: Bad Request for url: http://127.0.0.1:5600/api/0/buckets/aw-watcher-window_[[REDACTED-MACHINE-NAME]]/heartbeat?pulsetime=2.0 (aw_client.client:28)
2022-10-26 14:22:30 [WARNING]: Failed to send request to aw-server, will queue requests until connection is available. (aw_client.client:455)
2022-10-26 14:22:30 [INFO ]: Connection to aw-server established by aw-watcher-window (aw_client.client:429)
2022-10-26 14:22:30 [WARNING]: 400 Client Error: Bad Request for url: http://127.0.0.1:5600/api/0/buckets/aw-watcher-window_[[REDACTED-MACHINE-NAME]]/heartbeat?pulsetime=2.0 (aw_client.client:28)
2022-10-26 14:22:30 [WARNING]: Failed to send request to aw-server, will queue requests until connection is available. (aw_client.client:455)
2022-10-26 14:22:30 [INFO ]: Connection to aw-server established by aw-watcher-window (aw_client.client:429)
2022-10-26 14:22:30 [WARNING]: 400 Client Error: Bad Request for url: http://127.0.0.1:5600/api/0/buckets/aw-watcher-window_[[REDACTED-MACHINE-NAME]]/heartbeat?pulsetime=2.0 (aw_client.client:28)
2022-10-26 14:22:30 [WARNING]: Failed to send request to aw-server, will queue requests until connection is available. (aw_client.client:455)
2022-10-26 14:22:30 [INFO ]: Connection to aw-server established by aw-watcher-window (aw_client.client:429)
Additional context
These were fun to discover.
Issue Analytics
- State:
- Created a year ago
- Comments:8 (5 by maintainers)
Top Results From Across the Web
Issues · ActivityWatch/activitywatch - GitHub
aw-server-rust & aw-watcher-window: Persistent fatal error "unexpected end of hex escape" type: bug. #815 opened on Oct 26 by s9menine. 2 tasks done....
Read more >Python Selenuim - unexpected end of hex escape
I keep getting this error each time I try to use driver.page_source : Traceback (most recent call last): File "***\grapusers.py", line 111, ...
Read more >ActivityWatch - Bountysource
This happens when the program is installed and run or if launched from the extracted zip file. Potential exe build error?
Read more >Resource Compiler Fatal Error RC1004 - Microsoft Learn
unexpected end of file found. This error can be caused by missing line feed and carriage return characters on the last line of...
Read more >Fatal error: Uncaught Error: syntax error, unexpected end of file
Hello,. I was trying to use this plugin, however, after having it activated, I got the following error message from the slw-settings page:...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@ErikBjare Found the aw-server-rust issue and PR, what I did was just drop the events completely because they contained invalid UTF-8
https://github.com/ActivityWatch/aw-server-rust/pull/173
https://github.com/ActivityWatch/aw-server-rust/issues/162
IMO, the more right way would probably be to only delete the invalid chars, but if I recall correctly I attempted to do that but it was quite hard so I gave up.
EDIT: Here’s the mentioning of it being hard to implement https://github.com/ActivityWatch/aw-server-rust/pull/173#discussion_r511834018
In the meantime, I figured out a workaround to restore the functionality of my window watcher: I backed up and deleted the folder named
aw-watcher-window.v1.persistqueue
underactivitywatch\aw-client\queued
, and everything’s up and running again.