Thanks Wolfram, I tried patch #2 but CMake complains with an error
message I'm apparently too dumb to understand:

-- Qt version: 5.12.3
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include  
CMake Error at
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:146
(message):
  Could NOT find Boost (missing: stacktrace_backtrace) (found suitable
  version "1.71.0", minimum required is "1.65.1")
Call Stack (most recent call first):
  
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:393
(_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindBoost.cmake:2179
(find_package_handle_standard_args)
  CMakeLists.txt:134 (find_package)


-- Configuring incomplete, errors occurred!



...so... uh... why is it complaining even though it found a more
recent version? Any idea?

 -Soeren

On Fri, 2020-04-17 at 15:43 +0200, Wolfram Sang wrote:
> Here is the second try to have stacktrace support in Pulseview
> complete.
> 
> Changes since v1:
> * HACK crashes now when you press "Run" in pv, so you can view logs
>   before
> * added check if 'backtrace' is supported on the system
> * depending on that, the backtrace tracer or the simple tracer is
> used
> * no hardcoded libs anymore, all replaced by variables
> * enforcing the debug build was removed. Also, no warning yet when
> you
>   enable stacktrace and have no debug symbols
> 
> For symbols outside pv, you still need to disable ASLR with
> 
> $ sudo sysctl -w kernel.randomize_va_space=0
> 
> or using 'setarch ... -R ...'
> 
> If you do that, the backtrace tracer gives nice output:
> 
> pv: Stack trace file is "/tmp/pv_stacktrace.dmp"
> pv: "Stack trace of previous crash:"
> pv: ---------------------------------------------------------
> pv: 0# signal_handler(int) at
> /home/ninja/Tools/sigrok/pulseview/main.cpp:88
> 1# 0x00007FFFF63A38E0 in /lib/x86_64-linux-gnu/libc.so.6
> 2# raise at ../sysdeps/unix/sysv/linux/raise.c:51
> 3# signal_handler(int) at
> /home/ninja/Tools/sigrok/pulseview/main.cpp:90
> 4# 0x00007FFFF63A38E0 in /lib/x86_64-linux-gnu/libc.so.6
> 5# pv::MainWindow::on_run_stop_clicked() at
> /home/ninja/Tools/sigrok/pulseview/pv/mainwindow.cpp:713
> 6# pv::MainWindow::qt_static_metacall(QObject*, QMetaObject::Call,
> int, void**) at
> /home/ninja/Tools/sigrok/pulseview/pulseview_autogen/PLNN4COFE5/moc_m
> ainwindow.cpp:156
> 7# QMetaObject::activate(QObject*, int, int, void**) at
> kernel/qobject.cpp:3788
> 8# QAbstractButton::clicked(bool) at .moc/moc_qabstractbutton.cpp:309
> 9# QAbstractButtonPrivate::emitClicked() at
> widgets/qabstractbutton.cpp:416
> 10# QAbstractButtonPrivate::click() at
> widgets/qabstractbutton.cpp:395
> 11# QAbstractButton::mouseReleaseEvent(QMouseEvent*) at
> widgets/qabstractbutton.cpp:1012
> 12# QToolButton::mouseReleaseEvent(QMouseEvent*) at
> widgets/qtoolbutton.cpp:623
> 13# QWidget::event(QEvent*) at kernel/qwidget.cpp:9355
> 14# QToolButton::event(QEvent*) at widgets/qtoolbutton.cpp:986
> 15# QApplicationPrivate::notify_helper(QObject*, QEvent*) at
> kernel/qapplication.cpp:3728
> 16# QApplication::notify(QObject*, QEvent*) at
> kernel/qapplication.cpp:3203
> 17# Application::notify(QObject*, QEvent*) at
> /home/ninja/Tools/sigrok/pulseview/pv/application.cpp:318
> 18# QCoreApplication::notifyInternal2(QObject*, QEvent*) at
> kernel/qcoreapplication.cpp:1047
> 19# QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*,
> QWidget*, QWidget*, QWidget**, QPointer&, bool) at
> kernel/qapplication.cpp:2697
> 20# QWidgetWindow::handleMouseEvent(QMouseEvent*) at
> ../../include/QtCore/../../src/corelib/kernel/qcoreevent.h:304
> 21# QWidgetWindow::event(QEvent*) at kernel/qwidgetwindow.cpp:224
> 22# QApplicationPrivate::notify_helper(QObject*, QEvent*) at
> kernel/qapplication.cpp:3728
> 23# QApplication::notify(QObject*, QEvent*) at
> kernel/qapplication.cpp:3486
> 24# Application::notify(QObject*, QEvent*) at
> /home/ninja/Tools/sigrok/pulseview/pv/application.cpp:318
> 25# QCoreApplication::notifyInternal2(QObject*, QEvent*) at
> kernel/qcoreapplication.cpp:1047
> 26#
> QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePriva
> te::MouseEvent*) at kernel/qguiapplication.cpp:2083
> 27#
> QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfa
> cePrivate::WindowSystemEvent*) at kernel/qguiapplication.cpp:1818
> 28# QWindowSystemInterface::sendWindowSystemEvents(QFlags) at
> kernel/qwindowsysteminterface.cpp:1032
> 29# QPAEventDispatcherGlib::processEvents(QFlags) at
> ./src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:71
> 30# QEventLoop::exec(QFlags) at kernel/qeventloop.cpp:213
> 31# QCoreApplication::exec() at kernel/qcoreapplication.cpp:1335
> 32# main at /home/ninja/Tools/sigrok/pulseview/main.cpp:335
> 33# __libc_start_main at ../csu/libc-start.c:342
> 34# 0x00000000004AABDA in ./pulseview
> pv: ---------------------------------------------------------
> 
> Simple tracer still works, too. Again no testing on non-Linux
> platforms.
> 
> Thanks to Soeren, Gerhard, and Uwe for support!
> 
> Looking forward to comments.
> 
> 
> Wolfram Sang (2):
>   HACK: make pulseview crash when pressing "Run"
>   Add stacktrace support
> 
>  CMakeLists.txt    | 17 ++++++++++++++---
>  pv/mainwindow.cpp |  1 +
>  2 files changed, 15 insertions(+), 3 deletions(-)
> 



_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to