Skip to content

Error logging filling up disk #78

Open
@soxofaan

Description

@soxofaan

Today my OS (vanilla Ubuntu 22.04) warned me that I had only a couple of GB left on my main disk. After some dinging I found that aw-watcher-window was spamming my disk with error logs. For example ~/.cache/activitywatch/log/aw-watcher-window is currently 160GB.

In those large log files, I see basically every second an entry like this:

2022-12-05 09:17:59 [ERROR]: Exception thrown while trying to get active window  (aw_watcher_window.main:110)
Traceback (most recent call last):
  File "Xlib/protocol/display.py", line 583, in send_and_recv
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1367, in __init__
  File "Xlib/protocol/display.py", line 355, in send_request
  File "aw_watcher_window/main.py", line 107, in heartbeat_loop
  File "aw_watcher_window/lib.py", line 53, in get_current_window
  File "aw_watcher_window/lib.py", line 8, in get_current_window_linux
  File "aw_watcher_window/xlib.py", line 37, in get_current_window
  File "aw_watcher_window/xlib.py", line 20, in _get_current_window_id
  File "Xlib/xobject/drawable.py", line 472, in get_full_property
  File "Xlib/xobject/drawable.py", line 455, in get_property
  File "Xlib/protocol/rq.py", line 1369, in __init__
  File "Xlib/protocol/rq.py", line 1381, in reply
  File "Xlib/protocol/display.py", line 586, in send_and_recv
Xlib.error.ConnectionClosedError: Display connection closed by server: [Errno 32] Broken pipe

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions