OnvifDeviceManager icon indicating copy to clipboard operation
OnvifDeviceManager copied to clipboard

Does Not Launch

Open berrones opened this issue 8 months ago • 19 comments

System Details

Description: Ubuntu 22.04.5 LTS Release: 22.04 Codename: jammy Kernel Information: 6.8.0-58-generic CPU Information: Model name: Intel(R) Xeon(R) E-2176M CPU @ 2.70GHz Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 1

Gets stuck here (see last line) and does not launch

❯ ./onvifmgr
INFO 25-04-24 09:15:07.323950 137968982760128 onvif-mgr.c:63: Onvif Device Manager Version : 0.0 INFO 25-04-24 09:15:07.324068 137968982760128 onvif-mgr.c:64: Using Gstreamer Version : 1.24.8.0 INFO 25-04-24 09:15:07.324103 137968982760128 gst_plugin_utils.c:224: Initializing Gstreamer plugins... INFO 25-04-24 09:15:07.324114 137968982760128 gst_plugin_utils.c:229: Loading static plugins... DEBUG 25-04-24 09:15:07.380902 137968982760128 gst_plugin_utils.c:436: Gstreamer plugins initialized... INFO 25-04-24 09:15:07.380947 137968982760128 onvif-mgr.c:69: **** Video decoders ******* INFO 25-04-24 09:15:07.380964 137968982760128 gst_plugin_utils.c:485: * video/x-h264 decoders *** INFO 25-04-24 09:15:07.381315 137968982760128 gst_plugin_utils.c:494: * openh264dec[64] INFO 25-04-24 09:15:07.381343 137968982760128 gst_plugin_utils.c:485: * video/x-h265 decoders *** INFO 25-04-24 09:15:07.381552 137968982760128 gst_plugin_utils.c:494: * libde265dec[128] INFO 25-04-24 09:15:07.381575 137968982760128 gst_plugin_utils.c:485: * image/jpeg decoders *** INFO 25-04-24 09:15:07.381778 137968982760128 gst_plugin_utils.c:494: * jpegdec[256] INFO 25-04-24 09:15:07.381819 137968982760128 gst_plugin_utils.c:485: * video/x-av1 decoders *** INFO 25-04-24 09:15:07.382026 137968982760128 gst_plugin_utils.c:499: * None INFO 25-04-24 09:15:07.382046 137968982760128 onvif-mgr.c:74: **************************** INFO 25-04-24 09:15:07.382061 137968982760128 onvif-mgr.c:76: **** Audio decoders ******* INFO 25-04-24 09:15:07.382076 137968982760128 gst_plugin_utils.c:485: * audio/x-mulaw decoders *** INFO 25-04-24 09:15:07.382278 137968982760128 gst_plugin_utils.c:494: * mulawdec[256] INFO 25-04-24 09:15:07.382299 137968982760128 gst_plugin_utils.c:485: * audio/x-alaw decoders *** INFO 25-04-24 09:15:07.382501 137968982760128 gst_plugin_utils.c:494: * alawdec[256] INFO 25-04-24 09:15:07.382523 137968982760128 gst_plugin_utils.c:485: * audio/mpeg decoders *** INFO 25-04-24 09:15:07.382727 137968982760128 gst_plugin_utils.c:494: * fdkaacdec[64] INFO 25-04-24 09:15:07.382748 137968982760128 onvif-mgr.c:80: ****************************

(onvifmgr:161087): Gtk-WARNING **: 09:15:07.402: Theme parsing error: gtk.css:1379:96: 'linear-gradient' is not a valid color name

(onvifmgr:161087): Gtk-WARNING **: 09:15:07.402: Theme parsing error: gtk.css:1379:96: Junk at end of value for background TRACE 25-04-24 09:15:07.489908 137968982760128 app_settings.c:98: Generating default config path from HOME directory : /home/adam INFO 25-04-24 09:15:07.489929 137968982760128 app_settings.c:277: Reading Settings file /home/adam/.config/onvifmgr_settings.ini WARN 25-04-24 09:15:07.489948 137968982760128 app_settings.c:350: No config file found. Using default configs. 1 TRACE 25-04-24 09:15:07.491740 137968982760128 gstrtspplayer.c:1146: Waiting for Gstreamer loop initialization TRACE 25-04-24 09:15:07.491871 137968982760128 gstrtspplayer.c:1150: Gstreamer loop initialization successfull INFO 25-04-24 09:15:07.495177 137968982760128 gstrtspplayer.c:303: Successfully created GTK GL Sink DEBUG 25-04-24 09:15:07.502485 137968982760128 src_retriever.c:12: Test Audio Src [pulsesrc] device [(null)] INFO 25-04-24 09:15:07.504279 137968982760128 backchannel.c:111: Creating backchannel using source element pulsesrc TRACE 25-04-24 09:15:07.558553 137968982760128 omgr_encrypted_store.c:403: Generating default config path from HOME directory : /home/adam

Yes, I built it succesfully

onvifmgr configure configure: creating ./config.status onvifmgr configure config.status: creating Makefile onvifmgr configure config.status: executing libtool commands onvifmgr configure config.status: executing depfiles commands onvifmgr build ***************************** onvifmgr build * OnvifDeviceManager is ready to be built. onvifmgr build * Simply run "make -j$(nproc)" onvifmgr build *
onvifmgr build * Script runtime: 11 minutes and 0 seconds onvifmgr build ***************************** CC src/app/gtkbinaryimage.o CC src/app/gtkstyledimage.o CCLD images/locked-icon.o CCLD images/microphone.o CCLD images/warning.o CCLD images/trash.o CCLD images/tower.o CC src/onvif-mgr.o CC src/alsa/alsa_devices.o CC src/alsa/alsa_utils.o CC src/animations/gtk/custom_gtk_revealer.o CC src/animations/gtk/custom_gtk_progress_tracker.o CC src/animations/gtk/gtk_dotted_slider_widget.o

berrones avatar Apr 24 '25 13:04 berrones

Sorry I apparently never got back to you! (I honestly thought I did reply) I was extremely busy and I couldn't allocate time to any personal projects.

That being said, I did encounter problems when I tried the latest Ubuntu 25 which failed to decrypt application configurations. Your logs abruptly end when decryption starts, so I suspect it may be related.

I made some adjustments which may actually resolve your problem.

You can pull the latest changes, rebuild and try it again.

Let me know how that goes!

Quedale avatar May 25 '25 18:05 Quedale

Thank you @Quedale for getting back with me. I know you're busy! This time I couldn't build it:

cutils cmake src: CUtils cutils cmake arguments: cutils cmake Error: could not load cache cutils cmake CMake Error at CMakeLists.txt:1 (cmake_minimum_required): cutils cmake Compatibility with CMake < 3.5 has been removed from CMake. cutils cmake cutils cmake Update the VERSION argument value. Or, use the ... syntax cutils cmake to tell CMake that the project requires at least but has been updated cutils cmake to work with policies introduced by or earlier. cutils cmake cutils cmake Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. cutils cmake cutils cmake cutils cmake -- Configuring incomplete, errors occurred! cutils cmake ***************************** cutils cmake * failed CUtils cutils cmake * Kernel: 6.8.0-59-generic cutils cmake * Kernel: x86_64 cutils cmake ***************************** make: *** No targets specified and no makefile found. Stop.

## My Version of CMAKE below ## cmake --version cmake version 4.0.2

pip list | grep cmake cmake 4.0.2

berrones avatar May 26 '25 17:05 berrones

Apparently cmake dropped support for any configurations targeting lower than 3.5.

I had to make a small update to the CMakeLists.txt file for two subprojects (CUtils and OnvifSoapLib). It should be fixed now. Thanks for this feedback! I was still using 3.31.

You can pull the latest changes and give it another shot. Given the nature of the failure, I recommend you delete CUtils from the subproject to perform a fresh run with a clear cmake cache.

Looking forward to hear back.

Quedale avatar May 28 '25 01:05 Quedale

Was able to build it this time, but still couldn't launch the application:

Run Command

GST_DEBUG=5 ./onvifmgr

Last 25 Lines

Still Not Launching

, 2147483647 ], encoding-name=(string)PCMU 0:00:00.345618588 28430 0x63ebceb57730 DEBUG GST_PADS gstpad.c:3554:gst_pad_query_default:rtppcmupay0:src not forwarding 0x63ebceec4380 (caps) query 0:00:00.345624116 28430 0x63ebceb57730 DEBUG GST_PADS gstpad.c:4256:gst_pad_query:rtppcmupay0:src sent query 0x63ebceec4380 (caps), result 1 0:00:00.345632608 28430 0x63ebceb57730 DEBUG GST_CAPS gstutils.c:3120:gst_pad_query_caps:rtppcmupay0:src query returned application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int)[ 1, 2147483647 ], encoding-name=(string)PCMU 0:00:00.345638474 28430 0x63ebceb57730 DEBUG GST_CAPS gstutils.c:3113:gst_pad_query_caps:appsink0:sink get pad caps with filter (NULL) 0:00:00.345644333 28430 0x63ebceb57730 DEBUG query gstquery.c:672:gst_query_new_custom: creating new query 0x63ebceec4380 caps 0:00:00.345648974 28430 0x63ebceb57730 DEBUG GST_PADS gstpad.c:4233:gst_pad_query:appsink0:sink doing query 0x63ebceec4380 (caps) 0:00:00.345653776 28430 0x63ebceb57730 DEBUG appsink gstappsink.c:1266:gst_app_sink_getcaps: got caps (NULL) 0:00:00.345659238 28430 0x63ebceb57730 DEBUG GST_PADS gstpad.c:4256:gst_pad_query:appsink0:sink sent query 0x63ebceec4380 (caps), result 1 0:00:00.345663181 28430 0x63ebceb57730 DEBUG GST_CAPS gstutils.c:3120:gst_pad_query_caps:appsink0:sink query returned ANY 0:00:00.345670214 28430 0x63ebceb57730 DEBUG GST_CAPS gstpad.c:2299:gst_pad_link_check_compatible_unlocked:rtppcmupay0:src src caps application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int)[ 1, 2147483647 ], encoding-name=(string)PCMU 0:00:00.345674729 28430 0x63ebceb57730 DEBUG GST_CAPS gstpad.c:2301:gst_pad_link_check_compatible_unlocked:appsink0:sink sink caps ANY 0:00:00.345678577 28430 0x63ebceb57730 DEBUG GST_CAPS gstpad.c:2319:gst_pad_link_check_compatible_unlocked: caps are compatible 0:00:00.345684095 28430 0x63ebceb57730 INFO GST_PADS gstpad.c:2630:gst_pad_link_full: linked rtppcmupay0:src and appsink0:sink, successful 0:00:00.345688465 28430 0x63ebceb57730 INFO GST_EVENT gstevent.c:1654:gst_event_new_reconfigure: creating reconfigure event 0:00:00.345994237 28430 0x63ebceb57730 DEBUG GST_EVENT gstevent.c:336:gst_event_new_custom: creating new event 0x63ebceec2740 reconfigure 61441 0:00:00.346007654 28430 0x63ebceb57730 DEBUG GST_EVENT gstpad.c:5959:gst_pad_send_event_unchecked:rtppcmupay0:src have event type reconfigure event: 0x63ebceec2740, time 99:99:99.999999999, seq-num 89, (NULL) 0:00:00.346015022 28430 0x63ebceb57730 INFO GST_EVENT gstpad.c:6090:gst_pad_send_event_unchecked:rtppcmupay0:src Received event on flushing pad. Discarding 0:00:00.346037483 28430 0x63ebceb57730 DEBUG GST_BUS gstbus.c:339:gst_bus_post: [msg 0x63ebcef84630] posting on bus structure-change message: 0x63ebcef84630, time 99:99:99.999999999, seq-num 90, element 'sink', GstMessageStructureChange, type=(GstStructureChangeType)link, owner=(GstElement)"(GstRtpPcmuPay)\ rtppcmupay0", busy=(boolean)false; 0:00:00.346047273 28430 0x63ebceb57730 DEBUG bin gstbin.c:3704:gst_bin_handle_message_func: [msg 0x63ebcef84630] handling child sink message of type structure-change 0:00:00.346058460 28430 0x63ebceb57730 DEBUG bin gstbin.c:956:bin_remove_messages:appsink0:sink deleting message 0x63ebcef23d20 of type structure-change (types 0x00001000) 0:00:00.346067439 28430 0x63ebceb57730 DEBUG GST_BUS gstbus.c:381:gst_bus_post: [msg 0x63ebcef84630] dropped 0:00:00.346077212 28430 0x63ebceb57730 DEBUG GST_ELEMENT_PADS gstutils.c:1950:gst_element_link_pads_full: linked pad rtppcmupay0:src to pad appsink0:sink 0:00:00.346095870 28430 0x63ebceb57730 DEBUG GST_BUS gstelement.c:3550:gst_element_get_bus: got bus TRACE 25-05-28 09:53:50.335360 140097237736128 omgr_encrypted_store.c:403: Generating default config path from HOME directory : /home/adam

Run Command

./onvifmgr

INFO 25-05-28 09:58:52.153613 125672340499136 onvif-mgr.c:63: Onvif Device Manager Version : 0.0 INFO 25-05-28 09:58:52.153654 125672340499136 onvif-mgr.c:64: Using Gstreamer Version : 1.26.1.0 INFO 25-05-28 09:58:52.153666 125672340499136 gst_plugin_utils.c:224: Initializing Gstreamer plugins... INFO 25-05-28 09:58:52.153671 125672340499136 gst_plugin_utils.c:229: Loading static plugins... DEBUG 25-05-28 09:58:52.178349 125672340499136 gst_plugin_utils.c:436: Gstreamer plugins initialized... INFO 25-05-28 09:58:52.178376 125672340499136 onvif-mgr.c:69: **** Video decoders ******* INFO 25-05-28 09:58:52.178391 125672340499136 gst_plugin_utils.c:485: * video/x-h264 decoders *** INFO 25-05-28 09:58:52.178601 125672340499136 gst_plugin_utils.c:494: * openh264dec[64] INFO 25-05-28 09:58:52.178617 125672340499136 gst_plugin_utils.c:485: * video/x-h265 decoders *** INFO 25-05-28 09:58:52.178700 125672340499136 gst_plugin_utils.c:494: * libde265dec[128] INFO 25-05-28 09:58:52.178708 125672340499136 gst_plugin_utils.c:485: * image/jpeg decoders *** INFO 25-05-28 09:58:52.178781 125672340499136 gst_plugin_utils.c:494: * jpegdec[256] INFO 25-05-28 09:58:52.178789 125672340499136 gst_plugin_utils.c:485: * video/x-av1 decoders *** INFO 25-05-28 09:58:52.178862 125672340499136 gst_plugin_utils.c:499: * None INFO 25-05-28 09:58:52.178869 125672340499136 onvif-mgr.c:74: **************************** INFO 25-05-28 09:58:52.178876 125672340499136 onvif-mgr.c:76: **** Audio decoders ******* INFO 25-05-28 09:58:52.178882 125672340499136 gst_plugin_utils.c:485: * audio/x-mulaw decoders *** INFO 25-05-28 09:58:52.178954 125672340499136 gst_plugin_utils.c:494: * mulawdec[256] INFO 25-05-28 09:58:52.178962 125672340499136 gst_plugin_utils.c:485: * audio/x-alaw decoders *** INFO 25-05-28 09:58:52.179051 125672340499136 gst_plugin_utils.c:494: * alawdec[256] INFO 25-05-28 09:58:52.179058 125672340499136 gst_plugin_utils.c:485: * audio/mpeg decoders *** INFO 25-05-28 09:58:52.179128 125672340499136 gst_plugin_utils.c:494: * fdkaacdec[64] INFO 25-05-28 09:58:52.179136 125672340499136 onvif-mgr.c:80: ****************************

(onvifmgr:28646): Gtk-WARNING **: 09:58:52.194: Theme parsing error: gtk.css:1379:96: 'linear-gradient' is not a valid color name

(onvifmgr:28646): Gtk-WARNING **: 09:58:52.194: Theme parsing error: gtk.css:1379:96: Junk at end of value for background TRACE 25-05-28 09:58:52.338548 125672340499136 app_settings.c:98: Generating default config path from HOME directory : /home/adam INFO 25-05-28 09:58:52.338599 125672340499136 app_settings.c:277: Reading Settings file /home/adam/.config/onvifmgr_settings.ini WARN 25-05-28 09:58:52.338622 125672340499136 app_settings.c:350: No config file found. Using default configs. 1 TRACE 25-05-28 09:58:52.344341 125672340499136 gstrtspplayer.c:1146: Waiting for Gstreamer loop initialization TRACE 25-05-28 09:58:52.344514 125672340499136 gstrtspplayer.c:1150: Gstreamer loop initialization successfull INFO 25-05-28 09:58:52.349891 125672340499136 gstrtspplayer.c:303: Successfully created GTK GL Sink DEBUG 25-05-28 09:58:52.369619 125672340499136 src_retriever.c:12: Test Audio Src [pulsesrc] device [(null)] INFO 25-05-28 09:58:52.375223 125672340499136 backchannel.c:111: Creating backchannel using source element pulsesrc TRACE 25-05-28 09:58:52.445220 125672340499136 omgr_encrypted_store.c:403: Generating default config path from HOME directory : /home/adam

berrones avatar May 28 '25 14:05 berrones

Well, at least there was some success!

Could you run it with valgrind to extract some additional details?

You will need to run the following to enable debugging:

autogen.sh --enable-debug
make clean
make -j$(nproc)
valgrind ./onvifmgr

This should extract additional information to what I assume is a segmentation fault.

Quedale avatar May 28 '25 14:05 Quedale

Getting stuck at the same spot! :( onvifmgr build ***************************** onvifmgr build * OnvifDeviceManager is ready to be built. onvifmgr build * Simply run "make -j$(nproc)" onvifmgr build *
onvifmgr build * Script runtime: 3 minutes and 14 seconds onvifmgr build ***************************** rm -f onvifmgr rm -rf .libs _libs Force clean up actual src directory. find ./src -name ".o" -type f -delete rm -f .o rm -f ./src/.o rm -f ./src/alsa/.o rm -f ./src/animations/.o rm -f ./src/animations/gtk/.o rm -f ./src/app/.o rm -f ./src/app/details/.o rm -f ./src/app/dialog/.o rm -f ./src/app/settings/.o rm -f ./src/demo/.o rm -f ./src/demo/css/slider/.o rm -f ./src/gst/.o rm -f ./src/queue/.o rm -f ./src/utils/*.o rm -f *.lo CC src/app/gtkbinaryimage.o CC src/app/gtkstyledimage.o CCLD images/locked-icon.o CCLD images/microphone.o CCLD images/warning.o CCLD images/trash.o CCLD images/tower.o CC src/onvif-mgr.o CC src/alsa/alsa_devices.o CC src/alsa/alsa_utils.o CC src/animations/gtk/custom_gtk_revealer.o CC src/animations/gtk/custom_gtk_progress_tracker.o CC src/animations/gtk/gtk_dotted_slider_widget.o CC src/app/gui_utils.o CC src/app/omgr_device_row.o CC src/app/onvif_app_shutdown.o CC src/app/onvif_app.o CC src/app/details/onvif_details.o CC src/app/details/onvif_info.o CC src/app/details/onvif_network.o CC src/app/onvif_nvt.o CC src/app/task_manager.o CC src/app/dialog/gtkprofilepanel.o CC src/app/dialog/omgr_add_dialog.o CC src/app/dialog/omgr_app_dialog.o CC src/app/dialog/omgr_credentials_dialog.o CC src/app/dialog/omgr_encrypted_store.o CC src/app/dialog/omgr_msg_dialog.o CC src/app/dialog/omgr_profiles_dialog.o CC src/app/dialog/omgr_encryoted_store_dialog.o CC src/app/settings/app_settings_discovery.o CC src/app/settings/app_settings_stream.o CC src/app/settings/app_settings.o CC src/utils/c_ownable_interface.o CC src/utils/encryption_utils.o CC src/utils/omgr_serializable_interface.o CC src/gst/gst_plugin_utils.o CC src/gst/overlay.o CC src/gst/src_retriever.o CC src/gst/backchannel.o CC src/gst/gstrtspplayer.o CC src/queue/event_queue.o CC src/queue/queue_event.o CC src/queue/queue_thread.o CCLD onvifmgr ==69616== Memcheck, a memory error detector ==69616== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==69616== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==69616== Command: ./onvifmgr ==69616==

** (gst-plugin-scanner:69622): CRITICAL **: 12:36:15.494: _dma_fmt_to_dma_drm_fmts: assertion 'fmt != GST_VIDEO_FORMAT_UNKNOWN' failed INFO 25-05-28 12:36:15.977360 119458240 onvif-mgr.c:63: Onvif Device Manager Version : 0.0 INFO 25-05-28 12:36:16.011404 119458240 onvif-mgr.c:64: Using Gstreamer Version : 1.24.12.0 INFO 25-05-28 12:36:16.011986 119458240 gst_plugin_utils.c:224: Initializing Gstreamer plugins... DEBUG 25-05-28 12:36:16.012301 119458240 gst_plugin_utils.c:436: Gstreamer plugins initialized... INFO 25-05-28 12:36:16.012533 119458240 onvif-mgr.c:69: **** Video decoders ******* INFO 25-05-28 12:36:16.012879 119458240 gst_plugin_utils.c:485: * video/x-h264 decoders *** INFO 25-05-28 12:36:16.065306 119458240 gst_plugin_utils.c:494: * nvh264dec[257] INFO 25-05-28 12:36:16.065528 119458240 gst_plugin_utils.c:494: * vah264dec[257] INFO 25-05-28 12:36:16.065619 119458240 gst_plugin_utils.c:494: * avdec_h264[256] INFO 25-05-28 12:36:16.065702 119458240 gst_plugin_utils.c:494: * openh264dec[64] INFO 25-05-28 12:36:16.065783 119458240 gst_plugin_utils.c:494: * qsvh264dec[64] INFO 25-05-28 12:36:16.066685 119458240 gst_plugin_utils.c:485: * video/x-h265 decoders *** INFO 25-05-28 12:36:16.073025 119458240 gst_plugin_utils.c:494: * nvh265dec[257] INFO 25-05-28 12:36:16.073118 119458240 gst_plugin_utils.c:494: * vah265dec[257] INFO 25-05-28 12:36:16.073200 119458240 gst_plugin_utils.c:494: * avdec_h265[256] INFO 25-05-28 12:36:16.073287 119458240 gst_plugin_utils.c:494: * libde265dec[128] INFO 25-05-28 12:36:16.073368 119458240 gst_plugin_utils.c:494: * qsvh265dec[64] INFO 25-05-28 12:36:16.073992 119458240 gst_plugin_utils.c:485: * image/jpeg decoders *** INFO 25-05-28 12:36:16.079978 119458240 gst_plugin_utils.c:494: * jpegdec[256] INFO 25-05-28 12:36:16.080071 119458240 gst_plugin_utils.c:494: * nvjpegdec[256] INFO 25-05-28 12:36:16.080153 119458240 gst_plugin_utils.c:494: * qsvjpegdec[128] INFO 25-05-28 12:36:16.080233 119458240 gst_plugin_utils.c:494: * avdec_mjpeg[64] INFO 25-05-28 12:36:16.080866 119458240 gst_plugin_utils.c:485: * video/x-av1 decoders *** INFO 25-05-28 12:36:16.086884 119458240 gst_plugin_utils.c:494: * av1dec[128] INFO 25-05-28 12:36:16.087544 119458240 onvif-mgr.c:74: **************************** INFO 25-05-28 12:36:16.087782 119458240 onvif-mgr.c:76: **** Audio decoders ******* INFO 25-05-28 12:36:16.088007 119458240 gst_plugin_utils.c:485: * audio/x-mulaw decoders *** INFO 25-05-28 12:36:16.093993 119458240 gst_plugin_utils.c:494: * mulawdec[256] INFO 25-05-28 12:36:16.094634 119458240 gst_plugin_utils.c:485: * audio/x-alaw decoders *** INFO 25-05-28 12:36:16.100494 119458240 gst_plugin_utils.c:494: * alawdec[256] INFO 25-05-28 12:36:16.101137 119458240 gst_plugin_utils.c:485: * audio/mpeg decoders *** INFO 25-05-28 12:36:16.107092 119458240 gst_plugin_utils.c:494: * avdec_aac[256] INFO 25-05-28 12:36:16.107192 119458240 gst_plugin_utils.c:494: * avdec_aac_fixed[256] INFO 25-05-28 12:36:16.107275 119458240 gst_plugin_utils.c:494: * mpg123audiodec[256] INFO 25-05-28 12:36:16.107369 119458240 gst_plugin_utils.c:494: * faad[128] INFO 25-05-28 12:36:16.107447 119458240 gst_plugin_utils.c:494: * avdec_aac_latm[64] INFO 25-05-28 12:36:16.107533 119458240 gst_plugin_utils.c:494: * avdec_mp1float[64] INFO 25-05-28 12:36:16.107615 119458240 gst_plugin_utils.c:494: * avdec_mp2float[64] INFO 25-05-28 12:36:16.107696 119458240 gst_plugin_utils.c:494: * avdec_mp3[64] INFO 25-05-28 12:36:16.107775 119458240 gst_plugin_utils.c:494: * avdec_mp3float[64] INFO 25-05-28 12:36:16.108495 119458240 onvif-mgr.c:80: ****************************

(onvifmgr:69616): Gtk-WARNING **: 12:36:17.329: Theme parsing error: gtk.css:1379:96: 'linear-gradient' is not a valid color name

(onvifmgr:69616): Gtk-WARNING **: 12:36:17.337: Theme parsing error: gtk.css:1379:96: Junk at end of value for background TRACE 25-05-28 12:36:20.807545 119458240 app_settings.c:98: Generating default config path from HOME directory : /home/adam INFO 25-05-28 12:36:20.808351 119458240 app_settings.c:277: Reading Settings file /home/adam/.config/onvifmgr_settings.ini WARN 25-05-28 12:36:20.808711 119458240 app_settings.c:350: No config file found. Using default configs. 1 TRACE 25-05-28 12:36:20.899596 119458240 gstrtspplayer.c:1146: Waiting for Gstreamer loop initialization TRACE 25-05-28 12:36:20.906737 119458240 gstrtspplayer.c:1150: Gstreamer loop initialization successfull INFO 25-05-28 12:36:21.567800 119458240 gstrtspplayer.c:303: Successfully created GTK GL Sink DEBUG 25-05-28 12:36:22.062287 119458240 src_retriever.c:12: Test Audio Src [pulsesrc] device [(null)] INFO 25-05-28 12:39:13.550151 119458240 backchannel.c:111: Creating backchannel using source element pulsesrc TRACE 25-05-28 12:39:19.155935 119458240 omgr_encrypted_store.c:403: Generating default config path from HOME directory : /home/adam

berrones avatar May 28 '25 16:05 berrones

Okay, I see! It doesnt actually crash, it just hangs?

If that's so, I may have to insert additional log out put. I'll make some changes later to help determine where it fails.

Thank you for you time helping diagnose this issue.

Quedale avatar May 28 '25 19:05 Quedale

Correct, it just hangs. Take your time! I really appreciate the dedicated help!

berrones avatar May 28 '25 19:05 berrones

I just added some extra logging and the ability to change the default loglevel. I actually have an idea where it might occur, but I wouldn't be able to explain why it behaves differently for you.

You can go ahead a pull the latest changes, rebuild and launch it using this parameter:

./onvifmgr --loglevel=8

The new trail logs should give me some additional insight.

Quedale avatar May 29 '25 01:05 Quedale

Any ideas?

± ./onvifmgr --loglevel=8 INFO 25-05-28 22:06:55.019413 131472639531712 onvif-mgr.c:104: Onvif Device Manager Version : 0.0 INFO 25-05-28 22:06:55.019444 131472639531712 onvif-mgr.c:105: Using Gstreamer Version : 1.26.1.0 INFO 25-05-28 22:06:55.019455 131472639531712 gst_plugin_utils.c:224: Initializing Gstreamer plugins... INFO 25-05-28 22:06:55.019460 131472639531712 gst_plugin_utils.c:229: Loading static plugins... DEBUG 25-05-28 22:06:55.035978 131472639531712 gst_plugin_utils.c:436: Gstreamer plugins initialized... INFO 25-05-28 22:06:55.035993 131472639531712 onvif-mgr.c:110: **** Video decoders ******* INFO 25-05-28 22:06:55.035996 131472639531712 gst_plugin_utils.c:485: * video/x-h264 decoders *** INFO 25-05-28 22:06:55.036091 131472639531712 gst_plugin_utils.c:494: * openh264dec[64] INFO 25-05-28 22:06:55.036097 131472639531712 gst_plugin_utils.c:485: * video/x-h265 decoders *** INFO 25-05-28 22:06:55.036141 131472639531712 gst_plugin_utils.c:494: * libde265dec[128] INFO 25-05-28 22:06:55.036145 131472639531712 gst_plugin_utils.c:485: * image/jpeg decoders *** INFO 25-05-28 22:06:55.036178 131472639531712 gst_plugin_utils.c:494: * jpegdec[256] INFO 25-05-28 22:06:55.036182 131472639531712 gst_plugin_utils.c:485: * video/x-av1 decoders *** INFO 25-05-28 22:06:55.036215 131472639531712 gst_plugin_utils.c:499: * None INFO 25-05-28 22:06:55.036219 131472639531712 onvif-mgr.c:115: **************************** INFO 25-05-28 22:06:55.036222 131472639531712 onvif-mgr.c:117: **** Audio decoders ******* INFO 25-05-28 22:06:55.036224 131472639531712 gst_plugin_utils.c:485: * audio/x-mulaw decoders *** INFO 25-05-28 22:06:55.036258 131472639531712 gst_plugin_utils.c:494: * mulawdec[256] INFO 25-05-28 22:06:55.036261 131472639531712 gst_plugin_utils.c:485: * audio/x-alaw decoders *** INFO 25-05-28 22:06:55.036294 131472639531712 gst_plugin_utils.c:494: * alawdec[256] INFO 25-05-28 22:06:55.036298 131472639531712 gst_plugin_utils.c:485: * audio/mpeg decoders *** INFO 25-05-28 22:06:55.036331 131472639531712 gst_plugin_utils.c:494: * fdkaacdec[64] INFO 25-05-28 22:06:55.036335 131472639531712 onvif-mgr.c:121: ****************************

(onvifmgr:41108): Gtk-WARNING **: 22:06:55.043: Theme parsing error: gtk.css:1379:96: 'linear-gradient' is not a valid color name

(onvifmgr:41108): Gtk-WARNING **: 22:06:55.043: Theme parsing error: gtk.css:1379:96: Junk at end of value for background TRACE 25-05-28 22:06:55.084716 131472639531712 app_settings.c:98: Generating default config path from HOME directory : /home/adam INFO 25-05-28 22:06:55.084732 131472639531712 app_settings.c:277: Reading Settings file /home/adam/.config/onvifmgr_settings.ini WARN 25-05-28 22:06:55.084740 131472639531712 app_settings.c:350: No config file found. Using default configs. 1 TRACE 25-05-28 22:06:55.086507 131472639531712 gstrtspplayer.c:1146: Waiting for Gstreamer loop initialization TRACE 25-05-28 22:06:55.086549 131472639531712 gstrtspplayer.c:1150: Gstreamer loop initialization successfull INFO 25-05-28 22:06:55.088378 131472639531712 gstrtspplayer.c:303: Successfully created GTK GL Sink DEBUG 25-05-28 22:06:55.094110 131472639531712 src_retriever.c:12: Test Audio Src [pulsesrc] device [(null)] INFO 25-05-28 22:06:55.095772 131472639531712 backchannel.c:111: Creating backchannel using source element pulsesrc TRACE 25-05-28 22:06:55.144966 131472639531712 omgr_encrypted_store.c:406: Generating default config path from HOME directory : /home/adam TRAIL 25-05-28 22:06:55.144983 131472639531712 omgr_encrypted_store.c:471: Encrypted store type initialized TRAIL 25-05-28 22:06:55.144992 131472639531712 omgr_encrypted_store.c:476: Initializing Encrypted store instance TRAIL 25-05-28 22:06:55.145003 131472639531712 omgr_encrypted_store.c:295: OnvifMgrEncryptedStore__capture_passphrase TRAIL 25-05-28 22:06:55.145888 131472639531712 omgr_encrypted_store.c:313: OnvifMgrEncryptedStore__capture_passphrase show overlay TRAIL 25-05-28 22:06:55.146234 131472639531712 omgr_encrypted_store.c:287: OnvifMgrEncryptedStore__showing

berrones avatar May 29 '25 02:05 berrones

Unfortunately, my suspicions were wrong. I did take a shot in the dark by making sure the EventQueue threads are started before any event is dispatched.

Just in case that does solve it, I did add more logs to help narrow it down further.

Would you mind giving it another shot?

Thanks again!

Quedale avatar May 29 '25 02:05 Quedale

Still hanging!

± ./onvifmgr --loglevel=8 INFO 25-05-29 16:07:24.387031 129001640635072 onvif-mgr.c:104: Onvif Device Manager Version : 0.0 INFO 25-05-29 16:07:24.387076 129001640635072 onvif-mgr.c:105: Using Gstreamer Version : 1.26.1.0 INFO 25-05-29 16:07:24.387095 129001640635072 gst_plugin_utils.c:224: Initializing Gstreamer plugins... INFO 25-05-29 16:07:24.387103 129001640635072 gst_plugin_utils.c:229: Loading static plugins... DEBUG 25-05-29 16:07:24.405848 129001640635072 gst_plugin_utils.c:436: Gstreamer plugins initialized... INFO 25-05-29 16:07:24.405863 129001640635072 onvif-mgr.c:110: **** Video decoders ******* INFO 25-05-29 16:07:24.405871 129001640635072 gst_plugin_utils.c:485: * video/x-h264 decoders *** INFO 25-05-29 16:07:24.405967 129001640635072 gst_plugin_utils.c:494: * openh264dec[64] INFO 25-05-29 16:07:24.405976 129001640635072 gst_plugin_utils.c:485: * video/x-h265 decoders *** INFO 25-05-29 16:07:24.406069 129001640635072 gst_plugin_utils.c:494: * libde265dec[128] INFO 25-05-29 16:07:24.406078 129001640635072 gst_plugin_utils.c:485: * image/jpeg decoders *** INFO 25-05-29 16:07:24.406172 129001640635072 gst_plugin_utils.c:494: * jpegdec[256] INFO 25-05-29 16:07:24.406180 129001640635072 gst_plugin_utils.c:485: * video/x-av1 decoders *** INFO 25-05-29 16:07:24.406275 129001640635072 gst_plugin_utils.c:499: * None INFO 25-05-29 16:07:24.406283 129001640635072 onvif-mgr.c:115: **************************** INFO 25-05-29 16:07:24.406290 129001640635072 onvif-mgr.c:117: **** Audio decoders ******* INFO 25-05-29 16:07:24.406297 129001640635072 gst_plugin_utils.c:485: * audio/x-mulaw decoders *** INFO 25-05-29 16:07:24.406389 129001640635072 gst_plugin_utils.c:494: * mulawdec[256] INFO 25-05-29 16:07:24.406397 129001640635072 gst_plugin_utils.c:485: * audio/x-alaw decoders *** INFO 25-05-29 16:07:24.406489 129001640635072 gst_plugin_utils.c:494: * alawdec[256] INFO 25-05-29 16:07:24.406497 129001640635072 gst_plugin_utils.c:485: * audio/mpeg decoders *** INFO 25-05-29 16:07:24.406561 129001640635072 gst_plugin_utils.c:494: * fdkaacdec[64] INFO 25-05-29 16:07:24.406568 129001640635072 onvif-mgr.c:121: ****************************

(onvifmgr:62282): Gtk-WARNING **: 16:07:24.415: Theme parsing error: gtk.css:1379:96: 'linear-gradient' is not a valid color name

(onvifmgr:62282): Gtk-WARNING **: 16:07:24.415: Theme parsing error: gtk.css:1379:96: Junk at end of value for background TRACE 25-05-29 16:07:24.466951 129001640635072 app_settings.c:98: Generating default config path from HOME directory : /home/adam INFO 25-05-29 16:07:24.466967 129001640635072 app_settings.c:277: Reading Settings file /home/adam/.config/onvifmgr_settings.ini WARN 25-05-29 16:07:24.466982 129001640635072 app_settings.c:350: No config file found. Using default configs. 1 TRACE 25-05-29 16:07:24.469114 129001640635072 gstrtspplayer.c:1146: Waiting for Gstreamer loop initialization TRACE 25-05-29 16:07:24.469181 129001640635072 gstrtspplayer.c:1150: Gstreamer loop initialization successfull INFO 25-05-29 16:07:24.471170 129001640635072 gstrtspplayer.c:303: Successfully created GTK GL Sink DEBUG 25-05-29 16:07:24.477512 129001640635072 src_retriever.c:12: Test Audio Src [pulsesrc] device [(null)] INFO 25-05-29 16:07:24.479485 129001640635072 backchannel.c:111: Creating backchannel using source element pulsesrc TRACE 25-05-29 16:07:24.548682 129001640635072 omgr_encrypted_store.c:407: Generating default config path from HOME directory : /home/adam TRAIL 25-05-29 16:07:24.548701 129001640635072 omgr_encrypted_store.c:472: Encrypted store type initialized TRAIL 25-05-29 16:07:24.548707 129001640635072 omgr_encrypted_store.c:477: Initializing Encrypted store instance TRAIL 25-05-29 16:07:24.548715 129001640635072 onvif_app.c:1073: Starting EventQueue thread pool... TRACE 25-05-29 16:07:24.548838 129001339213376 onvif_app.c:488: EventQueue Started : 0/0/1 TRACE 25-05-29 16:07:24.548903 129001309861440 onvif_app.c:488: EventQueue Started : 0/0/2 TRACE 25-05-29 16:07:24.548973 129001347606080 onvif_app.c:488: EventQueue Started : 0/0/3 TRAIL 25-05-29 16:07:24.549023 129001640635072 omgr_encrypted_store.c:296: OnvifMgrEncryptedStore__capture_passphrase TRACE 25-05-29 16:07:24.549079 129000982697536 onvif_app.c:488: EventQueue Started : 0/0/4 TRACE 25-05-29 16:07:24.549200 129000999482944 onvif_app.c:488: EventQueue Started : 0/0/5 TRACE 25-05-29 16:07:24.549304 129000991090240 onvif_app.c:488: EventQueue Started : 0/0/6 TRACE 25-05-29 16:07:24.549393 129001301468736 onvif_app.c:488: EventQueue Started : 0/0/7 TRACE 25-05-29 16:07:24.549456 129000974304832 onvif_app.c:488: EventQueue Started : 0/0/8 TRAIL 25-05-29 16:07:24.550140 129001640635072 omgr_encrypted_store.c:314: OnvifMgrEncryptedStore__capture_passphrase show overlay TRAIL 25-05-29 16:07:24.550703 129001640635072 omgr_encrypted_store.c:287: OnvifMgrEncryptedStore__showing TRAIL 25-05-29 16:07:24.550719 129001640635072 omgr_app_dialog.c:610: Saving previously focused widget TRAIL 25-05-29 16:07:24.550731 129001640635072 omgr_app_dialog.c:618: Creating new loading widget

berrones avatar May 29 '25 20:05 berrones

We're getting closer. There isn't much left to go through. So far narrowed down to the function show_loading from omgr_app_dialog.c since it never reached the end.

I'm starting to fear it may be a GTK bug and not necessarily related to my code since I'm mostly just initializing GTK widgets in that section. I'm not giving up tho. I really want to find the faulty line.

I added more trail logging, but this time on GtkDottedSlider, which is a custom animation widget I created to display loadings. (Which is getting initialized in the hanging function)

If you hang on a little longer, we should be able to get to the bottom of this. Can you run it once more?

Quedale avatar May 30 '25 01:05 Quedale

I'll keep trying as long as you've got the patience to continue. I'm very impressed with your work and thankful.

berrones avatar May 30 '25 18:05 berrones

± ./onvifmgr --loglevel=7 INFO 25-05-30 14:42:25.553903 135941261339328 onvif-mgr.c:104: Onvif Device Manager Version : 0.0 INFO 25-05-30 14:42:25.553938 135941261339328 onvif-mgr.c:105: Using Gstreamer Version : 1.26.1.0 INFO 25-05-30 14:42:25.553948 135941261339328 gst_plugin_utils.c:224: Initializing Gstreamer plugins... INFO 25-05-30 14:42:25.553952 135941261339328 gst_plugin_utils.c:229: Loading static plugins... DEBUG 25-05-30 14:42:25.572520 135941261339328 gst_plugin_utils.c:436: Gstreamer plugins initialized... INFO 25-05-30 14:42:25.572536 135941261339328 onvif-mgr.c:110: **** Video decoders ******* INFO 25-05-30 14:42:25.572540 135941261339328 gst_plugin_utils.c:485: * video/x-h264 decoders *** INFO 25-05-30 14:42:25.572640 135941261339328 gst_plugin_utils.c:494: * openh264dec[64] INFO 25-05-30 14:42:25.572647 135941261339328 gst_plugin_utils.c:485: * video/x-h265 decoders *** INFO 25-05-30 14:42:25.572699 135941261339328 gst_plugin_utils.c:494: * libde265dec[128] INFO 25-05-30 14:42:25.572704 135941261339328 gst_plugin_utils.c:485: * image/jpeg decoders *** INFO 25-05-30 14:42:25.572744 135941261339328 gst_plugin_utils.c:494: * jpegdec[256] INFO 25-05-30 14:42:25.572749 135941261339328 gst_plugin_utils.c:485: * video/x-av1 decoders *** INFO 25-05-30 14:42:25.572788 135941261339328 gst_plugin_utils.c:499: * None INFO 25-05-30 14:42:25.572793 135941261339328 onvif-mgr.c:115: **************************** INFO 25-05-30 14:42:25.572796 135941261339328 onvif-mgr.c:117: **** Audio decoders ******* INFO 25-05-30 14:42:25.572799 135941261339328 gst_plugin_utils.c:485: * audio/x-mulaw decoders *** INFO 25-05-30 14:42:25.572838 135941261339328 gst_plugin_utils.c:494: * mulawdec[256] INFO 25-05-30 14:42:25.572842 135941261339328 gst_plugin_utils.c:485: * audio/x-alaw decoders *** INFO 25-05-30 14:42:25.572881 135941261339328 gst_plugin_utils.c:494: * alawdec[256] INFO 25-05-30 14:42:25.572886 135941261339328 gst_plugin_utils.c:485: * audio/mpeg decoders *** INFO 25-05-30 14:42:25.572926 135941261339328 gst_plugin_utils.c:494: * fdkaacdec[64] INFO 25-05-30 14:42:25.572930 135941261339328 onvif-mgr.c:121: ****************************

(onvifmgr:38024): Gtk-WARNING **: 14:42:25.581: Theme parsing error: gtk.css:1379:96: 'linear-gradient' is not a valid color name

(onvifmgr:38024): Gtk-WARNING **: 14:42:25.581: Theme parsing error: gtk.css:1379:96: Junk at end of value for background TRACE 25-05-30 14:42:25.624813 135941261339328 app_settings.c:98: Generating default config path from HOME directory : /home/adam INFO 25-05-30 14:42:25.624830 135941261339328 app_settings.c:277: Reading Settings file /home/adam/.config/onvifmgr_settings.ini WARN 25-05-30 14:42:25.624838 135941261339328 app_settings.c:350: No config file found. Using default configs. 1 TRACE 25-05-30 14:42:25.626679 135941261339328 gstrtspplayer.c:1146: Waiting for Gstreamer loop initialization TRACE 25-05-30 14:42:25.626776 135941261339328 gstrtspplayer.c:1150: Gstreamer loop initialization successfull INFO 25-05-30 14:42:25.628723 135941261339328 gstrtspplayer.c:303: Successfully created GTK GL Sink DEBUG 25-05-30 14:42:25.636059 135941261339328 src_retriever.c:12: Test Audio Src [pulsesrc] device [(null)] INFO 25-05-30 14:42:25.637691 135941261339328 backchannel.c:111: Creating backchannel using source element pulsesrc TRACE 25-05-30 14:42:25.690500 135941261339328 omgr_encrypted_store.c:407: Generating default config path from HOME directory : /home/adam TRAIL 25-05-30 14:42:25.690516 135941261339328 omgr_encrypted_store.c:472: Encrypted store type initialized TRAIL 25-05-30 14:42:25.690521 135941261339328 omgr_encrypted_store.c:477: Initializing Encrypted store instance TRAIL 25-05-30 14:42:25.690527 135941261339328 onvif_app.c:1073: Starting EventQueue thread pool... TRACE 25-05-30 14:42:25.690579 135940966159936 onvif_app.c:488: EventQueue Started : 0/0/1 TRACE 25-05-30 14:42:25.690616 135940974552640 onvif_app.c:488: EventQueue Started : 0/0/2 TRACE 25-05-30 14:42:25.690676 135940840355392 onvif_app.c:488: EventQueue Started : 0/0/3 TRACE 25-05-30 14:42:25.690719 135940831962688 onvif_app.c:488: EventQueue Started : 0/0/4 TRAIL 25-05-30 14:42:25.690774 135941261339328 omgr_encrypted_store.c:296: OnvifMgrEncryptedStore__capture_passphrase TRACE 25-05-30 14:42:25.690790 135940823569984 onvif_app.c:488: EventQueue Started : 0/0/5 TRACE 25-05-30 14:42:25.690855 135940798391872 onvif_app.c:488: EventQueue Started : 0/0/6 TRACE 25-05-30 14:42:25.690924 135940806784576 onvif_app.c:488: EventQueue Started : 0/0/7 TRACE 25-05-30 14:42:25.691006 135940815177280 onvif_app.c:488: EventQueue Started : 0/0/8 TRAIL 25-05-30 14:42:25.691608 135941261339328 omgr_encrypted_store.c:314: OnvifMgrEncryptedStore__capture_passphrase show overlay TRAIL 25-05-30 14:42:25.691983 135941261339328 omgr_encrypted_store.c:287: OnvifMgrEncryptedStore__showing TRAIL 25-05-30 14:42:25.691991 135941261339328 omgr_app_dialog.c:610: Saving previously focused widget TRAIL 25-05-30 14:42:25.691995 135941261339328 omgr_app_dialog.c:618: Creating new loading widget TRAIL 25-05-30 14:42:25.692029 135941261339328 gtk_dotted_slider_widget.c:256: gtk_dotted_slider type initialized TRAIL 25-05-30 14:42:25.692042 135941261339328 gtk_dotted_slider_widget.c:39: Created dotted slider TRAIL 25-05-30 14:42:25.692046 135941261339328 gtk_dotted_slider_widget.c:133: gtk_dotted_slider_set_item_count TRAIL 25-05-30 14:42:25.692050 135941261339328 gtk_dotted_slider_widget.c:67: gtk_dotted_slider_refresh_items TRAIL 25-05-30 14:42:25.692266 135941261339328 gtk_dotted_slider_widget.c:126: gtk_dotted_slider_refresh_items - done TRAIL 25-05-30 14:42:25.692272 135941261339328 gtk_dotted_slider_widget.c:160: gtk_dotted_slider_set_animation_time TRAIL 25-05-30 14:42:25.692276 135941261339328 gtk_dotted_slider_widget.c:67: gtk_dotted_slider_refresh_items TRAIL 25-05-30 14:42:25.692303 135941261339328 gtk_dotted_slider_widget.c:126: gtk_dotted_slider_refresh_items - done TRAIL 25-05-30 14:42:25.692521 135941261339328 gtk_dotted_slider_widget.c:61: gtk_dotted_slider mapping dot TRAIL 25-05-30 14:42:25.692534 135941261339328 gtk_dotted_slider_widget.c:53: gtk_dotted_slider_change_direction TRAIL 25-05-30 14:42:25.692540 135941261339328 gtk_dotted_slider_widget.c:53: gtk_dotted_slider_change_direction TRAIL 25-05-30 14:42:25.692546 135941261339328 gtk_dotted_slider_widget.c:53: gtk_dotted_slider_change_direction TRAIL 25-05-30 14:42:25.692551 135941261339328 gtk_dotted_slider_widget.c:53: gtk_dotted_slider_change_direction TRAIL 25-05-30 14:42:25.692556 135941261339328 gtk_dotted_slider_widget.c:53: gtk_dotted_slider_change_direction TRAIL 25-05-30 14:42:25.692561 135941261339328 gtk_dotted_slider_widget.c:53: gtk_dotted_slider_change_direction

berrones avatar May 30 '25 18:05 berrones

Okay that's really odd!

For some reason, the animation loop starts before invoking the gtk_main loop function. This really sounds like a GTK bug or a behavior breaking change.

What seems to happen is that the slider animation relies on GtkTickCallback and the callback loop starts immediately, while it should be waiting for the gtkmainloop. Even the documentation indicate that it "Queues an animation", implying that a separate loop needs to run.

The result is that the animation loop start immediately after the first "dot" is added. The loop creates a lock-up and the GUI never finish the window initialization.

The normal behavior (what happens on all my systems) is that the "dots" are all added and the tick callbacks are only invoked after gtk_main is called.

My current educated guess is that your version of GTK has a bug.

I do have a simple resolution in mind. Simply idle dispatch gtk_dotted_slider_refresh_items instead of invoking it directly. I should have a fix available later.

Meanwhile, what version of GTK are you currently using? I would like to reproduce this behavior and drill-down GTK source to understand the root cause. You can find that out using the follow command:

pkg-config --modversion gtk+-3.0

Thanks again for this valuable input!

Quedale avatar May 30 '25 20:05 Quedale

Thanks so much @Quedale!

pkg-config --modversion gtk+-3.0 3.24.33

berrones avatar May 30 '25 20:05 berrones

Unfortunately I wasn't able to reproduce the problem on a vanilla Ubuntu 22.04.5 LTS. I use the same version of GTK and do not experience this issue. I wasn't able to find why your system would start the animation immediately since we should be using the same codebase. That being said, GTK has dependencies (like glib) that could also be at fault.

I did make another change so that animation dots are only mapped after the gtkmainloop has started. If that doesn't solve it, I added even more trail output for debugging.

Good luck!

Quedale avatar May 31 '25 02:05 Quedale

What a ride! Thank you again. I'll give it a go.

berrones avatar May 31 '25 03:05 berrones