kdab / gammaray Goto Github PK
View Code? Open in Web Editor NEWGammaRay is a tool to poke around in a Qt-application and also to manipulate the application to some extent.
Home Page: https://www.kdab.com/gammaray
License: Other
GammaRay is a tool to poke around in a Qt-application and also to manipulate the application to some extent.
Home Page: https://www.kdab.com/gammaray
License: Other
I have no idea how to do this. Does anyone?
Hi. It would be nice to see a basic functionality in a standalone library, which could be used in other applications.
Also it would help to make the design of the program more clear.
The statemachine view is not selectable on the sitepanel.
Enviroment: Qt5.3-mvsc12 compiled with graphviz 2.38 and cgraph library. Also KDSME ist installed and found by cmake. Gammaray is compiled as debug build. So is the test application.
It seems that the plugin is compiled. At last gammaray_statemachineviewer_plugin.dll is in the plugins directory and it is listet in the Plugins-Info-Panel.
I created a statemachine like this:
this->m_stateMachine = new QStateMachine(this);
QState *s1 = new QState();
QState *s2 = new QState();
QState *s3 = new QState();
QState *s4 = new QState();
QFinalState *final = new QFinalState();
s1->addTransition(this,SIGNAL(signal_a()),s4);
s4->addTransition(this,SIGNAL(signal_b()),s2);
s2->addTransition(this,SIGNAL(signal_c()),s4);
s4->addTransition(this,SIGNAL(signal_d()),s3);
s3->addTransition(this,SIGNAL(f()),s1);
s1->addTransition(this,SIGNAL(final()),final);
this->m_stateMachine->addState(s1);
this->m_stateMachine->addState(s4);
this->m_stateMachine->addState(s2);
this->m_stateMachine->addState(s3);
this->m_stateMachine->addState(final);
this->m_stateMachine->setInitialState(s1);
this->m_stateMachine->start();
also the QStateMachine Object is not visible in the Objects tree of GammaRay although the parent object (this) is.
Setting the statemachine as property will produce an qWarning:
Q_PROPERTY(QStateMachine* State MEMBER m_stateMachine)
qWarning: Cannot serialize QVariant of type QStateMachine*
Crashed when debugging tomahawk (which uses a lot of threads)
BT when selection the Selection Models browser:
#0 0x00000004000000d4 in ?? ()
#1 0x00007ffff56a32a0 in QMetaObject::cast (this=0x7ffff6e81b40 QItemSelectionModel::staticMetaObject, obj=
0x1237900) at /home/krf/devel/src/qt/src/corelib/kernel/qmetaobject.cpp:274
#2 0x00007ffff446c864 in qobject_cast<QItemSelectionModel*> (object=0x1237900)
at /home/krf/devel/build/qt4.8-shared-debug/include/QtCore/../../../../src/qt/src/corelib/kernel/qobject.h:380
#3 0x00007ffff446ca66 in GammaRay::ObjectTypeFilterProxyModel::filterAcceptsObject (
this=0x17ad770, object=0x1237900) at /home/krf/devel/src/kdab/GammaRay/include/objecttypefilterproxymodel.h:109
#4 0x00007ffff446b71c in GammaRay::ObjectFilterProxyModelBase::filterAcceptsRow (this=0x17ad770, source_row=2216,
source_parent=...) at /home/krf/devel/src/kdab/GammaRay/include/objecttypefilterproxymodel.h:75
#5 0x00007ffff67eca3b in QSortFilterProxyModelPrivate::create_mapping (this=0x36edeb0, source_parent=...)
at /home/krf/devel/src/qt/src/gui/itemviews/qsortfilterproxymodel.cpp:327
#6 0x00007ffff67f1e70 in QSortFilterProxyModel::index (this=0x17ad770, row=0, column=0, parent=...)
at /home/krf/devel/src/qt/src/gui/itemviews/qsortfilterproxymodel.cpp:1659
#7 0x00007ffff6743940 in QAbstractItemView::setModel (this=0x36aed90, model=0x17ad770)
at /home/krf/devel/src/qt/src/gui/itemviews/qabstractitemview.cpp:664
#8 0x00007ffff6758c88 in QHeaderView::setModel (this=0x36aed90, model=0x17ad770)
at /home/krf/devel/src/qt/src/gui/itemviews/qheaderview.cpp:410
#9 0x00007ffff67942b5 in QTreeView::setModel (this=0x36cfdf0, model=0x17ad770)
at /home/krf/devel/src/qt/src/gui/itemviews/qtreeview.cpp:236
#10 0x00007ffff446be7b in GammaRay::SelectionModelInspector::SelectionModelInspector (this=0x36d6a50, probe=0x12ccdc0,
widget=0x1752490)
at /home/krf/devel/src/kdab/GammaRay/core/tools/selectionmodelinspector/selectionmodelinspector.cpp:40
#11 0x00007ffff442ea29 in GammaRay::StandardToolFactory<QItemSelectionModel, GammaRay::SelectionModelInspector>::createWidget (this=0x128d360, probe=0x12ccdc0, parentWidget=0x1752490)
at /home/krf/devel/src/kdab/GammaRay/include/toolfactory.h:117
#12 0x00007ffff43f5202 in GammaRay::MainWindow::toolSelected (this=0x1752490)
at /home/krf/devel/src/kdab/GammaRay/core/mainwindow.cpp:266
Probably related to thread-safety issues amongst our models
I followed the installation steps:
if I launch the application by the command gammaray occours the following error:
"gammaray: error while loading shared libraries: libgammaray_ui.so: cannot open shared object file: No such file or directory"
The application runs if I launch it from the folder:
/myDir/Gammaray-master/build/bin using the command ./gammaray
In any case when I attach any Qt process by GammaRay crash both!
I'm trying to use GammaRay to debug my program but got the following error in the output:
QML debugging is enabled. Only use this in a safe environment.
gammaray_probe_inject()
Unable to receive probe settings, cannot attach to shared memory region "gammaray-11789" "/tmp/qipc_sharedmemory_gammaraybf7a476e31c6719face2851d5851f1587a54c4b5" , error is: "QSharedMemoryPrivate::initKey: unable to set key on lock"
Continueing anyway, with default settings.
Unable to receive probe settings, cannot attach to shared memory region "gammaray-11789" "/tmp/qipc_sharedmemory_gammaraybf7a476e31c6719face2851d5851f1587a54c4b5" , error is: "QSharedMemoryPrivate::initKey: unable to set key on lock"
Continueing anyway, with default settings.
The command used was
sudo gammaray -p 11789 --inprocess
The output of uname
Linux Aetf-Arch-Laptop 3.17.4-1-ARCH #1 SMP PREEMPT Fri Nov 21 21:14:42 CET 2014 x86_64 GNU/Linux
I get the following linker error when trying to build GammaRay 2.1.2:
[ 0%] Built target gammaray_common_automoc
Linking CXX shared library ..\bin\gammaray_common-qt4.8-MSVC-debug-i686.dll
Creating library gammaray_common-qt4.8-MSVC-debug-i686.lib and object gammara
y_common-qt4.8-MSVC-debug-i686.exp
message.cpp.obj : error LNK2019: unresolved external symbol "public: __thiscall
GammaRay::Message::Message(class GammaRay::Message const &)" (??0Message@GammaRa
y@@QAE@ABV01@@z) referenced in function "public: static class GammaRay::Message
__cdecl GammaRay::Message::readMessage(class QIODevice *)" (?readMessage@Message
@GammaRay@@sa?AV12@PAVQIODevice@@@z)
QtCored.lib(qeventdispatcher_win.obj) : error LNK2019: unresolved external symbo
l _WSAAsyncSelect@16 referenced in function "public: void __thiscall QEventDispa
tcherWin32Private::doWsaAsyncSelect(int)" (?doWsaAsyncSelect@QEventDispatcherWin
32Private@@qaexh@Z)
..\bin\gammaray_common-qt4.8-MSVC-debug-i686.dll : fatal error LNK1120: 2 unreso
lved externals
LINK Pass 1 failed. with 1120
NMAKE : fatal error U1077: '"C:\Program Files\CMake 2.8\bin\cmake.exe"' : return
code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.exe"' : return code '0x2'
Stop.
Versions are as follows:
GammaRay 2.1.2
Qt 4.8.4
VS 2008
CMake 2.8.12.2
Windows 7 (32 bit)
I get the following trying to install without sudo. Since It only writes stuff to my homedir it shouldn't require root rights:
Install the project...
-- Install configuration: "Release"
-- Installing: /Users/tobias/gammaray/lib/gammaray_probe.dylib
-- Up-to-date: /Users/tobias/gammaray/man/man1/gammaray.1
-- Installing: /Users/tobias/gammaray/lib/qt4/plugins/styles/gammaray_injector_style.so
-- Installing: /Users/tobias/gammaray/bin/gammaray
-- Up-to-date: /Users/tobias/gammaray/include/gammaray/objectmodel.h
-- Up-to-date: /Users/tobias/gammaray/include/gammaray/objecttypefilterproxymodel.h
-- Up-to-date: /Users/tobias/gammaray/include/gammaray/probeinterface.h
-- Up-to-date: /Users/tobias/gammaray/include/gammaray/singlecolumnobjectproxymodel.h
-- Up-to-date: /Users/tobias/gammaray/include/gammaray/toolfactory.h
-- Installing: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_objectvisualizer_plugin.so
-- Up-to-date: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_objectvisualizer.desktop
-- Installing: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_scriptenginedebugger_plugin.so
-- Up-to-date: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_scriptenginedebugger.desktop
-- Installing: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_statemachineviewer_plugin.so
-- Up-to-date: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_statemachineviewer.desktop
-- Installing: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_webinspector_plugin.so
-- Up-to-date: /Users/tobias/gammaray/lib/qt4/plugins/gammaray/gammaray_webinspector.desktop
-- Installing: /Users/tobias/gammaray/lib/libgammaray_widget_export_actions.dylib
CMake Error at cmake_install.cmake:65 (FILE):
file Internal CMake error when trying to open file:
/Users/tobias/dev/rep/GammaRay/build/install_manifest.txt for writing.
Ubuntu 10.04 / g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
/home/jchris/Projects/GammaRay/plugins/statemachineviewer/gvgraph/gvgraph.cpp:393: error: ‘struct textlabel_t’ has no member named ‘pos’
/home/jchris/Projects/GammaRay/plugins/statemachineviewer/gvgraph/gvgraph.cpp:394: error: ‘struct textlabel_t’ has no member named ‘pos’
$ dpkg -s graphviz-dev
Package: graphviz-dev
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 76
Maintainer: Ubuntu Core Developers <[email protected]>
Architecture: all
Source: graphviz
Version: 2.20.2-8ubuntu3
Depends: libgraphviz-dev
Description: transitional package for graphviz-dev rename
Graphviz is a set of graph drawing tools. See the description of the graphviz
package for a full description.
.
This package is targeted at easing the upgrade from older graphviz-dev to the
new libgraphviz-dev package.
.
This package can be purged at anytime once the libgraphviz-dev package has
been installed.
Homepage: http://www.graphviz.org/
Original-Maintainer: David Claughton <[email protected]>
Passing -DLIBEXEC_INSTALL_DIR=/usr/libexec/gammaray
to CMake has no impact and gammaray-launcher and gammaray-client are always installed to /usr/lib64/gammaray/libexec. Although this is a good default, it would still be nice if packagers could choose the destination (e.g. /usr/libexec/gammaray, as recommended by Fedora packaging guidelines).
Passing -DPLUGIN_INSTALL_DIR=/usr/lib64/qt4/plugins
to CMake is ignored by all plugins (they install to /usr/lib64/gammaray/version/qt-build/), except for gammaray_kjobtracker, which installs to /usr/lib64/plugins/version/qt-build/.
I tried making the variables configurable by users (see the patch below), which worked for plugins, but has broken lookup of the libexec utilities:
$ gammaray
"gammaray-launcher" not found in the expected location(s):
"/usr/bin/..//bin/gammaray-launcher, /usr/bin/..///usr/libexec/gammaray-launcher"
continuing anyway, hoping for it to be in PATH.
libexec is usually not in PATH, so it does not work :)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bdffd69..fc8b312 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -259,8 +259,12 @@ if(WIN32)
set(PLUGIN_INSTALL_DIR "plugins")
set(LIBEXEC_INSTALL_DIR "${BIN_INSTALL_DIR}")
else()
- set(PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}/gammaray")
- set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/gammaray/libexec")
+ if(NOT PLUGIN_INSTALL_DIR)
+ set(PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}/gammaray")
+ endif()
+ if(NOT LIBEXEC_INSTALL_DIR)
+ set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/gammaray/libexec")
+ endif()
endif()
if(UNIX AND NOT APPLE)
set(DOC_INSTALL_DIR share/doc/gammaray/)
Please test the FindGraphviz.cmake with a recent version of graphviz.
I have graphviz 2.34.0 on my system
One bug is probably here:
find_path(GRAPHVIZ_INCLUDE_DIR graphviz/graph.h PATH ${_GRAPHVIZ_INCLUDE_DIR})
I don't have a graph.h file, and neither a libgraph.so
Ubuntu 10.04 / g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
In config-gammaray.h.cmake
, currently GAMMARAY_BUILD_DIR
is specified as
#define GAMMARAY_BUILD_DIR "${CMAKE_BINARY_DIR}"
This prevent the gammayray_probe
library from being loaded properly because it is currently built into the core
sub directory and the method findProbe is not searching into that sub directory but directly in GAMMARAY_BUILD_DIR
instead.
Seen with 1.1.0, built on a Debian testing upgraded today before building gammaray.
The app to look at though gammaray is https://alioth.debian.org/projects/omaha/, at commit
http://anonscm.debian.org/gitweb/?p=omaha/omaha.git;a=commit;h=30ef5e94c98ccd18ccd2eae9dd5cbd2d420d053b
To reproduce:
From gammaray:
Hit cancel in the dialog:
=> omaha terminates with "Segmentation fault"
Gammaray cannot attach if python is run under gdb, and a corefile does not get properly decoded by gdb. Any hint to get more precise info ?
AFAIK, gammaray installs some binaries/headers to the bin
/include
/lib
directories with fixed names. Therefore, it is impossible right now to install both Qt4 and Qt5 versions of gammaray at the same time (in the same prefix). I use gammaray to debug Qt theme in both Qt4 and Qt5 applications (which works great!!!) and it will be really useful to have both of them.
One possible solution is to allow adding custom suffixes with a compile time argument, so that the executable can be named gammaray-qt{4,5}, the header files can be installed to /usr/include/qt{4,5}/gammaray, and the libraries can be named libgammaray_common_qt{4,5}.so
etc. This way, it will not break any existing build (the suffixes can default to empty) and it allows distributions to easily custimize the names to fit their policy with the compile time argument.
I can try to submit a pull request if this solution is accpetable.
I'm running $sudo ./gammaray -p 59302 --inprocess
and error is
void GammaRay::Launcher::sendProbeSettings() Failed to obtain shared memory for probe settings: "QSharedMemory::handle: system-imposed size restrictions" - error code (QSharedMemory::SharedMemoryError): 2
Missing unistd.h include in attach/processfiltermodel.cpp and injector/interactiveprocess.cpp leads to compilation error.
It would be nice if GammaRay would build with compilers without C++11 support:
20>probe.cpp
25>proxytooluifactory.cpp
20>..\..\..\GammaRay\core\probe.cpp(99) : error C2143: syntax error : missing ')' before '['
20>..\..\..\GammaRay\core\probe.cpp(99) : error C2780: 'void GammaRay::Probe::executeSignalCallback(const Func &)' : expects 1 arguments - 0 provided
20> p:\projects\gammaray\core\probe.h(116) : see declaration of 'GammaRay::Probe::executeSignalCallback'
20>..\..\..\GammaRay\core\probe.cpp(99) : error C2059: syntax error : '='
20>..\..\..\GammaRay\core\probe.cpp(99) : error C2143: syntax error : missing ';' before '{'
20>..\..\..\GammaRay\core\probe.cpp(103) : error C2059: syntax error : ')'
20>..\..\..\GammaRay\core\probe.cpp(108) : error C2143: syntax error : missing ')' before '['
20>..\..\..\GammaRay\core\probe.cpp(108) : error C2780: 'void GammaRay::Probe::executeSignalCallback(const Func &)' : expects 1 arguments - 0 provided
20> p:\projects\gammaray\core\probe.h(116) : see declaration of 'GammaRay::Probe::executeSignalCallback'
20>..\..\..\GammaRay\core\probe.cpp(108) : error C2059: syntax error : '='
20>..\..\..\GammaRay\core\probe.cpp(108) : error C2143: syntax error : missing ';' before '{'
20>..\..\..\GammaRay\core\probe.cpp(112) : error C2059: syntax error : ')'
20>..\..\..\GammaRay\core\probe.cpp(117) : error C2143: syntax error : missing ')' before '['
20>..\..\..\GammaRay\core\probe.cpp(117) : error C2780: 'void GammaRay::Probe::executeSignalCallback(const Func &)' : expects 1 arguments - 0 provided
20> p:\projects\gammaray\core\probe.h(116) : see declaration of 'GammaRay::Probe::executeSignalCallback'
20>..\..\..\GammaRay\core\probe.cpp(117) : error C2059: syntax error : '='
20>..\..\..\GammaRay\core\probe.cpp(117) : error C2143: syntax error : missing ';' before '{'
20>..\..\..\GammaRay\core\probe.cpp(121) : error C2059: syntax error : ')'
20>..\..\..\GammaRay\core\probe.cpp(126) : error C2143: syntax error : missing ')' before '['
20>..\..\..\GammaRay\core\probe.cpp(126) : error C2780: 'void GammaRay::Probe::executeSignalCallback(const Func &)' : expects 1 arguments - 0 provided
20> p:\projects\gammaray\core\probe.h(116) : see declaration of 'GammaRay::Probe::executeSignalCallback'
20>..\..\..\GammaRay\core\probe.cpp(126) : error C2059: syntax error : '='
20>..\..\..\GammaRay\core\probe.cpp(126) : error C2143: syntax error : missing ';' before '{'
20>..\..\..\GammaRay\core\probe.cpp(130) : error C2059: syntax error : ')'
25>aboutdialog.cpp
I'm trying to compile this on windows and I get the error
Linking CXX shared library ..\bin\libgammaray_common-qt4.8-GNU-i686.dll
CMakeFiles\gammaray_common.dir/objects.a(klinkitemselectionmodel.cpp.obj):klinki
temselectionmodel.cpp:(.text+0x38): undefined reference to `_imp___ZN19QItemSele
Trying to attach to a running process (New empty GUI template project of QtCreator) using the dialog of GammaRay (GammaRay is running with sudo as root).
The process is found, here is the gammaray output when stopping:
Remarks:
Error: "/var/tmp/kdecache-christian" is owned by uid 1000 instead of uid 0.
QProcess: Destroyed while process is still running.
*** glibc detected *** gdb: double free or corruption (!prev): 0x00000000018ff3a0 ***
warning: not using untrusted file "/home/christian/.gdbinit"
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x7fbcba91ab96]
/lib/x86_64-linux-gnu/libc.so.6(fclose+0x155)[0x7fbcba90a815]
gdb[0x6c42e3]
gdb[0x5583b0]
gdb(do_cleanups+0x1d)[0x55841d]
gdb[0x4d0d05]
gdb(source_script+0x25)[0x4d0d70]
gdb(catch_command_errors+0x50)[0x5c9cd7]
gdb[0x5cc6e2]
gdb(catch_errors+0x5f)[0x5c9c03]
gdb(gdb_main+0x34)[0x5ccc5c]
gdb(main+0x4e)[0x44e5aa]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7fbcba8bd76d]
gdb[0x44e479]
======= Memory map: ========
00400000-009e3000 r-xp 00000000 08:05 4541 /usr/bin/gdb
00be2000-00be3000 r--p 005e2000 08:05 4541 /usr/bin/gdb
00be3000-00bf7000 rw-p 005e3000 08:05 4541 /usr/bin/gdb
00bf7000-00c17000 rw-p 00000000 00:00 0
01769000-01933000 rw-p 00000000 00:00 0 [heap]
7fbcba03d000-7fbcba483000 r--p 00000000 08:05 341 /usr/lib/locale/locale-archive
7fbcba483000-7fbcba498000 r-xp 00000000 08:05 261754 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbcba498000-7fbcba697000 ---p 00015000 08:05 261754 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbcba697000-7fbcba698000 r--p 00014000 08:05 261754 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbcba698000-7fbcba699000 rw-p 00015000 08:05 261754 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbcba699000-7fbcba69b000 r-xp 00000000 08:05 272949 /lib/x86_64-linux-gnu/libutil-2.15.so
7fbcba69b000-7fbcba89a000 ---p 00002000 08:05 272949 /lib/x86_64-linux-gnu/libutil-2.15.so
7fbcba89a000-7fbcba89b000 r--p 00001000 08:05 272949 /lib/x86_64-linux-gnu/libutil-2.15.so
7fbcba89b000-7fbcba89c000 rw-p 00002000 08:05 272949 /lib/x86_64-linux-gnu/libutil-2.15.so
7fbcba89c000-7fbcbaa51000 r-xp 00000000 08:05 270328 /lib/x86_64-linux-gnu/libc-2.15.so
7fbcbaa51000-7fbcbac50000 ---p 001b5000 08:05 270328 /lib/x86_64-linux-gnu/libc-2.15.so
7fbcbac50000-7fbcbac54000 r--p 001b4000 08:05 270328 /lib/x86_64-linux-gnu/libc-2.15.so
7fbcbac54000-7fbcbac56000 rw-p 001b8000 08:05 270328 /lib/x86_64-linux-gnu/libc-2.15.so
7fbcbac56000-7fbcbac5b000 rw-p 00000000 00:00 0
7fbcbac5b000-7fbcbac81000 r-xp 00000000 08:05 262372 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbcbac81000-7fbcbae81000 ---p 00026000 08:05 262372 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbcbae81000-7fbcbae83000 r--p 00026000 08:05 262372 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbcbae83000-7fbcbae84000 rw-p 00028000 08:05 262372 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fbcbae84000-7fbcbb106000 r-xp 00000000 08:05 4957 /usr/lib/libpython2.7.so.1.0
7fbcbb106000-7fbcbb305000 ---p 00282000 08:05 4957 /usr/lib/libpython2.7.so.1.0
7fbcbb305000-7fbcbb307000 r--p 00281000 08:05 4957 /usr/lib/libpython2.7.so.1.0
7fbcbb307000-7fbcbb370000 rw-p 00283000 08:05 4957 /usr/lib/libpython2.7.so.1.0
7fbcbb370000-7fbcbb382000 rw-p 00000000 00:00 0
7fbcbb382000-7fbcbb39a000 r-xp 00000000 08:05 270330 /lib/x86_64-linux-gnu/libpthread-2.15.so
7fbcbb39a000-7fbcbb599000 ---p 00018000 08:05 270330 /lib/x86_64-linux-gnu/libpthread-2.15.so
7fbcbb599000-7fbcbb59a000 r--p 00017000 08:05 270330 /lib/x86_64-linux-gnu/libpthread-2.15.so
7fbcbb59a000-7fbcbb59b000 rw-p 00018000 08:05 270330 /lib/x86_64-linux-gnu/libpthread-2.15.so
7fbcbb59b000-7fbcbb59f000 rw-p 00000000 00:00 0
7fbcbb59f000-7fbcbb69a000 r-xp 00000000 08:05 270508 /lib/x86_64-linux-gnu/libm-2.15.so
7fbcbb69a000-7fbcbb899000 ---p 000fb000 08:05 270508 /lib/x86_64-linux-gnu/libm-2.15.so
7fbcbb899000-7fbcbb89a000 r--p 000fa000 08:05 270508 /lib/x86_64-linux-gnu/libm-2.15.so
7fbcbb89a000-7fbcbb89b000 rw-p 000fb000 08:05 270508 /lib/x86_64-linux-gnu/libm-2.15.so
7fbcbb89b000-7fbcbb8b1000 r-xp 00000000 08:05 266006 /lib/x86_64-linux-gnu/libz.so.1.2.7
7fbcbb8b1000-7fbcbbab0000 ---p 00016000 08:05 266006 /lib/x86_64-linux-gnu/libz.so.1.2.7
7fbcbbab0000-7fbcbbab1000 r--p 00015000 08:05 266006 /lib/x86_64-linux-gnu/libz.so.1.2.7
7fbcbbab1000-7fbcbbab2000 rw-p 00016000 08:05 266006 /lib/x86_64-linux-gnu/libz.so.1.2.7
7fbcbbab2000-7fbcbbad6000 r-xp 00000000 08:05 266426 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fbcbbad6000-7fbcbbcd5000 ---p 00024000 08:05 266426 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fbcbbcd5000-7fbcbbcd9000 r--p 00023000 08:05 266426 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fbcbbcd9000-7fbcbbcda000 rw-p 00027000 08:05 266426 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fbcbbcda000-7fbcbbcfa000 r-xp 00000000 08:05 261689 /lib/x86_64-linux-gnu/libncurses.so.5.9
7fbcbbcfa000-7fbcbbef9000 ---p 00020000 08:05 261689 /lib/x86_64-linux-gnu/libncurses.so.5.9
7fbcbbef9000-7fbcbbefa000 r--p 0001f000 08:05 261689 /lib/x86_64-linux-gnu/libncurses.so.5.9
7fbcbbefa000-7fbcbbefb000 rw-p 00020000 08:05 261689 /lib/x86_64-linux-gnu/libncurses.so.5.9
7fbcbbefb000-7fbcbbefd000 r-xp 00000000 08:05 262299 /lib/x86_64-linux-gnu/libdl-2.15.so
7fbcbbefd000-7fbcbc0fd000 ---p 00002000 08:05 262299 /lib/x86_64-linux-gnu/libdl-2.15.so
7fbcbc0fd000-7fbcbc0fe000 r--p 00002000 08:05 262299 /lib/x86_64-linux-gnu/libdl-2.15.so
7fbcbc0fe000-7fbcbc0ff000 rw-p 00003000 08:05 262299 /lib/x86_64-linux-gnu/libdl-2.15.so
7fbcbc0ff000-7fbcbc138000 r-xp 00000000 08:05 268396 /lib/x86_64-linux-gnu/libreadline.so.6.2
7fbcbc138000-7fbcbc338000 ---p 00039000 08:05 268396 /lib/x86_64-linux-gnu/libreadline.so.6.2
7fbcbc338000-7fbcbc33a000 r--p 00039000 08:05 268396 /lib/x86_64-linux-gnu/libreadline.so.6.2
7fbcbc33a000-7fbcbc340000 rw-p 0003b000 08:05 268396 /lib/x86_64-linux-gnu/libreadline.so.6.2
7fbcbc340000-7fbcbc341000 rw-p 00000000 00:00 0
7fbcbc341000-7fbcbc363000 r-xp 00000000 08:05 272947 /lib/x86_64-linux-gnu/ld-2.15.so
7fbcbc38e000-7fbcbc413000 rw-p 00000000 00:00 0
7fbcbc413000-7fbcbc438000 r--p 00000000 08:05 420747 /usr/share/locale-langpack/de/LC_MESSAGES/libc.mo
7fbcbc438000-7fbcbc4aa000 rw-p 00000000 00:00 0
7fbcbc4ab000-7fbcbc534000 rw-p 00000000 00:00 0
7fbcbc54e000-7fbcbc555000 r--s 00000000 08:05 273800 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7fbcbc555000-7fbcbc561000 r--p 00000000 08:05 395637 /usr/share/locale-langpack/de/LC_MESSAGES/gdb.mo
7fbcbc561000-7fbcbc563000 rw-p 00000000 00:00 0
7fbcbc563000-7fbcbc564000 r--p 00022000 08:05 272947 /lib/x86_64-linux-gnu/ld-2.15.so
7fbcbc564000-7fbcbc566000 rw-p 00023000 08:05 272947 /lib/x86_64-linux-gnu/ld-2.15.so
7fffc6265000-7fffc6286000 rw-p 00000000 00:00 0 [stack]
7fffc636a000-7fffc636b000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Unable to attach injector gdb
Exit code: 0
Error: Process crashed
I can't get latest GammaRay to attach to a process without crashing.
The relevant gist is here: https://gist.github.com/kubark42/9be0804b2d667f9646c6
d:\gammaray\workspace\plugins\quickinspector\quickinspector.h(63): error C2216: 'override' kann nicht zusammen mit 'inline' verwendet werden
This seems to be a bug in Visual Studio 10 (http://connect.microsoft.com/VisualStudio/feedback/details/684900).
Ubuntu 10.04 / g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
/home/jchris/Projects/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h: In function
‘int GammaRay::_gvLayout(GVC_t*, graph_t*, const char*)’:
/home/jchris/Projects/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h:67:
error: invalid conversion from ‘const char*’ to ‘char*’
/home/jchris/Projects/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h:67:
error: initializing argument 3 of ‘int gvLayout(GVC_t*, graph_t*, char*)’
Hi, I noticed that you set the LIB_INSTALL_DIR variable in line 123 of GammaRay-1.3.0/CMakeList.txt to a relative path. This triggers some security warnings in Gentoo when installing the package. Is this intended or can it be changed to /usr/lib${LIBSUFFIX}?
I built the recent head of GammaRay for Qt5.2.1 on x64, Windows. When attaching to or launching a compatible app (release or debug), inprocess or out of process local, I always get this:
Note the left sidebar is completely greyed out, and the actions menu is empty, and nothing is available. Am I doing something wrong or is this a bug?
When going to widgets-> then clicking on nested layouts, the highlight remains on the top layout.
#include <QApplication>
#include <QDebug>
#include <QWidget>
#include <QColorDialog>
int main(int a, char**b)
{
QApplication app(a, b);
QColorDialog dialog;
dialog.exec();
return app.exec();
}
The Install.txt claims that on MacOSX GammaRay should be installed as /Applications/GammaRay.app but when I build the current git master this does not happen and I'm not seeing anything in the CMakeLists.txt to configure this. I can run /usr/local/bin/gammaray fine but since this isn't a proper MacOSX bundle it's missing things such as the application icon and menubar entries.
I was able to compile gammaray however launching gammaray with the command line throws this error.
No probe found for ABI qt4.8-MSVC-release-i686
Also using the gammaray launcher the process list is grayed out
Ran an application (plasmashell) connected inprocess. I clicked on the scenegraph tab under "QuickScenes"
Happens ever time.
Thread 1 (Thread 0x7ff455fae800 (LWP 7139)):
[KCrash Handler]
#6 0x00007ff44c0a9d67 in raise () from /usr/lib/libc.so.6
#7 0x00007ff44c0ab118 in abort () from /usr/lib/libc.so.6
#8 0x00007ff44cceba83 in qt_message_fatal (context=..., message=...) at global/qlogging.cpp:1364
#9 0x00007ff44cce958c in QMessageLogger::fatal (this=0x7fffdf3bed40, msg=0x7ff44cff4fc0 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qlogging.cpp:669
#10 0x00007ff44cce3c33 in qt_assert_x (where=0x7ff44d03afb2 "QVector<T>::at", what=0x7ff44d03af9f "index out of range", file=0x7ff44d03af68 "../../include/QtCore/../../src/corelib/tools/qvector.h", line=377) at global/qglobal.cpp:2133
#11 0x00007ff44cdbef4b in QVector<int>::at (this=0x305f890, i=0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:377
#12 0x00007ff44cee3047 in QSortFilterProxyModelPrivate::can_create_mapping (this=0x3061d10, source_parent=...) at itemmodels/qsortfilterproxymodel.cpp:423
#13 0x00007ff44cee70ed in QSortFilterProxyModelPrivate::_q_sourceRowsAboutToBeInserted (this=0x3061d10, source_parent=..., start=0, end=0) at itemmodels/qsortfilterproxymodel.cpp:1380
#14 0x00007ff44ceebc6d in QSortFilterProxyModel::qt_static_metacall (_o=0x3061710, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffdf3bef40) at .moc/moc_qsortfilterproxymodel.cpp:203
#15 0x00007ff44cf296e9 in QMetaMethod::invoke (this=0x7fffdf3bf400, object=0x3061710, connectionType=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:2169
#16 0x00007ff44cf28bac in QMetaObject::invokeMethod (obj=0x3061710, member=0x7ff436fbae10 "_q_sourceRowsAboutToBeInserted", type=Qt::DirectConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1464
#17 0x00007ff436fb0fca in KRecursiveFilterProxyModelPrivate::sourceRowsAboutToBeInserted(QModelIndex const&, int, int) () from /opt/kde5/lib/libgammaray_ui-qt5.3-x86_64.so.2.2.0
#18 0x00007ff44cf5f82e in QMetaObject::activate (sender=0x218b8d0, signalOffset=3, local_signal_index=9, argv=0x7fffdf3bf740) at kernel/qobject.cpp:3680
#19 0x00007ff44cf5f03c in QMetaObject::activate (sender=0x218b8d0, m=0x7ff44d3ff720 QAbstractItemModel::staticMetaObject, local_signal_index=9, argv=0x7fffdf3bf740) at kernel/qobject.cpp:3546
#20 0x00007ff44cfee591 in QAbstractItemModel::rowsAboutToBeInserted (this=0x218b8d0, _t1=..., _t2=0, _t3=0) at .moc/moc_qabstractitemmodel.cpp:420
#21 0x00007ff44cec0d4f in QAbstractItemModel::beginInsertRows (this=0x218b8d0, parent=..., first=0, last=0) at itemmodels/qabstractitemmodel.cpp:2605
#22 0x00007ff42ab33022 in GammaRay::QuickSceneGraphModel::populateFromNode(QSGNode*) () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#23 0x00007ff42ab332b6 in GammaRay::QuickSceneGraphModel::populateFromNode(QSGNode*) () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#24 0x00007ff42ab33d40 in GammaRay::QuickSceneGraphModel::updateSGTree() () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#25 0x00007ff42ab34215 in GammaRay::QuickSceneGraphModel::setWindow(QQuickWindow*) () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#26 0x00007ff42ab1c37d in GammaRay::QuickInspector::selectWindow(QQuickWindow*) () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#27 0x00007ff42ab1c5e5 in GammaRay::QuickInspector::selectWindow(int) () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#28 0x00007ff42ab39ea4 in GammaRay::QuickInspector::qt_static_metacall(QObject_, QMetaObject::Call, int, void_*) () from /opt/kde5/lib/gammaray/2.2/qt5.3-x86_64/gammaray_quickinspector.so
#29 0x00007ff44cf5f82e in QMetaObject::activate (sender=0x3021f60, signalOffset=7, local_signal_index=5, argv=0x7fffdf3bfc90) at kernel/qobject.cpp:3680
#30 0x00007ff44cf5f03c in QMetaObject::activate (sender=0x3021f60, m=0x7ff44e5c23c0 QComboBox::staticMetaObject, local_signal_index=5, argv=0x7fffdf3bfc90) at kernel/qobject.cpp:3546
#31 0x00007ff44deef164 in QComboBox::currentIndexChanged (this=0x3021f60, _t1=4) at .moc/moc_qcombobox.cpp:475
#32 0x00007ff44dee813a in QComboBoxPrivate::_q_emitCurrentIndexChanged (this=0x3021fa0, index=...) at widgets/qcombobox.cpp:1265
#33 0x00007ff44deea52d in QComboBoxPrivate::setCurrentIndex (this=0x3021fa0, mi=...) at widgets/qcombobox.cpp:2065
#34 0x00007ff44dee7f55 in QComboBoxPrivate::_q_itemSelected (this=0x3021fa0, item=...) at widgets/qcombobox.cpp:1234
#35 0x00007ff44deee6e0 in QComboBox::qt_static_metacall (_o=0x3021f60, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7fffdf3c0030) at .moc/moc_qcombobox.cpp:270
#36 0x00007ff44cf5f82e in QMetaObject::activate (sender=0x32f4b50, signalOffset=7, local_signal_index=0, argv=0x7fffdf3c0030) at kernel/qobject.cpp:3680
#37 0x00007ff44cf5f03c in QMetaObject::activate (sender=0x32f4b50, m=0x7ff44e5dbc20 QComboBoxPrivateContainer::staticMetaObject, local_signal_index=0, argv=0x7fffdf3c0030) at kernel/qobject.cpp:3546
#38 0x00007ff44e1e069b in QComboBoxPrivateContainer::itemSelected (this=0x32f4b50, _t1=...) at .moc/moc_qcombobox_p.cpp:323
#39 0x00007ff44dee657d in QComboBoxPrivateContainer::eventFilter (this=0x32f4b50, o=0x32ec3f0, e=0x7fffdf3c0bf0) at widgets/qcombobox.cpp:683
#40 0x00007ff44cf1d947 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x19c0a90, receiver=0x32ec3f0, event=0x7fffdf3c0bf0) at kernel/qcoreapplication.cpp:1031
#41 0x00007ff44dd80bfb in QApplicationPrivate::notify_helper (this=0x19c0a90, receiver=0x32ec3f0, e=0x7fffdf3c0bf0) at kernel/qapplication.cpp:3497
#42 0x00007ff44dd7eb5f in QApplication::notify (this=0x7fffdf3c1e00, receiver=0x32ec3f0, e=0x7fffdf3c0bf0) at kernel/qapplication.cpp:3068
#43 0x00007ff44cf1d5d6 in QCoreApplication::notifyInternal (this=0x7fffdf3c1e00, receiver=0x32ec3f0, event=0x7fffdf3c0bf0) at kernel/qcoreapplication.cpp:935
#44 0x00007ff44dd82e73 in QCoreApplication::sendSpontaneousEvent (receiver=0x32ec3f0, event=0x7fffdf3c0bf0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:240
#45 0x00007ff44dd7d4ab in QApplicationPrivate::sendMouseEvent (receiver=0x32ec3f0, event=0x7fffdf3c0bf0, alienWidget=0x32ec3f0, nativeWidget=0x32f4b50, buttonDown=0x7ff44e5ea0b0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:2541
#46 0x00007ff44ddf69bf in QWidgetWindow::handleMouseEvent (this=0x3022240, event=0x7fffdf3c1720) at kernel/qwidgetwindow.cpp:411
#47 0x00007ff44ddf5fe1 in QWidgetWindow::event (this=0x3022240, event=0x7fffdf3c1720) at kernel/qwidgetwindow.cpp:179
#48 0x00007ff44dd80c24 in QApplicationPrivate::notify_helper (this=0x19c0a90, receiver=0x3022240, e=0x7fffdf3c1720) at kernel/qapplication.cpp:3501
#49 0x00007ff44dd7e3b6 in QApplication::notify (this=0x7fffdf3c1e00, receiver=0x3022240, e=0x7fffdf3c1720) at kernel/qapplication.cpp:2954
#50 0x00007ff44cf1d5d6 in QCoreApplication::notifyInternal (this=0x7fffdf3c1e00, receiver=0x3022240, event=0x7fffdf3c1720) at kernel/qcoreapplication.cpp:935
#51 0x00007ff44d501b39 in QCoreApplication::sendSpontaneousEvent (receiver=0x3022240, event=0x7fffdf3c1720) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:240
#52 0x00007ff44d4fb344 in QGuiApplicationPrivate::processMouseEvent (e=0x5c21900) at kernel/qguiapplication.cpp:1711
#53 0x00007ff44d4fa988 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x5c21900) at kernel/qguiapplication.cpp:1512
#54 0x00007ff44d4e4d95 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:579
#55 0x00007ff43f4fabce in userEventSourceDispatch (source=0x1a02460) at eventdispatchers/qeventdispatcher_glib.cpp:78
#56 0x00007ff44763cb84 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#57 0x00007ff44763cdc8 in ?? () from /usr/lib/libglib-2.0.so.0
#58 0x00007ff44763ce6c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#59 0x00007ff44cf94e77 in QEventDispatcherGlib::processEvents (this=0x1a00a30, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#60 0x00007ff43f4fade0 in QPAEventDispatcherGlib::processEvents (this=0x1a00a30, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:123
#61 0x00007ff44cf1a28c in QEventLoop::processEvents (this=0x7fffdf3c1cc0, flags=...) at kernel/qeventloop.cpp:136
#62 0x00007ff44cf1a56f in QEventLoop::exec (this=0x7fffdf3c1cc0, flags=...) at kernel/qeventloop.cpp:212
#63 0x00007ff44cf1dcbf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#64 0x00007ff44d4fa734 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1446
#65 0x00007ff44dd7dbe3 in QApplication::exec () at kernel/qapplication.cpp:2746
#66 0x000000000045edf5 in main ()
This is probably the same or very similar to Issue 70, but I've been having this problem on Windows even using the latest codebase with the fix for Issue 70 in there.
I'm on Windows using the VS2010 compiler, Qt 5.2.1, and GraphViz 2.36, and I get the following errors when nmake reaches the gammaray_statemachineviewer_ui_plugin dependencies:
Scanning dependencies of target gammaray_statemachineviewer_ui_plugin
[ 81%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/gvgraph/gvutils.cpp.obj
gvutils.cpp
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(50) : error C2732: linkage specification contradicts earlier specification for 'memcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(50) : see declaration of 'memcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(111) : error C2732: linkage specification contradicts earlier specification for 'strcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(111) : see declaration of 'strcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\intrin.h(343) : error C2732: linkage specification contradicts earlier specification for 'memcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\intrin.h(343) : see declaration of 'memcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\intrin.h(389) : error C2732: linkage specification contradicts earlier specification for 'strcmp'
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\intrin.h(389) : see declaration of 'strcmp'
NMAKE : fatal error U1077: 'c:\PROGRA2\MICROS2.0\VC\bin\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
I've got state machine in which multiple states can have the same name, for example there are 3 states with the object name "directory", each with a different parent.
The tree view on the left shows that correctly.
However, in the graph view on the right, there is only one "directory" state, and the hierarchy is messed up because of that.
Could you please add command line options to disable vtk and/or graphviz support? On a x86_64 environment without 32bit version of those libraries installed, the cmake module sometimes find the the 64bit version and then fail in the linking stage.
I'm not 100% sure if it is impossible to workaround it without the option but having one seems useful anyway.
Please consider writing and installing an AppData file with the application description and some screenshots, else GammaRay looks really bad in the GNOME Software Center. See http://people.freedesktop.org/~hughsient/appdata/ for details; thanks!
Richard
Plugin linking fails, because VTK 6.0 does not have libQVTK.so. The library is called libvtkGUISupportQt.so instead.
Even when the linking error is fixed, GammaRay will crash when you try to open the Object Visualizer tab:
Thread 1 (Thread 0x7ffdc598a8c0 (LWP 20898)):
[KCrash Handler]
#6 0x00007ffd63926e5c in vtkRenderViewBase::vtkRenderViewBase (this=0x348fba0) at /usr/src/debug/VTK6.0.0/Views/Core/vtkRenderViewBase.cxx:33
#7 0x00007ffd60d575a9 in vtkRenderView::vtkRenderView (this=0x348fba0) at /usr/src/debug/VTK6.0.0/Views/Infovis/vtkRenderView.cxx:68
#8 0x00007ffd60d1faee in vtkGraphLayoutView::vtkGraphLayoutView (this=0x348fba0) at /usr/src/debug/VTK6.0.0/Views/Infovis/vtkGraphLayoutView.cxx:40
#9 0x00007ffd60d1fb7b in vtkGraphLayoutView::New () at /usr/src/debug/VTK6.0.0/Views/Infovis/vtkGraphLayoutView.cxx:38
#10 0x00007ffd729d6bcd in GammaRay::VtkWidget::setupGraph (this=0x337aa90) at /home/dvratil/projects/qt-projects/GammaRay/plugins/objectvisualizer/vtkwidget.cpp:142
#11 0x00007ffd729d68b1 in GammaRay::VtkWidget::VtkWidget (this=0x337aa90, parent=<optimized out>) at /home/dvratil/projects/qt-projects/GammaRay/plugins/objectvisualizer/vtkwidget.cpp:73
#12 0x00007ffd729d4c2a in GammaRay::GraphWidget::GraphWidget (this=0x342eae0, parent=<optimized out>) at /home/dvratil/projects/qt-projects/GammaRay/plugins/objectvisualizer/vtkcontainer.cpp:37
#13 0x00007ffd729d3c34 in GammaRay::GraphViewer::GraphViewer (this=0x3220910, probe=0x2fbbfc0, parent=<optimized out>) at /home/dvratil/projects/qt-projects/GammaRay/plugins/objectvisualizer/objectvisualizer.cpp:49
Right before the crash, following output is printed to console:
Generic Warning: In /builddir/build/BUILD/VTK6.0.0/Rendering/Core/vtkRenderer.cxx, line 47
Error: no override found for 'vtkRenderer'.
Generic Warning: In /builddir/build/BUILD/VTK6.0.0/Rendering/Core/vtkRenderWindow.cxx, line 35
Error: no override found for 'vtkRenderWindow'.
Please help, I'm getting the following errors while building:
qtmain.lib(qtmain_win.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in main.cpp.obj
msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __cdecl type_info::type_info(class type_info const &)" (??0type_info@@AEAA@AEBV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __cdecl type_info::operator=(class type_info const &)" (??4type_info@@AEAAAEAV0@AEBV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
msvcrt.lib(MSVCR120.dll) : error LNK2005: memmove already defined in LIBCMT.lib(memcpy.obj)
msvcrt.lib(MSVCR120.dll) : error LNK2005: _hypot already defined in LIBCMT.lib(hypot.obj)
msvcprt.lib(MSVCP120.dll) : error LNK2005: "void __cdecl std::_Xbad_alloc(void)" (?_Xbad_alloc@std@@YAXXZ) already defined in libcpmt.lib(xthrow.obj)
msvcprt.lib(MSVCP120.dll) : error LNK2005: "void __cdecl std::_Xlength_error(char const *)" (?_Xlength_error@std@@YAXPEBD@Z) already defined in libcpmt.lib(xthrow.obj)
msvcprt.lib(MSVCP120.dll) : error LNK2005: "void __cdecl std::_Xout_of_range(char const *)" (?_Xout_of_range@std@@YAXPEBD@Z) already defined in libcpmt.lib(xthrow.obj)
msvcprt.lib(MSVCP120.dll) : error LNK2005: "char const * __cdecl std::_Syserror_map(int)" (?_Syserror_map@std@@YAPEBDH@Z) already defined in libcpmt.lib(syserror.obj)
msvcprt.lib(MSVCP120.dll) : error LNK2005: "char const * __cdecl std::_Winerror_map(int)" (?_Winerror_map@std@@YAPEBDH@Z) already defined in libcpmt.lib(syserror.obj)
LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
..\..\bin\gammaray-launcher.exe : fatal error LNK1169: one or more multiply defined symbols found
LINK failed. with 1169
jom: G:\GammaRay-master\launcher\ui\CMakeFiles\gammaray-launcher.dir\build.make [bin\gammaray-launcher.exe] Error 2
jom: G:\GammaRay-master\CMakeFiles\Makefile2 [launcher\ui\CMakeFiles\gammaray-launcher.dir\all] Error 2
jom: G:\GammaRay-master\Makefile [all] Error 2
11:14:24: The process "C:\Qt\Qt5.4.0\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project GammaRay (kit: Desktop Qt 5.4.0 MSVC2013 64bit)
Sequence to reproduce:
As result: Gammaray with inspected application crashes.
It looks like that there is no mechanism that handles GraphicsItem deletion on inspected scene.
Program received signal SIGSEGV, Segmentation fault.
0x095195e0 in ?? ()
(gdb) bt
#0 0x095195e0 in ?? ()
#1 0x477f0c69 in QGraphicsView::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#2 0x4716d263 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#3 0x47589ae6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#4 0x4761d8a2 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#5 0x477f204c in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#6 0x47620066 in ?? () from /usr/lib/libQtGui.so.4
#7 0x45e2e596 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#8 0x471123e3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#9 0x4711788b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#10 0x45e2e3ee in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11 0x47168b3b in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#12 0x47360587 in ?? () from /usr/lib/libQtGui.so.4
#13 0x4715e2eb in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#14 0x4716dcc7 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x475a72b4 in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#16 0x47112414 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x4711788b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x45e2e3ee in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#19 0x45e32348 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#20 0x45e3267d in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#21 0x45e61015 in ?? () from /usr/lib/libQtCore.so.4
#22 0x4214aaff in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#23 0x4214b240 in ?? () from /lib/libglib-2.0.so.0
#24 0x4214b4ef in g_main_context_iteration () from /lib/libglib-2.0.so.0
#25 0x45e61418 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#26 0x471c70eb in ?? () from /usr/lib/libQtGui.so.4
#27 0x45e2cfde in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#28 0x45e2d289 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#29 0x45e3272b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#30 0x47110245 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#31 0x0804f178 in ?? ()
#32 0x41ed96b3 in __libc_start_main () from /lib/libc.so.6
#33 0x0804f2e1 in ?? ()
Backtrace stopped: Not enough registers or memory available to unwind further
In Qt5, a QQuickItem is not a QWidget and therefore cannot be visualized (in the same way with QWidget) in gammaray. Is it possible to add support for this?
In an attempt to build gammaray on mips/mipsel, build failed on testing:
< Running tests...
< /usr/bin/ctest --force-new-ctest-process -j6
< Test project /build/buildd2-gammaray_1.2.2-1-mips-r9OCsw/gammaray-1.2.2/obj-mips-linux-gnu
< Start 1: connectiontest-preload
< Start 2: connectiontest-style
< Start 3: connectiontest-gdb
< Start 4: attachtest-gdb
< 1/4 Test #1: connectiontest-preload ...........***Failed 2.43 sec
< Failed to launch injector preload
< Exit code: 1
< Error: Symbol is not marked as relocatable: qt_startup_hook
<
< 2/4 Test #2: connectiontest-style ............. Passed 6.98 sec
< 3/4 Test #3: connectiontest-gdb ............... Passed 13.83 sec
< 4/4 Test #4: attachtest-gdb ................... Passed 33.19 sec
<
< 75% tests passed, 1 tests failed out of 4
<
< Total Test time (real) = 33.30 sec
<
< The following tests FAILED:
< 1 - connectiontest-preload (Failed)
The full build logs are available from:
https://buildd.debian.org/status/fetch.php?pkg=gammaray&arch=mips&ver=1.2.2-1&stamp=1356200075
https://buildd.debian.org/status/fetch.php?pkg=gammaray&arch=mipsel&ver=1.2.2-1&stamp=1356200317
To be sure that the overwriting for qt_startup_hook will work,
test connectiontest-preload with readelf --relocs --wide checks if sybmbol
qt_startup_hook is marked as relocatable with JUMP_SLOT relocation, which
means that symbol will be resolved by dynamic linker and called at run
time through the plt.
The problem for Mips is that it has, besides the plt, another method of
calling functions from .so files, and this method doesn't need JUMP_SLOT
relocations (in fact, it doesn't need any relocations). This method uses .got
entries and lazy binding stubs. For example, if we call printf function, the
typical code is (gp register here points at the .got section):
lw t9, offset(gp) // load in t9 function pointer from the address gp + offset
jalr t9 // call the function in t9
Initially, the memory at gp + offset will contain the address of the lazy
binding stub for printf. Lazy binding stubs look like:
lw t9, 0(gp)
move t7,ra
li t8,7
jalr t9
First instruction loads in t9 the address of the function _dl_runtime_resolve
from the predefined place in .got (it is located in first .got entry).
_dl_runtime_resolve is dynamic linker's function which resolves calls to
functions from .so files (printf in this case). Second and third instructions
load registers t7 and t8 with arguments that _dl_runtime_resolve needs. The key
argument here is 7 - it is dynamic symbol table index of printf, so that dynamic
linker knows which function to search for. Last instruction calls
_dl_runtime_resolve. After _dl_runtime_resolve finds printf in some .so file, it
will overwrite the .got entry for printf with found printf address, so that next
calls to printf will not go through lazy binding stub, but directly call printf.
All this doesn't need any relocations (below will be explained why). There is a
method how it can be determined whether a call to function will go through .got
and lazy binding stub.
First, Mips ABI specifies that .got is divided in two parts - local and global.
Dynamic linker only resolves symbols from the global part of the .got (that is,
only symbols from global part of the .got have lazy binding stubs. Entries from
the local part of the .got are filled with final values during static linking).
Mips ABI also specifies that the order of symbols in global part of the .got
must match the order of symbols in dynamic symbol table. In the .dynamic section
(obtained with "readelf -d" command), there is a Mips-specific dynamic tag
DT_MIPS_GOTSYM which gives the dynamic symbol index of the first symbol that has
entry in global part of the .got. So, the symbol with dynamic symbol index of
DT_MIPS_GOTSYM will be placed in the first entry in the global part of the .got.
The symbol with dynamic symbol index of DT_MIPS_GOTSYM+1 will be placed in the
second entry in the global part of the .got and so on.
For the previous example, lets suppose that DT_MIPS_GOTSYM is 6. Since the
dynamic symbol index of printf is 7, printf will be placed in the global part of
the .got (in the second entry of the global part of the got), and call to printf
will go through .got and lazy binding stub, and will be resolved by dynamic
linker.
From the previous explanation, it should be clear why calling functions through
.got on Mips doesn't need any relocations. Dynamic linker knows which .got entry
corresponds to which symbol, based on matching between .got and dynamic symbol
table. For the plt, on the other hand, there is no matching between the .got.plt
entry and the dynamic symbol table - function addresses in .got.plt can come in
arbitrary order. This is why every .got.plt entry needs R_MIPS_JUMP_SLOT
relocation - so that dynamic linker knows which symbol corresponds to this entry.
(Note that on Mips, pointers to functions which are accessed though plt are
placed in separate .got.plt section, not in .got like on Intel for example.)
To summarize, the method to determine whether the call to function will go
through .got and lazy binding stub is:
For the case that function is accessed through plt, the existing method that
searches for relocations should also be tried, with the exception that on Mips
the relocation to search for is R_MIPS_JUMP_SLOT.
Regards,
Dejan Latinović
Trying to attach to my Qt 4.8.1 based application I get this error using latest gammaray from git:
ruediger:build tobias$ ~/gammaray/bin/gammaray
QProcess: Destroyed while process is still running.
/Users/tobias/dev/rep/GammaRay/build/46294: No such file or directory
Unable to call function "gammaray_probe_inject" at 0x11e835ff0: no return type information available.
To call this function anyway, you can cast the return type explicitly (e.g. 'print (float) fabs (3.0)')
Hi. I get these compilation errors on Windows 7 x64.
I had to do this because by default it was compiling in debug mode...
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=release ..
Then I executed nmake and the compilation went up to 81% and this is where I got these errors. What library am I missing here? Thanks for your help.
[ 80%] Generating ui_statemachineviewer.h
[ 80%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statem
achineviewer_ui_plugin.dir/statemachineviewerwidget.cpp.obj
statemachineviewerwidget.cpp
[ 80%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statem
achineviewer_ui_plugin.dir/gvgraph/gvgraph.cpp.obj
gvgraph.cpp
[ 81%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statem
achineviewer_ui_plugin.dir/gvgraph/gvgraphitems.cpp.obj
gvgraphitems.cpp
[ 81%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statem
achineviewer_ui_plugin.dir/gvgraph/gvutils.cpp.obj
gvutils.cpp
[ 81%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statem
achineviewer_ui_plugin.dir/gammaray_statemachineviewer_ui_plugin_automoc.cpp.obj
gammaray_statemachineviewer_ui_plugin_automoc.cpp
Linking CXX shared module ..\2.1\qt4.8-MSVC-release-x86_64\gammaray_statemachine
viewer_ui_plugin.dll
Creating library gammaray_statemachineviewer_ui_plugin.lib and object gammara
y_statemachineviewer_ui_plugin.exp
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agclose referenced i
n function "private: void __cdecl GammaRay::GVGraph::closeGraph(void)" (?closeGr
aph@GVGraph@GammaRay@@AEAAXXZ)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol gvFreeLayout referen
ced in function "private: void __cdecl GammaRay::GVGraph::closeGraph(void)" (?cl
oseGraph@GVGraph@GammaRay@@AEAAXXZ)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agget referenced in
function "public: class QList<struct QPair<unsigned __int64,class GammaRay::GVNo
de> > __cdecl GammaRay::GVGraph::gvNodes(void)const " (?gvNodes@GVGraph@GammaRay
@@qeba?AV?$QList@U?$QPair@_KVGVNode@GammaRay@@@@@@xz)
gvutils.cpp.obj : error LNK2001: unresolved external symbol agget
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agnameof referenced
in function "public: class QList<struct QPair<unsigned __int64,class GammaRay::G
VSubGraph> > __cdecl GammaRay::GVGraph::gvSubGraphs(void)const " (?gvSubGraphs@G
VGraph@GammaRay@@qeba?AV?$QList@U?$QPair@_KVGVSubGraph@GammaRay@@@@@@xz)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol Agdirected reference
d in function "private: void __cdecl GammaRay::GVGraph::createGraph(void)" (?cre
ateGraph@GVGraph@GammaRay@@AEAAXXZ)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol AgDefaultDisc refere
nced in function "private: void __cdecl GammaRay::GVGraph::createGraph(void)" (?
createGraph@GVGraph@GammaRay@@AEAAXXZ)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agdelete referenced
in function "public: void __cdecl GammaRay::GVGraph::removeEdge(unsigned __int64
)" (?removeEdge@GVGraph@GammaRay@@QEAAX_K@Z)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol gvContext referenced
in function "public: __cdecl GammaRay::GVGraph::GVGraph(class QString const &)"
(??0GVGraph@GammaRay@@qeaa@AEBVQString@@@z)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agnxtedge referenced
in function "public: void __cdecl GammaRay::GVGraph::removeNode(unsigned __int6
4)" (?removeNode@GVGraph@GammaRay@@QEAAX_K@Z)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agfstedge referenced
in function "public: void __cdecl GammaRay::GVGraph::removeNode(unsigned __int6
4)" (?removeNode@GVGraph@GammaRay@@QEAAX_K@Z)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agnxtnode referenced
in function "public: void __cdecl GammaRay::GVGraph::removeGraph(unsigned __int
64)" (?removeGraph@GVGraph@GammaRay@@QEAAX_K@Z)
gvgraph.cpp.obj : error LNK2019: unresolved external symbol agfstnode referenced
in function "public: void __cdecl GammaRay::GVGraph::removeGraph(unsigned __int
64)" (?removeGraph@GVGraph@GammaRay@@QEAAX_K@Z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol agopen referenced in
function "struct Agraph_s * __cdecl GammaRay::GVUtils::_agopen(class QString co
nst &,struct Agdesc_s,struct Agdisc_s *)" (?_agopen@GVUtils@GammaRay@@YAPEAUAgra
ph_s@@AEBVQString@@UAgdesc_s@@PEAUAgdisc_s@@@z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol agattr referenced in
function "struct Agsym_s * __cdecl GammaRay::GVUtils::_agnodeattr(struct Agraph
_s *,class QString const &,class QString const &)" (?_agnodeattr@GVUtils@GammaRa
y@@YAPEAUAgsym_s@@PEAUAgraph_s@@AEBVQString@@1@Z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol agnode referenced in
function "struct Agnode_s * __cdecl GammaRay::GVUtils::_agnode(struct Agraph_s
*,class QString const &,bool)" (?_agnode@GVUtils@GammaRay@@YAPEAUAgnode_s@@PEAUA
graph_s@@AEBVQString@@_N@Z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol agedge referenced in
function "struct Agedge_s * __cdecl GammaRay::GVUtils::_agedge(struct Agraph_s
*,struct Agnode_s *,struct Agnode_s *,class QString const &,bool)" (?_agedge@GVU
tils@GammaRay@@YAPEAUAgedge_s@@PEAUAgraph_s@@PEAUAgnode_s@@1AEBVQString@@_N@Z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol agsubg referenced in
function "struct Agraph_s * __cdecl GammaRay::GVUtils::_agsubg(struct Agraph_s
*,class QString const &,bool)" (?_agsubg@GVUtils@GammaRay@@YAPEAUAgraph_s@@PEAU3
@AEBVQString@@_N@Z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol agsafeset referenced
in function "int __cdecl GammaRay::GVUtils::_agset(void *,class QString const &
,class QString const &)" (?_agset@GVUtils@GammaRay@@YAHPEAXAEBVQString@@1@Z)
gvutils.cpp.obj : error LNK2019: unresolved external symbol gvLayout referenced
in function "int __cdecl GammaRay::GVUtils::_gvLayout(struct GVC_s *,struct Agra
ph_s *,char const *)" (?_gvLayout@GVUtils@GammaRay@@YAHPEAUGVC_s@@PEAUAgraph_s@@
PEBD@Z)
..\2.1\qt4.8-MSVC-release-x86_64\gammaray_statemachineviewer_ui_plugin.dll : fat
al error LNK1120: 19 unresolved externals
LINK failed. with 1120
NMAKE : fatal error U1077: 'C:\Qt\CMake\bin\cmake.exe' : return code '0xffffffff
'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
C:\Qt\GammaRay\build>
We have a big desktop QML application. I was trying to debug some visual issues with GammaRay, but when our application connects to a server and start receiving data, it crashes (according to GammaRay) at a point where it doesn't crash in QtCreator/gdb. There doesn't appear to be any relevant information in the console, and GammaRay doesn't tell anything useful either.
GammaRay is started on the console with the application as an argument
GammaRay compiled from latest master as of today, with Qt 5.3.0 on 64 bit Kubuntu 14.04
Add a way to execute a mass QQmlComponent::create() on all qml files, for a given qml context, to find errors in qml files.
QDirIterator dirIt(QLatin1String("."), QDirIterator::Subdirectories);
while (dirIt.hasNext()) {
dirIt.next();
if (QFileInfo(dirIt.filePath()).isFile()) {
if (QFileInfo(dirIt.filePath()).suffix() == QLatin1String("qml"))
{
qDebug()<< dirIt.filePath();
QQmlComponent component(qmlengine(),
QUrl::fromLocalFile(dirIt.filePath()));
QObject *myObject = component.create();
if (!myObject) {
qWarning() << dirIt.filePath();
foreach (const QQmlError &error, component.errors()) {
qWarning() << error;
}
}
}
}
}
I have no reduced testcase yet, but the backtrace below might be helpful. Reproducible 100% of the time.
QFatal in ■■■■■■■ (/home/thomas/install/opt/■■■■■■■■■/■■■■■■■■■)
START BACKTRACE:
1 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0xf179b) [0x7f9edb3f379b]
2 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0xf18ba) [0x7f9edb3f38ba]
3 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0xd3d2e) [0x7f9edb3d5d2e]
4 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(+0xa89dd) [0x7f9ef93279dd]
5 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(+0xa540d) [0x7f9ef932440d]
6 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QMessageLogger::fatal(char const*, ...) const+0xc1) [0x7f9ef93255bd]
7 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(qt_assert_x(char const*, char const*, char const*, int)+0) [0x7f9ef931fc10]
8 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0x93869) [0x7f9edb395869]
9 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0x93929) [0x7f9edb395929]
10 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0x93f88) [0x7f9edb395f88]
11 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0xf32de) [0x7f9edb3f52de]
12 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QMetaObject::activate(QObject*, int, int, void**)+0x716) [0x7f9ef959c030]
13 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x38) [0x7f9ef959b83e]
14 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(GammaRay::Probe::objectReparented(QObject*)+0x47) [0x7f9edb3f598b]
15 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(GammaRay::Probe::objectParentChanged()+0x40) [0x7f9edb384dac]
16 /home/thomas/install/lib/libgammaray_core-qt5.3-x86_64.so.2.3.0(+0xf3555) [0x7f9edb3f5555]
17 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QMetaObject::activate(QObject*, int, int, void**)+0x716) [0x7f9ef959c030]
18 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x38) [0x7f9ef959b83e]
19 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickItem::parentChanged(QQuickItem*)+0x47) [0x7f9efafb8c5b]
20 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickItem::setParentItem(QQuickItem*)+0x729) [0x7f9efafa8467]
21 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickItem::~QQuickItem()+0x11f) [0x7f9efafa6e77]
22 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickImplicitSizeItem::~QQuickImplicitSizeItem()+0x40) [0x7f9efafff7de]
23 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickBasePositioner::~QQuickBasePositioner()+0x16f) [0x7f9efb095269]
24 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickColumn::~QQuickColumn()+0x40) [0x7f9efaffd3aa]
25 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(+0x2544bd) [0x7f9efb0164bd]
26 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(+0x2544f6) [0x7f9efb0164f6]
27 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QObjectPrivate::deleteChildren()+0xbe) [0x7f9ef9596b82]
28 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QObject::~QObject()+0x672) [0x7f9ef9595278]
29 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickItem::~QQuickItem()+0x43f) [0x7f9efafa7197]
30 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickRectangle::~QQuickRectangle()+0x40) [0x7f9efaffea2c]
31 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(+0x253749) [0x7f9efb015749]
32 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(+0x253782) [0x7f9efb015782]
33 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(qDeleteInEventHandler(QObject*)+0x2a) [0x7f9ef959daca]
34 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QObject::event(QEvent*)+0xbe) [0x7f9ef95955aa]
35 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Quick.so.5(QQuickItem::event(QEvent*)+0x3a3) [0x7f9efafb538d]
36 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)+0x76) [0x7f9ef9559df0]
37 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QCoreApplication::notify(QObject*, QEvent*)+0xc2) [0x7f9ef9559ab2]
38 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Gui.so.5(QGuiApplication::notify(QObject*, QEvent*)+0xd6) [0x7f9ef9b4caf2]
39 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QCoreApplication::notifyInternal(QObject*, QEvent*)+0x9a) [0x7f9ef95599ba]
40 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QCoreApplication::sendEvent(QObject*, QEvent*)+0x51) [0x7f9ef955d6f3]
41 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x439) [0x7f9ef955ad17]
42 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QCoreApplication::sendPostedEvents(QObject*, int)+0x32) [0x7f9ef955a6c8]
43 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(+0x351fa0) [0x7f9ef95d0fa0]
44 /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x146) [0x7f9ef6f17316]
45 /usr/lib64/libglib-2.0.so.0(+0x4b668) [0x7f9ef6f17668]
46 /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f9ef6f1770c]
47 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0xdb) [0x7f9ef95d1741]
48 /home/thomas/install/opt/qt-desktop-opengles-53/plugins/platforms/libqxcb.so(+0x7400a) [0x7f9ef20f800a]
49 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x6c) [0x7f9ef9556666]
50 /home/thomas/install/opt/qt-desktop-opengles-53/lib/libQt5Core.so.5(QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x169) [0x7f9ef9556949]
END BACKTRACE
■■■■■■■■■: ASSERT: "!obj->parent() || Probe::instance()->isValidObject(parentObject(obj))" in file /home/thomas/src/GammaRay/core/objecttreemodel.cpp, line 69
Example: http://wstaw.org/m/2012/11/19/plasma-desktopCf1097.png
There's no way to copy the backtrace from that dialog.
A good solution would be to add a "Copy backtrace" button in the dialog which copies it to the clipboard. (Just like DrKonqi does it).
With QResource::registerResource(), one can register resources dynamically. Gammaray doesn't refresh its resource view though.
Same for QResource::unregisterResource().
I get an error when I try to compile GammaRay (same with 2.0.0, 2.0 and master).
This seems to be related with GraphViz. I have version 2.36.0 installed.
With GraphViz 2.34.0, it works.
[ 79%] Building CXX object plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/gvgraph/gvutils.cpp.o
In file included from /usr/include/graphviz/cgraph.h:17:0,
from /usr/include/graphviz/types.h:40,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h:25,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.cpp:24:
/usr/include/graphviz/cdt.h:27:12: error: previous declaration of 'int memcmp(const void*, const void*, size_t)' with 'C++' linkage
extern int memcmp _ARG_((const Void_t*, const Void_t*, size_t));
^
In file included from /usr/include/qt/QtCore/qarraydata.h:46:0,
from /usr/include/qt/QtCore/qbytearray.h:47,
from /usr/include/qt/QtCore/qstring.h:46,
from /usr/include/qt/QtCore/QString:1,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h:27,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.cpp:24:
/usr/include/string.h:70:77: error: conflicts with new declaration with 'C' linkage
__THROW __attribute_pure__ __nonnull ((1, 2));
^
In file included from /usr/include/graphviz/cgraph.h:17:0,
from /usr/include/graphviz/types.h:40,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h:25,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.cpp:24:
/usr/include/graphviz/cdt.h:28:12: error: previous declaration of 'int strcmp(const char*, const char*)' with 'C++' linkage
extern int strcmp _ARG_((const char*, const char*));
^
In file included from /usr/include/qt/QtCore/qarraydata.h:46:0,
from /usr/include/qt/QtCore/qbytearray.h:47,
from /usr/include/qt/QtCore/qstring.h:46,
from /usr/include/qt/QtCore/QString:1,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.h:27,
from /home/cbuehler/gammaray/src/GammaRay/plugins/statemachineviewer/gvgraph/gvutils.cpp:24:
/usr/include/string.h:145:77: error: conflicts with new declaration with 'C' linkage
__THROW __attribute_pure__ __nonnull ((1, 2));
^
plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/build.make:200: recipe for target 'plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/gvgraph/gvutils.cpp.o' failed
make[2]: *** [plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/gvgraph/gvutils.cpp.o] Error 1
CMakeFiles/Makefile2:2798: recipe for target 'plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/all' failed
make[1]: *** [plugins/statemachineviewer/CMakeFiles/gammaray_statemachineviewer_ui_plugin.dir/all] Error 2
Makefile:126: recipe for target 'all' failed
make: *** [all] Error 2
-- Building for: Visual Studio 12 2013
-- The C compiler identification is MSVC 18.0.30219.0
...
-- Found Qt4: D:/qt4/bin/qmake.exe (found suitable version "4.8.6", minimum required is "4.7.0")
Qt QTWEBKIT library not found.
....
-- The following REQUIRED packages have not been found:
* Qt4 (required version >= 4.7.0) , <http://qt-project.org/>
CMake Error at C:/Program Files/CMake/share/cmake-3.0/Modules/FeatureSummary.cmake:537 (message):
feature_summary() Error: REQUIRED package(s) are missing, aborting CMake
run.
Call Stack (most recent call first):
CMakeLists.txt:462 (feature_summary)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.