Skip to content

[udisks] Don't add/remove devices in slotMediaChanged

Nicolas Fella requested to merge work/nico/drive-crash into master

We get notified when devices are added via InterfacesAdded/InterfacesRemoved.

When ejecting from a CD drive we first get slotMediaChanged, where we remove the device from m_deviceCache. Then we get InterfacesRemoved for org.freedesktop.UDisks2.Filesystem. Because the org.freedesktop.UDisks2.Block interface is still there we remove and immediately readd the device. Then in DeviceManagerPrivate::_k_deviceAdded we call createBackendObject, which fails to create a backend because the uid is not in m_deviceCache any more. Then we assert because the backend is empty.

CCBUG: 464149

SENTRY: KIO-6S

SENTRY: KONTACT-FM

SENTRY: KDED-P

SENTRY: PLASMA-WORKSPACE-SMH

SENTRY: ARK-5T

SENTRY: DOLPHIN-218

Merge request reports

Loading