bartoszek / AUR-openboard

1 stars 1 forks source link

Segmentation fault on startup #3

Closed tgastine closed 2 years ago

tgastine commented 3 years ago

I compiled all the available versions of openboard on arch using makepkg and all of them crash yielding

free(): invalid pointer
zsh: abort (core dumped)  ./OpenBoard

This looks very similar to this issue.

gdb produces the following trace

(gdb) run
Starting program: /home/gastine/downloads/openboard/pkg/openboard/opt/openboard/OpenBoard 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x155545d3a640 (LWP 18458)]
[New Thread 0x1555448a5640 (LWP 18459)]
[New Thread 0x155544246640 (LWP 18460)]
[New Thread 0x15553fbff640 (LWP 18461)]
[New Thread 0x15553f9fe640 (LWP 18462)]
[New Thread 0x15553f7fd640 (LWP 18463)]
[New Thread 0x15553f5fc640 (LWP 18464)]
[New Thread 0x15553f3fb640 (LWP 18465)]
free(): invalid pointer

Suprisingly Openboard seems to work fine if I launch it using valgrind. Unfortunately my laptop is quite old and it really takes a lot of time to compile it. Any options to get a working compiled pkg?

bartoszek commented 3 years ago
tgastine commented 3 years ago

Thanks for your quick response:

gastine@ceres:magic/src% pacman -Qsq "jre|jdk"
jdk-openjdk
jre
jre-openjdk
jre-openjdk-headless

I indeed have both jre and openjdk (I first try with jre alone but this didn't work). The backtrace indeed indicates something related to jre

Thread 1 "OpenBoard" received signal SIGABRT, Aborted.
0x00007fffefe9a615 in raise () from /usr/lib/libc.so.6
(gdb) bt full
#0  0x00007fffefe9a615 in raise () at /usr/lib/libc.so.6
#1  0x00007fffefe83862 in abort () at /usr/lib/libc.so.6
#2  0x00007fffefedc5e8 in __libc_message () at /usr/lib/libc.so.6
#3  0x00007fffefee427a in  () at /usr/lib/libc.so.6
#4  0x00007fffefee564c in _int_free () at /usr/lib/libc.so.6
#5  0x00007fff94ccc4d2 in std::locale::_Impl::_M_install_facet(std::locale::id const*, std::locale::facet const*) () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#6  0x00007fff94cd9033 in std::locale::_Impl::_Impl(unsigned long) ()
    at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#7  0x00007fff94cd9fa5 in std::locale::_S_initialize_once() ()
    at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#8  0x00007ffff03b718f in __pthread_once_slow () at /usr/lib/libpthread.so.0
#9  0x00007fff94cd9ff1 in std::locale::_S_initialize() ()
    at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#10 0x00007fff94cda033 in std::locale::locale() ()
    at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#11 0x00007fff94cab8f4 in std::ios_base::Init::Init() ()
    at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#12 0x00007fff94ca3034 in  () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#13 0x00007fff94ca3066 in  () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#14 0x00007ffff7fe12de in call_init.part () at /lib64/ld-linux-x86-64.so.2
#15 0x00007ffff7fe13c8 in _dl_init () at /lib64/ld-linux-x86-64.so.2
#16 0x00007fffeff980e5 in _dl_catch_exception () at /usr/lib/libc.so.6
#17 0x00007ffff7fe5705 in dl_open_worker () at /lib64/ld-linux-x86-64.so.2
#18 0x00007fffeff98088 in _dl_catch_exception () at /usr/lib/libc.so.6
#19 0x00007ffff7fe4f3e in _dl_open () at /lib64/ld-linux-x86-64.so.2
#20 0x00007ffff56ed34c in  () at /usr/lib/libdl.so.2
#21 0x00007fffeff98088 in _dl_catch_exception () at /usr/lib/libc.so.6
#22 0x00007fffeff98153 in _dl_catch_error () at /usr/lib/libc.so.6
#23 0x00007ffff56edb89 in  () at /usr/lib/libdl.so.2
#24 0x00007ffff56ed3d8 in dlopen () at /usr/lib/libdl.so.2
#25 0x00007ffff0701749 in  () at /usr/lib/libQt5Core.so.5
#26 0x00007ffff06fb0c6 in  () at /usr/lib/libQt5Core.so.5
#27 0x00007ffff26a620b in  () at /usr/lib/libQt5WebKit.so.5
#28 0x00007ffff2695919 in  () at /usr/lib/libQt5WebKit.so.5
#29 0x00007ffff2691bbe in  () at /usr/lib/libQt5WebKit.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#30 0x00007ffff2692072 in  () at /usr/lib/libQt5WebKit.so.5
#31 0x00007ffff2678e7f in  () at /usr/lib/libQt5WebKit.so.5
#32 0x00007ffff3787ee1 in  () at /usr/lib/libQt5WebKit.so.5
#33 0x00007ffff265881c in  () at /usr/lib/libQt5WebKit.so.5
#34 0x00007ffff2659e3d in QWebSettings::QWebSettings(WebCore::Page*) ()
    at /usr/lib/libQt5WebKit.so.5
#35 0x00007ffff2682811 in QWebPageAdapter::initializeWebCorePage() ()
    at /usr/lib/libQt5WebKit.so.5
#36 0x00007ffff4f30eea in  () at /usr/lib/libQt5WebKitWidgets.so.5
#37 0x00007ffff4f353ac in QWebPage::QWebPage(QObject*) ()
    at /usr/lib/libQt5WebKitWidgets.so.5
#38 0x00007ffff4f3ae53 in QWebView::page() const () at /usr/lib/libQt5WebKitWidgets.so.5
#39 0x00005555557c00b7 in UBFeaturesWebView::UBFeaturesWebView(QWidget*, char const*) ()
#40 0x00005555557be752 in UBFeaturesCentralWidget::UBFeaturesCentralWidget(QWidget*) ()
#41 0x00005555557badea in UBFeaturesWidget::UBFeaturesWidget(QWidget*, char const*) ()
#42 0x000055555566613f in UBBoardPaletteManager::setupDockPaletteWidgets() ()
#43 0x00005555556664b2 in UBBoardPaletteManager::setupPalettes() ()
#44 0x0000555555665ec4 in UBBoardPaletteManager::UBBoardPaletteManager(QWidget*, UBBoardController*) ()
#45 0x0000555555651270 in UBBoardController::setupViews() ()
#46 0x0000555555650a8c in UBBoardController::init() ()
#47 0x0000555555685c98 in UBApplication::exec(QString const&) ()
#48 0x000055555568429d in main ()
(gdb) 

Should I unstall it and recompile with openjdk alone?

bartoszek commented 3 years ago

Should I unstall it and recompile with openjdk alone? Nope, don't think this would change anything, as I have plenty of jre/jdk installed and doesn't experience any aberations.

bartus@grafZero:~ [82001] <:3 )~ paclocs "jre|jdk" -q
jdk-openjdk
jdk7-openjdk
jdk8
jdk8-openjdk
jre-openjdk
jre-openjdk-headless
jre11-openjdk
jre11-openjdk-headless
jre7-openjdk
jre7-openjdk-headless
jre8
jre8-openjdk
jre8-openjdk-headless

better install jre8 and check if it is set as your default java engine:

bartus@grafZero:~ [82038] <:3 )~ archlinux-java status
Available Java environments:
java-11-openjdk
java-15-openjdk
java-7-openjdk
java-8-jdk
java-8-jre/jre
java-8-openjdk (default)

If it helps, I'll patch the PKGBUILD to enforce jre8.

tgastine commented 3 years ago

Ok. So java was indeed set to jre, I modified it to point on openjdk instead and recompiled but the binary was still linked with jre for some reason. So I had to uninstall jre and then recompile openboard which now works fine. I guess I can reinstall jre now, that should be no problem.

bartoszek commented 3 years ago

Yep, this could be it. I exclusively build everything in efemeral containers in tmpfs to not were my ssds unnecessarily and prevent aberration form locally installed packages, so this issus didn't occurred on my build setup. Will examine which packages setup cause the issue and if it can be mitigated with some extra PKGBUILD configuration :sweat: Had symilar issue with scilab, where you have to build some dependencies like jgraphx with jre=8 for scilab to work.

bartoszek commented 3 years ago

I've tested it numerous times with different JRE/JDK combinations and it always works for me :confused: Are you on Manjaro perhaps or some unorthodox flavor of ArchLinux?

tgastine commented 3 years ago

Nope regular archlinux. I'm pretty sure this should fail if you have only jre installed.

flomine commented 3 years ago

Hi, exactly same thing here on archlinux. My default is already set to java-8-openjdk

tgastine commented 3 years ago

It happened to me whenever I had first installed jre, even when properly set to openjdk afterwards. By any chance is jre installed at all?

flomine commented 3 years ago

yes jre10 is installed. I am trying to recompile without jre

flomine commented 3 years ago

I removed jre10 then recompile openboard. It works. If I just install jre10 after that, Openboard crashes with following backtrace :


0x00007ffff0f7c615 in raise () from /usr/lib/libc.so.6
(gdb) bt full
#0  0x00007ffff0f7c615 in raise () at /usr/lib/libc.so.6
#1  0x00007ffff0f65862 in abort () at /usr/lib/libc.so.6
#2  0x00007ffff0fbe5e8 in __libc_message () at /usr/lib/libc.so.6
#3  0x00007ffff0fc627a in  () at /usr/lib/libc.so.6
#4  0x00007ffff0fc764c in _int_free () at /usr/lib/libc.so.6
#5  0x00007fff909834d2 in std::locale::_Impl::_M_install_facet(std::locale::id const*, std::locale::facet const*) () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#6  0x00007fff90990033 in std::locale::_Impl::_Impl(unsigned long) () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#7  0x00007fff90990fa5 in std::locale::_S_initialize_once() () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#8  0x00007ffff149918f in __pthread_once_slow () at /usr/lib/libpthread.so.0
#9  0x00007fff90990ff1 in std::locale::_S_initialize() () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#10 0x00007fff90991033 in std::locale::locale() () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#11 0x00007fff909628f4 in std::ios_base::Init::Init() () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#12 0x00007fff9095a034 in  () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#13 0x00007fff9095a066 in  () at /usr/lib/jvm/java-10-jre/jre/lib/libdeploy.so
#14 0x00007ffff7fe12de in call_init.part () at /lib64/ld-linux-x86-64.so.2
#15 0x00007ffff7fe13c8 in _dl_init () at /lib64/ld-linux-x86-64.so.2
#16 0x00007ffff107a0e5 in _dl_catch_exception () at /usr/lib/libc.so.6
#17 0x00007ffff7fe5705 in dl_open_worker () at /lib64/ld-linux-x86-64.so.2
#18 0x00007ffff107a088 in _dl_catch_exception () at /usr/lib/libc.so.6
#19 0x00007ffff7fe4f3e in _dl_open () at /lib64/ld-linux-x86-64.so.2
#20 0x00007ffff028e34c in  () at /usr/lib/libdl.so.2
#21 0x00007ffff107a088 in _dl_catch_exception () at /usr/lib/libc.so.6
#22 0x00007ffff107a153 in _dl_catch_error () at /usr/lib/libc.so.6
#23 0x00007ffff028eb89 in  () at /usr/lib/libdl.so.2
#24 0x00007ffff028e3d8 in dlopen () at /usr/lib/libdl.so.2
#25 0x00007ffff175b749 in  () at /usr/lib/libQt5Core.so.5
#26 0x00007ffff17550c6 in  () at /usr/lib/libQt5Core.so.5
#27 0x00007ffff32fb20b in  () at /usr/lib/libQt5WebKit.so.5
#28 0x00007ffff32ea919 in  () at /usr/lib/libQt5WebKit.so.5
#29 0x00007ffff32e6bbe in  () at /usr/lib/libQt5WebKit.so.5
#30 0x00007ffff32e7072 in  () at /usr/lib/libQt5WebKit.so.5
#31 0x00007ffff32cde7f in  () at /usr/lib/libQt5WebKit.so.5
#32 0x00007ffff43dcee1 in  () at /usr/lib/libQt5WebKit.so.5
#33 0x00007ffff32ad81c in  () at /usr/lib/libQt5WebKit.so.5
#34 0x00007ffff32aee3d in QWebSettings::QWebSettings(WebCore::Page*) () at /usr/lib/libQt5WebKit.so.5
#35 0x00007ffff32d7811 in QWebPageAdapter::initializeWebCorePage() () at /usr/lib/libQt5WebKit.so.5
#36 0x00007ffff5b83eea in  () at /usr/lib/libQt5WebKitWidgets.so.5
#37 0x00007ffff5b883ac in QWebPage::QWebPage(QObject*) () at /usr/lib/libQt5WebKitWidgets.so.5
#38 0x00007ffff5b8de53 in QWebView::page() const () at /usr/lib/libQt5WebKitWidgets.so.5
#39 0x000055555577cd13 in  ()
#40 0x000055555577d6eb in  ()
#41 0x000055555577dd67 in  ()
#42 0x000055555568239f in  ()
#43 0x0000555555683865 in  ()
#44 0x000055555568420b in  ()
#45 0x0000555555671daa in  ()
#46 0x00005555556792f9 in  ()
#47 0x000055555569ae7a in  ()
#48 0x000055555561f8d5 in main ()```
bartoszek commented 3 years ago

@flomine perhaps you could try openboard-develop package, it's a prerelase version of openboard.

flomine commented 3 years ago

I tried openboard-develop and I have exactly same problem.

bartoszek commented 2 years ago

@flomine Looks like the issue was solved upstream, the problem was with Qt5WebKit being incompatible with jre10