Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-121940

[DocumentViewer] The app crashes when clicking print button after opening several various files

    XMLWordPrintable

Details

    • Linux/Wayland, macOS
    • 1857297f6 (dev), a19aed3da (6.7)

    Description

      The issue looks similar to https://bugreports.qt.io/browse/QTBUG-118671 and https://bugreports.qt.io/browse/QTBUG-118754 , but the crash log is different and these two should be fixed anyway, thus reporting this one. 

       

      MacOS 14.3 / Linux Ubuntu 22.04

      Qt Creator 12.0.1

       

      Steps to reproduce:

      1. Launch the document viewer example.
      2. Open any text file
      3. Open any pdf file
      4. Click the Print button in the toolbar

      Expected: Print dialog should appear.

      Actual: The app crashes.

      Reproducibility:  100% 

      Crashed Thread:        0  Dispatch queue: com.apple.main-threadException Type:        EXC_BAD_ACCESS (SIGSEGV)
      Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000423
      Exception Codes:       0x0000000000000001, 0x0000000000000423Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
      Terminating Process:   exc handler [41171]VM Region Info: 0x423 is not in any region.  Bytes before following region: 140737486998493
            REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
            UNUSED SPACE AT START
      --->  
            shared memory            7fffffeb5000-7fffffeb6000 [    4K] r-x/r-x SM=SHM  Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
      0   QtWidgets                                0x11144fdb8 QPlainTextEdit::document() const + 8 (qplaintextedit.cpp:1311)
      1   libtxtviewer.dylib                       0x1204d6cc4 QPlainTextEdit::toPlainText() const + 36 (qplaintextedit.h:117)
      2   libtxtviewer.dylib                       0x1204d6d50 TxtViewer::hasContent() const + 32 (txtviewer.cpp:142)
      3   libabstractviewer.dylib                  0x110050a33 AbstractViewer::print() + 147 (abstractviewer.cpp:204)
      4   documentviewer                           0x10ffa40f4 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (AbstractViewer::*)()>::call(void (AbstractViewer::*)(), AbstractViewer*, void**) + 132 (qobjectdefs_impl.h:145)
      5   documentviewer                           0x10ffa402d void QtPrivate::FunctionPointer<void (AbstractViewer::*)()>::call<QtPrivate::List<>, void>(void (AbstractViewer::*)(), AbstractViewer*, void**) + 77 (qobjectdefs_impl.h:182)
      6   documentviewer                           0x10ffa3f45 QtPrivate::QCallableObject<void (AbstractViewer::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) + 165 (qobjectdefs_impl.h:553)
      7   QtCore                                   0x11249bded QtPrivate::QSlotObjectBase::call(QObject*, void**) + 21 (qobjectdefs_impl.h:469) [inlined]
      8   QtCore                                   0x11249bded void doActivate<false>(QObject*, int, void**) + 829 (qobject.cpp:4059)
      9   QtGui                                    0x110a4189d QAction::activate(QAction::ActionEvent) + 397
      10  QtWidgets                                0x1113608f3 QAbstractButtonPrivate::click() + 147 (qabstractbutton.cpp:364)
      11  QtWidgets                                0x111361819 QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 185 (qabstractbutton.cpp:976)
      12  QtWidgets                                0x111476daf QToolButton::mouseReleaseEvent(QMouseEvent*) + 15 (qtoolbutton.cpp:587)
      13  QtWidgets                                0x1112919da QWidget::event(QEvent*) + 538 (qwidget.cpp:8983)
      14  QtWidgets                                0x1114774e4 QToolButton::event(QEvent*) + 228 (qtoolbutton.cpp:996)
      15  QtWidgets                                0x111240a77 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 247 (qapplication.cpp:3298)
      16  QtWidgets                                0x111242d4b QApplication::notify(QObject*, QEvent*) + 5819 (qapplication.cpp:2776)
      17  QtCore                                   0x11244c3b4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164 (qcoreapplication.cpp:1134)
      18  QtWidgets                                0x111241035 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 885 (qapplication.cpp:2360)
      19  QtWidgets                                0x1112a8f06 QWidgetWindow::handleMouseEvent(QMouseEvent*) + 1718 (qwidgetwindow.cpp:638)
      20  QtWidgets                                0x1112a7c70 QWidgetWindow::event(QEvent*) + 112 (qwidgetwindow.cpp:252)
      21  QtWidgets                                0x111240a77 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 247 (qapplication.cpp:3298)
      22  QtWidgets                                0x111241882 QApplication::notify(QObject*, QEvent*) + 498
      23  QtCore                                   0x11244c3b4 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164 (qcoreapplication.cpp:1134)
      24  QtGui                                    0x1106c9553 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2227 (qguiapplication.cpp:2326)
      25  QtGui                                    0x110728a3c QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 444 (qwindowsysteminterface.cpp:1114)
      26  libqcocoa.dylib                          0x1103d882f QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 415 (qcocoaeventdispatcher.mm:922)
      27  CoreFoundation                        0x7ff8149d9ff7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
      28  CoreFoundation                        0x7ff8149d9f99 __CFRunLoopDoSource0 + 157
      29  CoreFoundation                        0x7ff8149d9d64 __CFRunLoopDoSources0 + 215
      30  CoreFoundation                        0x7ff8149d89e1 __CFRunLoopRun + 919
      31  CoreFoundation                        0x7ff8149d8082 CFRunLoopRunSpecific + 557
      32  HIToolbox                             0x7ff81f2ca9d9 RunCurrentEventLoopInMode + 292
      33  HIToolbox                             0x7ff81f2ca616 ReceiveNextEventCommon + 201
      34  HIToolbox                             0x7ff81f2ca531 _BlockUntilNextEventMatchingListInModeWithFilter + 66
      35  AppKit                                0x7ff817fe8c39 _DPSNextEvent + 880
      36  AppKit                                0x7ff8188f2804 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1304
      37  AppKit                                0x7ff817fda1b2 -[NSApplication run] + 603
      38  libqcocoa.dylib                          0x1103d65ad QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2797 (qcocoaeventdispatcher.mm:406)
      39  QtCore                                   0x112455e06 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 30 (qeventloop.cpp:100) [inlined]
      40  QtCore                                   0x112455e06 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 486 (qeventloop.cpp:182)
      41  QtCore                                   0x11244c977 QCoreApplication::exec() + 119 (qcoreapplication.cpp:1478)
      42  documentviewer                           0x10ff9911f main + 1135 (main.cpp:35)
      43  dyld                                  0x7ff814573386 start + 1942 

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              axelspoerl Axel Spoerl
              lkos Łukasz Kosiorowski
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes