Package: src:ukui-control-center Severity: important Tags: upstream Version: 4.20.0.1-1
ukui-system-service crash-loops at boot when the Settings plugin (liblaunchSysDbus.so) initializes DDC brightness control. sysdbusregister.cpp uses the deprecated sequence ddca_create_edid_display_identifier() + ddca_create_display_ref(). In libddcutil >= 2.2.4 (sid ships 2.2.7), display_id_to_dsel() never sets dsel->edidbytect for DISP_ID_EDID (stays 0 from calloc), so the EDID selector always trips the assert in ddc_test_display_ref_by_selector(). trixie (2.2.0) is unaffected. Fix: use the dref already provided in DDCA_Display_Info (ddca_open_display2(info[i].dref, ...)), as ddcutil's sample clients do. Verified on hardware; will be uploaded closing this bug. Original crash info: Aug 17 13:51:16 kylin-DH98L ukui-system-service[3786]: ddc_display_selection.c:126: ddc_test_display_ref_by_selector: Assertion "dsel->edidbytect > 0 && dsel->edidbytect <= 128" failed. Aug 17 13:51:16 kylin-DH98L systemd-coredump[3851]: Process 3786 (ukui-system-ser) of user 0 terminated abnormally with signal 6/ABRT, processing... #0 __pthread_kill_implementation (signo=6) at ./nptl/pthread_kill.c:44 #3 __GI_raise (sig=6) #4 __GI_abort () at ./stdlib/abort.c:77 #7 __assert_fail #8 0x00007da3f50fe6d1 () at /usr/lib/x86_64-linux-gnu/libddcutil.so.5 #11 ddca_create_display_ref () at /usr/lib/x86_64-linux-gnu/libddcutil.so.5 #12 0x00007da3f8ef3838 () [liblaunchSysDbus.so]

