Bug 318995 - KDevelop can not launch target executables
Summary: KDevelop can not launch target executables
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (other bugs)
Version First Reported In: git master
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: 4.3.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 319209 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-04-27 20:47 UTC by Eugene Shalygin
Modified: 2013-05-03 23:45 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eugene Shalygin 2013-04-27 20:47:06 UTC
if executable is a project (cmake) target, and it is selected in "Run" dialog as "Project target", then "Execute current launch" fails, because executale file path is empty. "Debug current launch" works fine

Reproducible: Always
Comment 1 Aleix Pol 2013-04-29 17:40:46 UTC
Can you report a test case? It works for me here, I think.
Comment 2 Eugene Shalygin 2013-04-29 21:43:46 UTC
For me, even the following sequence leads to the problem:

1) remove ~/.cache/kdevduchain (just in case)
2) launch kdevelop. create new session. create new project from template "Standard/terminal"
3) add run target. Remove "Build" depenedencies from the launch target configuration
4) build project
5) try to launch. It fails


Maybe you can point me where (in sources) debugging might be started?
Comment 3 Eugene Shalygin 2013-04-30 10:34:49 UTC
Hm... Now even if I specify the executable manually, KDevelop can not start it with the same message.
Comment 4 Eugene Shalygin 2013-05-01 11:52:04 UTC
When targets are listed in build dependencies, KDevelop tries to build and install them, even when I select just "Build"
Comment 5 Eugene Shalygin 2013-05-01 13:29:08 UTC
If I disable "Plasmoid launcher plugin", KDevelop crashes when I try to launch native application.

#5  0x00007f341f68d0a0 in KDevelop::IPlugin::extensions() const () from /usr/lib64/libkdevplatforminterfaces.so.7
#6  0x00007f337bb65c83 in NativeAppLauncher::start(QString const&, KDevelop::ILaunchConfiguration*) () from /usr/lib64/kde4/kdevexecute.so
#7  0x00007f341f3fb8ab in KDevelop::RunController::execute(QString const&, KDevelop::ILaunchConfiguration*) () from /usr/lib64/libkdevplatformshell.so.7
#8  0x00007f341f3fcb90 in KDevelop::RunController::executeDefaultLaunch(QString const&) () from /usr/lib64/libkdevplatformshell.so.7
#9  0x00007f341f3f8ad9 in KDevelop::RunController::slotExecute() () from /usr/lib64/libkdevplatformshell.so.7
#10 0x00007f341f3fe8b5 in KDevelop::RunController::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.62] () from /usr/lib64/libkdevplatformshell.so.7
#11 0x00007f341e74a18f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007f341db28ca2 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007f341db2a533 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007f341dec3dd2 in QAbstractButtonPrivate::click() () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007f341dec3f1c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007f341df74aca in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f341db7bd0e in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007f341db2eedc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007f341db34b5d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007f341ecdf8ba in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#21 0x00007f341e73506e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#22 0x00007f341db34323 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007f341dba2350 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007f341dba06fc in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007f341dbc5fc2 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#26 0x000000364b04a2e5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#27 0x000000364b04a618 in g_main_context_iterate.isra.24 () from /usr/lib64/libglib-2.0.so.0
#28 0x000000364b04a6d4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#29 0x00007f341e762a06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#30 0x00007f341dbc6066 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#31 0x00007f341e733dcf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007f341e734058 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#33 0x00007f341e738ba8 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#34 0x000000000040c3b9 in main ()
Comment 6 Eugene Shalygin 2013-05-01 13:38:05 UTC
If "Plasmoid launcher" is enabled, in NativeAppJob::NativeAppJob() I see that executable, returned by iface->executable() is indeed empty. envgrp there is empty also.

Do these facts and my previous comment mean that plasmoid launcher is selected instead of native launcher?
Comment 7 Eugene Shalygin 2013-05-01 13:40:33 UTC
And, finally, if I remove /usr/share/kde4/services/kdevexecuteplasmoid.desktop file, native launch works
Comment 8 Aleix Pol 2013-05-03 23:43:35 UTC
Git commit 91cd040180ee526658455e6324e365e1be63acfe by Aleix Pol, on behalf of Andras Mantia.
Committed on 03/05/2013 at 13:26.
Pushed by apol into branch '1.5'.

Enforce picking up of the right plugin, otherwise we got two (plasmoid launcher and application) and the first one was used (plasmoid launcher) for native apps as well. That resulted in broken build & execution of the project.

M  +1    -1    plugins/execute/nativeappconfig.cpp
M  +1    -1    plugins/execute/nativeappjob.cpp

http://commits.kde.org/kdevplatform/91cd040180ee526658455e6324e365e1be63acfe
Comment 9 Aleix Pol 2013-05-03 23:45:32 UTC
*** Bug 319209 has been marked as a duplicate of this bug. ***