Subject: TeXmacs: Segmentation fault when starting interactive session

From: Luis Felipe <[email-masked]>
Date: Mon, 22 Feb 2021 17:16:31 +0000

The program crashes when starting any interactive session (except for a Scheme session).

TeXmacs 1.99.18
Guix c5dc87f
Guix System Linux gnu 5.10.14-gnu

## Steps to reproduce

1. Start TeXmacs from a terminal: LANG=C texmacs.
2. Create a new document: Press Ctrl+N (if there isn't one already).
3. Start an interactive Python session: In the main menu, Insert → Session → Python.

## Expected result

A new Python input field is inserted in the position of the caret.

## Unexpected result

The program crashes with the following error:

★★★★★★★★★★
LANG=C texmacs
TeXmacs] With linked TrueType support
TeXmacs] debug-shell, Launching 'python3 "/gnu/store/yv1d98c2xjjj1bx776hvj9r2w05mrni7-texmacs-1.99.18/share/TeXmacs/plugins/tmpy/session/tm_python.py"'
Throwing segmentation fault
-------------------------------------------------
Error message:
  segmentation fault

System information:
  TeXmacs version  : 1.99.18
  Built by         :
  Building date    : Thu Feb 11 14:31:30 UTC 2021
  Operating system : linux-gnu
  Vendor           : unknown
  Processor        : @CONFIG_HOST_CPU@
  Crash date       : Mon Feb 22 10:59:56 -05 2021

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

Backtrace of C++ stack:
  texmacs.bin() [0xfa8c19]
  texmacs.bin() [0x5dfc9c]
  /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6 : () + 0x36b20
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : () + 0x2239d9
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : () + 0x21e1ae
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) + 0x162
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QProcess::start(QString const&, QFlags<QIODevice::OpenModeFlag>) + 0x114
  texmacs.bin() [0x4f0ab7]
  texmacs.bin() [0xe65bee]
  texmacs.bin() [0x74bb34]
  texmacs.bin() [0x74c84a]
  texmacs.bin() [0xaca38a]
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : () + 0x5023c
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_dapply() + 0x9b5
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_c_with_throw_handler() + 0x109
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_c_catch() + 0x136
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_internal_catch() + 0xe
  texmacs.bin() [0xb6368c]
  texmacs.bin() [0xd0b946]
  texmacs.bin() [0xd0c6e3]
  texmacs.bin() [0xacbea0]
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : () + 0x504c1
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_dapply() + 0x9b5
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_c_with_throw_handler() + 0x109
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_c_catch() + 0x136
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_internal_catch() + 0xe
  texmacs.bin() [0xb6368c]
  texmacs.bin() [0xd0b946]
  texmacs.bin() [0xe557ff]
  texmacs.bin() [0xe560f1]
  texmacs.bin() [0xe5809a]
  texmacs.bin() [0x4e43bf]
  texmacs.bin() [0xcb4655]
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : () + 0x2e2703
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QTimer::timeout(QTimer::QPrivateSignal) + 0x27
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QTimer::timerEvent(QTimerEvent*) + 0x28
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QObject::event(QEvent*) + 0x8b
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Widgets.so.5 : QApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x9c
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Widgets.so.5 : QApplication::notify(QObject*, QEvent*) + 0x21f
  texmacs.bin() [0xcb3f4b]
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QCoreApplication::notifyInternal2(QObject*, QEvent*) + 0x103
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QTimerInfoList::activateTimers() + 0x3d9
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : () + 0x306129
  /gnu/store/4vmhbc31cpbnlw3c96kcc094ihmaf7dv-glib-2.62.6/lib/libglib-2.0.so.0 : g_main_context_dispatch() + 0x2aa
  /gnu/store/4vmhbc31cpbnlw3c96kcc094ihmaf7dv-glib-2.62.6/lib/libglib-2.0.so.0 : () + 0x510d8
  /gnu/store/4vmhbc31cpbnlw3c96kcc094ihmaf7dv-glib-2.62.6/lib/libglib-2.0.so.0 : g_main_context_iteration() + 0x2c
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 0x5c
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 0x12a
  /gnu/store/vpvnd6593mjncvyir2rbgp3k83cr7w0a-qtbase-5.15.2/lib/libQt5Core.so.5 : QCoreApplication::exec() + 0x83
  texmacs.bin() [0x450405]
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : () + 0x6859f
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : () + 0x4068a
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_c_catch() + 0x136
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_i_with_continuation_barrier() + 0xa4
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_c_with_continuation_barrier() + 0x30
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_i_with_guile_and_parent() + 0x28
  /gnu/store/5dd1vnwdivh7kx6qzaqr35rilphmsf1l-guile-1.8.8/lib/libguile.so.17 : scm_boot_guile() + 0x25
  texmacs.bin() [0x42ddf7]
  /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6 : __libc_start_main() + 0xed
  texmacs.bin() [0x44f29a]

-------------------------------------------------
terminate called after throwing an instance of 'string'
Abortado
★★★★★★★★★★

---
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/