olivierkes / manuskript

A open-source tool for writers
http://www.theologeek.ch/manuskript
GNU General Public License v3.0
1.71k stars 226 forks source link

SIGSEGV (Address boundary error) #1204

Open cgg-upm opened 10 months ago

cgg-upm commented 10 months ago

carlos@casa ~/Downloads> manuskript -v INFO> Logging to file: /home/carlos/.local/share/manuskript/manuskript/logs/2023-08-19_01-02-40_manuskript#16143.log INFO> Operating System: Linux-5.15.0-79-generic-x86_64-with-glibc2.35 INFO> Hardware: x86_64 / x86_64 INFO> Running from unpackaged source code. INFO> Manuskript 0.15.0 (Python 3.10.12) INFO> PyQt 5.15.6 (compiled against Qt 5.15.3) INFO> Qt 5.15.3 (runtime) INFO> lxml.etree 4.8.0.0 INFO> libxml 2.9.13 (compiled: 2.9.13) INFO> libxslt 1.1.34 (compiled: 1.1.34) INFO> pyEnchant 3.2.0 (libenchant: 2.3.2) INFO> pySpellChecker N/A INFO> Symspellpy N/A INFO> * Markdown 3.3.6 INFO> Web rendering engine: QtWebKit INFO> Preferred translation: manuskript_es.qm (based on user setting) INFO> Loaded translation: manuskript_es.qm INFO> Last accessed directory "/home/carlos/Dropbox/manuskript" loaded. INFO> Loading: /home/carlos/Dropbox/manuskript/test.msk INFO> Detected file format version: 1. Zip: True. INFO> Project /home/carlos/Dropbox/manuskript/test.msk loaded. Fatal Python error: Segmentation fault

Current thread 0x00007f6f3af35000 (most recent call first): File "/usr/share/manuskript/manuskript/main.py", line 246 in launch File "/usr/share/manuskript/manuskript/main.py", line 312 in run File "/usr/bin/manuskript", line 30 in

Extension modules: PyQt5.QtCore, PyQt5.QtGui, PyQt5.QtWidgets, PyQt5.QtNetwork, PyQt5.QtDBus, PyQt5.QtDesigner, PyQt5.QtHelp, PyQt5.QtPrintSupport, PyQt5.QtSvg, PyQt5.QtTest, PyQt5.QtWebChannel, PyQt5.QtWebKit, PyQt5.QtWebKitWidgets, PyQt5.QtXml, lxml._elementpath, lxml.etree (total: 16) fish: Job 1, 'manuskript -v' terminated by signal SIGSEGV (Address boundary error)

TheJackiMonster commented 10 months ago

If you are using any custom theme for your Qt applications or Manuskript specifically, try to use one of the defaults instead. Qt themes are a known issue to cause instability and crashes in applications. We can not do anything on application level to prevent that because the UI toolkit just escalates instead of catching issues like that.

taw00 commented 2 months ago

Note: This was using your 0.16.1 RPM install. The flatpak version has the same behavior, though the error is on a different line (line 12 instead of line 30, IIRC).

Custom theme for ... Fullscreen? Is that what you are referring to? I am not using a custom theme. The application crashes in a manner I can't really replicate other than these two things:

  1. crashes seem to only happen in an individual scene view.
  2. crashes happen immediately if the cursor flirts with the Fullscreen (but also randomly)
2024-05-03 15:34:13,446 - manuskript.logging - INFO - Logging to file: /home/todd/.local/share/manuskript/manuskript/logs/2024-05-03_15-34-13_manuskript#56344.log
2024-05-03 15:34:13,448 - manuskript - INFO - Operating System: Linux-6.8.8-300.fc40.x86_64-x86_64-with-glibc2.39
2024-05-03 15:34:13,448 - manuskript - INFO - Hardware: x86_64 / 
2024-05-03 15:34:13,448 - manuskript - INFO - Running from unpackaged source code.
2024-05-03 15:34:13,448 - manuskript - DEBUG - * sys.executable = '/usr/bin/python3'
2024-05-03 15:34:13,448 - manuskript - DEBUG - * sys.argv = ['/usr/bin/manuskript']
2024-05-03 15:34:13,448 - manuskript - DEBUG - * sys.path = ['/usr/bin',
 '/usr/share/manuskript/',
 '/usr/lib64/python312.zip',
 '/usr/lib64/python3.12',
 '/usr/lib64/python3.12/lib-dynload',
 '/usr/lib64/python3.12/site-packages',
 '/usr/lib/python3.12/site-packages']
2024-05-03 15:34:13,448 - manuskript - DEBUG - * sys.prefix = '/usr'
2024-05-03 15:34:13,448 - manuskript - INFO - Manuskript 0.16.1 (Python 3.12.2)
2024-05-03 15:34:13,448 - manuskript - INFO - * PyQt 5.15.10 (compiled against Qt 5.15.13)
2024-05-03 15:34:13,448 - manuskript - INFO -   * Qt 5.15.13 (runtime)
2024-05-03 15:34:13,455 - manuskript - INFO - * lxml.etree 5.1.0.0
2024-05-03 15:34:13,455 - manuskript - INFO -   * libxml   2.12.6 (compiled: 2.12.5)
2024-05-03 15:34:13,455 - manuskript - INFO -   * libxslt  1.1.39 (compiled: 1.1.39)
2024-05-03 15:34:13,455 - manuskript - INFO - * pyEnchant 3.2.2 (libenchant: 2.6.9)
2024-05-03 15:34:13,455 - manuskript - INFO - * pySpellChecker N/A
2024-05-03 15:34:13,455 - manuskript - INFO - * Symspellpy N/A
2024-05-03 15:34:13,470 - manuskript - INFO - * Markdown 3.5.2
2024-05-03 15:34:13,489 - manuskript - INFO - Web rendering engine: QtWebKit
2024-05-03 15:34:13,523 - manuskript.main - INFO - Preferred translation: ['en-US', 'en', 'en-Latn-US'] (based on available ui languages)
2024-05-03 15:34:13,523 - manuskript.main - INFO - Using the builtin translation. (U.S. English)
2024-05-03 15:34:14,161 - manuskript.loadSave - INFO - Loading: /home/todd/Work/Writing/app-data/Manuskript/saeculum.msk
2024-05-03 15:34:14,161 - manuskript.loadSave - INFO - Detected file format version: 1. Zip: True.

Over the last few years, I've revisited this project from time to time. But then I walk away because I can't rely on it not losing data. It's always been a crash machine.

TheJackiMonster commented 2 months ago

Go into settings and select "Fusion" or "Windows" (these are the defaults). Make sure that your desktop environment or Linux distribution is not enforcing a custom theme for Qt applications. Because these can cause those crashes (at least the ones printing: Fatal Python error: Segmentation fault).

There's nothing we can do about it from my understanding except maybe enforcing to not use custom themes. But since people use that to match applications to their desktop looks and behavior, it seems like a bad solution. Because some cause crashes while others don't.

My main issue with this is that users report the issue here even though either the theme or Qt itself is causing the issue. From my understanding this is just terrible software design from side of Qt, escalating issues to the wrong project.