hakandundar34coding / system-monitoring-center

Multi-featured system monitor
GNU General Public License v3.0
905 stars 83 forks source link

Performance, Processes, Users tabs are not refreshed (error when getting process status) #194

Closed badcast closed 1 year ago

badcast commented 1 year ago

System cores changed to

sudo chcpu -d 1,2,3,4,5,6,7 #more cores state to offline

then error log from system-monitoring-center

Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Processes.py", line 976, in loop_func
    rows_data_dict = Libsysmon.get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, self.rows_data_dict_prev, self.system_boot_time, self.username_uid_dict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 514, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/MainWindow.py", line 1124, in main_gui_tab_loop
    Processes.loop_func()
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Processes.py", line 976, in loop_func
    rows_data_dict = Libsysmon.get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, self.rows_data_dict_prev, self.system_boot_time, self.username_uid_dict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 514, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Processes.py", line 976, in loop_func
    rows_data_dict = Libsysmon.get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, self.rows_data_dict_prev, self.system_boot_time, self.username_uid_dict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 514, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Users.py", line 282, in loop_func
    rows_data_dict = Libsysmon.get_users_information(self.rows_data_dict_prev, self.system_boot_time)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 3449, in get_users_information
    processes_data_dict = get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, processes_data_dict_prev, system_boot_time, username_uid_dict)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 514, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Users.py", line 282, in loop_func
    rows_data_dict = Libsysmon.get_users_information(self.rows_data_dict_prev, self.system_boot_time)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 3449, in get_users_information
    processes_data_dict = get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, processes_data_dict_prev, system_boot_time, username_uid_dict)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 514, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Processes.py", line 976, in loop_func
    rows_data_dict = Libsysmon.get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, self.rows_data_dict_prev, self.system_boot_time, self.username_uid_dict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 514, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'

screens for overview изображение

изображение

hakandundar34coding commented 1 year ago

What is your kernel version?

hakandundar34coding commented 1 year ago

Can you follow these steps?

If you are using SMC v2.18.2:

If you are using another version:

badcast commented 1 year ago

What is your kernel version?

kernel is latest ZEN: 6.4.3-zen1-2-zen 
badcast commented 1 year ago

Can you follow these steps?

If you are using SMC v2.18.2:

* Download the [latest](https://github.com/hakandundar34coding/system-monitoring-center/archive/refs/heads/master.zip) source code

* Extract it and copy `Libsysmon.py` file in the `src` folder

* Paste it to `src` folder in installation directory of the application

* Run the application by using terminal

* Check tabs and share errors in terminal output

If you are using another version:

* Download the [latest](https://github.com/hakandundar34coding/system-monitoring-center/archive/refs/heads/master.zip) source code

* Extract it and open `src` folder

* Run the application by using this command: `python3 ./run_from_source.py`

* Check tabs and share errors in terminal output

Updated to latest (AUR) Repeat command

sudo chcpu -d 1,2,3,4,5,6,7 #more cores state to offline
LANG= system-monitoring-center

(python:357121): Adwaita-WARNING **: 00:26:42.513: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Processes.py", line 1210, in loop_func
    rows_data_dict = Libsysmon.get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, self.rows_data_dict_prev, self.system_boot_time, self.username_uid_dict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 543, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'
Traceback (most recent call last):
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/MainWindow.py", line 1131, in main_gui_tab_loop
    Processes.loop_func()
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Processes.py", line 1210, in loop_func
    rows_data_dict = Libsysmon.get_processes_information(process_list, processes_of_user, cpu_usage_divide_by_cores, detail_level, self.rows_data_dict_prev, self.system_boot_time, self.username_uid_dict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/system-monitoring-center/systemmonitoringcenter/Libsysmon.py", line 543, in get_processes_information
    status = process_status_dict[stat_file_split[-50]]
             ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'P'

screen for overview:

изображение изображение

hakandundar34coding commented 1 year ago

SMC v2.8.2 in the repositories does not contain the latest changes. Can you run the application from source code?

badcast commented 1 year ago

SMC v2.8.2 in the repositories does not contain the latest changes. Can you run the application from source code?

* Download the [latest](https://github.com/hakandundar34coding/system-monitoring-center/archive/refs/heads/master.zip) source code

* Extract it and open `src` folder

* Run the application by using this command: `python3 ./run_from_source.py`

* Check tabs and share errors in terminal output

Fine! There are no errors.

badcast commented 1 year ago

What do you suggest to do next?

hakandundar34coding commented 1 year ago

Option 1: You can copy Libsysmon.py file (in the source code) into src folder in the installation directory of the application.

Option 2: You can wait new version of SMC (a few days).

hakandundar34coding commented 1 year ago

The application is updated. SMC v2.18.3 can be installable by using:

I will close this issue. But you can open a new one for bugs, new features, etc.