8000 qt6 inconsistent crash when opening viewer with plain text file · Issue #2265 · doublecmd/doublecmd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

qt6 inconsistent crash when opening viewer with plain text file #2265

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
xBZZZZ opened this issue Apr 12, 2025 · 0 comments
Open

qt6 inconsistent crash when opening viewer with plain text file #2265

xBZZZZ opened this issue Apr 12, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@xBZZZZ
Copy link
Contributor
xBZZZZ commented Apr 12, 2025
versions
qt6.9.0 (25986746947798e1a22d0830d3bcb11a55fcd3ae)
fpc3.3.1 (f672d4cccf83d80351f5353a80270b55b6d74eb4)
lazarus4.9.9 (2c40863c96f745f1a546f67663bfdd6602b8e2d7)
doublecmd1.2.0 alpha (0f43599f75d21722feff3c73df456fb12d5b79d0)
doublecmd sometimes crashes when I view (F3) plain text file (no syntax highlighting)
I see this in terminal when doublecmd crashes (qt custom debug build):
QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?
ASSERT: "s" in file /home/asd/s/qt/qtbase/src/gui/painting/qpaintengine_raster.cpp, line 587
I can only crash doublecmd in host, not qemu virtual machine.
    gdb backtrace of breakpoint at qbackingstore.cpp:178
    #0  QBackingStore::endPaint (this=0x2f224d0) at /home/asd/s/qt/qtbase/src/gui/painting/qbackingstore.cpp:178
    #1  0x00007ffff6bee5ea in QWidgetRepaintManager::paintAndFlush (this=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:910
    #2  0x00007ffff6becd5d in QWidgetRepaintManager::sync (this=0x2eeb7d0, exposedWidget=0x2f5a350, exposedRegion=...) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:632
    #3  0x00007ffff6ba8c38 in QWidgetPrivate::syncBackingStore (this=0x2fb57a0, region=...) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:1780
    #4  0x00007ffff6bfcc88 in QWidgetWindow::handleExposeEvent (this=0x2f1e930, event=0x7fffffffa560) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetwindow.cpp:1090
    #5  0x00007ffff6bf943a in QWidgetWindow::event (this=0x2f1e930, event=0x7fffffffa560) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetwindow.cpp:339
    #6  0x00007ffff6b26cf2 in QApplicationPrivate::notify_helper (this=0x19965d0, receiver=0x2f1e930, e=0x7fffffffa560) at /home/asd/s/qt/qtbase/src/widgets/kernel/qapplication.cpp:3301
    #7  0x00007ffff6b26ad6 in QApplication::notify (this=0x19ad1f0, receiver=0x2f1e930, e=0x7fffffffa560) at /home/asd/s/qt/qtbase/src/widgets/kernel/qapplication.cpp:3251
    #8  0x00007ffff4f682b0 in QCoreApplication::notifyInternal2 (receiver=0x2f1e930, event=0x7fffffffa560) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
    #9  0x00007ffff4f68ecb in QCoreApplication::sendSpontaneousEvent (receiver=0x2f1e930, event=0x7fffffffa560) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
    #10 0x00007ffff5c64ef5 in QGuiApplicationPrivate::processExposeEvent (e=0x3029030) at /home/asd/s/qt/qtbase/src/gui/kernel/qguiapplication.cpp:3487
    #11 0x00007ffff5c5f72c in QGuiApplicationPrivate::processWindowSystemEvent (e=0x3029030) at /home/asd/s/qt/qtbase/src/gui/kernel/qguiapplication.cpp:2281
    #12 0x00007ffff5d2907a in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/asd/s/qt/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    #13 0x00007ffff178c36c in xcbSourceDispatch (source=0x1a0cca0) at /home/asd/s/qt/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57
    #14 0x00007ffff78a7638 in ??? () at /lib64/libglib-2.0.so.0
    #15 0x00007ffff78a9398 in ??? () at /lib64/libglib-2.0.so.0
    #16 0x00007ffff78a9bac in g_main_context_iteration () at /lib64/libglib-2.0.so.0
    #17 0x00007ffff5410136 in QEventDispatcherGlib::processEvents (this=0x1a09580, flags=...) at /home/asd/s/qt/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #18 0x00007ffff178c5ca in QXcbGlibEventDispatcher::processEvents (this=0x1a09580, flags=...) at /home/asd/s/qt/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96
    #19 0x00007ffff4f6893b in QCoreApplication::processEvents (flags=...) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1341
    #20 0x00007ffff7cea1c1 in QCoreApplication_processEvents (flags=1) at /home/asd/s/lazarus/lcl/interfaces/qt6/cbindings/src/qcoreapplication_c.cpp:107
    #21 0x00000000008161a7 in Show (this=0x300ad10, AWidget=0x2eeace0) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtcaret.pas:397
    #22 0x0000000000815786 in ShowCaret (Widget=0x2eeace0) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtcaret.pas:208
    #23 0x00000000006f4d63 in ShowCaret (this=0x19af9c0, hWnd=49196256) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtwinapi.inc:6471
    #24 0x000000000065188e in ShowCaret (hWnd=49196256) at /home/asd/s/lazarus/lcl/include/winapi.inc:1014
    #25 0x0000000000ca869f in OutText (this=0x301fe20, x=4, y=0, sText=..., StartPos=0, DataLength=1) at /home/asd/s/doublecmd/components/viewer/viewercontrol.pas:2156
    #26 0x0000000000ca75ef in WriteText (this=0x301fe20) at /home/asd/s/doublecmd/components/viewer/viewercontrol.pas:1833
    #27 0x0000000000ca3b09 in Paint (this=0x301fe20) at /home/asd/s/doublecmd/components/viewer/viewercontrol.pas:708
    #28 0x000000000072a096 in PaintWindow (this=0x301fe20, DC=140737018628528) at /home/asd/s/lazarus/lcl/include/customcontrol.inc:123
    #29 0x000000000070f657 in PaintHandler (this=0x301fe20, TheMessage=...) at /home/asd/s/lazarus/lcl/include/wincontrol.inc:4925
    #30 0x0000000000713fdd in WMPaint (this=0x301fe20, Msg=...) at /home/asd/s/lazarus/lcl/include/wincontrol.inc:6870
    #31 0x0000000000729fc3 in WMPaint (this=0x301fe20, Message=...) at /home/asd/s/lazarus/lcl/include/customcontrol.inc:103
    #32 0x0000000000441018 in Dispatch (this=0x301fe20, message=<error reading variable: Attempt to dereference a generic pointer.>) at /home/asd/s/fpc/rtl/inc/objpas.inc:768
    #33 0x000000000071f0e3 in WndProc (this=0x301fe20, TheMessage=...) at /home/asd/s/lazarus/lcl/include/control.inc:2299
    #34 0x0000000000710cbd in WndProc (this=0x301fe20, Message=...) at /home/asd/s/lazarus/lcl/include/wincontrol.inc:5474
    #35 0x000000000081faad in SlotPaint (this=0x2efa1c0, Sender=0x2f29d20, Event=0x7fffffffb8f0) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtwidgets.pas:4355
    #36 0x000000000081c491 in EventFilter (this=0x2efa1c0, Sender=0x2f29d20, Event=0x7fffffffb8f0) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtwidgets.pas:2826
    #37 0x00000000008406f1 in EventFilter (this=0x2efa1c0, Sender=0x2f29d20, Event=0x7fffffffb8f0) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtwidgets.pas:17555
    #38 0x0000000000841b8e in ViewPortEventFilter (this=0x2eeace0, event=0x7fffffffb8f0, retval=0x7fffffffb4a7) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtwidgets.pas:18083
    #39 0x00007ffff7da2d16 in QLCLAbstractScrollArea::viewportEvent (this=0x2efaaf0, event=0x7fffffffb8f0) at /home/asd/s/lazarus/lcl/interfaces/qt6/cbindings/src/qlclabstractscrollarea.h:40
    #40 0x00007ffff6cd4ffb in QAbstractScrollAreaPrivate::viewportEvent (this=0x2fb91a0, event=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/widgets/widgets/qabstractscrollarea_p.h:74
    #41 0x00007ffff6cd50f4 in QAbstractScrollAreaFilter::eventFilter (this=0x2efa9c0, o=0x2f29d20, e=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/widgets/widgets/qabstractscrollarea_p.h:85
    #42 0x00007ffff4f687a2 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x2f29d20, event=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1243
    #43 0x00007ffff6b26cc6 in QApplicationPrivate::notify_helper (this=0x19965d0, receiver=0x2f29d20, e=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qapplication.cpp:3295
    #44 0x00007ffff6b26aae in QApplication::notify (this=0x19ad1f0, receiver=0x2f29d20, e=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qapplication.cpp:3247
    #45 0x00007ffff4f682b0 in QCoreApplication::notifyInternal2 (receiver=0x2f29d20, event=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
    #46 0x00007ffff4f68ecb in QCoreApplication::sendSpontaneousEvent (receiver=0x2f29d20, event=0x7fffffffb8f0) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
    #47 0x00007ffff6bb4d41 in QWidgetPrivate::sendPaintEvent (this=0x2ef6080, toBePainted=...) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5664
    #48 0x00007ffff6bb4896 in QWidgetPrivate::drawWidget (this=0x2ef6080, pdev=0x21ea310, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5614
    #49 0x00007ffff6bb5770 in QWidgetPrivate::paintSiblingsRecursive (this=0x2fb91a0, pdev=0x21ea310, siblings=..., index=1, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5793
    #50 0x00007ffff6bb4cb7 in QWidgetPrivate::drawWidget (this=0x2fb91a0, pdev=0x21ea310, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5655
    #51 0x00007ffff6bb5770 in QWidgetPrivate::paintSiblingsRecursive (this=0x30134a0, pdev=0x21ea310, siblings=..., index=0, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5793
    #52 0x00007ffff6bb4cb7 in QWidgetPrivate::drawWidget (this=0x30134a0, pdev=0x21ea310, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5655
    #53 0x00007ffff6bb5770 in QWidgetPrivate::paintSiblingsRecursive (this=0x2154700, pdev=0x21ea310, siblings=..., index=1, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5793
    #54 0x00007ffff6bb4cb7 in QWidgetPrivate::drawWidget (this=0x2154700, pdev=0x21ea310, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5655
    #55 0x00007ffff6bb5770 in QWidgetPrivate::paintSiblingsRecursive (this=0x2f4e3e0, pdev=0x21ea310, siblings=..., index=0, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5793
    #56 0x00007ffff6bb4cb7 in QWidgetPrivate::drawWidget (this=0x2f4e3e0, pdev=0x21ea310, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5655
    #57 0x00007ffff6bb5770 in QWidgetPrivate::paintSiblingsRecursive (this=0x2fb57a0, pdev=0x21ea310, siblings=..., index=0, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5793
    #58 0x00007ffff6bb5615 in QWidgetPrivate::paintSiblingsRecursive (this=0x2fb57a0, pdev=0x21ea310, siblings=..., index=1, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5779
    #59 0x00007ffff6bb4cb7 in QWidgetPrivate::drawWidget (this=0x2fb57a0, pdev=0x21ea310, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:5655
    #60 0x00007ffff6bee5d3 in QWidgetRepaintManager::paintAndFlush (this=0x2eeb7d0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:907
    #61 0x00007ffff6becd5d in QWidgetRepaintManager::sync (this=0x2eeb7d0, exposedWidget=0x2f5a350, exposedRegion=...) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetrepaintmanager.cpp:632
    #62 0x00007ffff6ba8c38 in QWidgetPrivate::syncBackingStore (this=0x2fb57a0, region=...) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidget.cpp:1780
    #63 0x00007ffff6bfcc88 in QWidgetWindow::handleExposeEvent (this=0x2f1e930, event=0x7fffffffcef0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetwindow.cpp:1090
    #64 0x00007ffff6bf943a in QWidgetWindow::event (this=0x2f1e930, event=0x7fffffffcef0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qwidgetwindow.cpp:339
    #65 0x00007ffff6b26cf2 in QApplicationPrivate::notify_helper (this=0x19965d0, receiver=0x2f1e930, e=0x7fffffffcef0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qapplication.cpp:3301
    #66 0x00007ffff6b26ad6 in QApplication::notify (this=0x19ad1f0, receiver=0x2f1e930, e=0x7fffffffcef0) at /home/asd/s/qt/qtbase/src/widgets/kernel/qapplication.cpp:3251
    #67 0x00007ffff4f682b0 in QCoreApplication::notifyInternal2 (receiver=0x2f1e930, event=0x7fffffffcef0) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
    #68 0x00007ffff4f68ecb in QCoreApplication::sendSpontaneousEvent (receiver=0x2f1e930, event=0x7fffffffcef0) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
    #69 0x00007ffff5c64ef5 in QGuiApplicationPrivate::processExposeEvent (e=0x2181c10) at /home/asd/s/qt/qtbase/src/gui/kernel/qguiapplication.cpp:3487
    #70 0x00007ffff5c5f72c in QGuiApplicationPrivate::processWindowSystemEvent (e=0x2181c10) at /home/asd/s/qt/qtbase/src/gui/kernel/qguiapplication.cpp:2281
    #71 0x00007ffff5d2907a in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/asd/s/qt/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
    #72 0x00007ffff178c36c in xcbSourceDispatch (source=0x1a0cca0) at /home/asd/s/qt/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57
    #73 0x00007ffff78a7638 in ??? () at /lib64/libglib-2.0.so.0
    #74 0x00007ffff78a9398 in ??? () at /lib64/libglib-2.0.so.0
    #75 0x00007ffff78a9bac in g_main_context_iteration () at /lib64/libglib-2.0.so.0
    #76 0x00007ffff5410136 in QEventDispatcherGlib::processEvents (this=0x1a09580, flags=...) at /home/asd/s/qt/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
    #77 0x00007ffff178c5ca in QXcbGlibEventDispatcher::processEvents (this=0x1a09580, flags=...) at /home/asd/s/qt/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96
    #78 0x00007ffff4f6893b in QCoreApplication::processEvents (flags=...) at /home/asd/s/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:1341
    #79 0x00007ffff7cea1c1 in QCoreApplication_processEvents (flags=0) at /home/asd/s/lazarus/lcl/interfaces/qt6/cbindings/src/qcoreapplication_c.cpp:107
    #80 0x00000000006e1c67 in AppProcessMessages (this=0x19af9c0) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtobject.inc:335
    #81 0x000000000051806d in HandleMessage (this=0x19aeaf0) at /home/asd/s/lazarus/lcl/include/application.inc:1309
    #82 0x000000000051872d in RunLoop (this=0x19aeaf0) at /home/asd/s/lazarus/lcl/include/application.inc:1452
    #83 0x00000000006e1c25 in AppRun (this=0x19af9c0, ALoop=...) at /home/asd/s/lazarus/lcl/interfaces/qt6/qtobject.inc:308
    #84 0x00000000005186cc in Run (this=0x19aeaf0) at /home/asd/s/lazarus/lcl/include/application.inc:1440
    #85 0x00000000004281d3 in $main () at /home/asd/s/doublecmd/src/doublecmd.lpr:252
    looks like it's not safe to call LCLIntf.ShowCaret inside paint event handler because it indirectly calls QCoreApplication::processEvents which may cause another paint event
    @xBZZZZ xBZZZZ added the bug Something isn't working label Apr 12, 2025
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    bug Something isn't working
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant
    0