Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
None
-
Qt Creator 4.5.0-rc1
-
None
-
macOS
Description
- Open dummy project (qmake?)
- Open run configuration settings in projects mode
- Set working directory to {{%
{CurrentRun:Executable:Path}
}}
- Press the run button
- Observe the crash because of infinite recursion
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_malloc.dylib 0x00007fffaee00477 _nano_malloc_check_clear + 154 1 libsystem_malloc.dylib 0x00007fffaee003bf nano_malloc + 35 2 libsystem_malloc.dylib 0x00007fffaedf9282 malloc_zone_malloc + 107 3 libsystem_malloc.dylib 0x00007fffaedf8200 malloc + 24 4 org.qt-project.QtCore 0x000000010e414431 QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) + 129 5 org.qt-project.QtCore 0x000000010e487b34 QString::reallocData(unsigned int, bool) + 100 6 org.qt-project.QtCore 0x000000010e488600 QString::append(QString const&) + 96 7 libQmakeProjectManager.dylib 0x0000000117a68328 QmakeProjectManager::Internal::DesktopQmakeRunConfiguration::extractWorkingDirAndExecutable(QmakeProjectManager::QmakeProFile const*) const + 792 8 libQmakeProjectManager.dylib 0x0000000117a66e40 QmakeProjectManager::Internal::DesktopQmakeRunConfiguration::executable() const + 96 9 libQmakeProjectManager.dylib 0x0000000117a66f7a QmakeProjectManager::Internal::DesktopQmakeRunConfiguration::runnable() const + 90 10 libProjectExplorer.dylib 0x0000000114f542e5 std::__1::__function::__func<ProjectExplorer::ProjectExplorerPlugin::initialize(QStringList const&, QString*)::$_18, std::__1::allocator<ProjectExplorer::ProjectExplorerPlugin::initialize(QStringList const&, QString*)::$_18>, QString ()>::operator()() + 85 11 libUtils.4.4.83.dylib 0x000000010d7d84bf std::__1::__function::__func<Utils::MacroExpander::registerFileVariables(QByteArray const&, QString const&, std::__1::function<QString ()> const&, bool)::$_2, std::__1::allocator<Utils::MacroExpander::registerFileVariables(QByteArray const&, QString const&, std::__1::function<QString ()> const&, bool)::$_2>, QString ()>::operator()() + 31 12 libUtils.4.4.83.dylib 0x000000010d7d93f8 Utils::Internal::MacroExpanderPrivate::value(QByteArray const&, bool*) + 104 13 libUtils.4.4.83.dylib 0x000000010d7da369 Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 105 14 libUtils.4.4.83.dylib 0x000000010d7da562 Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 610 15 libUtils.4.4.83.dylib 0x000000010d7daa6d bool Utils::anyOf<QVector<std::__1::function<Utils::MacroExpander* ()> >, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)>(QVector<std::__1::function<Utils::MacroExpander* ()> > const&, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)) + 157 16 libUtils.4.4.83.dylib 0x000000010d7da40c Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 268 17 libUtils.4.4.83.dylib 0x000000010d7daa6d bool Utils::anyOf<QVector<std::__1::function<Utils::MacroExpander* ()> >, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)>(QVector<std::__1::function<Utils::MacroExpander* ()> > const&, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)) + 157 18 libUtils.4.4.83.dylib 0x000000010d7da40c Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 268 19 libUtils.4.4.83.dylib 0x000000010d7daa6d bool Utils::anyOf<QVector<std::__1::function<Utils::MacroExpander* ()> >, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)>(QVector<std::__1::function<Utils::MacroExpander* ()> > const&, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)) + 157 20 libUtils.4.4.83.dylib 0x000000010d7da40c Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 268 21 libUtils.4.4.83.dylib 0x000000010d7daa6d bool Utils::anyOf<QVector<std::__1::function<Utils::MacroExpander* ()> >, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)>(QVector<std::__1::function<Utils::MacroExpander* ()> > const&, Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&)::'lambda'(std::__1::function<Utils::MacroExpander* ()> const&)) + 157 22 libUtils.4.4.83.dylib 0x000000010d7da40c Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 268 23 libUtils.4.4.83.dylib 0x000000010d7494d2 Utils::AbstractMacroExpander::expandNestedMacros(QString const&, int*, QString*) + 1330 24 libUtils.4.4.83.dylib 0x000000010d749b71 Utils::AbstractMacroExpander::findMacro(QString const&, int*, QString*) + 161 25 libUtils.4.4.83.dylib 0x000000010d73de1f Utils::QtcProcess::expandMacros(QString*, Utils::AbstractMacroExpander*, Utils::OsType) + 111 26 libUtils.4.4.83.dylib 0x000000010d73f589 Utils::QtcProcess::expandMacros(QString const&, Utils::AbstractMacroExpander*, Utils::OsType) + 41 27 libUtils.4.4.83.dylib 0x000000010d7d59ac Utils::MacroExpander::expandProcessArgs(QString const&) const + 28 28 libProjectExplorer.dylib 0x00000001150b286c ProjectExplorer::WorkingDirectoryAspect::workingDirectory() const + 92 29 libQmakeProjectManager.dylib 0x0000000117a67020 QmakeProjectManager::Internal::DesktopQmakeRunConfiguration::runnable() const + 256 30 libProjectExplorer.dylib 0x0000000114f542e5 std::__1::__function::__func<ProjectExplorer::ProjectExplorerPlugin::initialize(QStringList const&, QString*)::$_18, std::__1::allocator<ProjectExplorer::ProjectExplorerPlugin::initialize(QStringList const&, QString*)::$_18>, QString ()>::operator()() + 85 31 libUtils.4.4.83.dylib 0x000000010d7d84bf std::__1::__function::__func<Utils::MacroExpander::registerFileVariables(QByteArray const&, QString const&, std::__1::function<QString ()> const&, bool)::$_2, std::__1::allocator<Utils::MacroExpander::registerFileVariables(QByteArray const&, QString const&, std::__1::function<QString ()> const&, bool)::$_2>, QString ()>::operator()() + 31 32 libUtils.4.4.83.dylib 0x000000010d7d93f8 Utils::Internal::MacroExpanderPrivate::value(QByteArray const&, bool*) + 104 33 libUtils.4.4.83.dylib 0x000000010d7da369 Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 105 34 libUtils.4.4.83.dylib 0x000000010d7da562 Utils::Internal::MacroExpanderPrivate::resolveMacro(QString const&, QString*, QSet<Utils::AbstractMacroExpander*>&) + 610 ....
Attachments
Issue Links
- duplicates
-
QTCREATORBUG-18317 MacroExpander goes into infinite loop when setting %{CurrentRun:Executable:Path} as RC's working directory
-
- Closed
-