https://bugs.kde.org/show_bug.cgi?id=528125

            Bug ID: 528125
           Summary: crash when trying to use image editor
    Classification: Applications
           Product: digikam
      Version First 9.1.0
       Reported In:
          Platform: macOS (DMG)
                OS: Other
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: ImageEditor-Canvas
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Product: digikam
Component: General (or ImageEditor-Core)
Platform: macOS
Severity: crash

Summary:
Crash (EXC_BREAKPOINT) in QCursor/QImage::toCGImage on macOS 27.2 when 
Image Editor opens and when a progress dialog is shown at startup

Version: digiKam 9.1.0 (official macOS PKG, /Applications/digiKam.org/)
OS: macOS 27.2 (26B123), Apple M4 iMac (Mac16,3), native arm64
Qt: bundled Qt 6 (QtWebEngineCore 6.11)

DESCRIPTION
digiKam crashes immediately on macOS 27.2 whenever it sets a custom 
cursor from a QImage. I have seen it in two situations:

1. Opening the Image Editor (any image, every time).
2. At application startup, while the database initialization progress 
   dialog is being shown.

STEPS TO REPRODUCE
Case 1: Start digiKam, double-click any image to open the Image Editor.
Case 2: Start digiKam so that the database initialization dialog appears.

OBSERVED RESULT
Crash with EXC_BREAKPOINT (SIGTRAP), "pointer authentication trap DA", 
in the main thread. Crash report attached (2 reports).

EXPECTED RESULT
Image Editor opens / progress dialog shows without crashing.

BACKTRACE (top frames, identical in both crashes)
CoreFoundation  __CF_IS_OBJC
CoreFoundation  CFGetTypeID
CoreGraphics    CGColorSpaceGetType
CoreGraphics    valid_image_colorspace
CoreGraphics    verify_image_parameters
CoreGraphics    CGImageCreate
QtGui           QImage::toCGImage() const
libqcocoa.dylib (cursor creation)
QtGui           QWindowPrivate::applyCursor()
QtGui           QWindowPrivate::setCursor(QCursor const*)
QtWidgets       QWidget::setCursor / QWidgetPrivate::show_sys

Case 1 continues: Digikam::EditorWindow::signalNoCurrentItem() <- 
  slotPrepareToLoad() <- Canvas::load()
Case 2 continues: Digikam::ScanController::slotShowProgressDialog() <- 
  ScanController::databaseInitialization() <- AlbumManager::setDatabase()

ANALYSIS
The crash is inside Qt's Cocoa platform plugin when it converts the 
cursor image to a CGImage; CGColorSpaceGetType receives an invalid 
colorspace object. This looks like an incompatibility between the Qt 
version bundled with 9.1.0 and macOS 27.2, rather than a digiKam logic 
bug, but digiKam triggers it in several places via setCursor().

ADDITIONAL INFO
Not tested with other digiKam versions or with a newer nightly build.

DESCRIPTION


STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System (available in the Info Center app, or by running `kinfo` in a
terminal window):
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to