Bug 492363 - Ghostwriter crashes with a segment fault on very fresh installed neon after one character is typed.
Summary: Ghostwriter crashes with a segment fault on very fresh installed neon after o...
Status: CONFIRMED
Alias: None
Product: ghostwriter
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: megan.conkle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-29 12:37 UTC by Emmanuel Charruau
Modified: 2024-11-10 22:03 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Emmanuel Charruau 2024-08-29 12:37:22 UTC
Ghostwriter crashes on a fresh updated neon 
Operating System: KDE neon 6.0
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.8.0-40-generic (64-bit)
Graphics Platform: Wayland
Processors: 12 × Intel® Core™ i7-8700 CPU @ 3.20GHz
Memory: 7.6 Gio of RAM
Graphics Processor: Mesa Intel® UHD Graphics 630
Manufacturer: LENOVO
Product Name: 10SFCTO1WW
System Version: ThinkCentre M920t

SUMMARY
Ghostwriter crashes from beginning, 


STEPS TO REPRODUCE
1. start ghostwriter 
2. Type one characters
 
Then it crashes

[    31.197 14720 ghostwriter  qt.qpa.wayland] WARNING   eglSwapBuffers failed with 0x300d, surface: 0x0
[New Thread 0x7fff77e00640 (LWP 14963)]
[New Thread 0x7fff77400640 (LWP 14968)]
[New Thread 0x7fff76a00640 (LWP 14987)]
[New Thread 0x7fff76000640 (LWP 14988)]
[New Thread 0x7fff8ec00640 (LWP 14989)]
[New Thread 0x7fff8d400640 (LWP 14990)]
[New Thread 0x7fff83e00640 (LWP 14991)]
[New Thread 0x7fff75600640 (LWP 14992)]
[New Thread 0x7fff74c00640 (LWP 14993)]
[New Thread 0x7fff6be00640 (LWP 14994)]
[New Thread 0x7fff6b400640 (LWP 15007)]
[New Thread 0x7fff6aa00640 (LWP 15008)]

Thread 80 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff6b400640 (LWP 15007)]
0x00005555555b9b96 in ghostwriter::HtmlPreviewPrivate::exportToHtml (text=..., exporter=0x555555c64080) at ./src/preview/htmlpreview.cpp:331
Download failed: Invalid argument.  Continuing without source file ./obj-x86_64-linux-gnu/src/./src/preview/htmlpreview.cpp.
331     ./src/preview/htmlpreview.cpp: Inappropriate ioctl for device.
Comment 1 Bill 2024-09-03 11:15:51 UTC
I am experiencing the same bug with ghostwriter in flatpak version.

I have tried removing any and all ghost writer related files I could find, reinstalling, it still crashing the moment I type anything.

System Information
```
Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.6-200.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 12th Gen Intel® Core™ i5-1240P
Memory: 31.1 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: Framework
Product Name: Laptop (12th Gen Intel Core)
System Version: A4
```

Running the application log
```
fprun -v org.kde.ghostwriter
F: No installations directory in /etc/flatpak/installations.d. Skipping
F: Opening system flatpak installation at path /var/lib/flatpak
F: Opening user flatpak installation at path /home/bill/.local/share/flatpak
F: Opening user flatpak installation at path /home/bill/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: Skipping parental controls check for app/org.kde.ghostwriter/x86_64/stable since parental controls are disabled globally
F: Opening user flatpak installation at path /home/bill/.local/share/flatpak
F: Opening system flatpak installation at path /var/lib/flatpak
F: /var/lib/flatpak/runtime/org.kde.Platform/x86_64/6.7/397775c1eec24fd5032fe12f579b886178352172deb60f8c80a372925e69cf46/files/lib32 does not exist
F: Cleaning up unused container id 1761282217
F: Cleaning up per-app-ID state for org.kde.ghostwriter
F: Cleaning up unused container id 3460480520
F: Cleaning up per-app-ID state for org.kde.ghostwriter
F: Allocated instance id 2405861914
F: Add defaults in dir /org/kde/ghostwriter/
F: Add locks in dir /org/kde/ghostwriter/
F: Allowing dri access
F: Allowing wayland access
F: Allowing pulseaudio access
F: Pulseaudio user configuration file '/home/bill/.config/pulse/client.conf': Error opening file /home/bill/.config/pulse/client.conf: No such file or directory
F: Running '/usr/bin/bwrap --args 40 -- /usr/bin/xdg-dbus-proxy --args=39'
F: Running '/usr/bin/bwrap --args 38 -- ghostwriter'
[     0.161 2 ghostwriter ] INFO      Backup files will be stored in "/home/bill/.var/app/org.kde.ghostwriter/data/ghostwriter/backups/"
```
Comment 2 John Kizer 2024-09-03 18:56:35 UTC
I'm experiencing the same issue having just installed ghostwriter for the first time today, using the RPM packaged version in Fedora Linux 40 (KDE Spin). At least based on that, it wouldn't seem to be unique to the packaging format or base system.
Comment 3 Me 2024-09-03 21:39:15 UTC
I have the same problem on Plasma.

I installed Ghostwriter on my KDE 6/ Fedora 40 machine.  [https://ghostwriter.kde.org/documentation/](https://ghostwriter.kde.org/documentation/)

When I first installed it, it crashed when I input the first char upon opening.  Upon retrying it worked properly.   After using it for a while it segfaulted.  When I opened it again, it segfaulted when I input the first char.  See the session below.

The time it worked (for a while) was when it reported this:

```
[     0.292 81852 ghostwriter ] INFO      Using pandoc version 3.1.3
[     0.292 81852 ghostwriter ] INFO      Using multimarkdown version 6.7.0
[     0.293 81852 ghostwriter ] INFO      Using cmark version 0.30.3
```

The other times it crashed immediately upon typing. 
Any ideas on how to fix this ?

TIA


```
$ ghostwriter
[     0.153 77471 ghostwriter ] INFO      Backup files will be stored in "/home/me/.local/share/ghostwriter/backups/"
Segmentation fault (core dumped)

me@workstation1:~$ dnf list cmark
Last metadata expiration check: 0:51:22 ago on 2024-09-03T12:33:39 MDT.
Installed Packages
cmark.x86_64                                                                     0.30.3-5.fc40                                                                      @fedora
Available Packages
cmark.i686                                                                       0.30.3-5.fc40                                                                      fedora 
me@workstation1:~$ 
me@workstation1:~$ ghostwriter
[     0.238 81852 ghostwriter ] INFO      Backup files will be stored in "/home/me/.local/share/ghostwriter/backups/"
[     0.292 81852 ghostwriter ] INFO      Using pandoc version 3.1.3
[     0.292 81852 ghostwriter ] INFO      Using multimarkdown version 6.7.0
[     0.293 81852 ghostwriter ] INFO      Using cmark version 0.30.3
Segmentation fault (core dumped)
me@workstation1:~$ 
me@workstation1:~$ ghostwriter
[     0.152 84194 ghostwriter ] INFO      Backup files will be stored in "/home/me/.local/share/ghostwriter/backups/"
Segmentation fault (core dumped)
$ ghostwriter --disable-gpu
[     0.151 90489 ghostwriter ] INFO      Backup files will be stored in "/home/me/.local/share/ghostwriter/backups/"
Segmentation fault (core dumped)

```

```
Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.6-200.fc40.x86_64 (64-bit)
Graphics Platform: X11
Processors: 24 × AMD Ryzen 9 5900X 12-Core Processor
Memory: 62.7 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 1070/PCIe/SSE2

$ dnf list ghostwriter
Last metadata expiration check: 0:00:09 ago on 2024-09-03T15:38:49 MDT.
Installed Packages
ghostwriter.x86_64                                       24.08.0-1.fc40    

```
Comment 4 Me 2024-09-04 15:46:38 UTC
I added a new key to ~/.config/kde.org/ghostwriter.conf and it worked.

ghostwriter.conf wasn't even on my computer when I first ran ghostwriter. I manually added it after seeing a post elsewhere about it causing problems if it was missing.

I added this key to chostwriter.conf and it now works.

```
[Preview]
lastUsedExporter=cmark-gfm
```
Comment 5 John Kizer 2024-09-04 16:44:41 UTC
(In reply to Me from comment #4)
> I added a new key to ~/.config/kde.org/ghostwriter.conf and it worked.
> 
> ghostwriter.conf wasn't even on my computer when I first ran ghostwriter. I
> manually added it after seeing a post elsewhere about it causing problems if
> it was missing.
> 
> I added this key to chostwriter.conf and it now works.
> 
> ```
> [Preview]
> lastUsedExporter=cmark-gfm
> ```

Interesting - adding that file, with the key you mentioned, enabled me to start typing, but opening the File Open dialog caused a crash just as before. Getting closer, at least!
Comment 6 Me 2024-09-04 18:33:16 UTC
(In reply to John Kizer from comment #5)
> (In reply to Me from comment #4)
> > I added a new key to ~/.config/kde.org/ghostwriter.conf and it worked.
> > 
> > ghostwriter.conf wasn't even on my computer when I first ran ghostwriter. I
> > manually added it after seeing a post elsewhere about it causing problems if
> > it was missing.
> > 
> > I added this key to chostwriter.conf and it now works.
> > 
> > ```
> > [Preview]
> > lastUsedExporter=cmark-gfm
> > ```
> 
> Interesting - adding that file, with the key you mentioned, enabled me to
> start typing, but opening the File Open dialog caused a crash just as
> before. Getting closer, at least!

FWIW, I just tested and I can open a different file with File Open.
Comment 7 mikae1 2024-10-10 18:45:38 UTC
(In reply to Bill from comment #1)
> I am experiencing the same bug with ghostwriter in flatpak version.

Same here. Crashes the moment I type a letter. Flatpak version for me to. Thought first that it might have something todo with the app trying to create a file, in directory where the app doesn’t have Flatpak write permissions, when I start typing. I saved the default document in a place where the app has write permissions, directly after the app started. Still crashes after first letter typed, sadly.
Comment 8 Paul Worrall 2024-10-18 12:38:39 UTC
Can reproduce, setting to CONFIRMED

Ghostwriter Version: 28.08.2
Operating System: Arch Linux 
KDE Plasma Version: 6.2.1
KDE Frameworks Version: 6.7.0
Qt Version: 6.8.0
Graphics Platform: Wayland

My backtrace:

#0  0x00005580423d1778 in ghostwriter::HtmlPreviewPrivate::exportToHtml (text=..., exporter=0x5580733c5130)
    at /usr/src/debug/ghostwriter/ghostwriter-24.08.2/src/preview/htmlpreview.cpp:331
#1  0x00005580423d2da5 in std::__invoke_impl<QString, QString (*&)(QString const&, ghostwriter::Exporter*), QString&, ghostwriter::Exporter*&> (__f=<synthetic pointer>: <optimized out>) at /usr/include/c++/14.2.1/bits/invoke.h:60
#2  std::__invoke<QString (*&)(QString const&, ghostwriter::Exporter*), QString&, ghostwriter::Exporter*&> (
    __fn=<synthetic pointer>: <optimized out>) at /usr/include/c++/14.2.1/bits/invoke.h:97
#3  std::invoke<QString (*&)(QString const&, ghostwriter::Exporter*), QString&, ghostwriter::Exporter*&> (
    __fn=<synthetic pointer>: <optimized out>) at /usr/include/c++/14.2.1/functional:121
#4  QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}::operator()(QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*) const (
    __closure=<synthetic pointer>, function=<optimized out>, args#0=..., args#1=<optimized out>)
    at /usr/include/qt6/QtConcurrent/qtconcurrentstoredfunctioncall.h:116
#5  std::__invoke_impl<QString, QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>(std::__invoke_other, QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, QString (*&&)(QString const&, ghostwriter::Exporter*), QString&&, ghostwriter::Exporter*&&) (__f=<synthetic pointer>...)
    at /usr/include/c++/14.2.1/bits/invoke.h:61
#6  std::__invoke<QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>(QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, QString (*&&)(QString const&, ghostwriter::Exporter*), QString&&, ghostwriter::Exporter*&&) (__fn=<synthetic pointer>...)
    at /usr/include/c++/14.2.1/bits/invoke.h:97
#7  std::__apply_impl<QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, std::tuple<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>, 0ul, 1ul, 2ul>(QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, std::tuple<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>&&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) (__f=<synthetic pointer>..., __t=...) at /usr/include/c++/14.2.1/tuple:2922
#8  std::apply<QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, std::tuple<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*> >(QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor()::{lambda(QString (* const&)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*)#1}, std::tuple<QString (*)(--Type <RET> for more, q to quit, c to continue without paging--c
QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>&&) (__f=<synthetic pointer>..., __t=...)
    at /usr/include/c++/14.2.1/tuple:2938
#9  QtConcurrent::StoredFunctionCall<QString (*)(QString const&, ghostwriter::Exporter*), QString, ghostwriter::Exporter*>::runFunctor (this=0x55807435fa30) at /usr/include/qt6/QtConcurrent/qtconcurrentstoredfunctioncall.h:122
#10 0x00005580423b78b8 in QtConcurrent::RunFunctionTaskBase<QString>::run (this=0x55807435fa30)
    at /usr/include/qt6/QtConcurrent/qtconcurrentrunbase.h:83
#11 0x00007cc1e40dec15 in QThreadPoolThread::run (this=0x55807466b0d0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthreadpool.cpp:68
#12 0x00007cc1e40d840f in operator() (__closure=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335
#13 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263
#14 QThreadPrivate::start (arg=0x55807466b0d0) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294
#15 0x00007cc1e38a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#16 0x00007cc1e392849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
Comment 9 Donald Davis 2024-10-21 19:08:45 UTC
I too can reproduce on OpenSuse Tumbleweed, both when installed through Flatpak or through zypper.

I think it may have something to do with the markdown preview flavor. 

Before typing a letter, I go to settings -> Preview Options. Then change the markdown flavor to something other than the default cmark-gfm, e.g. Pandoc, or MultiMarkdown. Then afterwards, if I try typing it works and previews correctly. 

Although strangely, if I then try opening preview options menu again after opening and closing that menu it crashes (even if I open the menu and don't change anything).
Comment 10 ghost.carpentry217 2024-10-31 01:16:13 UTC
(In reply to Me from comment #4)
> I added a new key to ~/.config/kde.org/ghostwriter.conf and it worked.
> 
> ghostwriter.conf wasn't even on my computer when I first ran ghostwriter. I
> manually added it after seeing a post elsewhere about it causing problems if
> it was missing.
> 
> I added this key to chostwriter.conf and it now works.
> 
> ```
> [Preview]
> lastUsedExporter=cmark-gfm
> ```

Hi Just want to update this thread by noting that adding this key to my ghostwriter.conf resolved this issue for me, and it seemed to work for others in this disucssion thread on the github: https://github.com/KDE/ghostwriter/discussions/890

I was also able to open open a file and start typing within it without any issues using the version of ghost writer packaged by Fedora. If this issue is still ongoing, it may be helpful to put this temp fix somewhere more visible for others who encounter it