Skip to content

NoneType error #255

@ztjuh

Description

@ztjuh

Step 1: Describe your environment

  • System (Intel/AMD/Raspberry Pi etc): Intel Core Ultra 245KF
  • OS version: Pop!_OS 24.04
  • s-tui version: 1.3.0
  • Installation method(pip/PPA/source code): Git

Step 2: Describe the problem:

Observed Results:

  • What happened? (Traceback of a crash/Image/description):

I tried fist installing the program through apt but the program also crashed on a NoneType error, I tried a reboot but it didn't help. It started once with the -d flag. Then I cloned the repo and this is the bug.

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 1001, in <module>
    main()
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 922, in main
    graph_controller = GraphController(args)
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 723, in __init__
    possible_sources = self._load_config(args.t_thresh)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 656, in _load_config
    FanSource(),
    ^^^^^^^^^^^
  File "/home/god/git/s-tui/s_tui/sources/fan_source.py", line 48, in __init__
    sensors_dict = psutil.sensors_fans()
                   ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/psutil/__init__.py", line 2332, in sensors_fans
    return _psplatform.sensors_fans()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/psutil/_pslinux.py", line 1512, in sensors_fans
    current = int(bcat(base + '_input'))
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

Debug Results, output of s-tui -d created in a file _s-tui.log:

2026-02-26 12:02:52,547 [_load_config()] [DEBUG]  Config file not found
2026-02-26 12:02:52,547 [_load_config()] [DEBUG]  No refresh rate configured
2026-02-26 12:02:52,547 [_load_config()] [DEBUG]  No user config for utf8
2026-02-26 12:02:52,547 [_load_config()] [DEBUG]  No user config for temp threshold
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Acpitz,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name PackageId0,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core8,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core9,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core10,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core11,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core12,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core13,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core14,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core15,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core16,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core0,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core20,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core24,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core28,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Core4,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Iwlwifi_1,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Composite,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Sensor1,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Sensor2,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name R8169_0_8200:00,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Spd5118,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Spd5118,1
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Pkg,0
2026-02-26 12:02:52,627 [__init__()] [DEBUG]  Temp sensor name Vram,0
2026-02-26 12:02:52,628 [read_power()] [WARNI]  ignoring (PermissionError(13, 'Permission denied'), '/sys/class/powercap/intel-rapl:0/') for file <class 'RuntimeWarning'>
2026-02-26 12:02:52,628 [read_power()] [WARNI]  ignoring (PermissionError(13, 'Permission denied'), '/sys/class/powercap/intel-rapl:0:0/') for file <class 'RuntimeWarning'>
2026-02-26 12:02:52,629 [__init__()] [DEBUG]  Fan sensor name xe,0
2026-02-26 12:02:52,629 [__init__()] [DEBUG]  Fan sensor name xe,1
2026-02-26 12:02:52,629 [__init__()] [DEBUG]  Fan sensor name xe,2
2026-02-26 12:02:52,629 [_load_config()] [DEBUG]  Error reading sensors config
2026-02-26 12:02:52,629 [_load_config()] [DEBUG]  Error reading sensors config
2026-02-26 12:02:52,629 [_load_config()] [DEBUG]  Error reading sensors config
2026-02-26 12:02:52,629 [_load_config()] [DEBUG]  Error reading sensors config
2026-02-26 12:02:52,629 [_load_config()] [DEBUG]  Error reading sensors config
2026-02-26 12:02:52,630 [__init__()] [INFO ]  num cpus 14
2026-02-26 12:02:52,641 [on_unicode_checkbox()] [DEBUG]  unicode State is False
2026-02-26 12:02:52,643 [main_window()] [DEBUG]  Pile index: 18
2026-02-26 12:02:52,655 [eval_hooks()] [DEBUG]  Evaluating hooks
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 21.4
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 6.7
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 7.1
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 12.5
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,655 [update()] [INFO ]  Core id util 7.1
2026-02-26 12:02:52,656 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:52,656 [update()] [INFO ]  Utilization recorded [3.914285714285714, 21.4, 6.7, 0.0, 0.0, 0.0, 7.1, 0.0, 12.5, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0]
2026-02-26 12:02:52,656 [update()] [INFO ]  Reading [27.8, 30.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 24.0, 26.0, 26.0, 30.0, 26.0, 28.0, 28.0, 28.0, 44.0, 44.85, 44.85, 42.85, 36.0, 26.25, 25.25, 45.0, 50.0]
2026-02-26 12:02:52,667 [update()] [INFO ]  Reading [1115.7487142857142, 633.495, 800.0, 800.0, 800.0, 800.0, 4178.117, 1666.266, 800.0, 800.0, 800.0, 1142.604, 800.0, 800.0, 800.0]
2026-02-26 12:02:52,667 [get_top()] [DEBUG]  Returning top 3471.4285714285716
2026-02-26 12:02:52,668 [update()] [INFO ]  Reading [3.914285714285714, 21.4, 6.7, 0.0, 0.0, 0.0, 7.1, 0.0, 12.5, 0.0, 0.0, 0.0, 0.0, 7.1, 0.0]
2026-02-26 12:02:52,668 [update()] [INFO ]  Reading [0, 0, 0]
2026-02-26 12:02:52,668 [set_alarm_in()] [DEBUG]  Setting alarm in 2.0 seconds with callback <bound method GraphController.animate_graph of <__main__.GraphController object at 0x7e785bb9aa20>>
2026-02-26 12:02:52,668 [start()] [DEBUG]  Starting event loop 'SelectEventLoop' to manage display.
2026-02-26 12:02:52,669 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:52,669 [_loop()] [DEBUG]  No input in timeout, calling scheduled <bound method MainLoop.entering_idle of <__main__.MainLoop object at 0x7e785ae3ae70>>
2026-02-26 12:02:52,669 [draw_screen()] [DEBUG]  Screen size recalculated: (142, 34)
2026-02-26 12:02:52,686 [draw_screen()] [DEBUG]  Drawing screen with size (142, 34)
2026-02-26 12:02:52,687 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:52,687 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:52,687 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:52,687 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:52,687 [_loop()] [DEBUG]  Waiting for input: timeout=1.9811961650848389
2026-02-26 12:02:54,679 [_loop()] [DEBUG]  No input in timeout, calling scheduled <function MainLoop.set_alarm_in.<locals>.cb at 0x7e785ad5eb60>
2026-02-26 12:02:54,696 [eval_hooks()] [DEBUG]  Evaluating hooks
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 6.3
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 2.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 2.0
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 3.4
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 4.0
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 2.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 3.0
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 1.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 1.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 2.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 3.9
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 1.0
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 1.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:54,696 [update()] [INFO ]  Utilization recorded [2.5785714285714287, 6.3, 2.5, 2.0, 3.4, 4.0, 2.5, 3.0, 1.5, 1.5, 2.5, 3.9, 1.0, 1.5, 0.5]
2026-02-26 12:02:54,697 [update()] [INFO ]  Reading [27.8, 30.0, 26.0, 26.0, 26.0, 26.0, 24.0, 24.0, 24.0, 24.0, 26.0, 28.0, 26.0, 28.0, 32.0, 26.0, 44.0, 44.85, 44.85, 42.85, 36.0, 26.25, 25.25, 46.0, 50.0]
2026-02-26 12:02:54,697 [update()] [INFO ]  Reading [2369.7534285714287, 3968.146, 4325.467, 3318.279, 2567.12, 4070.482, 5028.248, 1477.676, 1225.058, 800.0, 1427.48, 1200.264, 1200.017, 1199.919, 1368.392]
2026-02-26 12:02:54,697 [update()] [INFO ]  Reading [2.5785714285714287, 6.3, 2.5, 2.0, 3.4, 4.0, 2.5, 3.0, 1.5, 1.5, 2.5, 3.9, 1.0, 1.5, 0.5]
2026-02-26 12:02:54,698 [update()] [INFO ]  Reading [0, 0, 0]
2026-02-26 12:02:54,698 [set_alarm_in()] [DEBUG]  Setting alarm in 2.0 seconds with callback <bound method GraphController.animate_graph of <__main__.GraphController object at 0x7e785bb9aa20>>
2026-02-26 12:02:54,698 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:54,698 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:54,698 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:54,716 [draw_screen()] [DEBUG]  Drawing screen with size (142, 34)
2026-02-26 12:02:54,718 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:54,718 [_loop()] [DEBUG]  Waiting for input: timeout=1.9801487922668457
2026-02-26 12:02:55,109 [_sigwinch_handler()] [DEBUG]  SIGWINCH handler called with signum=28, frame=<frame at 0x7e785aec5c40, file '/usr/lib/python3.12/selectors.py', line 468, code select>
2026-02-26 12:02:55,109 [_sigwinch_handler()] [DEBUG]  Sent fake resize input to the pipe
2026-02-26 12:02:55,109 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:55,109 [wrapper()] [DEBUG]  Calling callback for "watch file"
2026-02-26 12:02:55,109 [_wait_for_input_ready()] [DEBUG]  Waiting for input: descriptors=[<socket.socket fd=4, family=1, type=1, proto=0>, <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>], timeout=0
2026-02-26 12:02:55,109 [_wait_for_input_ready()] [DEBUG]  Input ready: [(SelectorKey(fileobj=<socket.socket fd=4, family=1, type=1, proto=0>, fd=4, events=1, data=None), 1)]
2026-02-26 12:02:55,109 [get_available_raw_input()] [DEBUG]  Resize signal received. Cleaning socket.
2026-02-26 12:02:55,109 [parse_input()] [DEBUG]  Decoded codes: [], raw codes: []
2026-02-26 12:02:55,109 [parse_input()] [DEBUG]  Added "window resize" to the codes
2026-02-26 12:02:55,109 [process_input()] [DEBUG]  Processing input: keys=['window resize']
2026-02-26 12:02:55,109 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:55,109 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:55,109 [draw_screen()] [DEBUG]  Screen size recalculated: (213, 52)
2026-02-26 12:02:55,120 [draw_screen()] [DEBUG]  Drawing screen with size (213, 52)
2026-02-26 12:02:55,123 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:55,123 [_loop()] [DEBUG]  Waiting for input: timeout=1.5750362873077393
2026-02-26 12:02:56,707 [_loop()] [DEBUG]  No input in timeout, calling scheduled <function MainLoop.set_alarm_in.<locals>.cb at 0x7e785ad5fa60>
2026-02-26 12:02:56,763 [eval_hooks()] [DEBUG]  Evaluating hooks
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.9
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.5
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.0
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 2.9
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.5
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.9
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.9
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 4.4
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.0
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 1.0
2026-02-26 12:02:56,764 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:56,764 [update()] [INFO ]  Utilization recorded [1.5, 0.5, 1.9, 1.5, 1.0, 2.9, 1.5, 1.9, 1.9, 0.5, 4.4, 0.5, 1.0, 1.0, 0.5]
2026-02-26 12:02:56,764 [update()] [INFO ]  Reading [27.8, 29.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 24.0, 24.0, 26.0, 28.0, 26.0, 28.0, 28.0, 28.0, 44.0, 44.85, 44.85, 41.85, 35.5, 26.25, 25.25, 46.0, 50.0]
2026-02-26 12:02:56,764 [update()] [INFO ]  Reading [1044.916, 1035.127, 3193.063, 800.0, 800.0, 800.0, 800.0, 800.0, 1200.494, 1200.14, 800.0, 800.0, 800.0, 800.0, 800.0]
2026-02-26 12:02:56,765 [update()] [INFO ]  Reading [1.5, 0.5, 1.9, 1.5, 1.0, 2.9, 1.5, 1.9, 1.9, 0.5, 4.4, 0.5, 1.0, 1.0, 0.5]
2026-02-26 12:02:56,765 [update()] [INFO ]  Reading [0, 0, 0]
2026-02-26 12:02:56,765 [set_alarm_in()] [DEBUG]  Setting alarm in 2.0 seconds with callback <bound method GraphController.animate_graph of <__main__.GraphController object at 0x7e785bb9aa20>>
2026-02-26 12:02:56,765 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:56,765 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:56,765 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:56,778 [draw_screen()] [DEBUG]  Drawing screen with size (213, 52)
2026-02-26 12:02:56,781 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:56,781 [_loop()] [DEBUG]  Waiting for input: timeout=1.9843132495880127
2026-02-26 12:02:58,776 [_loop()] [DEBUG]  No input in timeout, calling scheduled <function MainLoop.set_alarm_in.<locals>.cb at 0x7e785ad885e0>
2026-02-26 12:02:58,832 [eval_hooks()] [DEBUG]  Evaluating hooks
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 1.4
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util -0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 1.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.0
2026-02-26 12:02:58,833 [update()] [INFO ]  Core id util 0.5
2026-02-26 12:02:58,833 [update()] [INFO ]  Utilization recorded [0.35000000000000003, 0.5, 1.4, 0.0, -0.0, 0.0, 0.5, 1.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.5]
2026-02-26 12:02:58,834 [update()] [INFO ]  Reading [27.8, 30.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 24.0, 26.0, 26.0, 28.0, 26.0, 28.0, 28.0, 28.0, 44.0, 44.85, 44.85, 42.85, 35.5, 26.25, 25.25, 46.0, 50.0]
2026-02-26 12:02:58,834 [update()] [INFO ]  Reading [1192.2040714285715, 800.0, 3285.022, 800.0, 1977.679, 1810.693, 800.0, 800.0, 1200.097, 1217.366, 800.0, 800.0, 800.0, 800.0, 800.0]
2026-02-26 12:02:58,834 [update()] [INFO ]  Reading [0.35000000000000003, 0.5, 1.4, 0.0, -0.0, 0.0, 0.5, 1.0, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.5]
2026-02-26 12:02:58,834 [update()] [INFO ]  Reading [0, 0, 0]
2026-02-26 12:02:58,835 [set_alarm_in()] [DEBUG]  Setting alarm in 2.0 seconds with callback <bound method GraphController.animate_graph of <__main__.GraphController object at 0x7e785bb9aa20>>
2026-02-26 12:02:58,835 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:58,835 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:58,835 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:58,848 [draw_screen()] [DEBUG]  Drawing screen with size (213, 52)
2026-02-26 12:02:58,850 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:58,850 [_loop()] [DEBUG]  Waiting for input: timeout=1.9847187995910645
2026-02-26 12:02:59,258 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:59,258 [wrapper()] [DEBUG]  Calling callback for "watch file"
2026-02-26 12:02:59,258 [_wait_for_input_ready()] [DEBUG]  Waiting for input: descriptors=[<socket.socket fd=4, family=1, type=1, proto=0>, <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>], timeout=0
2026-02-26 12:02:59,258 [_wait_for_input_ready()] [DEBUG]  Input ready: [(SelectorKey(fileobj=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>, fd=0, events=1, data=None), 1)]
2026-02-26 12:02:59,258 [parse_input()] [DEBUG]  Decoded codes: [], raw codes: []
2026-02-26 12:02:59,259 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:59,259 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:59,259 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:59,259 [_loop()] [DEBUG]  Waiting for input: timeout=0.12467694282531738
2026-02-26 12:02:59,385 [_loop()] [DEBUG]  No input in timeout, calling scheduled <function Screen.parse_input.<locals>._parse_incomplete_input at 0x7e785accfd80>
2026-02-26 12:02:59,385 [parse_input()] [DEBUG]  Decoded codes: ['esc'], raw codes: [27]
2026-02-26 12:02:59,385 [process_input()] [DEBUG]  Processing input: keys=['esc']
2026-02-26 12:02:59,387 [unhandled_input()] [DEBUG]  Caught esc
2026-02-26 12:02:59,387 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:59,387 [_loop()] [DEBUG]  Waiting for input: timeout=0.0
2026-02-26 12:02:59,387 [_loop()] [DEBUG]  No input, entering IDLE
2026-02-26 12:02:59,387 [draw_screen()] [DEBUG]  Drawing screen with size (213, 52)
2026-02-26 12:02:59,390 [_loop()] [DEBUG]  Processing input
2026-02-26 12:02:59,390 [_loop()] [DEBUG]  Waiting for input: timeout=1.445014238357544
2026-02-26 12:03:00,566 [_loop()] [DEBUG]  Processing input
2026-02-26 12:03:00,566 [wrapper()] [DEBUG]  Calling callback for "watch file"
2026-02-26 12:03:00,566 [_wait_for_input_ready()] [DEBUG]  Waiting for input: descriptors=[<socket.socket fd=4, family=1, type=1, proto=0>, <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>], timeout=0
2026-02-26 12:03:00,566 [_wait_for_input_ready()] [DEBUG]  Input ready: [(SelectorKey(fileobj=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>, fd=0, events=1, data=None), 1)]
2026-02-26 12:03:00,566 [parse_input()] [DEBUG]  Decoded codes: ['q'], raw codes: [113]
2026-02-26 12:03:00,567 [process_input()] [DEBUG]  Processing input: keys=['q']
2026-02-26 12:03:00,568 [unhandled_input()] [DEBUG]  Caught q
2026-02-26 12:03:00,568 [kill_child_processes()] [DEBUG]  Killing stress process
2026-02-26 12:03:00,568 [kill_child_processes()] [DEBUG]  No such process
2026-02-26 12:03:00,568 [kill_child_processes()] [DEBUG]  Could not kill process
2026-02-26 12:03:05,405 [_load_config()] [DEBUG]  Config file not found
2026-02-26 12:03:05,405 [_load_config()] [DEBUG]  No refresh rate configured
2026-02-26 12:03:05,405 [_load_config()] [DEBUG]  No user config for utf8
2026-02-26 12:03:05,405 [_load_config()] [DEBUG]  No user config for temp threshold
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Acpitz,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name PackageId0,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core8,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core9,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core10,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core11,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core12,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core13,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core14,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core15,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core16,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core0,0
2026-02-26 12:03:05,510 [__init__()] [DEBUG]  Temp sensor name Core20,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Core24,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Core28,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Core4,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Iwlwifi_1,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Composite,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Sensor1,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Sensor2,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name R8169_0_8200:00,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Spd5118,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Spd5118,1
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Pkg,0
2026-02-26 12:03:05,511 [__init__()] [DEBUG]  Temp sensor name Vram,0
2026-02-26 12:03:05,512 [read_power()] [WARNI]  ignoring (PermissionError(13, 'Permission denied'), '/sys/class/powercap/intel-rapl:0/') for file <class 'RuntimeWarning'>
2026-02-26 12:03:05,512 [read_power()] [WARNI]  ignoring (PermissionError(13, 'Permission denied'), '/sys/class/powercap/intel-rapl:0:0/') for file <class 'RuntimeWarning'>
2026-02-26 12:03:10,527 [_load_config()] [DEBUG]  Config file not found
2026-02-26 12:03:10,528 [_load_config()] [DEBUG]  No refresh rate configured
2026-02-26 12:03:10,528 [_load_config()] [DEBUG]  No user config for utf8
2026-02-26 12:03:10,528 [_load_config()] [DEBUG]  No user config for temp threshold
2026-02-26 12:03:10,635 [__init__()] [DEBUG]  Temp sensor name Acpitz,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name PackageId0,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core8,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core9,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core10,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core11,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core12,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core13,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core14,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core15,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core16,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core0,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core20,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core24,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core28,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Core4,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Iwlwifi_1,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Composite,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Sensor1,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Sensor2,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name R8169_0_8200:00,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Spd5118,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Spd5118,1
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Pkg,0
2026-02-26 12:03:10,636 [__init__()] [DEBUG]  Temp sensor name Vram,0
2026-02-26 12:03:10,637 [read_power()] [WARNI]  ignoring (PermissionError(13, 'Permission denied'), '/sys/class/powercap/intel-rapl:0/') for file <class 'RuntimeWarning'>
2026-02-26 12:03:10,637 [read_power()] [WARNI]  ignoring (PermissionError(13, 'Permission denied'), '/sys/class/powercap/intel-rapl:0:0/') for file <class 'RuntimeWarning'>

Step 3: Reproduce the problem:

Steps to reproduce:

➜  ~ cd git 
➜  git cd s-tui 
➜  s-tui git:(master) python3 -m s_tui.s_tui
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 1001, in <module>
    main()
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 922, in main
    graph_controller = GraphController(args)
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 723, in __init__
    possible_sources = self._load_config(args.t_thresh)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/god/git/s-tui/s_tui/s_tui.py", line 656, in _load_config
    FanSource(),
    ^^^^^^^^^^^
  File "/home/god/git/s-tui/s_tui/sources/fan_source.py", line 48, in __init__
    sensors_dict = psutil.sensors_fans()
                   ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/psutil/__init__.py", line 2332, in sensors_fans
    return _psplatform.sensors_fans()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/psutil/_pslinux.py", line 1512, in sensors_fans
    current = int(bcat(base + '_input'))
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
➜  s-tui git:(master) python3 -m s_tui.s_tui --version
s-tui 1.3.0 - (C) 2017-2025 Alex Manuskin, Gil Tsuker
    Released under GNU GPLv2
➜  s-tui git:(master) python3 -m s_tui.s_tui -d       
➜  s-tui git:(master) python3 -m s_tui.s_tui   
Traceback (most recent call last):
  • Replace this with relevant code to reproduce the problem *

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions