freemocap / freemocap

Free Motion Capture for Everyone 💀✨
https://freemocap.org
GNU Affero General Public License v3.0
3.42k stars 262 forks source link

Startup issues #532

Open Xadadron opened 10 months ago

Xadadron commented 10 months ago

I've been having trouble starting the program with the freemocap command via the Anaconda terminal. It worked ~3-4 hours earlier and then stopped responding. After trying to restart it, I've been getting this log, even after reinstalling Anaconda and freemocap. Any help would be appreciated.

(freemocap-env) C:\Users\xadad>freemocap adding base_package_path: D:\Anaconda\envs\freemocap-env\Lib\site-packages\skellycam : to sys.path Setting up skellycam logging D:\Anaconda\envs\freemocap-env\Lib\site-packages\skellycam\system\log_config\logsetup.py [2024-01-16 14:42:34.0882] [ INFO] [skellycam.system.log_config.logsetup] [configure_logging():39] [PID:2996 TID:25040] Added logging handlers: [<StreamHandler (DEBUG)>, <FileHandler C:\Users\xadad\skelly-cam-recordings\logs_info_and_settings\logs\log_2024-01-16T14_42_34ms881_gmt+1.log (DEBUG)>] [2024-01-16 14:42:34.0882] [ INFO] [skellycam] [():27] [PID:2996 TID:25040] Initializing skellycam package, version: v2023.12.1090, from file: D:\Anaconda\envs\freemocap-env\Lib\site-packages\skellycam__init.py [2024-01-16 14:42:36.0529] [ INFO] [skellycam] [configure():126] [PID:2996 TID:25040] Logging already configured [2024-01-16 14:42:36.0530] [ INFO] [freemocap] [():18] [PID:2996 TID:25040] Initializing freemocap package, version: v1.0.34, from file: D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap__init.py Thank you for using skelly_viewer! This is printing from: D:\Anaconda\envs\freemocap-env\Lib\site-packages\skelly_viewer\init.py Source code for this package is available at: https://github.com/freemocap/skelly_viewer/ [2024-01-16 14:42:37.0013] [ INFO] [skelly_viewer.config.logging_configuration] [configure_logging():43] [PID:2996 TID:25040] Logging already configured! Thank you for using skellyforge! This is printing from: D:\Anaconda\envs\freemocap-env\Lib\site-packages\skellyforge\init.py Source code for this package is available at: https://github.com/freemocap/skellyforge/ 14:42:38 :: Utilities :: INFO :: Running DeFFcode Version: 0.2.5 adding base_package_path: D:\Anaconda\envs\freemocap-env\Lib\site-packages : to sys.path [2024-01-16 14:42:38.0258] [ INFO] [skelly_synchronize.system.logging_configuration] [configure_logging():42] [PID:2996 TID:25040] Logging already configured! 2024-01-16 14:42:38,258 - skelly_synchronize.system.logging_configuration - INFO - Logging already configured! [2024-01-16 14:42:38.0267] [ INFO] [freemocap.gui.qt.freemocap_main] [qt_gui_main():29] [PID:2996 TID:25040] Starting main... 2024-01-16 14:42:38,267 - freemocap.gui.qt.freemocap_main - INFO - Starting main... [2024-01-16 14:42:38.0293] [ INFO] [freemocap.gui.qt.main_window.freemocap_main_window] [init():100] [PID:2996 TID:25040] Initializing FreeMoCap MainWindow 2024-01-16 14:42:38,293 - freemocap.gui.qt.main_window.freemocap_main_window - INFO - Initializing FreeMoCap MainWindow [2024-01-16 14:42:38.0294] [ INFO] [freemocap.gui.qt.widgets.log_view_widget] [run():39] [PID:2996 TID:33644] Starting LoggingQueueListener thread 2024-01-16 14:42:38,294 - freemocap.gui.qt.widgets.log_view_widget - INFO - Starting LoggingQueueListener thread qt.svg: Could not create image from "D:/Anaconda/envs/freemocap-env/Lib/site-packages/freemocap/assets/logo/16530232.png" qt.svg: Could not create image from "D:/Anaconda/envs/freemocap-env/Lib/site-packages/freemocap/assets/logo/16530236.png" qt.svg: Could not create image from "D:/Anaconda/envs/freemocap-env/Lib/site-packages/freemocap/assets/logo/16530232.png" qt.svg: Could not create image from "D:/Anaconda/envs/freemocap-env/Lib/site-packages/freemocap/assets/logo/16530236.png" [2024-01-16 14:42:38.0312] [ INFO] [freemocap.gui.qt.main_window.freemocap_main_window] [init__():120] [PID:2996 TID:25040] Failed to find previous GUI settings, using default settings 2024-01-16 14:42:38,312 - freemocap.gui.qt.main_window.freemocap_main_window - INFO - Failed to find previous GUI settings, using default settings [2024-01-16 14:42:38.0541] [ INFO] [freemocap.gui.qt.widgets.directory_view_widget] [init():21] [PID:2996 TID:25040] Creating QtDirectoryViewWidget 2024-01-16 14:42:38,541 - freemocap.gui.qt.widgets.directory_view_widget - INFO - Creating QtDirectoryViewWidget [2024-01-16 14:42:38.0543] [ INFO] [freemocap.gui.qt.widgets.directory_view_widget] [set_folder_as_root():79] [PID:2996 TID:25040] Setting root folder to C:\Users\xadad\freemocap_data 2024-01-16 14:42:38,543 - freemocap.gui.qt.widgets.directory_view_widget - INFO - Setting root folder to C:\Users\xadad\freemocap_data [2024-01-16 14:42:38.0549] [ DEBUG] [freemocap.gui.qt.widgets.directory_view_widget] [expand_directory_to_path():63] [PID:2996 TID:25040] Collapsing other directories [2024-01-16 14:42:38.0552] [ DEBUG] [freemocap.gui.qt.widgets.directory_view_widget] [expand_directory_to_path():65] [PID:2996 TID:25040] Expanding directory at path: C:\Users\xadad\freemocap_data\recording_sessions [2024-01-16 14:42:38.0552] [ DEBUG] [freemocap.gui.qt.widgets.directory_view_widget] [expand_directory_to_path():73] [PID:2996 TID:25040] Expanding parent directory at path: C:\Users\xadad\freemocap_data qt.svg: Could not create image from "D:/Anaconda/envs/freemocap-env/Lib/site-packages/freemocap/assets/logo/16530232.png" qt.svg: Could not create image from "D:/Anaconda/envs/freemocap-env/Lib/site-packages/freemocap/assets/logo/16530236.png" [2024-01-16 14:42:38.0572] [ INFO] [freemocap.gui.qt.widgets.home_widget] [_welcome_to_freemocap_title():170] [PID:2996 TID:25040] Creating welcome to freemocap layout 2024-01-16 14:42:38,572 - freemocap.gui.qt.widgets.home_widget - INFO - Creating welcome to freemocap layout [2024-01-16 14:42:38.0576] [ DEBUG] [urllib3.connectionpool] [_new_conn():1052] [PID:2996 TID:25040] Starting new HTTPS connection (1): pypi.org:443 [2024-01-16 14:42:38.0884] [ DEBUG] [urllib3.connectionpool] [_make_request():546] [PID:2996 TID:25040] https://pypi.org:443 "GET /pypi/freemocap/json HTTP/1.1" 200 23924 [2024-01-16 14:42:38.0960] [ DEBUG] [urllib3.connectionpool] [_new_conn():1052] [PID:2996 TID:25040] Starting new HTTPS connection (1): pypi.org:443 [2024-01-16 14:42:39.0283] [ DEBUG] [urllib3.connectionpool] [_make_request():546] [PID:2996 TID:25040] https://pypi.org:443 "GET /pypi/freemocap/json HTTP/1.1" 200 23924 [2024-01-16 14:42:39.0351] [ INFO] [skellycam.gui.qt.skelly_cam_widget] [init():48] [PID:2996 TID:25040] Initializing QtMultiCameraViewerWidget with camera_ids: None 2024-01-16 14:42:39,351 - skellycam.gui.qt.skelly_cam_widget - INFO - Initializing QtMultiCameraViewerWidget with camera_ids: None [2024-01-16 14:42:39.0352] [ INFO] [skellycam.gui.qt.workers.camera_group_thread_worker] [init__():37] [PID:2996 TID:25040] Initializing camera group frame worker with camera ids: None 2024-01-16 14:42:39,352 - skellycam.gui.qt.workers.camera_group_thread_worker - INFO - Initializing camera group frame worker with camera ids: None [2024-01-16 14:42:39.0354] [ DEBUG] [skellycam.gui.qt.widgets.skelly_cam_controller_widget] [connect_buttons_to_slots():132] [PID:2996 TID:25040] Connecting <PySide6.QtWidgets.QPushButton(0x1e731495030) at 0x000001E732B9F240>.clicked to <bound method CamGroupThreadWorker.start_recording of <skellycam.gui.qt.workers.camera_group_thread_worker.CamGroupThreadWorker(0x1e7315e6a60) at 0x000001E72EA6C100>> [2024-01-16 14:42:39.0354] [ DEBUG] [skellycam.gui.qt.widgets.skelly_cam_controller_widget] [connect_buttons_to_slots():132] [PID:2996 TID:25040] Connecting <PySide6.QtWidgets.QPushButton(0x1e731495ab0) at 0x000001E732B9C700>.clicked to <bound method CamGroupThreadWorker.stop_recording of <skellycam.gui.qt.workers.camera_group_thread_worker.CamGroupThreadWorker(0x1e7315e6a60) at 0x000001E72EA6C100>> [2024-01-16 14:42:39.0356] [ DEBUG] [freemocap.system.paths_and_filenames.file_and_folder_names] [default_session_name():114] [PID:2996 TID:25040] Creating default session name: session_2024-01-16_14_42_39 QLayout: Attempting to add QLayout "" to CameraControllerGroupBox "", which already has a layout [2024-01-16 14:42:39.0371] [ INFO] [freemocap.gui.qt.widgets.central_tab_widget] [_create_welcome_tab():55] [PID:2996 TID:25040] Creating welcome tab 2024-01-16 14:42:39,371 - freemocap.gui.qt.widgets.central_tab_widget - INFO - Creating welcome tab [2024-01-16 14:42:39.0386] [ INFO] [freemocap.gui.qt.widgets.central_tab_widget] [_create_skellycam_view_tab():59] [PID:2996 TID:25040] Creating skellycam view tab 2024-01-16 14:42:39,386 - freemocap.gui.qt.widgets.central_tab_widget - INFO - Creating skellycam view tab [2024-01-16 14:42:39.0390] [ INFO] [freemocap.gui.qt.widgets.central_tab_widget] [_create_skelly_viewer_tab():83] [PID:2996 TID:25040] Creating export_data tab 2024-01-16 14:42:39,390 - freemocap.gui.qt.widgets.central_tab_widget - INFO - Creating export_data tab [2024-01-16 14:42:39.0390] [ INFO] [freemocap.gui.qt.widgets.central_tab_widget] [_create_directory_view_tab():88] [PID:2996 TID:25040] Creating directory view tab 2024-01-16 14:42:39,390 - freemocap.gui.qt.widgets.central_tab_widget - INFO - Creating directory view tab [2024-01-16 14:42:39.0394] [ INFO] [freemocap.gui.qt.widgets.central_tab_widget] [_create_active_recording_info_tab():92] [PID:2996 TID:25040] Creating active recording info tab 2024-01-16 14:42:39,394 - freemocap.gui.qt.widgets.central_tab_widget - INFO - Creating active recording info tab Traceback (most recent call last): File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\toml\decoder.py", line 511, in loads ret = decoder.load_line(line, currentlevel, multikey, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\toml\decoder.py", line 778, in load_line value, vtype = self.load_value(pair[1], strictly_valid) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\toml\decoder.py", line 866, in load_value raise ValueError("Reserved escape sequence used") ValueError: Reserved escape sequence used

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "D:\Anaconda\envs\freemocap-env\Scripts\freemocap.exe__main.py", line 7, in sys.path.insert(0, str(base_package_path)) # add parent directory to sys.path ^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\main.py", line 24, in main qt_gui_main() File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\gui\qt\freemocap_main.py", line 38, in qt_gui_main freemocap_main_window = MainWindow( ^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\gui\qt\main_window\freemocap_main_window.py", line 151, in init self._control_panel_widget = self._create_control_panel_widget(log_update=self._log_view_widget.add_log) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\gui\qt\main_window\freemocap_main_window.py", line 303, in _create_control_panel_widget self._process_motion_capture_data_panel = ProcessMotionCaptureDataPanel( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\gui\qt\widgets\control_panel\process_mocap_data_panel\process_motion_capture_data_panel.py", line 52, in init__ self._recording_processing_parameter_model.recording_info_model = self._get_active_recording_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\gui\qt\widgets\active_recording_widget.py", line 49, in get_active_recording_info most_recent_path = get_most_recent_recording_path() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\freemocap\system\paths_and_filenames\path_getters.py", line 171, in get_most_recent_recording_path most_recent_recording_dict = toml.load(str(get_most_recent_recording_toml_path())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\toml\decoder.py", line 134, in load return loads(ffile.read(), _dict, decoder) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Anaconda\envs\freemocap-env\Lib\site-packages\toml\decoder.py", line 514, in loads raise TomlDecodeError(str(err), original, pos) toml.decoder.TomlDecodeError: Reserved escape sequence used (line 1 column 1 char 0) QThread: Destroyed while thread is still running

philipqueen commented 10 months ago

Hi @Xadadron, sorry about this issue! It's one I haven't seen before.

The reason it isn't being fixed with a reinstall of Freemocap or Anaconda is it's related to a file we store freemocap_data/logs_info_and_settings/most_recent_recording.toml that persists across reinstalls. It seems like some invalid character was used in the toml file that throws an error we didn't successfully catch. This is definitely a bug on our end, I'll work on patching it so that it doesn't shut the whole GUI down.

Would you be willing to share the contents of your most_recent_recording.toml file here? That would help us better understand how the issue happened in the first place. If not, that's ok as well.

To fix the issue now, you can go ahead and delete the most_recent_recording.toml in your freemocap_data folder. It doesn't contain any data that isn't saved elsewhere. Freemocap should be able to run again after that.

Aks11-11 commented 10 months ago

Hey, Same thing happened to me What I did Uninstall and Download

Xadadron commented 10 months ago

Sure, here is the contents of the file

most_recent_recording_path = "C:\Users\xadad\freemocap_data\recording_sessions\session_2024-01-16_11_53_51\recording_11_59_29_gmt+1"

[recording_status] synchronized_videos_status_check = true data2d_status_check = false data3d_status_check = false center_of_mass_data_status_check = false blender_file_status_check = false

[recording_status.video_and_camera_info] number_of_synchronized_videos = 1.0

[recording_status.video_and_camera_info.number_of_frames_in_videos] "Camera_000_synchronized_binary.npy" = "497"

philipqueen commented 10 months ago

Thanks for sharing that @Xadadron! It looks like the issue is related to the backslashes in the recording path being treated as escape characters. If you'd like to fix this issue temporarily, you can replace the path with backslashes like this most_recent_recording_path = "C:\\Users\\xadad\\freemocap_data\\recording_sessions\\session_2024-01-16_11_53_51\\recording_11_59_29_gmt+1"

I'll take a look into why freemocap is saving the path with invalid backslashes and see if I can patch it in time for the next minor release.

EDIT: I was not able to replicate this behavior, although I don't have a windows machine to test on.