-
Notifications
You must be signed in to change notification settings - Fork 215
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
Segmentation Fault #496
Comments
Can you provide details on how you installed Qt Creator and the plugin? Can you provide a backtrace? I just released version 13 and I can open my workspaces without issues. However, I have seen sporadic crashes of older Qt Creator versions also on non-ROS workspaces. |
Qt Creator was installed via the online installer. The plugin was installed using the commands located here in the ReadMe.
I'm happy to provide a backtrace, though I have never done so with an installed application (ie, not built from source). What's the most effective way to get the backtrace? Edit: Here's the full output of running the application:
|
Probably, I found reason of seg faults. I caught seg fault in this line when read line of enviroment variable with empty value. For example:
In this case
Quick fix for me was remove parameter "Qt::SkipEmptyParts" in calling method "split" here since I don’t know whether it is necessary to process environment variables with empty values and insert them into env |
I added documentation on how to debug the plugin with gdb: #498. This should help to at least generate a backtrace. For more detailed debugging, I recommend compiling and debugging the plugin itself in Qt Creator. @IliasNanyageev Can you provide a backtrace and more information with this, or even better fix the issue and send a PR? |
I can reproduce a crash via ROSLISP_PACKAGE_DIRECTORIES= gdb --ex=r --args ~/Downloads/qtc-sdk/Tools/QtCreator/bin/qtcreator -pluginpath build/lib/qtcreator/plugins/ and get the following backtrace: #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737309825472) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=140737309825472) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140737309825472, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff5642476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff56287f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff5eb793c in () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#6 0x00007ffff5eeda15 in () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#7 0x00007ffff5eb8548 in qErrnoWarning(char const*, ...) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#8 0x00007ffff5eb7900 in qBadAlloc() () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#9 0x00007fffa3e73468 in QList<QString>::at(long long) const (this=0x7fffffffc230, i=1) at ~/Downloads/qtc-sdk/6.6.0/gcc_64/include/QtCore/qlist.h:431
#10 0x00007fffa3e71a53 in QList<QString>::operator[](long long) const (this=0x7fffffffc230, i=1) at ~/Downloads/qtc-sdk/6.6.0/gcc_64/include/QtCore/qlist.h:440
#11 0x00007fffa3e661d4 in ROSProjectManager::Internal::ROSUtils::sourceWorkspaceHelper(QProcess*, QString const&) (process=0x7fffffffc990, path=...)
at ~/Development/ros_qtc_plugin/src/project_manager/ros_utils.cpp:336
#12 0x00007fffa3e63217 in ROSProjectManager::Internal::ROSUtils::sourceROS(QProcess*, Utils::FilePath const&) (process=0x7fffffffc990, rosDistribution=...)
at ~/Development/ros_qtc_plugin/src/project_manager/ros_utils.cpp:64
#13 0x00007fffa3e646ca in ROSProjectManager::Internal::ROSUtils::initializeWorkspace(QProcess*, ROSProjectManager::Internal::ROSUtils::WorkspaceInfo const&) (process=0x7fffffffc990, workspaceInfo=...)
at ~/Development/ros_qtc_plugin/src/project_manager/ros_utils.cpp:176
#14 0x00007fffa3e63318 in ROSProjectManager::Internal::ROSUtils::sourceWorkspace(QProcess*, ROSProjectManager::Internal::ROSUtils::WorkspaceInfo const&) (process=0x7fffffffc990, workspaceInfo=...)
at ~/Development/ros_qtc_plugin/src/project_manager/ros_utils.cpp:70
#15 0x00007fffa3e6f4bc in ROSProjectManager::Internal::ROSUtils::getWorkspaceEnvironment(ROSProjectManager::Internal::ROSUtils::WorkspaceInfo const&, Utils::Environment const&)
(workspaceInfo=..., current_environment=...) at ~/Development/ros_qtc_plugin/src/project_manager/ros_utils.cpp:1217
#16 0x00007fffa3e12311 in ROSProjectManager::Internal::ROSProject::updateEnvironment() (this=0x26cb860) at ~/Development/ros_qtc_plugin/src/project_manager/ros_project.cpp:333
#17 0x00007fffa3e1559e in ROSProjectManager::Internal::ROSProject::updateCppCodeModel() (this=0x26cb860) at ~/Development/ros_qtc_plugin/src/project_manager/ros_project.cpp:560
#18 0x00007fffa3e29946 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ROSProjectManager::Internal::ROSProject::*)()>::call(void (ROSProjectManager::Internal::ROSProject::*)(), ROSProjectManager::Internal::ROSProject*, void**)
(f=(void (ROSProjectManager::Internal::ROSProject::*)(class ROSProjectManager::Internal::ROSProject * const)) 0x7fffa3e152bc <ROSProjectManager::Internal::ROSProject::updateCppCodeModel()>, o=0x26cb860, arg=0x7fffffffd130) at ~/Downloads/qtc-sdk/6.6.0/gcc_64/include/QtCore/qobjectdefs_impl.h:145
#19 0x00007fffa3e262ca in QtPrivate::FunctionPointer<void (ROSProjectManager::Internal::ROSProject::*)()>::call<QtPrivate::List<>, void>(void (ROSProjectManager::Internal::ROSProject::*)(), ROSProjectManager::Internal::ROSProject*, void**)
(f=(void (ROSProjectManager::Internal::ROSProject::*)(class ROSProjectManager::Internal::ROSProject * const)) 0x7fffa3e152bc <ROSProjectManager::Internal::ROSProject::updateCppCodeModel()>, o=0x26cb860, arg=0x7fffffffd130) at ~/Downloads/qtc-sdk/6.6.0/gcc_64/include/QtCore/qobjectdefs_impl.h:182
#20 0x00007fffa3e22edf in QtPrivate::QCallableObject<void (ROSProjectManager::Internal::ROSProject::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
(which=1, this_=0x3f61300, r=0x26cb860, a=0x7fffffffd130, ret=0x0) at ~/Downloads/qtc-sdk/6.6.0/gcc_64/include/QtCore/qobjectdefs_impl.h:520
#21 0x00007ffff5fb9c92 in () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#22 0x00007ffff610107d in QFutureWatcherBase::event(QEvent*) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#23 0x00007ffff7380ef2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Widgets.so.6
#24 0x00007ffff5f5d34a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#25 0x00007ffff5f608d5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#26 0x00007ffff6204333 in () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#27 0x00007ffff4f1bd3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff4f71258 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff4f193e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff6203cca in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#31 0x00007ffff5f68cd3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#32 0x00007ffff5f6579e in QCoreApplication::exec() () at ~/Downloads/qtc-sdk/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6
#33 0x000000000040e987 in ()
#34 0x00007ffff5629d90 in __libc_start_call_main (main=main@entry=0x40b310, argc=argc@entry=3, argv=argv@entry=0x7fffffffdce8) at ../sysdeps/nptl/libc_start_call_main.h:58
#35 0x00007ffff5629e40 in __libc_start_main_impl (main=0x40b310, argc=3, argv=0x7fffffffdce8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdcd8)
at ../csu/libc-start.c:392 |
The problem is the |
See #499 for a fix. |
Confirming that the new release resolved the issue. Thanks! |
QtCreator seg faults when opening a ROS project workspace file. It opens non-ROS projects without a problem.
Environment:
The text was updated successfully, but these errors were encountered: