Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
Qt Creator 3.5.0-beta1
-
None
-
3652ca52bc81be394bab81d93efa19328b7bcc2d
Description
If the git executable is not found (e.g. on Linux just rename /usr/bin/git to something else), doing Tools->Git->Local Repository->Diff causes Creator to segfault. Stack trace:
SOFT ASSERT: "!binary.isEmpty()" in file /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/libs/utils/shellcommand.cpp, line 477 ASSERT: "uint(i) < uint(size())" in file /sda/home/christian/dev/qt/5.4/build-release/qtbase/include/QtCore/../../../../src/qtbase/src/corelib/tools/qstring.h, line 785 #0 0x7fbf54dc4822 llvm::sys::PrintStackTrace(_IO_FILE*) (/usr/lib/libLLVM-3.6.so+0xf97822) #1 0x7fbf54dc2e19 (/usr/lib/libLLVM-3.6.so+0xf95e19) #2 0x7fbf73dd2660 __restore_rt (/usr/lib/libpthread.so.0+0x10660) #3 0x7fbf72596528 __GI_raise (/usr/lib/libc.so.6+0x33528) #4 0x7fbf7259793a __GI_abort (/usr/lib/libc.so.6+0x3493a) #5 0x7fbf740863a5 (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0xa73a5) #6 0x7fbf7408196e (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0xa296e) #7 0x7fbf747b7a22 QtNamespace::QString::at(int) const /sda/home/christian/dev/qt/5.4/build-release/qtbase/include/QtCore/../../../../src/qtbase/src/corelib/tools/qstring.h:785:0 #8 0x7fbf74857653 Utils::ShellCommand::displayName() const /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/libs/utils/shellcommand.cpp:162:0 #9 0x7fbf67305cec Core::ShellCommand::addTask(QtNamespace::QFuture<void>&) /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/coreplugin/shellcommand.cpp:48:0 #10 0x7fbf74857ad0 Utils::ShellCommand::execute() /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/libs/utils/shellcommand.cpp:229:0 #11 0x7fbf52fac45b Git::Internal::BaseController::runCommand(QtNamespace::QList<QtNamespace::QStringList> const&, QtNamespace::QTextCodec*) /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/git/gitclient.cpp:166:0 #12 0x7fbf52facc61 Git::Internal::RepositoryDiffController::reload() /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/git/gitclient.cpp:233:0 #13 0x7fbf57ab7c8b DiffEditor::DiffEditorController::requestReload() /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/diffeditor/diffeditorcontroller.cpp:177:0 #14 0x7fbf52faf4e8 Git::Internal::GitClient::requestReload(QtNamespace::QString const&, QtNamespace::QString const&, QtNamespace::QString const&, std::function<DiffEditor::DiffEditorController* (Core::IDocument*)>) const /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/git/gitclient.cpp:753:0 #15 0x7fbf52fafc74 Git::Internal::GitClient::diffRepository(QtNamespace::QString const&) const /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/git/gitclient.cpp:781:0 #16 0x7fbf52fe20fb Git::Internal::GitPlugin::diffCurrentProject() /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/plugins/git/gitplugin.cpp:682:0 #17 0x7fbf52f8dca3 Git::Internal::GitPlugin::qt_static_metacall(QtNamespace::QObject*, QtNamespace::QMetaObject::Call, int, void**) /sda/home/christian/dev/qtcreator/super-master/qtc_Desktop_005447c5-debug/Git.qtc-Desktop-005447c5.c754c020/GeneratedFiles/moc_gitplugin.cpp:248:0 #18 0x7fbf742947da QtNamespace::QMetaObject::activate(QtNamespace::QObject*, int, int, void**) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x2b57da) #19 0x7fbf7332e402 QtNamespace::QAction::triggered(bool) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x18d402) #20 0x7fbf74845943 QtNamespace::QtPrivate::FunctorCall<QtNamespace::QtPrivate::IndexesList<0>, QtNamespace::QtPrivate::List<bool>, void, void (QtNamespace::QAction::*)(bool)>::call(void (QtNamespace::QAction::*)(bool), QtNamespace::QAction*, void**) /sda/home/christian/dev/qt/5.4/build-release/qtbase/include/QtCore/../../../../src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:500:0 #21 0x7fbf7484583e void QtNamespace::QtPrivate::FunctionPointer<void (QtNamespace::QAction::*)(bool)>::call<QtNamespace::QtPrivate::List<bool>, void>(void (QtNamespace::QAction::*)(bool), QtNamespace::QAction*, void**) /sda/home/christian/dev/qt/5.4/build-release/qtbase/include/QtCore/../../../../src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:520:0 #22 0x7fbf748456bf QtNamespace::QtPrivate::QSlotObject<void (QtNamespace::QAction::*)(bool), QtNamespace::QtPrivate::List<bool>, void>::impl(int, QtNamespace::QtPrivate::QSlotObjectBase*, QtNamespace::QObject*, void**, bool*) /sda/home/christian/dev/qt/5.4/build-release/qtbase/include/QtCore/../../../../src/qtbase/src/corelib/kernel/qobject_impl.h:144:0 #23 0x7fbf74294667 QtNamespace::QMetaObject::activate(QtNamespace::QObject*, int, int, void**) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x2b5667) #24 0x7fbf7332e402 QtNamespace::QAction::triggered(bool) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x18d402) #25 0x7fbf73330688 QtNamespace::QAction::activate(QtNamespace::QAction::ActionEvent) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x18f688) #26 0x7fbf73330c2f QtNamespace::QAction::event(QtNamespace::QEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x18fc2f) #27 0x7fbf7333759c QtNamespace::QApplicationPrivate::notify_helper(QtNamespace::QObject*, QtNamespace::QEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x19659c) #28 0x7fbf7333c8f0 QtNamespace::QApplication::notify(QtNamespace::QObject*, QtNamespace::QEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x19b8f0) #29 0x7fbf742659b3 QtNamespace::QCoreApplication::notifyInternal(QtNamespace::QObject*, QtNamespace::QEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x2869b3) #30 0x7fbf7396853a QtNamespace::QShortcutMap::dispatchEvent(QtNamespace::QKeyEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Gui.so.5+0x12d53a) #31 0x7fbf73968681 QtNamespace::QShortcutMap::tryShortcutEvent(QtNamespace::QObject*, QtNamespace::QKeyEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Gui.so.5+0x12d681) #32 0x7fbf7333c7e8 QtNamespace::QApplication::notify(QtNamespace::QObject*, QtNamespace::QEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Widgets.so.5+0x19b7e8) #33 0x7fbf742659b3 QtNamespace::QCoreApplication::notifyInternal(QtNamespace::QObject*, QtNamespace::QEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x2869b3) #34 0x7fbf7393dc81 QtNamespace::QGuiApplicationPrivate::processKeyEvent(QtNamespace::QWindowSystemInterfacePrivate::KeyEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Gui.so.5+0x102c81) #35 0x7fbf73942925 QtNamespace::QGuiApplicationPrivate::processWindowSystemEvent(QtNamespace::QWindowSystemInterfacePrivate::WindowSystemEvent*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Gui.so.5+0x107925) #36 0x7fbf7392a8a8 QtNamespace::QWindowSystemInterface::sendWindowSystemEvents(QtNamespace::QFlags<QtNamespace::QEventLoop::ProcessEventsFlag>) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Gui.so.5+0xef8a8) #37 0x7fbf6b952620 QtNamespace::userEventSourceDispatch(_GSource*, int (*)(void*), void*) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/plugins/platforms/libqxcb.so+0x5f620) #38 0x7fbf6f76e9fd g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x499fd) #39 0x7fbf6f76ece0 (/usr/lib/libglib-2.0.so.0+0x49ce0) #40 0x7fbf6f76ed8c g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x49d8c) #41 0x7fbf742b9d7f QtNamespace::QEventDispatcherGlib::processEvents(QtNamespace::QFlags<QtNamespace::QEventLoop::ProcessEventsFlag>) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x2dad7f) #42 0x7fbf742635ca QtNamespace::QEventLoop::exec(QtNamespace::QFlags<QtNamespace::QEventLoop::ProcessEventsFlag>) (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x2845ca) #43 0x7fbf7426ac1d QtNamespace::QCoreApplication::exec() (/sda/home/christian/dev/qt/5.4/build-release/qtbase/lib/libQt5Core.so.5+0x28bc1d) #44 0x40bcd9 main /sda/home/christian/dev/qtcreator/super-master/src/qtcreator/src/app/main.cpp:521:0 #45 0x7fbf72583790 __libc_start_main (/usr/lib/libc.so.6+0x20790) #46 0x407989 _start (/sda/home/christian/dev/qtcreator/super-master/qtc_Desktop_005447c5-debug/install-root/bin/qtcreator+0x407989) The program has unexpectedly finished.