question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

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:

  1. Create a new folder named 1719158 (100) - 𝕎𝕚𝕟𝕥𝕖𝕣❄️メイキング
  2. Open this folder with the Windows explorer
  3. Watch AppData\Local\activitywatch\activitywatch\Logs\aw-watcher-window and AppData\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][INFO][aw_server]: Using DB at path "C:\\Users\\s9menine\\AppData\\Local\\activitywatch\\aw-server-rust\\sqlite.db"
[2022-10-26 14:22:29][INFO][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][INFO][aw_server::endpoints]: Starting aw-server-rust at 127.0.0.1:5600
[2022-10-26 14:22:30][WARN][_]: 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][WARN][_]: No 400 catcher registered. Using Rocket default.
[2022-10-26 14:22:30][WARN][_]: 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][WARN][_]: No 400 catcher registered. Using Rocket default.
[2022-10-26 14:22:30][WARN][_]: 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][WARN][_]: 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.

image

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:8 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
johan-bjareholtcommented, Nov 8, 2022

@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

0reactions
s9meninecommented, Nov 9, 2022

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 under activitywatch\aw-client\queued, and everything’s up and running again.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found