How to resolve below type of crash issue for QT/QML Application on linux ?
-
wrote on 22 Mar 2023, 06:50 last edited by
[ 6599.358142] DisplayDataCont[2522]: segfault at 7f63b24420fb ip 00007f6491095d49 sp 00007f6468bf9f28 error 4 in libstdc++.so.6.0.30[7f6491070000+110000]
[ 6599.358173] Code: 48 89 01 48 8b 10 66 0f 6c c0 48 89 42 08 0f 11 06 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 f3 0f 1e fa 48 39 d7 74 25 <48> 8b 4a 08 48 8b 46 08 48 89 39 48 89 10 48 8b 47 08 48 89 30 48 -
@jsulm For that i have implemented below code :
std::list<int>* CDIProbe::getProbeErrorList()
{
pInfo.probeErrorCodes.sort();
pInfo.probeErrorCodes.unique();
return &pInfo.probeErrorCodes;
}@Qt-embedded-developer And as you can clearly see from the stack trace unique() is causing the crash.
If you're using multi-threading and accessing same data from different threads: do you synchronise the access to shared data? -
[ 6599.358142] DisplayDataCont[2522]: segfault at 7f63b24420fb ip 00007f6491095d49 sp 00007f6468bf9f28 error 4 in libstdc++.so.6.0.30[7f6491070000+110000]
[ 6599.358173] Code: 48 89 01 48 8b 10 66 0f 6c c0 48 89 42 08 0f 11 06 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 f3 0f 1e fa 48 39 d7 74 25 <48> 8b 4a 08 48 8b 46 08 48 89 39 48 89 10 48 8b 47 08 48 89 30 48Run your app under debugger to see where it crashes.
Or compile with asan (address sanitizer), run it and it will print you all the memory leaks when application exits. -
Run your app under debugger to see where it crashes.
Or compile with asan (address sanitizer), run it and it will print you all the memory leaks when application exits.wrote on 22 Mar 2023, 08:37 last edited by@sierdzio How to use asan ?
-
@sierdzio How to use asan ?
-
wrote on 22 Mar 2023, 09:15 last edited by
@jsulm may i know when instruction fetch error occur ?
-
@jsulm may i know when instruction fetch error occur ?
@Qt-embedded-developer said in How to resolve below type of crash issue for QT/QML Application on linux ?:
may i know when instruction fetch error occur ?
What do you mean?
If you're asking when you will see the errors from Asan, then please read again the post from @sierdzio : he already answered that... -
@Qt-embedded-developer said in How to resolve below type of crash issue for QT/QML Application on linux ?:
may i know when instruction fetch error occur ?
What do you mean?
If you're asking when you will see the errors from Asan, then please read again the post from @sierdzio : he already answered that...wrote on 22 Mar 2023, 09:23 last edited by@jsulm Yes i understood it.
But i have observed that if i open my qt application in auto start.
and after that on particular screen if i stay for longer time and doing nothing. then within 24 hour it get crash with this error:
my dmesg output :
[ 6599.358142] DisplayDataCont[2522]: segfault at 7f63b24420fb ip 00007f6491095d49 sp 00007f6468bf9f28 error 4 in libstdc++.so.6.0.30[7f6491070000+110000]
[ 6599.358173] Code: 48 89 01 48 8b 10 66 0f 6c c0 48 89 42 08 0f 11 06 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 f3 0f 1e fa 48 39 d7 74 25 <48> 8b 4a 08 48 8b 46 08 48 89 39 48 89 10 48 8b 47 08 48 89 30 48 -
@jsulm Yes i understood it.
But i have observed that if i open my qt application in auto start.
and after that on particular screen if i stay for longer time and doing nothing. then within 24 hour it get crash with this error:
my dmesg output :
[ 6599.358142] DisplayDataCont[2522]: segfault at 7f63b24420fb ip 00007f6491095d49 sp 00007f6468bf9f28 error 4 in libstdc++.so.6.0.30[7f6491070000+110000]
[ 6599.358173] Code: 48 89 01 48 8b 10 66 0f 6c c0 48 89 42 08 0f 11 06 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 f3 0f 1e fa 48 39 d7 74 25 <48> 8b 4a 08 48 8b 46 08 48 89 39 48 89 10 48 8b 47 08 48 89 30 48@Qt-embedded-developer I don't know what this has to do with "instruction fetch error".
As already suggested in this thread either use debugger or Asan... -
@Qt-embedded-developer I don't know what this has to do with "instruction fetch error".
As already suggested in this thread either use debugger or Asan...wrote on 22 Mar 2023, 09:28 last edited by@jsulm above outptut consist error 4 . which means "instruction fetch error"
-
@jsulm above outptut consist error 4 . which means "instruction fetch error"
@Qt-embedded-developer As already suggested in this thread either use debugger or Asan...
-
@Qt-embedded-developer As already suggested in this thread either use debugger or Asan...
wrote on 22 Mar 2023, 10:42 last edited by@jsulm As per my dmesg i have found that my displaydatacont thread cause the crash
-
wrote on 24 Mar 2023, 12:29 last edited by Qt embedded developer
@sierdzio I have found through the debug log that
My multi threading application log make me confuse
due to which function application get crash becausethe function which run 100 time right
for non zero values of parameter make crash after 101th time.
i got confused because i don't know
application get crash due to race condition. or due to other reason.
i want to know how to identify its race condition through logs ?
-
@sierdzio I have found through the debug log that
My multi threading application log make me confuse
due to which function application get crash becausethe function which run 100 time right
for non zero values of parameter make crash after 101th time.
i got confused because i don't know
application get crash due to race condition. or due to other reason.
i want to know how to identify its race condition through logs ?
We've given you plenty of options already. For thread issues you can use - you guessed it - thread sanitizer. You don't have to run it on your remote device, run it locally on your PC and it will detect issues (same with asan).
If you absolutely have to do it on device, connect to it remotely with a debugger. Detecting a race through log files will be extremely hard, especially since the log runs on a single thread (so basically it will NOT show you exactly what happens in parallel. Log gets serialized when it's written).
-
We've given you plenty of options already. For thread issues you can use - you guessed it - thread sanitizer. You don't have to run it on your remote device, run it locally on your PC and it will detect issues (same with asan).
If you absolutely have to do it on device, connect to it remotely with a debugger. Detecting a race through log files will be extremely hard, especially since the log runs on a single thread (so basically it will NOT show you exactly what happens in parallel. Log gets serialized when it's written).
wrote on 27 Mar 2023, 08:22 last edited by Qt embedded developerI have found below log through gdb .
But not know what is reason for crash from below log ?
could not parse string to float
could not parse string to integer NA
could not parse string to float
[New Thread 0x7fff33ff7640 (LWP 98477)]
[New Thread 0x7fff47fff640 (LWP 98478)]
[Thread 0x7fff33ff7640 (LWP 98477) exited]
[Thread 0x7fff47fff640 (LWP 98478) exited]
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to float
could not parse string to float
could not parse string to float
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to float
could not parse string to integer NA
could not parse string to floatThread 1 "APPcheck" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
(gdb) bt
#0 0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#1 0x00007ffff7ee0f6c in cdi::CDIProbe::getProbeErrorListabi:cxx11 ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#2 0x000055555563d371 in StatusController::slotPollingRequested (
this=0x555555e51310)
at ../../CDIBMS/CDIBMSComponents/controllers/statuscontroller.cpp:558
#3 0x000055555565b283 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, bool (StatusController::)()>::call(bool (StatusController::)(), StatusController*, void**) (
f=(bool (StatusController::)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
#4 0x000055555565adf0 in QtPrivate::FunctionPointer<bool (StatusController::)()>::call<QtPrivate::List<>, void>(bool (StatusController::)(), StatusController, void**) (
f=(bool (StatusController::*)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
--Type <RET> for more, q to quit, c to continue without paging--#5 0x000055555565a2b8 in QtPrivate::QSlotObject<bool (StatusController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase, QObject*, void**, bool*) (which=1, this_=0x555555f8ed00, r=0x555555e51310, a=0x7fffffffd590, ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#6 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#7 0x00005555557b3ca3 in DisplayDataController::sigPollRequest (this=0x555556002600) at moc_displaydatacontroller.cpp:307
#8 0x00005555558bed2c in DisplayDataController::slotPollTimeout (this=0x555556002600)
at ../../CDIBMS/CDIBMSComponents/controllers/displaydatacontroller.cpp:1554
#9 0x00005555558d1aaf in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (DisplayDataController::)()>::call(void (DisplayDataController::)(), DisplayDataController*, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810) at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
#10 0x00005555558d176d in QtPrivate::FunctionPointer<void (DisplayDataController::)()>::call<QtPrivate::List<>, void>(void (DisplayDataController::)(), DisplayDataController, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810) at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:185
#11 0x00005555558d1158 in QtPrivate::QSlotObject<void (DisplayDataController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555eed0e0, r=0x555556002600, a=0x7fffffffd810, ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#12 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#13 0x00007ffff42dc397 in QTimer::timeout(QTimer::QPrivateSignal) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#14 0x00007ffff42dc668 in QTimer::timerEvent(QTimerEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#15 0x00007ffff42ce59b in QObject::event(QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#16 0x00007ffff676354c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#17 0x00007ffff676a010 in QApplication::notify(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#18 0x00007ffff429ece8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#19 0x00007ffff42f9e69 in QTimerInfoList::activateTimers() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#20 0x00007ffff42fa679 in idleTimerSourceDispatch(_GSource*, int ()(void), void*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#21 0x00007ffff571bd3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff57706c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff57193e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--c
#24 0x00007ffff42fa9ac in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#25 0x00007ffff429d6da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#26 0x00007ffff42a66c3 in QCoreApplication::exec() () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#27 0x00005555555b8bca in main (argc=1, argv=0x7fffffffdfe8) at ../../CDIBMS/APPcheck/src/main.cpp:146
(gdb)
(gdb)
(gdb) thread apply all btThread 57 (Thread 0x7fff347f8640 (LWP 94925) "queue9:src"):
Couldn't get registers: No such process.
(gdb) bt
#0 0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#1 0x00007ffff7ee0f6c in cdi::CDIProbe::getProbeErrorListabi:cxx11 ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#2 0x000055555563d371 in StatusController::slotPollingRequested (
this=0x555555e51310)
at ../../CDIBMS/CDIBMSComponents/controllers/statuscontroller.cpp:558
#3 0x000055555565b283 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, bool (StatusController::)()>::call(bool (StatusController::)(), StatusController*, void**) (
f=(bool (StatusController::)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
#4 0x000055555565adf0 in QtPrivate::FunctionPointer<bool (StatusController::)()>::call<QtPrivate::List<>, void>(bool (StatusController::)(), StatusController, void**) (
f=(bool (StatusController::*)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:185--Type <RET> for more, q to quit, c to continue without paging--#5 0x000055555565a2b8 in QtPrivate::QSlotObject<bool (StatusController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase, QObject*, void**, bool*) (which=1, this_=0x555555f8ed00, r=0x555555e51310, a=0x7fffffffd590,
ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#6 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#7 0x00005555557b3ca3 in DisplayDataController::sigPollRequest (
this=0x555556002600) at moc_displaydatacontroller.cpp:307
#8 0x00005555558bed2c in DisplayDataController::slotPollTimeout (
this=0x555556002600)
at ../../CDIBMS/CDIBMSComponents/controllers/displaydatacontroller.cpp:1554
#9 0x00005555558d1aaf in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (DisplayDataController::)()>::call(void (DisplayDataController::)(), DisplayDataController*, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
--Type <RET> for more, q to quit, c to continue without paging--
#10 0x00005555558d176d in QtPrivate::FunctionPointer<void (DisplayDataController::)()>::call<QtPrivate::List<>, void>(void (DisplayDataController::)(), DisplayDataController, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:185
#11 0x00005555558d1158 in QtPrivate::QSlotObject<void (DisplayDataController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555eed0e0, r=0x555556002600,
a=0x7fffffffd810, ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#12 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#13 0x00007ffff42dc397 in QTimer::timeout(QTimer::QPrivateSignal) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#14 0x00007ffff42dc668 in QTimer::timerEvent(QTimerEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x00007ffff42ce59b in QObject::event(QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#16 0x00007ffff676354c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#17 0x00007ffff676a010 in QApplication::notify(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#18 0x00007ffff429ece8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#19 0x00007ffff42f9e69 in QTimerInfoList::activateTimers() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#20 0x00007ffff42fa679 in idleTimerSourceDispatch(_GSource*, int ()(void), void*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#21 0x00007ffff571bd3b in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x00007ffff57706c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff57193e3 in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff42fa9ac in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#25 0x00007ffff429d6da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#26 0x00007ffff42a66c3 in QCoreApplication::exec() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#27 0x00005555555b8bca in main (argc=1, argv=0x7fffffffdfe8)
at ../../CDIBMS/APPcheck/src/main.cpp:146
(gdb) thread
[Current thread is 1 (Thread 0x7ffff47ff000 (LWP 94854))]
(gdb) thread all
Invalid thread ID: all
(gdb) -
I have found below log through gdb .
But not know what is reason for crash from below log ?
could not parse string to float
could not parse string to integer NA
could not parse string to float
[New Thread 0x7fff33ff7640 (LWP 98477)]
[New Thread 0x7fff47fff640 (LWP 98478)]
[Thread 0x7fff33ff7640 (LWP 98477) exited]
[Thread 0x7fff47fff640 (LWP 98478) exited]
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to integer na
could not parse string to float
could not parse string to float
could not parse string to float
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to integer NA
could not parse string to float
could not parse string to integer NA
could not parse string to floatThread 1 "APPcheck" received signal SIGSEGV, Segmentation fault.
0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
(gdb) bt
#0 0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#1 0x00007ffff7ee0f6c in cdi::CDIProbe::getProbeErrorListabi:cxx11 ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#2 0x000055555563d371 in StatusController::slotPollingRequested (
this=0x555555e51310)
at ../../CDIBMS/CDIBMSComponents/controllers/statuscontroller.cpp:558
#3 0x000055555565b283 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, bool (StatusController::)()>::call(bool (StatusController::)(), StatusController*, void**) (
f=(bool (StatusController::)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
#4 0x000055555565adf0 in QtPrivate::FunctionPointer<bool (StatusController::)()>::call<QtPrivate::List<>, void>(bool (StatusController::)(), StatusController, void**) (
f=(bool (StatusController::*)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
--Type <RET> for more, q to quit, c to continue without paging--#5 0x000055555565a2b8 in QtPrivate::QSlotObject<bool (StatusController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase, QObject*, void**, bool*) (which=1, this_=0x555555f8ed00, r=0x555555e51310, a=0x7fffffffd590, ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#6 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#7 0x00005555557b3ca3 in DisplayDataController::sigPollRequest (this=0x555556002600) at moc_displaydatacontroller.cpp:307
#8 0x00005555558bed2c in DisplayDataController::slotPollTimeout (this=0x555556002600)
at ../../CDIBMS/CDIBMSComponents/controllers/displaydatacontroller.cpp:1554
#9 0x00005555558d1aaf in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (DisplayDataController::)()>::call(void (DisplayDataController::)(), DisplayDataController*, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810) at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
#10 0x00005555558d176d in QtPrivate::FunctionPointer<void (DisplayDataController::)()>::call<QtPrivate::List<>, void>(void (DisplayDataController::)(), DisplayDataController, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810) at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:185
#11 0x00005555558d1158 in QtPrivate::QSlotObject<void (DisplayDataController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555eed0e0, r=0x555556002600, a=0x7fffffffd810, ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#12 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#13 0x00007ffff42dc397 in QTimer::timeout(QTimer::QPrivateSignal) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#14 0x00007ffff42dc668 in QTimer::timerEvent(QTimerEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#15 0x00007ffff42ce59b in QObject::event(QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#16 0x00007ffff676354c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#17 0x00007ffff676a010 in QApplication::notify(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#18 0x00007ffff429ece8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#19 0x00007ffff42f9e69 in QTimerInfoList::activateTimers() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#20 0x00007ffff42fa679 in idleTimerSourceDispatch(_GSource*, int ()(void), void*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#21 0x00007ffff571bd3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff57706c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff57193e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--c
#24 0x00007ffff42fa9ac in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#25 0x00007ffff429d6da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#26 0x00007ffff42a66c3 in QCoreApplication::exec() () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#27 0x00005555555b8bca in main (argc=1, argv=0x7fffffffdfe8) at ../../CDIBMS/APPcheck/src/main.cpp:146
(gdb)
(gdb)
(gdb) thread apply all btThread 57 (Thread 0x7fff347f8640 (LWP 94925) "queue9:src"):
Couldn't get registers: No such process.
(gdb) bt
#0 0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#1 0x00007ffff7ee0f6c in cdi::CDIProbe::getProbeErrorListabi:cxx11 ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
#2 0x000055555563d371 in StatusController::slotPollingRequested (
this=0x555555e51310)
at ../../CDIBMS/CDIBMSComponents/controllers/statuscontroller.cpp:558
#3 0x000055555565b283 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, bool (StatusController::)()>::call(bool (StatusController::)(), StatusController*, void**) (
f=(bool (StatusController::)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
#4 0x000055555565adf0 in QtPrivate::FunctionPointer<bool (StatusController::)()>::call<QtPrivate::List<>, void>(bool (StatusController::)(), StatusController, void**) (
f=(bool (StatusController::*)(StatusController * const)) 0x55555563ab3e StatusController::slotPollingRequested(), o=0x555555e51310, arg=0x7fffffffd590)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:185--Type <RET> for more, q to quit, c to continue without paging--#5 0x000055555565a2b8 in QtPrivate::QSlotObject<bool (StatusController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase, QObject*, void**, bool*) (which=1, this_=0x555555f8ed00, r=0x555555e51310, a=0x7fffffffd590,
ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#6 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#7 0x00005555557b3ca3 in DisplayDataController::sigPollRequest (
this=0x555556002600) at moc_displaydatacontroller.cpp:307
#8 0x00005555558bed2c in DisplayDataController::slotPollTimeout (
this=0x555556002600)
at ../../CDIBMS/CDIBMSComponents/controllers/displaydatacontroller.cpp:1554
#9 0x00005555558d1aaf in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (DisplayDataController::)()>::call(void (DisplayDataController::)(), DisplayDataController*, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:152
--Type <RET> for more, q to quit, c to continue without paging--
#10 0x00005555558d176d in QtPrivate::FunctionPointer<void (DisplayDataController::)()>::call<QtPrivate::List<>, void>(void (DisplayDataController::)(), DisplayDataController, void**) (
f=(void (DisplayDataController::)(DisplayDataController * const)) 0x5555558bed10 DisplayDataController::slotPollTimeout(), o=0x555556002600,
arg=0x7fffffffd810)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:185
#11 0x00005555558d1158 in QtPrivate::QSlotObject<void (DisplayDataController::)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555555eed0e0, r=0x555556002600,
a=0x7fffffffd810, ret=0x0)
at /home/terumo/Qt5.15.8/5.15.8/gcc_64/include/QtCore/qobjectdefs_impl.h:418
#12 0x00007ffff42d7860 in void doActivate<false>(QObject*, int, void**) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#13 0x00007ffff42dc397 in QTimer::timeout(QTimer::QPrivateSignal) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#14 0x00007ffff42dc668 in QTimer::timerEvent(QTimerEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x00007ffff42ce59b in QObject::event(QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#16 0x00007ffff676354c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#17 0x00007ffff676a010 in QApplication::notify(QObject*, QEvent*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Widgets.so.5
#18 0x00007ffff429ece8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#19 0x00007ffff42f9e69 in QTimerInfoList::activateTimers() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#20 0x00007ffff42fa679 in idleTimerSourceDispatch(_GSource*, int ()(void), void*) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#21 0x00007ffff571bd3b in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#22 0x00007ffff57706c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff57193e3 in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff42fa9ac in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#25 0x00007ffff429d6da in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#26 0x00007ffff42a66c3 in QCoreApplication::exec() ()
from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libQt5Core.so.5
#27 0x00005555555b8bca in main (argc=1, argv=0x7fffffffdfe8)
at ../../CDIBMS/APPcheck/src/main.cpp:146
(gdb) thread
[Current thread is 1 (Thread 0x7ffff47ff000 (LWP 94854))]
(gdb) thread all
Invalid thread ID: all
(gdb)@Qt-embedded-developer said in How to resolve below type of crash issue for QT/QML Application on linux ?:
#2 0x000055555563d371 in StatusController::slotPollingRequested (
Look what is inside StatusController::slotPollingRequested in ../../CDIBMS/CDIBMSComponents/controllers/statuscontroller.cpp line 558 ...
-
@Qt-embedded-developer said in How to resolve below type of crash issue for QT/QML Application on linux ?:
#2 0x000055555563d371 in StatusController::slotPollingRequested (
Look what is inside StatusController::slotPollingRequested in ../../CDIBMS/CDIBMSComponents/controllers/statuscontroller.cpp line 558 ...
wrote on 27 Mar 2023, 08:26 last edited by Qt embedded developerOn that line i have put for loop.
for (errorcode = lConnProbe->getProbeErrorList()->begin(); errorcode != lConnProbe->getProbeErrorList()->end(); ++errorcode)
that code is like below :
list<int>::iterator errorcode; for (errorcode = lConnProbe->getProbeErrorList()->begin(); errorcode != lConnProbe->getProbeErrorList()->end(); ++errorcode) { switch(*errorcode) {
-
On that line i have put for loop.
for (errorcode = lConnProbe->getProbeErrorList()->begin(); errorcode != lConnProbe->getProbeErrorList()->end(); ++errorcode)
that code is like below :
list<int>::iterator errorcode; for (errorcode = lConnProbe->getProbeErrorList()->begin(); errorcode != lConnProbe->getProbeErrorList()->end(); ++errorcode) { switch(*errorcode) {
@Qt-embedded-developer Now take a look at the stack trace entry one up:
#1 0x00007ffff7ee0f6c in cdi::CDIProbe::getProbeErrorListabi:cxx11 () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
So, the error come from getProbeErrorList(). And the top entry from stack trace is:
#0 0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
This is what you need to check next.
-
@Qt-embedded-developer Now take a look at the stack trace entry one up:
#1 0x00007ffff7ee0f6c in cdi::CDIProbe::getProbeErrorListabi:cxx11 () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
So, the error come from getProbeErrorList(). And the top entry from stack trace is:
#0 0x00007ffff7ee1f14 in std::__cxx11::list<int, std::allocator<int> >::unique() () from /home/terumo/.Downloads/APPCHECK_24March2023_USB_BUILD_WithDebug/CDI1500DisplayApp/lib/libCDIDisplayData.so
This is what you need to check next.
wrote on 27 Mar 2023, 08:33 last edited by@jsulm For that i have implemented below code :
std::list<int>* CDIProbe::getProbeErrorList()
{
pInfo.probeErrorCodes.sort();
pInfo.probeErrorCodes.unique();
return &pInfo.probeErrorCodes;
} -
@jsulm For that i have implemented below code :
std::list<int>* CDIProbe::getProbeErrorList()
{
pInfo.probeErrorCodes.sort();
pInfo.probeErrorCodes.unique();
return &pInfo.probeErrorCodes;
}@Qt-embedded-developer And as you can clearly see from the stack trace unique() is causing the crash.
If you're using multi-threading and accessing same data from different threads: do you synchronise the access to shared data? -
@Qt-embedded-developer And as you can clearly see from the stack trace unique() is causing the crash.
If you're using multi-threading and accessing same data from different threads: do you synchronise the access to shared data?wrote on 27 Mar 2023, 09:00 last edited by@jsulm Thanks we have resolve this type of crash by using mutex.
And yes we use same this error list from 2 thread. and that's why this code cause the crash.
-
1/21