musescore / musescore/MuseScore
[Incorrect file picker on some Linux distros] Pressing Escape to cancel Export dialog dumps core, synchronous delete in ExportDialog.qml cancel handler
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Issue type
Crash or freeze
Description with steps to reproduce
- open any score
- file > export > export
- close file dialog with Esc
- Aborted (core dumped)
Expected behaviour:
Dialog closes
Actual behaviour:
Process aborts
Supporting files, videos and screenshots
10:48:48.493 | DEBUG | main_thread | ShortcutsController::activate | Esc
10:48:48.493 | INFO | main_thread | ActionsDispatcher::doDispatch | try call action: action://cancel
10:48:48.493 | INFO | main_thread | ActionsDispatcher::doDispatch | try call action: nav-escape
10:48:48.497 | ERROR | main_thread | Qt | Object 0x55e921779430 destroyed while one of its QML signal handlers is in progress.
Most likely the object was deleted synchronously (use QObject::deleteLater() instead), or the application is running a nested event loop.
This behavior is NOT supported!
qrc:/qt/qml/MuseScore/Project/ExportDialog.qml:157: function() { [native code] }
/tmp/.mount_MuseScXyZbAr/AppRun: line 26: … Aborted (core dumped) "${APPDIR}/bin/mscore4portable" "$@"
In which versions of MuseScore Studio is this issue present?
4.7.3
Regression
Yes, this used to work in a previous version of MuseScore 4.x
Actually not sure if regression, though pretty sure I've closed this dialog using Esc in the past. Good luck, and thanks for the software :)
Operating system
CachyOs Linux, x86_64
Additional context
Reproducible with the AppImage's own bundled Qt, so this appears to be a MuseScore logic bug rather than a system-Qt-version regression (distinct from the dialog-fails-to-open reports #33289 / #33341, which involve newer system Qt and a null export model).
Clicking "Cancel" in "Look in..." file picker opened after Export works.
Platform information
- MuseScore version: 4.7.3, build 260608135 (official AppImage)
- OS: CachyOS Linux (Arch-based), x86_64
- Window manager: i3 (X11)
- Qt: bundled with the AppImage
Checklist
- This report follows the guidelines for reporting bugs and issues
- I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
- I have attached all requested files and information to this report
- I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with qrc:/qt/qml/MuseScore/Project/ExportDialog.qml around line 157, then reproduce the Export dialog cancellation with Esc. Trace the cancel handler and the reported synchronous object destruction, and verify that the dialog closes without aborting when the relevant test or reproduction is run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100