Skip to content

Crash on macOS 27 when displaying QMessageBox with Qt/PySide6 #94

Description

@Krissz789

Crash on macOS 27 when displaying QMessageBox with Qt/PySide6

Environment

  • macOS 27.0 (build 26A428)
  • Apple Silicon (ARM64)
  • Python 3.12.14
  • PySide6 6.11.2
  • Qt 6.11.2
  • DashcamCleaner running from the current Python virtual environment
  • FFmpeg 9.0.1

Problem
After upgrading the Mac to macOS 27, DashcamCleaner crashes with a native SIGTRAP when a modal QMessageBox is displayed using QMessageBox.exec().

The crash does not produce a Python traceback. The macOS crash report shows the following relevant call chain:

NSAlert runModal
→ libqcocoa
→ QtWidgets QDialog::exec()
→ QMessageBox
→ Python

The crash report also contains:

CoreUI -[CUINamedVectorGlyph _rasterizeImageUsingScaleFactor...]

and:

Foundation -[NSCalendarDate initWithCoder:]

Important observation
The actual video processing works correctly.

FFmpeg successfully creates the processed video, but the application then crashes when DashcamCleaner tries to display the completion message box.

For example, the terminal output showed that FFmpeg completed successfully and the output file redacted.mp4 was created, followed immediately by:

zsh: trace trap python dashcamcleaner/main.py

Workaround
Replacing the modal message box in blur_wrapper_finished():

msg_box = QMessageBox()
...
msg_box.exec()

with a normal status message, for example:
print(message)
self.ui.label_status.setText(message)

prevents the crash.

The same issue was also found in the setup_blurrer() function, where the successful model-loading message used:

msg_box.exec()

Replacing that modal dialog with a simple print() also restored normal operation of the model-selection dropdown.

Result
After replacing these modal QMessageBox.exec() calls, DashcamCleaner works normally again on macOS 27, including:

  • starting the application
  • selecting different YOLO models
  • processing the video
  • running FFmpeg
  • creating the redacted output video

This appears to be related to the interaction between Qt/PySide6’s native Cocoa dialog handling and macOS 27, rather than to the video-processing or FFmpeg code itself.

I hope this helps identify the compatibility issue for other macOS 27 users.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions