bugGNU TeXmacs - Bugs: bug #52680, Segmentation fault in QMenu::popup...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #52680: Segmentation fault in QMenu::popup in Linux with QT4

Submitter:  Stephen Crowley <crowlogic>
Submitted:  Sat 16 Dec 2017 06:22:32 PM UTC
   
 
Category:  Qt port Priority:  5 - Normal
Item Group:  Error Status:  Fixed
Privacy:  Public Assigned to:  vdhoeven
Originator Name:  Open/Closed:  Closed
Release:  None Release: 
Fixed Release:  1.99.12 Fixed Release: 
Keywords: 

Jump to the original submission

Sat 19 Oct 2019 12:42:08 AM UTC, comment #12: 

The routine char-set-complement is indeed undefined in Guile 1.6.

Since I had to use TeXmacs on a machine on which only Guile 1.6 was available, I avoided the use of this routine during
the global initialization in python-edit.scm.

So the problem should be fixed for normal use of TeXmacs
in revision 12375 and later (and the upcoming version 1.99.12).
If you are editing Python code, then you may still
experience problems.

Please re-open the bug if you still have problems.

Joris van der Hoeven <vdhoeven>
Group administrator
Tue 21 Aug 2018 10:37:06 PM UTC, comment #11: 

Is this still happening? rev 11157 might have fixed it.

Philippe Joyez <pjoyez>
Group Member
Fri 19 Jan 2018 06:42:25 PM UTC, comment #10: 

Nothing changed, I'm using my own build of Revision: 10945
 from Dec 16th 2017 . The bug is semi-random in that the particular sequence of mouse movements that I demonstrated in the attached video file to trigger the crash

Stephen Crowley <crowlogic>
Thu 18 Jan 2018 07:41:24 AM UTC, comment #9: 

What changed between comments #6 and #8? Are you using your own build?

reopening and removing guile-1-6 in title.

Philippe Joyez <pjoyez>
Group Member
Tue 26 Dec 2017 09:24:43 PM UTC, comment #8: 

it still crashes even using guile-1.8, same place as last time
, in Qt

Stephen Crowley <crowlogic>
Tue 19 Dec 2017 08:00:51 AM UTC, comment #7: 

Guile-1.8 is not maintained; this is why Debian does not package it any longer. That's why we need to build it ourselves now. Glad it worked with these debs, and closing the bug since it seems solved.

ALso changing the title from
 
Segmentation fault in QMenu::popup in Linux with QT4 and libguile.so.12

to

Segmentation fault in QMenu::popup in Linux with QT4 and guile-1.6

so that it is clear its related to guile-1.6

Philippe Joyez <pjoyez>
Group Member
Mon 18 Dec 2017 07:40:13 PM UTC, comment #6: 

great, thanks! It appears to be working quite well. There are no guile-1.8 debs in Ubuntu it seems.. wonder why?

Stephen Crowley <crowlogic>
Mon 18 Dec 2017 08:55:39 AM UTC, comment #5: 

From you last comment, it seems you are running texmacs with guile 1.6. Since we normally run it with guile 1.8, it could be the origin of your issue. I've made guile-1.8 debs for 17.10 (https://download.opensuse.org/repositories/home:/slowphil:/texmacs-devel/xUbuntu_17.10/amd64/), maybe you can try to build with them.

Philippe Joyez <pjoyez>
Group Member
Mon 18 Dec 2017 12:38:48 AM UTC, comment #4: 

I built the debs from source and uploaded them at https://github.com/crowlogic/stuff/tree/master ... can you try those somehow and see if it still works, maybe using alien to convert to whatever format mint uses, ive never used that one before ? That would perhaps help rule out texmacs vs some library it depends on

stephen@bb:~$ lsb_release -a
LSB Version: core-9.20160110ubuntu5-amd64:core-9.20160110ubuntu5-noarch:security-9.20160110ubuntu5-amd64:security-9.20160110ubuntu5-noarch
Distributor ID: Ubuntu
Description: Ubuntu 17.10
Release: 17.10
Codename: artful


stephen@bb:~$ dpkg -s texmacs
Package: texmacs
Status: install ok installed
Priority: optional
Section: unknown
Installed-Size: 64523
Maintainer: Stephen <stephen@unknown>
Architecture: amd64
Version: 2.0-1ubuntu13
Depends: guile-1.6-libs, libc6 (>= 2.15), libfreetype6 (>= 2.4.8), libgcc1 (>= 1:3.0), libpng12-0 (>= 1.2.13-4), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.8.0), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4)
Description: TeXmacs
 TeXmacs
Homepage: http://texmacs.org

Stephen Crowley <crowlogic>
Sun 17 Dec 2017 11:08:12 PM UTC, comment #3: 

I cannot reproduce that in Mint 18. Try renaming your ~/.TeXmacs directory to see if that changes anything. If that does not help, what distribution do you use?

Philippe Joyez <pjoyez>
Group Member
Sat 16 Dec 2017 06:52:47 PM UTC, comment #2: 

The file uploader is broke, so I put the video of how to reproduce the bug at the URL https://github.com/crowlogic/stuff/raw/master/TexMacsCrash.mp4

Stephen Crowley <crowlogic>
Sat 16 Dec 2017 06:34:13 PM UTC, comment #1: 

To trigger the bug, just start TeXmacs    and then scroll around through the menus.. video attached

TeXmacs] With linked TrueType support
/usr/share/TeXmacs/progs/prog/python-edit.scm:22:3: In expression (char-set-complement char-set:whitespace):
/usr/share/TeXmacs/progs/prog/python-edit.scm:22:3: Unbound variable: char-set-complement
Throwing segmentation fault
-------------------------------------------------
Error message:
  segmentation fault

System information:
  TeXmacs version  : 1.99.6
  Built by         : stephen
  Building date    : Sat Dec 16 11:59:24 CST 2017
  Operating system : linux-gnu
  Vendor           : pc
  Processor        : @CONFIG_HOST_CPU@
  Crash date       : Sat Dec 16 12:29:54 CST 2017

Editor status:
  Root path          : [ 0 ]
  Current path       : [ 0, 0, 0 ]
  Shifted path       : [ 0, 0, 0 ]
  Physical selection : [] -- []

Backtrace of C++ stack:
  texmacs.bin : () + 0xb664b2
  texmacs.bin : () + 0x228e9b
  /lib/x86_64-linux-gnu/libc.so.6 : () + 0x37140
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QWidget::actions() const + 0x8
  texmacs.bin : () + 0x185ed7
  texmacs.bin : () + 0x1860d9
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 0x4d0
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QMenu::popup(QPoint const&, QAction*) + 0xd7
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QMenu::internalDelayedPopup() + 0x39b
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QMenu::timerEvent(QTimerEvent*) + 0x104
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QObject::event(QEvent*) + 0xa3
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QWidget::event(QEvent*) + 0x70c
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QMenu::event(QEvent*) + 0x6b
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x8c
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : QApplication::notify(QObject*, QEvent*) + 0x2b6
  texmacs.bin : () + 0x898bea
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QCoreApplication::notifyInternal(QObject*, QEvent*) + 0x8d
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : () + 0x1bd6e0
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : () + 0x1ba889
  /lib/x86_64-linux-gnu/libglib-2.0.so.0 : g_main_context_dispatch() + 0x2e7
  /lib/x86_64-linux-gnu/libglib-2.0.so.0 : () + 0x4b1f0
  /lib/x86_64-linux-gnu/libglib-2.0.so.0 : g_main_context_iteration() + 0x2c
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x7e
  /usr/lib/x86_64-linux-gnu/libQtGui.so.4 : () + 0x272666
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x3f
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 0x1b5
  /usr/lib/x86_64-linux-gnu/libQtCore.so.4 : QCoreApplication::exec() + 0x99
  texmacs.bin : () + 0xb395e5
  /usr/lib/libguile.so.12 : () + 0x45c6e
  /usr/lib/libguile.so.12 : scm_boot_guile() + 0x5d
  texmacs.bin : () + 0x1063ad
  /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main() + 0xf1
  texmacs.bin : () + 0x10d07a

Stephen Crowley <crowlogic>
Sat 16 Dec 2017 06:22:32 PM UTC, original submission:  

This is the latest subversion build, as of 'Sat Dec 16 12:22:16 CST 2017'

Core was generated by `texmacs.bin'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fa605c7a08c in QWidgetPrivate::nearestGraphicsProxyWidget(QWidget const*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
[Current thread is 1 (Thread 0x7fa60693bd40 (LWP 526))]
(gdb) bt
#0  0x00007fa605c7a08c in QWidgetPrivate::nearestGraphicsProxyWidget(QWidget const*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#1  0x00007fa605ca1e05 in QDesktopWidget::availableGeometry(QWidget const*) const () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#2  0x00007fa606091d87 in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3  0x00007fa606094e91 in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#4  0x00007fa606095d27 in QMenu::popup(QPoint const&, QAction*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#5  0x00007fa60609746b in QMenu::internalDelayedPopup() () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#6  0x00007fa606097fd8 in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007fa606097d44 in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007fa606097c6a in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007fa60609b64a in QMenu::mouseMoveEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007fa605c8c930 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007fa60609b96b in QMenu::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007fa605c3603c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007fa605c3d136 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x0000563fe56ebbea in QTMApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=<optimized out>, event=<optimized out>) at Plugins/Qt/QTMApplication.hpp:51
#15 0x00007fa6057098ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007fa605c3c73d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007fa605cbaddc in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007fa605cb93d8 in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007fa605ce3592 in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007fa6033b2fb7 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007fa6033b31f0 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fa6033b327c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fa60573a20e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007fa605ce3666 in  () at /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007fa60570812f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#26 0x00007fa605708495 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007fa60570e459 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x0000563fe598c5e5 in TeXmacs_main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./Texmacs/Texmacs/texmacs.cpp:442
#29 0x00007fa6049f4c6e in  () at /usr/lib/libguile.so.12
#30 0x00007fa6049fe13d in scm_boot_guile () at /usr/lib/libguile.so.12
#31 0x0000563fe4f593ad in main(int, char**) (argc=<optimized out>, argv=0x7ffdced151a8) at ./Texmacs/Texmacs/texmacs.cpp:617
(gdb)

Stephen Crowley <crowlogic>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by vdhoeven (Posted a comment)
  • -email is unavailable- added by pjoyez (Posted a comment)
  • -email is unavailable- added by crowlogic (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 9 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-10-19 vdhoeven StatusNeed Info Fixed
        Assigned toNone vdhoeven
        Open/ClosedOpen Closed
        Fixed ReleaseNone 1.99.12
    2018-01-18 pjoyez StatusNone Need Info
        Open/ClosedClosed Open
        SummarySegmentation fault in QMenu::popup in Linux with QT4 and guile-1.6 Segmentation fault in QMenu::popup in Linux with QT4
    2017-12-19 pjoyez Open/ClosedOpen Closed
        SummarySegmentation fault in QMenu::popup in Linux with QT4 and libguile.so.12 Segmentation fault in QMenu::popup in Linux with QT4 and guile-1.6

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code