Application: itinerary (22.12.3) Qt Version: 5.15.8 Frameworks Version: 5.103.0 Operating System: Linux 6.2.2-arch1-1 x86_64 Windowing System: X11 Distribution: "Arch Linux" DrKonqi: 5.27.2 [KCrashBackend] -- Information about the crash: The application crashes when trying to import on online PDF ticket from Deutsche Bahn. This is with the desktop version of Kde Itinerary. Interestingly it works on the mobile version (22.04.3). The crash can be reproduced every time. -- Backtrace: Application: KDE-Itinerary (itinerary), signal: Aborted Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} [KCrash Handler] #6 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #7 0x00007fd9650a0953 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #8 0x00007fd965051ea8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #9 0x00007fd96503b53d in __GI_abort () at abort.c:79 #10 0x00007fd9652d30e2 in std::__glibcxx_assert_fail (file=<optimized out>, line=<optimized out>, function=<optimized out>, condition=<optimized out>) at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/debug.cc:60 #11 0x00007fd964cc6836 in ?? () from /usr/lib/libZXing.so.3 #12 0x00007fd964cccdb7 in ZXing::Aztec::Detect(ZXing::BitMatrix const&, bool, bool, int) () from /usr/lib/libZXing.so.3 #13 0x00007fd964ccdae4 in ZXing::Aztec::Detect(ZXing::BitMatrix const&, bool, bool) () from /usr/lib/libZXing.so.3 #14 0x00007fd964ccdc2b in ZXing::Aztec::Reader::decode(ZXing::BinaryBitmap const&) const () from /usr/lib/libZXing.so.3 #15 0x00007fd964cc4cfd in ZXing::MultiFormatReader::read(ZXing::BinaryBitmap const&) const () from /usr/lib/libZXing.so.3 #16 0x00007fd964cc510d in ZXing::ReadBarcodes(ZXing::ImageView const&, ZXing::DecodeHints const&) () from /usr/lib/libZXing.so.3 #17 0x00007fd964cc5ed8 in ZXing::ReadBarcode(ZXing::ImageView const&, ZXing::DecodeHints const&) () from /usr/lib/libZXing.so.3 #18 0x00007fd967ad206c in zxingReadBarcode (img=..., hints=...) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/barcodedecoder.cpp:214 #19 0x00007fd967ad2fb8 in KItinerary::BarcodeDecoder::decodeZxing (this=<optimized out>, img=..., format=..., result=...) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/barcodedecoder.cpp:233 #20 0x00007fd967ad3279 in KItinerary::BarcodeDecoder::decodeIfNeeded (this=<optimized out>, img=..., hint=..., result=...) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/barcodedecoder.cpp:299 #21 0x00007fd967ad3329 in KItinerary::BarcodeDecoder::decodeBinary (this=0x5635fd8f5d80, img=..., hint=...) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/barcodedecoder.cpp:56 #22 0x00007fd967ab52ae in KItinerary::BarcodeDocumentProcessorHelper::expandNode (img=..., barcodeHints=..., parent=..., engine=0x7ffc9de788b0) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/processors/barcodedocumentprocessorhelper.cpp:20 #23 0x00007fd967abd161 in KItinerary::PdfDocumentProcessor::expandNode (this=0x5635fd432e20, node=..., engine=0x7ffc9de788b0) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/processors/pdfdocumentprocessor.cpp:118 #24 0x00007fd967a6939b in KItinerary::ExtractorEnginePrivate::processNode (this=this@entry=0x5635fd8f5d30, node=...) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/engine/extractorengine.cpp:62 #25 0x00007fd967a698c5 in KItinerary::ExtractorEnginePrivate::processNode (node=..., this=0x5635fd8f5d30) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/engine/extractorengine.cpp:58 #26 KItinerary::ExtractorEngine::extract (this=this@entry=0x7ffc9de788b0) at /usr/src/debug/kitinerary/kitinerary-22.12.3/src/lib/engine/extractorengine.cpp:154 #27 0x00005635fbbaab9f in ApplicationController::importData (this=0x7ffc9de7c6b0, data=..., fileName=...) at /usr/src/debug/itinerary/itinerary-22.12.3/src/app/applicationcontroller.cpp:366 #28 0x00005635fbbb5cfe in ApplicationController::importLocalFile (url=..., this=0x7ffc9de7c6b0) at /usr/src/debug/itinerary/itinerary-22.12.3/src/app/applicationcontroller.cpp:342 #29 ApplicationController::importFromUrl (this=0x7ffc9de7c6b0, url=...) at /usr/src/debug/itinerary/itinerary-22.12.3/src/app/applicationcontroller.cpp:288 #30 0x00005635fbbb8593 in ApplicationController::qt_metacall (this=0x7ffc9de7c6b0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7ffc9de78bf0) at /usr/src/debug/itinerary/build/src/app/itinerary_autogen/include/moc_applicationcontroller.cpp:234 #31 0x00007fd966676544 in QQmlObjectOrGadget::metacall (this=0x7ffc9de78e90, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51 #32 0x00007fd966577671 in CallMethod (callType=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...) at /usr/include/qt/QtCore/qvarlengtharray.h:189 #33 CallPrecise (object=..., data=..., engine=<optimized out>, callArgs=<optimized out>, callType=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1553 #34 0x00007fd96657cde2 in QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=0x7fd9481c1550, argc=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2115 #35 0x00007fd96658eda3 in QV4::Moth::VME::interpret (frame=0x7ffc9de792a0, engine=0x5635fc9dda10, code=0x7fd9481c1538 " \326\253,\331\177") at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:757 #36 0x00007fd966594804 in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:466 #37 0x00007fd966536c36 in QV4::Function::call (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69 #38 0x00007fd9666971ad in QQmlJavaScriptExpression::evaluate (this=0x5635fcd1b190, callData=0x7fd9481c14d0, isUndefined=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212 #39 0x00007fd9666537f1 in QQmlBoundSignalExpression::evaluate (this=this@entry=0x5635fcd1b190, a=a@entry=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224 #40 0x00007fd96665476c in QQmlBoundSignal_callback (a=0x0, e=0x5635fcce6960) at ../../include/QtQml/5.15.8/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69 #41 QQmlBoundSignal_callback (e=0x5635fcce6960, a=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:341 #42 0x00007fd96667647f in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104 #43 0x00007fd9658be740 in ?? () from /usr/lib/libQt5Core.so.5 #44 0x00007fd9658bea71 in ?? () from /usr/lib/libQt5Core.so.5 #45 0x00007fd9658bea71 in ?? () from /usr/lib/libQt5Core.so.5 #46 0x00007fd967571e39 in QDialogPrivate::finalize(int, int) () from /usr/lib/libQt5Widgets.so.5 #47 0x00007fd9658bea71 in ?? () from /usr/lib/libQt5Core.so.5 #48 0x00007fd95ee463e1 in KFileWidget::slotOk (this=0x5635fd984ad0) at /usr/src/debug/kio/kio-5.103.0/src/filewidgets/kfilewidget.cpp:925 #49 0x00007fd9658bea71 in ?? () from /usr/lib/libQt5Core.so.5 #50 0x00007fd95ee2b95a in KDirOperator::fileSelected (this=<optimized out>, _t1=...) at /usr/src/debug/kio/build/src/filewidgets/KF5KIOFileWidgets_autogen/include/moc_kdiroperator.cpp:539 #51 0x00007fd95ee3811e in KDirOperatorPrivate::slotActivated (index=..., this=0x7fd9500083e0) at /usr/src/debug/kio/kio-5.103.0/src/filewidgets/kdiroperator.cpp:2846 #52 operator() (index=..., __closure=<optimized out>) at /usr/src/debug/kio/kio-5.103.0/src/filewidgets/kdiroperator.cpp:1721 #53 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QModelIndex&>, void, KDirOperator::setViewInternal(QAbstractItemView*)::<lambda(QModelIndex)> >::call (f=..., arg=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #54 QtPrivate::Functor<KDirOperator::setViewInternal(QAbstractItemView*)::<lambda(QModelIndex)>, 1>::call<QtPrivate::List<QModelIndex const&>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #55 QtPrivate::QFunctorSlotObject<KDirOperator::setViewInternal(QAbstractItemView*)::<lambda(QModelIndex)>, 1, QtPrivate::List<const QModelIndex&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #56 0x00007fd9658bea71 in ?? () from /usr/lib/libQt5Core.so.5 #57 0x00007fd9675e28aa in QAbstractItemView::activated(QModelIndex const&) () from /usr/lib/libQt5Widgets.so.5 #58 0x00007fd9675dda58 in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5 #59 0x00007fd96760fce4 in QListView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5 #60 0x00007fd9673af837 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #61 0x00007fd96745dad3 in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 #62 0x00007fd96588dbb2 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #63 0x00007fd967378b4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #64 0x00007fd96737e379 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #65 0x00007fd96588df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #66 0x00007fd96737c377 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib/libQt5Widgets.so.5 #67 0x00007fd9673cd505 in ?? () from /usr/lib/libQt5Widgets.so.5 #68 0x00007fd9673cf2ae in ?? () from /usr/lib/libQt5Widgets.so.5 #69 0x00007fd967378b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #70 0x00007fd96588df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #71 0x00007fd965d3efbc in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5 #72 0x00007fd965d28885 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5 #73 0x00007fd96039d8d0 in ?? () from /usr/lib/libQt5XcbQpa.so.5 #74 0x00007fd96331682b in g_main_dispatch (context=0x7fd958005010) at ../glib/glib/gmain.c:3454 #75 g_main_context_dispatch (context=0x7fd958005010) at ../glib/glib/gmain.c:4172 #76 0x00007fd96336dcc9 in g_main_context_iterate.constprop.0 (context=0x7fd958005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248 #77 0x00007fd9633150e2 in g_main_context_iteration (context=0x7fd958005010, may_block=1) at ../glib/glib/gmain.c:4313 #78 0x00007fd9658d8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #79 0x00007fd9658866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #80 0x00007fd965891219 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #81 0x00005635fbb914e2 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/itinerary/itinerary-22.12.3/src/app/main.cpp:418 [Inferior 1 (process 2660) detached] Reported using DrKonqi
The application version is 22.12.3
Arch switched to ZXing 2.0.0 in January already, so this is not the ZXing ABI issue we have seen on other distros I think. Is there any chance to get the file causing this? It would seem specific to that, none of the DB tickets in my test pool trigger a crash. Could be https://github.com/zxing-cpp/zxing-cpp/pull/499, but that unfortunately doesn't have a backtrace to compare with.
I tried to debug this using a locally compiled zxing library. With using LD_LIBRARY_PATH to make itinerary to load this library I cannot reproduce the crash, importing from the PDF file just works as expected. However using the precompiled library from the Arch package manager still makes it crash. I even rebuild the Arch package locally with the provided PKGBUILD file. This also make itinerary crash when importing the PDF document. So I would say that it is not a bug with itinerary but with the Arch provided package.
Fixed with https://github.com/zxing-cpp/zxing-cpp/pull/499 (In reply to Jan Hambrecht from comment #3) > I tried to debug this using a locally compiled zxing library. With using > LD_LIBRARY_PATH to make itinerary to load this library I cannot reproduce > the crash, importing from the PDF file just works as expected. That is because, unlike the Arch package, you compiled it with asserts off.
(In reply to Antonio Rojas from comment #4) > Fixed with https://github.com/zxing-cpp/zxing-cpp/pull/499 > > (In reply to Jan Hambrecht from comment #3) > > I tried to debug this using a locally compiled zxing library. With using > > LD_LIBRARY_PATH to make itinerary to load this library I cannot reproduce > > the crash, importing from the PDF file just works as expected. > > That is because, unlike the Arch package, you compiled it with asserts off. Thanks for the hint. Now, what is the plan for the arch package? Can we include that fix or just wait for a new release with the fix included?
(In reply to Jan Hambrecht from comment #5) > (In reply to Antonio Rojas from comment #4) > > Fixed with https://github.com/zxing-cpp/zxing-cpp/pull/499 > > > > (In reply to Jan Hambrecht from comment #3) > > > I tried to debug this using a locally compiled zxing library. With using > > > LD_LIBRARY_PATH to make itinerary to load this library I cannot reproduce > > > the crash, importing from the PDF file just works as expected. > > > > That is because, unlike the Arch package, you compiled it with asserts off. > > Thanks for the hint. Now, what is the plan for the arch package? Can we > include that fix or just wait for a new release with the fix included? Nevermind, I just saw that you updated the package. Very nice and thanks!