digitaltrails / ddcutil-service

A Dbus ddcutil server for control of DDC Monitors/VDUs
GNU General Public License v2.0
11 stars 1 forks source link

Not detecting capabilities on the Lenovo G27q #22

Open digitaltrails opened 5 months ago

digitaltrails commented 5 months ago
          testing with the new service and I'm not seeing any garbage values anymore, but it is still not detecting capabilities on the G27q, that's the screen 2 in the previous logs.  Though if it has no trouble talking to it if I generate the config file using ddcutil and then switch to the service after that's been saved.

_Originally posted by @Extent421 in https://github.com/digitaltrails/vdu_controls/issues/84#issuecomment-2036628433_

digitaltrails commented 5 months ago

Screen 2 is only detected fully with ddcutil

ddcutil --display 2 capabilities
Model: Lenovo G27q-20
MCCS version: 2.2
Commands:
   Op Code: 01 (VCP Request)
   Op Code: 02 (VCP Response)
   Op Code: 03 (VCP Set)
   Op Code: 07 (Timing Request)
   Op Code: 0C (Save Settings)
   Op Code: E3 (Capabilities Reply)
   Op Code: F3 (Capabilities Request)
VCP Features:
   Feature: 02 (New control value)
   Feature: 04 (Restore factory defaults)
      Values: 4C 31 2E 30 (interpretation unavailable)
   Feature: 05 (Restore factory brightness/contrast defaults)
   Feature: 08 (Restore color defaults)
   Feature: 10 (Brightness)
   Feature: 12 (Contrast)
   Feature: 14 (Select color preset)
      Values:
         01: sRGB
         05: 6500 K
         06: 7500 K
         08: 9300 K
         12: Unrecognized value
         0b: User 1
   Feature: 16 (Video gain: Red)
   Feature: 18 (Video gain: Green)
   Feature: 1A (Video gain: Blue)
   Feature: 52 (Active control)
   Feature: 60 (Input Source)
      Values:
         11: HDMI-1
         0f: DisplayPort-1
   Feature: 86 (Display Scaling)
      Values:
         01: No scaling
         02: Max image, no aspect ration distortion
   Feature: AC (Horizontal frequency)
   Feature: AE (Vertical frequency)
   Feature: B2 (Flat panel sub-pixel layout)
   Feature: B6 (Display technology type)
   Feature: C6 (Application enable key)
      Values: 02 00 97 00 90 80 00 68 00 8A 80 00 5C 00 54 00 00 (interpretation unavailable)
   Feature: C8 (Display controller type)
   Feature: CA (OSD/Button Control)
   Feature: CC (OSD Language)
      Values:
         02: English
         03: French
         04: German
         05: Italian
         06: Japanese
         09: Russian
         0a: Spanish
         0d: Chinese (simplified / Kantai)
   Feature: D6 (Power mode)
      Values:
         01: DPM: On,  DPMS: Off
         04: DPM: Off, DPMS: Off
         05: Write only value to turn off display
   Feature: DF (VCP Version)
   Feature: E0 (Manufacturer specific feature)
      Values: 00 01 02 (interpretation unavailable)
   Feature: EA (Manufacturer specific feature)
      Values: 00 01 (interpretation unavailable)
   Feature: EB (Manufacturer specific feature)
      Values: 00 01 (interpretation unavailable)
   Feature: EC (Manufacturer specific feature)
      Values: 00 01 FF 00 02 03 (interpretation unavailable)
   Feature: F6 (Manufacturer specific feature)
      Values: 07 (interpretation unavailable)
   Feature: F7 (Manufacturer specific feature)
      Values: 01 02 (interpretation unavailable)
   Feature: F8 (Manufacturer specific feature)
      Values: 01 02 (interpretation unavailable)
   Feature: F9 (Manufacturer specific feature)
      Values: 00 01 02 03 04 05 06 (interpretation unavailable)
   Feature: FA (Manufacturer specific feature)
      Values: 10 12 EA 14 (interpretation unavailable)
   Feature: FD (Manufacturer specific feature)
digitaltrails commented 5 months ago

@Extent421: Can you post the out from the following two ddcutil-service calls by calling them via the busctl command:

busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface Detect "u" "0"
busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface GetCapabilitiesMetadata isu "2" ""  "0"
Extent421 commented 5 months ago

ya I was just looking at updating it with the new service

busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface Detect "u" "0"
ia(iiisssqsu)is 2 2 1 0 0 "DEL" "AW3225QF" "66N0YZ3" 41542 "AP///////wAQrEaiU0pFMAUiAQS1Rih4OwMhr04+tSUNUFSlSwBxT4GAqcDRwAEBAQEBAQEBTdAAoPBwPoAwIDUAu4shAAAaAAAA/wA2Nk4wWVozCiAgICAgAAAA/ABBVzMyMjVRRgogICAgAAAA/Qww8P//6gEKICAgICAgAvg=" 809847379 2 0 0 "LEN" "G27q-20" "U63304DD" 26307 "AP///////wAwrsNmREQ0MC4eAQS1PCJ4O3jlrU9GqyYNUFS97wCBgJUAswDRwGFoYXxFaEV8Vl4AoKCgKVAwIDUAVVAhAAAeAAAA/wBVNjMzMDRERAogICAgAAAA/QAwpfr6QQEKICAgICAgAAAA/ABHMjdxLTIwCiAgICAgATw=" 808731716 0 "OK"
busctl --user call com.ddcutil.DdcutilService /com/ddcutil/DdcutilObject com.ddcutil.DdcutilInterface GetCapabilitiesMetadata isu "2" ""  "0"
syya{ys}a{y(ssa{ys})}is "G27q-20" 2 2 7 1 "desc of 1" 2 "desc of 2" 3 "desc of 3" 7 "desc of 7" 12 "desc of 12" 227 "desc of 227" 243 "desc of 243" 33 2 "New control value" "" 0 4 "Restore factory defaults" "" 4 76 "" 49 "" 46 "" 48 "" 5 "Restore factory brightness/contrast defaults" "" 0 8 "Restore color defaults" "" 0 16 "Brightness" "" 0 18 "Contrast" "" 0 20 "Select color preset" "" 11 1 "sRGB" 1 "sRGB" 5 "6500 K" 5 "6500 K" 6 "7500 K" 6 "7500 K" 8 "9300 K" 8 "9300 K" 18 "" 11 "User 1" 11 "User 1" 22 "Video gain: Red" "" 0 24 "Video gain: Green" "" 0 26 "Video gain: Blue" "" 0 82 "Active control" "" 0 96 "Input Source" "" 4 17 "HDMI-1" 17 "HDMI-1" 15 "DisplayPort-1" 15 "DisplayPort-1" 134 "Display Scaling" "" 4 1 "No scaling" 1 "No scaling" 2 "Max image, no aspect ration distortion" 2 "Max image, no aspect ration distortion" 172 "Horizontal frequency" "" 0 174 "Vertical frequency" "" 0 178 "Flat panel sub-pixel layout" "" 0 182 "Display technology type" "" 0 198 "Application enable key" "" 17 2 "" 0 "" 151 "" 0 "" 144 "" 128 "" 0 "" 104 "" 0 "" 138 "" 128 "" 0 "" 92 "" 0 "" 84 "" 0 "" 0 "" 200 "Display controller type" "" 0 202 "OSD/Button Control" "" 0 204 "OSD Language" "" 8 2 "" 3 "" 4 "" 5 "" 6 "" 9 "" 10 "" 13 "" 214 "Power mode" "" 6 1 "DPM: On,  DPMS: Off" 1 "DPM: On,  DPMS: Off" 4 "DPM: Off, DPMS: Off" 4 "DPM: Off, DPMS: Off" 5 "Write only value to turn off display" 5 "Write only value to turn off display" 223 "VCP Version" "" 0 224 "Manufacturer Specific" "" 3 0 "" 1 "" 2 "" 234 "Manufacturer Specific" "" 2 0 "" 1 "" 235 "Manufacturer Specific" "" 2 0 "" 1 "" 236 "Manufacturer Specific" "" 6 0 "" 1 "" 255 "" 0 "" 2 "" 3 "" 246 "Manufacturer Specific" "" 1 7 "" 247 "Manufacturer Specific" "" 2 1 "" 2 "" 248 "Manufacturer Specific" "" 2 1 "" 2 "" 249 "Manufacturer Specific" "" 7 0 "" 1 "" 2 "" 3 "" 4 "" 5 "" 6 "" 250 "Manufacturer Specific" "" 4 16 "" 18 "" 234 "" 20 "" 253 "Manufacturer Specific" "" 0 0 "OK"

I don't know how much it matters, but the service did seem to be really slow in picking up when the screen was connected. I turned the screen on, extended the display, and then for the first couple minutes GetCapabilitiesMetadata was still returning

syya{ys}a{y(ssa{ys})}is "model" 0 0 0 0 -3020 "DDCRC_INVALID_DISPLAY: Error(s) opening ddc devices"

does the Detect need to be manually triggered to pick up changes?

Extent421 commented 5 months ago

and just for completeness, the specific error that is getting raised is this, it is picking up the serial number image

digitaltrails commented 5 months ago

does the Detect need to be manually triggered to pick up changes?

Yes, kind-of. In theory if a display driver properly supports DRM, then libddcutil should automatically pick up hot-plug events. In practice, depending on GPU/GPU-driver this may not work, or may not work reliably. The service attempts to figure out if libddcutil supports DRM, but it may claim to do so, even if its not 100% working. If the service "thinks" DRM isn't supported, then it can fall back to polling Detect every 30 seconds (prior to libddcutil 2.*, DRM isn't available, polling is always used).

digitaltrails commented 5 months ago

I don't know how much it matters, but the service did seem to be really slow in picking up when the screen was connected. I turned the screen on, extended the display, and then for the first couple minutes GetCapabilitiesMetadata was still returning...

So if you issue a Detect and then a GetCapabilitiesMetadata, and the GetCapabilitiesMetadata is returing something, does vdu_controls then also detect the G27q when you press the refresh button (bottom left of main panel) or the retry button in the above dialog?

Does ddcutil behave the same way - slow/errors at first?

Also, if ddcutil capabilties works, does busctl GetCapabilitiesMetadata also work?

Extent421 commented 5 months ago

ddcutil has never given me an error

Initially when I was getting the dbus errors ddcutil was working just fine, and I was beginning to troubleshoot when dbus suddenly began working. I don't know if it's because I ran the dbus detect line first or if it just began working after some time. I'm pretty sure it was going on for longer than 30 seconds, but I'll pay closer attention to it now if it happens again.

That error screenshot was taken immediately after the previous logs with successful detections by restarting vdu.

If I do a refresh it gives a Set value: Failed to communicate with display unknown error D-Bus error org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying and then vdu dies.

If I set vdu to ddcutil mode and do a refresh I get no error.

digitaltrails commented 5 months ago

ddcutil has never given me an error

Initially when I was getting the dbus errors ddcutil was working just fine, and I was beginning to troubleshoot when dbus suddenly began working. I don't know if it's because I ran the dbus detect line first or if it just began working after some time. I'm pretty sure it was going on for longer than 30 seconds, but I'll pay closer attention to it now if it happens again.

Ddcutil and libddcutil share a cache, so if ddcutil has worked, it may be that subsequent service calls will work. The cached timings are dynamically tuned. But the dynamic tuning is a recent feature which has had a few teething issues. The service is much faster than ddcutil, so it could be tripping over timing issues. Hopefully later versions of ddcutil/libddcutil will be better, so it may just pay to wait and see. You could try explicitly setting a sleep multiplier for that specific VDU, something greater than 1.0.

That error screenshot was taken immediately after the previous logs with successful detections by restarting vdu.

If I do a refresh it gives a Set value: Failed to communicate with display unknown error D-Bus error org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying and then vdu dies.

If I set vdu to ddcutil mode and do a refresh I get no error.

So it is likely a timing issue. Maybe it would be worth trying a sleep multiplier. The multiplier is passed to the service, although it's not often used/tested (I'm trying to test it now, but my development environment has an issue at the moment).

With ddcutil/libddcutil 1.4.1, the sleep multiplier will probably affect all operations for all monitors. In later versions of ddcutil/libddcutil libddcutil can set display specific sleep multipliers. In 1.4.1 only the ddcutil command supports display specific sleep multipliers.

You can also force ddcutil/libddcutil to reset its timings cache by removing $HOME/.cache/ddcutil/dsa. Maybe preserve it first, incase it has particularly good values now. (Actually, I think the dsa file might only be for ddcutil/libddcutil >= 2).

digitaltrails commented 5 months ago

I'm trying to test it now, but my development environment has an issue at the moment

Yeah, the sleep multiplier appears to passed through from vdu_controls to the service and applied.

My tumbleweed 20240329 system is now acting a bit strange. After the xz hack dup that updated everything, ddcutil-service --log-info no longer logs info or debug messages. To get that working I've had to changed calls to g_setenv to just setenv and rebuild. Perhaps I've tripped over a glib bug. (Plus the KDE6 and Nvidia 550 updates are causing the odd session lockup/weirdness.)

Unfortunately it means that if you're also on the latest tumbleweed running ddcutil-service 1.0.3 with --log-info might not produce any extra info/debug output, such as showing whether the sleep multiplier was passed correctly. I've updated 1.0.4 to use setenv.

Extent421 commented 5 months ago

I am on latest tumbleweed. There is no dsa in ~/.cache/ddcutil/ only capabilities

I had a sleep mult of 4 on the working screen from messing around earlier. I set a mult of 4 on the main settings page too, restarted, then refreshing causes the same error, and then immediately throws a new one that says

Error: RuntimeError: release unlocked lock
Details: Traceback (most recent call last):
  File "/usr/bin/vdu_controls", line 7381, in update_from_vdu
    self.detected_vdu_list = self.ddcutil.detect_monitors()
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/vdu_controls", line 1299, in detect_monitors
    vdu_list = self.ddcutil_impl.detect(1)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/vdu_controls", line 1733, in detect
    vdu_list = [self.DetectedAttributes(*vdu) for vdu in self._validate(result)[1]]
                                                         ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/bin/vdu_controls", line 1775, in _validate
    raise ValueError(f"D-Bus error {result.errorName()}: {result.errorMessage()}")
ValueError: D-Bus error org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/vdu_controls", line 3711, in run
    self.task_body()
  File "/usr/bin/vdu_controls", line 7386, in update_from_vdu
    self.refresh_lock.release()
RuntimeError: release unlocked lock

and then vdu dies

I'll keep an eye as the service updates

digitaltrails commented 5 months ago

It looks like the ddcutil-service fell over (the dbus daemon automatically starts a new one when next accessed). Possibly it may have logged something in the journal. It would be good to see if it logged anything interesting, but I suspect it may have just segfaulted.

I've never tried a sleep multiplier more than 2, I set 4 in both places, works OK, so it's not the magnitude of the value.

The resultant lock error is interesting. I was clearing up lock issues in the latest vdu_controls code, I had forgotten to remove the unlock line, hopefully that shouldn't happen in the latest code.

Extent421 commented 5 months ago

ya it did take a dump just before vdu crashed

Apr 04 14:30:47 screamer4L dbus-daemon[2073]: [session uid=1000 pid=2073] Activating service name='com.ddcutil.DdcutilService' requested by ':1.264' (uid=1000 pid=13225 comm="/usr/bin/python3 /usr/bin/vdu_controls")
Apr 04 14:30:47 screamer4L libddcutil[13334]: Initializing.  ddcutil version 1.4.1
Apr 04 14:30:47 screamer4L libddcutil[13334]: Library initialization complete.
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Running /usr/bin/ddcutil-service (ddcutil-service)
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: ddcutil-service 1.0.3, libddcutil 1.4.1
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: ServiceInfoLogging disabled
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Verifying libddcutil and i2c-dev dependencies (i2c-dev kernel module and device permissions)...
Apr 04 14:30:47 screamer4L com.ddcutil.DdcutilService[13334]: Open failed for /dev/i2c-7: errno=EACCES(13): Permission denied
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Detected VDU-count=2 - skipping i2c-dev verification
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: ConnectedDisplaysChanged signals disabled(add --emit_connectivity_signals to enable them).
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Enabling custom g_main_loop event source
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Registered /com/ddcutil/DdcutilObject
Apr 04 14:30:47 screamer4L dbus-daemon[2073]: [session uid=1000 pid=2073] Successfully activated service 'com.ddcutil.DdcutilService'
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Name acquired com.ddcutil.DdcutilService
Apr 04 14:30:47 screamer4L ddcutil-service[13334]: Emitting ServiceInitialized signal
Apr 04 14:30:47 screamer4L plasmashell[13225]: 14:30:47 INFO: ddcutil version (1, 4, 1) (dynamic-sleep=False) - interface 1.0.3 (D-Bus ddcutil-service - libddcutil)
Apr 04 14:30:47 screamer4L com.ddcutil.DdcutilService[13334]: Open failed for /dev/i2c-7: errno=EACCES(13): Permission denied
Apr 04 14:30:49 screamer4L com.ddcutil.DdcutilService[13334]: Open failed for /dev/i2c-7: errno=EACCES(13): Permission denied
Apr 04 14:30:49 screamer4L kwin_x11[2232]: kwin_platform_x11_standalone: Bogus refresh rate -202060
Apr 04 14:30:49 screamer4L plasmashell[13225]: 14:30:49 INFO: Number of detected monitors is stable at 2 (loop=2)
Apr 04 14:30:49 screamer4L plasmashell[13225]: 14:30:49 INFO: Initializing controls for vdu_number='-1' vdu_model_name='LG_TV_SSCR2' self.vdu_stable_id='LG_TV_SSCR2_16843009'
Apr 04 14:30:49 screamer4L plasmashell[13225]: 14:30:49 INFO: Using config file '/home/user/.config/vdu_controls/LG_TV_SSCR2_16843009.conf'
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Initializing controls for vdu_number='1' vdu_model_name='AW3225QF' self.vdu_stable_id='AW3225QF_66N0YZ3'
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Using config file '/home/user/.config/vdu_controls/AW3225QF_66N0YZ3.conf'
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Received service_initialized D-Bus signal message.arguments()=[0] id(self)=140514974593760
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Connected VDUs changed event_type=-1 flags=0 ...
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Refresh commences
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Received service_initialized D-Bus signal message.arguments()=[0] id(self)=140514975066448
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Connected VDUs changed event_type=-1 flags=0 ...
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Received service_initialized D-Bus signal message.arguments()=[0] id(self)=140514974582528
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Connected VDUs changed event_type=-1 flags=0 ...
Apr 04 14:30:50 screamer4L ddcutil-service[13334]: Property ServiceEmitSignals is deprecated, please use ServiceEmitConnectivitySignals
Apr 04 14:30:50 screamer4L ddcutil-service[13334]: ServiceEmitConnectivitySignals set property to enabled
Apr 04 14:30:50 screamer4L ddcutil-service[13334]: ServiceEmitConnectivitySignals ddcutil-service polling every 30 seconds
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Lux auto-brightness settings refresh - monitoring is off.
Apr 04 14:30:50 screamer4L plasmashell[13225]: 14:30:50 INFO: Completed configuring application
Apr 04 14:30:50 screamer4L com.ddcutil.DdcutilService[13334]: Open failed for /dev/i2c-7: errno=EACCES(13): Permission denied
Apr 04 14:30:50 screamer4L com.ddcutil.DdcutilService[13334]: ddcutil-service: ddc_vcp_version.c:218: get_vcp_version_by_dref: Assertion `dref->flags & DREF_DDC_COMMUNICATION_WORKING' failed.
Apr 04 14:30:51 screamer4L systemd[1]: Started Process Core Dump (PID 13374/UID 0).
Apr 04 14:30:51 screamer4L systemd[1]: Started Pass systemd-coredump journal entries to relevant user for potential DrKonqi handling.
Apr 04 14:30:51 screamer4L systemd-coredump[13375]: Process 13334 (ddcutil-service) of user 1000 dumped core.

                                                    Stack trace of thread 13334:
                                                    #0  0x00007fa94a6949ec __pthread_kill_implementation (libc.so.6 + 0x949ec)
                                                    #1  0x00007fa94a641176 raise (libc.so.6 + 0x41176)
                                                    #2  0x00007fa94a628917 abort (libc.so.6 + 0x28917)
                                                    #3  0x00007fa94a62882b __assert_fail_base.cold (libc.so.6 + 0x2882b)
                                                    #4  0x00007fa94a639076 __assert_fail (libc.so.6 + 0x39076)
                                                    #5  0x00007fa94a9e358e n/a (libddcutil.so.4 + 0x4358e)
                                                    #6  0x00007fa94a9e3669 n/a (libddcutil.so.4 + 0x43669)
                                                    #7  0x00007fa94a9fc429 ddca_get_feature_metadata_by_dref (libddcutil.so.4 + 0x5c429)
                                                    #8  0x000055d47f23968b n/a (ddcutil-service + 0x768b)
                                                    #9  0x000055d47f2399ad n/a (ddcutil-service + 0x79ad)
                                                    #10 0x00007fa94aaabc15 n/a (libglib-2.0.so.0 + 0x5ec15)
                                                    #11 0x00007fa94aaac22c n/a (libglib-2.0.so.0 + 0x5f22c)
                                                    #12 0x00007fa94aaacc2f g_main_loop_run (libglib-2.0.so.0 + 0x5fc2f)
                                                    #13 0x000055d47f23a8e6 n/a (ddcutil-service + 0x88e6)
                                                    #14 0x00007fa94a62a1f0 __libc_start_call_main (libc.so.6 + 0x2a1f0)
                                                    #15 0x00007fa94a62a2b9 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a2b9)
                                                    #16 0x000055d47f235655 n/a (ddcutil-service + 0x3655)

                                                    Stack trace of thread 13347:
                                                    #0  0x00007fa94a711bcd syscall (libc.so.6 + 0x111bcd)
                                                    #1  0x00007fa94ab06fac g_cond_wait_until (libglib-2.0.so.0 + 0xb9fac)
                                                    #2  0x00007fa94aa75093 n/a (libglib-2.0.so.0 + 0x28093)
                                                    #3  0x00007fa94aa756a1 g_async_queue_timeout_pop (libglib-2.0.so.0 + 0x286a1)
                                                    #4  0x00007fa94aad9ca5 n/a (libglib-2.0.so.0 + 0x8cca5)
                                                    #5  0x00007fa94aad92ee n/a (libglib-2.0.so.0 + 0x8c2ee)
                                                    #6  0x00007fa94a692bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #7  0x00007fa94a71400c __clone3 (libc.so.6 + 0x11400c)

                                                    Stack trace of thread 13345:
                                                    #0  0x00007fa94a711bcd syscall (libc.so.6 + 0x111bcd)
                                                    #1  0x00007fa94ab06e00 g_cond_wait (libglib-2.0.so.0 + 0xb9e00)
                                                    #2  0x00007fa94aa750bb n/a (libglib-2.0.so.0 + 0x280bb)
                                                    #3  0x00007fa94aad9ae2 n/a (libglib-2.0.so.0 + 0x8cae2)
                                                    #4  0x00007fa94aad92ee n/a (libglib-2.0.so.0 + 0x8c2ee)
                                                    #5  0x00007fa94a692bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #6  0x00007fa94a71400c __clone3 (libc.so.6 + 0x11400c)

                                                    Stack trace of thread 13346:
                                                    #0  0x00007fa94a70578f __poll (libc.so.6 + 0x10578f)
                                                    #1  0x00007fa94aaac2ff n/a (libglib-2.0.so.0 + 0x5f2ff)
                                                    #2  0x00007fa94aaaca0c g_main_context_iteration (libglib-2.0.so.0 + 0x5fa0c)
                                                    #3  0x00007fa94aaaca51 n/a (libglib-2.0.so.0 + 0x5fa51)
                                                    #4  0x00007fa94aad92ee n/a (libglib-2.0.so.0 + 0x8c2ee)
                                                    #5  0x00007fa94a692bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #6  0x00007fa94a71400c __clone3 (libc.so.6 + 0x11400c)

                                                    Stack trace of thread 13335:
                                                    #0  0x00007fa94a71665c __recv (libc.so.6 + 0x11665c)
                                                    #1  0x00007fa94a86c572 n/a (libudev.so.1 + 0x10572)
                                                    #2  0x00007fa94a86dc2b udev_monitor_receive_device (libudev.so.1 + 0x11c2b)
                                                    #3  0x00007fa94a9da7f7 n/a (libddcutil.so.4 + 0x3a7f7)
                                                    #4  0x00007fa94aad92ee n/a (libglib-2.0.so.0 + 0x8c2ee)
                                                    #5  0x00007fa94a692bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #6  0x00007fa94a71400c __clone3 (libc.so.6 + 0x11400c)

                                                    Stack trace of thread 13348:
                                                    #0  0x00007fa94a70578f __poll (libc.so.6 + 0x10578f)
                                                    #1  0x00007fa94aaac2ff n/a (libglib-2.0.so.0 + 0x5f2ff)
                                                    #2  0x00007fa94aaacc2f g_main_loop_run (libglib-2.0.so.0 + 0x5fc2f)
                                                    #3  0x00007fa94acbe2d6 n/a (libgio-2.0.so.0 + 0x1262d6)
                                                    #4  0x00007fa94aad92ee n/a (libglib-2.0.so.0 + 0x8c2ee)
                                                    #5  0x00007fa94a692bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #6  0x00007fa94a71400c __clone3 (libc.so.6 + 0x11400c)
                                                    ELF object binary architecture: AMD x86-64
Apr 04 14:30:51 screamer4L systemd[1]: systemd-coredump@5-13374-0.service: Deactivated successfully.
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L plasmashell[13225]: 14:30:51 ERROR:
Apr 04 14:30:51 screamer4L plasmashell[13225]: Traceback (most recent call last):
Apr 04 14:30:51 screamer4L plasmashell[13225]:   File "/usr/bin/vdu_controls", line 7381, in update_from_vdu
Apr 04 14:30:51 screamer4L plasmashell[13225]:     self.detected_vdu_list = self.ddcutil.detect_monitors()
Apr 04 14:30:51 screamer4L plasmashell[13225]:                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 04 14:30:51 screamer4L plasmashell[13225]:   File "/usr/bin/vdu_controls", line 1299, in detect_monitors
Apr 04 14:30:51 screamer4L plasmashell[13225]:     vdu_list = self.ddcutil_impl.detect(1)
Apr 04 14:30:51 screamer4L plasmashell[13225]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 04 14:30:51 screamer4L plasmashell[13225]:   File "/usr/bin/vdu_controls", line 1733, in detect
Apr 04 14:30:51 screamer4L plasmashell[13225]:     vdu_list = [self.DetectedAttributes(*vdu) for vdu in self._validate(result)[1]]
Apr 04 14:30:51 screamer4L plasmashell[13225]:                                                          ^^^^^^^^^^^^^^^^^^^^^^
Apr 04 14:30:51 screamer4L plasmashell[13225]:   File "/usr/bin/vdu_controls", line 1775, in _validate
Apr 04 14:30:51 screamer4L plasmashell[13225]:     raise ValueError(f"D-Bus error {result.errorName()}: {result.errorMessage()}")
Apr 04 14:30:51 screamer4L plasmashell[13225]: ValueError: D-Bus error org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
Apr 04 14:30:51 screamer4L plasmashell[13225]: During handling of the above exception, another exception occurred:
Apr 04 14:30:51 screamer4L plasmashell[13225]: Traceback (most recent call last):
Apr 04 14:30:51 screamer4L plasmashell[13225]:   File "/usr/bin/vdu_controls", line 3711, in run
Apr 04 14:30:51 screamer4L plasmashell[13225]:     self.task_body()
Apr 04 14:30:51 screamer4L plasmashell[13225]:   File "/usr/bin/vdu_controls", line 7386, in update_from_vdu
Apr 04 14:30:51 screamer4L plasmashell[13225]:     self.refresh_lock.release()
Apr 04 14:30:51 screamer4L plasmashell[13225]: RuntimeError: release unlocked lock
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::ScrollBarEngine(0x561f11a0f270), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::ScrollBarEngine(0x561f11a0f270), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::ScrollBarEngine(0x561f11a0f270), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::ScrollBarEngine(0x561f11a0f270), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f100b7120), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f100b7120), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f11a0ef80), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f11a0ef80), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
Apr 04 14:30:51 screamer4L python3[13225]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
Apr 04 14:30:51 screamer4L python3[13225]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f116c71e0), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f100b7120), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L python3[13225]: QObject: Cannot create children for a parent that is in a different thread.
                                           (Parent is Breeze::WidgetStateEngine(0x561f100b7120), parent's thread is QThread(0x561f113b8c00), current thread is WorkerThread(0x561f11f0de00)
Apr 04 14:30:51 screamer4L kwin_x11[2232]: kwin_platform_x11_standalone: Bogus refresh rate -202060
Apr 04 14:30:51 screamer4L drkonqi-coredump-processor[13376]: "/usr/bin/ddcutil-service" 13334 "/var/lib/systemd/coredump/core.ddcutil-service.1000.3ae2e2466be64d659e859e5c24f7b60c.13334.1712266250000000.zst"
Apr 04 14:30:51 screamer4L systemd[1]: drkonqi-coredump-processor@5-13374-0.service: Deactivated successfully.
Apr 04 14:30:51 screamer4L systemd[2043]: Started Launch DrKonqi for a systemd-coredump crash (PID 13376/UID 0).
Apr 04 14:30:51 screamer4L drkonqi-coredump-launcher[13389]: Unable to find file for pid 13334 expected at "kcrash-metadata/13334.ini"
Apr 04 14:30:51 screamer4L drkonqi-coredump-launcher[13389]: QFile::remove: Empty or null file name
Apr 04 14:30:51 screamer4L drkonqi-coredump-launcher[13389]: Nothing handled the dump :O
Apr 04 14:31:07 screamer4L kwin_x11[2232]: kwin_platform_x11_standalone: Bogus refresh rate -202060
Apr 04 14:31:07 screamer4L kwin_x11[2232]: kwin_platform_x11_standalone: Bogus refresh rate -202060
Apr 04 14:31:08 screamer4L kwin_x11[2232]: kwin_platform_x11_standalone: Bogus refresh rate -202060
Apr 04 14:32:46 screamer4L kernel: show_signal: 65 callbacks suppressed
Apr 04 14:32:46 screamer4L kernel: traps: vdu_controls[13225] general protection fault ip:7fcc3eeea54b sp:7fff85f6f630 error:0 in libQt5Core.so.5.15.13[7fcc3eead000+324000]
Apr 04 14:32:46 screamer4L systemd[1]: Started Process Core Dump (PID 13541/UID 0).
Apr 04 14:32:46 screamer4L systemd[1]: Started Pass systemd-coredump journal entries to relevant user for potential DrKonqi handling.
Apr 04 14:32:46 screamer4L systemd-coredump[13542]: Process 13225 (vdu_controls) of user 1000 dumped core.

                                                    Stack trace of thread 13225:
                                                    #0  0x00007fcc3eeea54b _ZN18QAbstractAnimation14setCurrentTimeEi (libQt5Core.so.5 + 0xea54b)
                                                    #1  0x00007fcc3eeea702 n/a (libQt5Core.so.5 + 0xea702)
                                                    #2  0x00007fcc3eee906b _ZN13QUnifiedTimer21updateAnimationTimersEx (libQt5Core.so.5 + 0xe906b)
                                                    #3  0x00007fcc3eeead1c _ZN16QAnimationDriver16advanceAnimationEx (libQt5Core.so.5 + 0xead1c)
                                                    #4  0x00007fcc3f119e9b _ZN7QObject5eventEP6QEvent (libQt5Core.so.5 + 0x319e9b)
                                                    #5  0x00007fcc39fa51ae _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5 + 0x1a51ae)
                                                    #6  0x00007fcc39b8874e n/a (QtWidgets.abi3.so + 0x38874e)
                                                    #7  0x00007fcc3f0ee1d8 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5 + 0x2ee1d8)
                                                    #8  0x00007fcc3f146509 _ZN14QTimerInfoList14activateTimersEv (libQt5Core.so.5 + 0x346509)
                                                    #9  0x00007fcc3f146db4 n/a (libQt5Core.so.5 + 0x346db4)
                                                    #10 0x00007fcc3e512710 n/a (libglib-2.0.so.0 + 0x5d710)
                                                    #11 0x00007fcc3e514358 n/a (libglib-2.0.so.0 + 0x5f358)
                                                    #12 0x00007fcc3e514a0c g_main_context_iteration (libglib-2.0.so.0 + 0x5fa0c)
                                                    #13 0x00007fcc3f147116 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x347116)
                                                    #14 0x00007fcc3f0ecc6b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2ecc6b)
                                                    #15 0x00007fcc3f0f5100 _ZN16QCoreApplication4execEv (libQt5Core.so.5 + 0x2f5100)
                                                    #16 0x00007fcc39b8472a n/a (QtWidgets.abi3.so + 0x38472a)
                                                    #17 0x00007fcc40fcec40 n/a (libpython3.11.so.1.0 + 0x1cec40)
                                                    #18 0x00007fcc40fb2def _PyObject_MakeTpCall (libpython3.11.so.1.0 + 0x1b2def)
                                                    #19 0x00007fcc40fbb348 _PyEval_EvalFrameDefault (libpython3.11.so.1.0 + 0x1bb348)
                                                    #20 0x00007fcc40fb777a n/a (libpython3.11.so.1.0 + 0x1b777a)
                                                    #21 0x00007fcc4103ab1f PyEval_EvalCode (libpython3.11.so.1.0 + 0x23ab1f)
                                                    #22 0x00007fcc41057bf3 n/a (libpython3.11.so.1.0 + 0x257bf3)
                                                    #23 0x00007fcc410541ba n/a (libpython3.11.so.1.0 + 0x2541ba)
                                                    #24 0x00007fcc4106a362 n/a (libpython3.11.so.1.0 + 0x26a362)
                                                    #25 0x00007fcc41069b44 _PyRun_SimpleFileObject (libpython3.11.so.1.0 + 0x269b44)
                                                    #26 0x00007fcc410697f4 _PyRun_AnyFileObject (libpython3.11.so.1.0 + 0x2697f4)
                                                    #27 0x00007fcc41063014 Py_RunMain (libpython3.11.so.1.0 + 0x263014)
                                                    #28 0x00007fcc4102ae57 Py_BytesMain (libpython3.11.so.1.0 + 0x22ae57)
                                                    #29 0x00007fcc40a2a1f0 __libc_start_call_main (libc.so.6 + 0x2a1f0)
                                                    #30 0x00007fcc40a2a2b9 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a2b9)
                                                    #31 0x0000561f0e218085 _start (python3.11 + 0x1085)

                                                    Stack trace of thread 13236:
                                                    #0  0x00007fcc40b0578f __poll (libc.so.6 + 0x10578f)
                                                    #1  0x00007fcc3b5868aa n/a (libxcb.so.1 + 0xe8aa)
                                                    #2  0x00007fcc3b58841c xcb_wait_for_event (libxcb.so.1 + 0x1041c)
                                                    #3  0x00007fcc396f84a0 n/a (libQt5XcbQpa.so.5 + 0x744a0)
                                                    #4  0x00007fcc3ef0433d n/a (libQt5Core.so.5 + 0x10433d)
                                                    #5  0x00007fcc40a92bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #6  0x00007fcc40b1400c __clone3 (libc.so.6 + 0x11400c)

                                                    Stack trace of thread 13235:
                                                    #0  0x00007fcc40b0578f __poll (libc.so.6 + 0x10578f)
                                                    #1  0x00007fcc3e5142ff n/a (libglib-2.0.so.0 + 0x5f2ff)
                                                    #2  0x00007fcc3e514a0c g_main_context_iteration (libglib-2.0.so.0 + 0x5fa0c)
                                                    #3  0x00007fcc3f147116 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x347116)
                                                    #4  0x00007fcc3f0ecc6b _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2ecc6b)
                                                    #5  0x00007fcc3ef0310e _ZN7QThread4execEv (libQt5Core.so.5 + 0x10310e)
                                                    #6  0x00007fcc3b73e517 n/a (libQt5DBus.so.5 + 0x1a517)
                                                    #7  0x00007fcc3ef0433d n/a (libQt5Core.so.5 + 0x10433d)
                                                    #8  0x00007fcc40a92bb2 start_thread (libc.so.6 + 0x92bb2)
                                                    #9  0x00007fcc40b1400c __clone3 (libc.so.6 + 0x11400c)
                                                    ELF object binary architecture: AMD x86-64
Apr 04 14:32:46 screamer4L systemd[1]: systemd-coredump@6-13541-0.service: Deactivated successfully.
Apr 04 14:32:46 screamer4L kded6[2231]: Service  ":1.265" unregistered
Apr 04 14:32:46 screamer4L systemd[2043]: app-vdu_controls-ac3db82dab9e43c1ba5389663e37701e.scope: Consumed 2.563s CPU time.
Apr 04 14:32:46 screamer4L drkonqi-coredump-processor[13543]: "/usr/bin/python3.11" 13225 "/var/lib/systemd/coredump/core.vdu_controls.1000.3ae2e2466be64d659e859e5c24f7b60c.13225.1712266366000000.zst"
Apr 04 14:32:46 screamer4L systemd[1]: drkonqi-coredump-processor@6-13541-0.service: Deactivated successfully.
Apr 04 14:32:46 screamer4L systemd[2043]: Started Launch DrKonqi for a systemd-coredump crash (PID 13543/UID 0).
Apr 04 14:32:46 screamer4L drkonqi-coredump-launcher[13569]: Unable to find file for pid 13225 expected at "kcrash-metadata/13225.ini"
Apr 04 14:32:46 screamer4L drkonqi-coredump-launcher[13569]: QFile::remove: Empty or null file name
Apr 04 14:32:46 screamer4L drkonqi-coredump-launcher[13569]: Nothing handled the dump :O
digitaltrails commented 5 months ago

Looks like an assertion failed inside libddcutil:

ddcutil-service: ddc_vcp_version.c:218: get_vcp_version_by_dref: Assertion `dref->flags & DREF_DDC_COMMUNICATION_WORKING' failed.

I think it might not be worthwhile trying to track this down. The ddcutil is quite old. I'm not sure why Tumbleweed is so far behind. I've asked, but got no reply. Perhaps the maintainer is not around. Or they may be worried about the problems more recent versions have caused for KDE6/powerdevil, I think those have been addressed in ddcutil 2.1.5.

If you're not interested in the 30 second auto detection of changes, perhaps switch off dbus signals in vdu_controls. That should reduce the odds on locking issues. The latest vdu_controls should hopefully remedy the known locking issues. I was about to release that, but I'll hang back until I'm happy with the state of the one-byte/two-byte saga.

digitaltrails commented 5 months ago

Should you wish to see if ddcutil/libddcutil 2.1.5 makes a difference, I can supply instructions. But no pressure, only if you have the time and are keen. Otherwise we can pick this up again when tumbleweed updates.

Extent421 commented 5 months ago

It's a low prio fix for me since the non service mode works perfectly, but I certainly am up for testing whatever you want.

digitaltrails commented 5 months ago

It's a low prio fix for me since the non service mode works perfectly, but I certainly am up for testing whatever you want.

Thanks. I'm also happy to wait for Tumbleweed to move to a newer ddcutil/libddcutil, that will give the 2.1.5 changes a chance to mature.

digitaltrails commented 3 months ago

I had the same error occur yesterday:

get_vcp_version_by_dref: Assertion `dref->flags & DREF_DDC_COMMUNICATION_WORKING' failed.

The cause may not be the same, but the error occurred inside a poll-for-changes loop, which also appears to the the case in your stack-trace. Polling is not essential, it's only needed to automatically pick up hot-plugging of VDUs.

It might be worth trying again on your system after first disabling dbus signals.

  1. First reconfigure vdu_controls so that it doesn't enable dbus-signals and save the config - see attached image for the required setting values.
  2. Then force a restart of ddcutil-service by killall ddcutil-service.

image