Opened 7 months ago
Last modified 11 days ago
#68452 new defect
kdelibs4 @4.14.3_110 +debug+docs+osxkeychain: onto2vocabularyclass segfaults during build
Reported by: | cooljeanius (Eric Gallager) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | barracuda156, StanSanderson, ShadSterling (Shad Sterling), Dave-Allured (Dave Allured), Squid4572 (Squid) | |
Port: | kdelibs4 soprano raptor2 |
Description
Split off from #67881. I reattempted building even while dirty here just to get the errors grouped together in a single part of the terminal output; I'll make sure to clean before attaching the full log:
/bin/sh: line 1: 53004 Segmentation fault: 11 /opt/local/bin/onto2vocabularyclass --name NDO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nepomuk/ndo.trig make[2]: *** [nepomuk/ndo.h] Error 139 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f kross/test/CMakeFiles/krosstest.dir/build.make kross/test/CMakeFiles/krosstest.dir/build /bin/sh: line 1: 53002 Segmentation fault: 11 /opt/local/bin/onto2vocabularyclass --name NEXIF --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nexif.trig make[2]: *** [nepomuk/nexif.h] Error 139 make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make[2]: Nothing to be done for `kross/test/CMakeFiles/krosstest.dir/build'. make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' [ 52%] Built target kunittestmodrunner [ 53%] Built target kconf_update /bin/sh: line 1: 53007 Abort trap: 6 /opt/local/bin/onto2vocabularyclass --name NFO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nfo.trig make[2]: *** [nepomuk/nfo.h] Error 134 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f kross/kjs/CMakeFiles/krosskjs.dir/build.make kross/kjs/CMakeFiles/krosskjs.dir/build make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make[2]: Nothing to be done for `kross/kjs/CMakeFiles/krosskjs.dir/build'. make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /bin/sh: line 1: 53011 Segmentation fault: 11 /opt/local/bin/onto2vocabularyclass --name NMM --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nmm.trig make[2]: *** [nepomuk/nmm.h] Error 139 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f kross/qts/CMakeFiles/krossqtsplugin.dir/build.make kross/qts/CMakeFiles/krossqtsplugin.dir/build /bin/sh: line 1: 53009 Segmentation fault: 11 /opt/local/bin/onto2vocabularyclass --name NIE --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nie.trig make[2]: *** [nepomuk/nie.h] Error 139 make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make[2]: Nothing to be done for `kross/qts/CMakeFiles/krossqtsplugin.dir/build'. make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' [ 53%] Built target kross /bin/sh: line 1: 53017 Abort trap: 6 /opt/local/bin/onto2vocabularyclass --name NUAO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nepomuk/nuao.trig make[2]: *** [nepomuk/nuao.h] Error 134 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f kross/qts/CMakeFiles/krossqts.dir/build.make kross/qts/CMakeFiles/krossqts.dir/build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /Library/Developer/CommandLineTools/usr/bin/make -f experimental/libkdeclarative/CMakeFiles/kdeclarativetest.dir/build.make experimental/libkdeclarative/CMakeFiles/kdeclarativetest.dir/build /bin/sh: line 1: 53015 Segmentation fault: 11 /opt/local/bin/onto2vocabularyclass --name NMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nmo.trig make[2]: *** [nepomuk/nmo.h] Error 139 make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make[2]: Nothing to be done for `kross/qts/CMakeFiles/krossqts.dir/build'. make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' /bin/sh: line 1: 53019 Segmentation fault: 11 /opt/local/bin/onto2vocabularyclass --name PIMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/pimo.trig make[2]: *** [nepomuk/pimo.h] Error 139 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make[1]: *** [nepomuk/CMakeFiles/nepomuk.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make[2]: Nothing to be done for `experimental/libkdeclarative/CMakeFiles/kdeclarativetest.dir/build'. make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' [ 53%] Built target krosstest [ 53%] Built target krosskjs [ 54%] Built target krossqtsplugin [ 54%] Built target kdeclarativetest [ 54%] Built target krossqts make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build" && /usr/bin/make -j16 -w all VERBOSE=ON Exit code: 2 Error: Failed to build kdelibs4: command execution failed DEBUG: Error code: CHILDSTATUS 48332 2 DEBUG: Backtrace: command execution failed while executing "system {*}$notty {*}$callback {*}$nice $fullcmdstring" invoked from within "command_exec -callback portprogress::target_progress_callback build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname" Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/main.log for details. DEBUG: Rebuilding port kdelibs4 finished with status 1 DEBUG: rev-upgrade failed: Error rebuilding kdelibs4 while executing "error "Error rebuilding $portname"" (procedure "revupgrade_scanandrebuild" line 460) invoked from within "revupgrade_scanandrebuild broken_port_counts $opts" Error: rev-upgrade failed: Error rebuilding kdelibs4
I'm on Big Sur with Xcode 13. Some additional info:
$ port provides /opt/local/bin/onto2vocabularyclass /opt/local/bin/onto2vocabularyclass is provided by: soprano $ port installed soprano The following ports are currently installed: soprano @2.9.4_7+debug+docs (active)
So this is probably actually an issue with soprano instead, and the kdelibs4 build process just exposed it...
Attachments (7)
Change History (36)
Changed 7 months ago by cooljeanius (Eric Gallager)
Attachment: | kdelibs4-main.log.bz2 added |
---|
comment:1 Changed 3 months ago by barracuda156
Got the same error, apparently, on PowerPC:
:info:build [ 52%] Generating qrc_kjscmd.cxx :info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/kjsembed/kjscmd && /opt/local/libexec/qt4/bin/rcc -name kjscmd -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/kjsembed/kjscmd/qrc_kjscmd.cxx /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.14.3/kjsembed/kjscmd/kjscmd.qrc :info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.14.3 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.14.3/kjsembed/kjscmd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/kjsembed/kjscmd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/kjsembed/kjscmd/CMakeFiles/kjscmd.dir/DependInfo.cmake --color= :info:build /bin/sh: line 1: 11131 Segmentation fault /opt/local/bin/onto2vocabularyclass --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig :info:build make[2]: *** [nepomuk/tmo.h] Error 139 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' :info:build make[1]: *** [nepomuk/CMakeFiles/nepomuk.dir/all] Error 2 :info:build make[1]: *** Waiting for unfinished jobs....
comment:2 Changed 3 months ago by barracuda156
Cc: | barracuda156 added |
---|
comment:3 Changed 3 months ago by cooljeanius (Eric Gallager)
note that this blocks the upgrading of pretty much all other KDE ports; in particular I need to upgrade kde4-runtime and kmix currently.
comment:4 Changed 3 months ago by StanSanderson
Cc: | StanSanderson added |
---|
comment:5 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ShadSterling added |
---|
Has duplicate #69231.
comment:6 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)
Somebody please attach the crash log.
Unfortunately it looks like the soprano project has been archived by its developers so it is not being developed anymore and it is not possible to report bugs against it anymore.
Changed 3 months ago by StanSanderson
Attachment: | kdelibs main.log.zip added |
---|
comment:7 Changed 3 months ago by ShadSterling (Shad Sterling)
I'm not sure what happened here, I tried building with all variants disabled, and it still failed, but without any segfault, or any clear reason I can see in the log. Is #69231 maybe not a duplicate? Or did my build of kde4-runtime with no variants trigger a build of kdelibs4 with these variants?
Changed 3 months ago by ShadSterling (Shad Sterling)
Attachment: | kdelibs4-no_variants-no_segfault-main.log.tgz added |
---|
comment:8 Changed 3 months ago by Dave-Allured (Dave Allured)
Cc: | Dave-Allured added |
---|
comment:9 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | Squid4572 added |
---|
I see two more main.log files have been attached, but they both only tell us what we already know: that onto2vocabularyclass
crashed. What we now need to see is the log that macOS generated in /Library/Logs/DiagnosticReports about why that crash happened.
Has duplicate #69233.
Changed 3 months ago by cooljeanius (Eric Gallager)
Attachment: | onto2vocabularyclass_2024-01-29-032032-4_EricGallagersMacBookPro.crash added |
---|
my latest crash report for onto2vocabularyclass
comment:10 Changed 3 months ago by cooljeanius (Eric Gallager)
Just attached my latest crash report for onto2vocabularyclass
; it looks like the issue is in libraptor2.0.dylib, which means that this might actually be an issue with the raptor2 port:
$ port provides /opt/local/lib/libraptor2.0.dylib /opt/local/lib/libraptor2.0.dylib is provided by: raptor2 $ port installed raptor2 The following ports are currently installed: raptor2 @2.0.16_1 (active)
Changed 3 months ago by StanSanderson
Attachment: | diagnostics.zip added |
---|
comment:13 Changed 5 weeks ago by barracuda156
With soprano
disabled, it installed normally for me with no other changes:
36-64% port -v installed kdelibs4 The following ports are currently installed: kdelibs4 @4.14.3_111 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2024-03-22T04:00:58+0800'
comment:14 Changed 5 weeks ago by barracuda156
It also segfaults with other ports:
[ 9%] Linking CXX executable nepomukserver.app/Contents/MacOS/nepomukserver cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_nepomuk-core/nepomuk-core/work/build/server && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/nepomukserver.dir/link.txt --verbose=ON /usr/bin/g++-4.2 -pipe -Os -DNDEBUG -fno-common -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -Werror=return-type -fvisibility-inlines-hidden -arch ppc -mmacosx-version-min=10.6 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names CMakeFiles/nepomukserver.dir/nepomukserver_dummy.cpp.o -o nepomukserver.app/Contents/MacOS/nepomukserver -Wl,-rpath,/opt/local/lib ../lib/libkdeinit4_nepomukserver.dylib /opt/local/lib/libkdeui.5.14.3.dylib /opt/local/lib/libkdecore.5.14.3.dylib /opt/local/libexec/qt4/lib/libQtDBus.dylib /opt/local/libexec/qt4/lib/libQtCore.dylib -framework Carbon /opt/local/libexec/qt4/lib/libQtGui.dylib /opt/local/libexec/qt4/lib/libQtSvg.dylib /opt/local/lib/libsoprano.dylib /opt/local/lib/libsopranoserver.dylib cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_nepomuk-core/nepomuk-core/work/build/server && /opt/local/bin/cmake -D_filename=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_nepomuk-core/nepomuk-core/work/build/server/nepomukserver.app/Contents/MacOS/nepomukserver.shell -D_library_path_variable=DYLD_LIBRARY_PATH -D_ld_library_path="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_nepomuk-core/nepomuk-core/work/build/lib/./:/opt/local/lib" -D_executable=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_nepomuk-core/nepomuk-core/work/build/server/nepomukserver.app/Contents/MacOS/nepomukserver -P /opt/local/share/apps/cmake/modules/kde4_exec_via_sh.cmake /bin/sh: line 1: 85855 Segmentation fault /opt/local/bin/onto2vocabularyclass --name NDO --encoding trig --namespace Nepomuk2::Vocabulary --export-module nepomuk /opt/local/share/ontology/nepomuk/ndo.trig make[2]: *** [libnepomukcore/ndo.h] Error 139 /bin/sh: line 1: 85935 Segmentation fault /opt/local/bin/onto2vocabularyclass --name NEXIF --encoding trig --namespace Nepomuk2::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nexif.trig make[2]: *** [libnepomukcore/nexif.h] Error 139 /bin/sh: line 1: 85835 Segmentation fault /opt/local/bin/onto2vocabularyclass --name NCO --encoding trig --namespace Nepomuk2::Vocabulary --export-module nepomuk /opt/local/share/ontology/nie/nco.trig make[2]: *** [libnepomukcore/nco.h] Error 139 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_nepomuk-core/nepomuk-core/work/build' make[1]: *** [libnepomukcore/CMakeFiles/nepomukcore.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
comment:15 Changed 5 weeks ago by barracuda156
Gentoo folks apparently blame alike errors on Java:
comment:16 Changed 3 weeks ago by cooljeanius (Eric Gallager)
Port: | raptor2 added |
---|
comment:17 follow-up: 18 Changed 3 weeks ago by ryandesign (Ryan Carsten Schmidt)
I see nothing java-related in the crash reports attached here.
comment:18 Changed 3 weeks ago by barracuda156
Replying to ryandesign:
I see nothing java-related in the crash reports attached here.
I have no idea what fails here and why, but it would be great to have it fixed somehow.
Did anyone try to revert to an earlier version of soprano?
UPD. Okay, I did now. Installed soprano
2.9.3, and got the same failure with kdelibs4
:
/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build' :info:build /bin/sh: line 1: 73240 Segmentation fault /opt/local/bin/onto2vocabularyclass --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig :info:build make[2]: *** [nepomuk/tmo.h] Error 139
So either it got broken already back then, or the problem is elsewhere.
Changed 2 weeks ago by barracuda156
Yep, looks like it is Raptor
comment:19 Changed 2 weeks ago by barracuda156
Opened an issue with Raptor upstream, maybe they could help us here: https://github.com/dajobe/raptor/issues/66
comment:20 Changed 2 weeks ago by kencu (Ken)
opening an upstream issue regarding a 2007 powerpc build of 10.6 running a heavily-patched qt4 installation should be interesting :)
if you folks would like to sort these things out, you are going to have to learn basic debugging skills.
Figure out how to build the necessary software with optimizations turned off and debugging code left in. Leave the source intact at the end of the build using “-k”.
run the crashing software under a debugger, lldb for any recent os, gdb for the archeological os versions.
watch it crash. generate a full backtrace with line numbers and source code.
comment:21 follow-up: 23 Changed 2 weeks ago by cooljeanius (Eric Gallager)
The backtrace included in the crash report already attached ought to be enough, IMO; I think I may have already found the null pointer dereference within it just by looking at it, and have commented to point it out in the linked upstream bug report.
comment:22 Changed 2 weeks ago by kencu (Ken)
It's not that much more to do a proper job, IMHO, especially when it comes to the decades-old systems.
comment:23 follow-up: 24 Changed 2 weeks ago by barracuda156
Replying to cooljeanius:
The backtrace included in the crash report already attached ought to be enough, IMO; I think I may have already found the null pointer dereference within it just by looking at it, and have commented to point it out in the linked upstream bug report.
Unfortunately, it does not seem to fix the issue. I have rebuilt raptor2
with your change, rebuilt soprano
, and got the same segfault with kdelibs4
:(
comment:24 Changed 12 days ago by cooljeanius (Eric Gallager)
Replying to barracuda156:
Replying to cooljeanius:
The backtrace included in the crash report already attached ought to be enough, IMO; I think I may have already found the null pointer dereference within it just by looking at it, and have commented to point it out in the linked upstream bug report.
Unfortunately, it does not seem to fix the issue. I have rebuilt
raptor2
with your change, rebuiltsoprano
, and got the same segfault withkdelibs4
:(
Well, I also tried turning on GCC's static analysis flags, so maybe one of the potential null dereferences flagged there is the one to blame... I'll attach output from that next...
Changed 12 days ago by cooljeanius (Eric Gallager)
Attachment: | raptor2_err.log added |
---|
stderr output from building raptor2 with GCC's static analyzer enabled
comment:25 follow-up: 26 Changed 12 days ago by ryandesign (Ryan Carsten Schmidt)
I don't know how to read that log, except the end, which is suspicious, isn't it?
dyld: Library not loaded: @rpath/libicui18n.73.dylib Referenced from: /Users/ericgallager/Documents/GitHub/raptor2/src/.libs/libraptor2.0.dylib Reason: image not found
Is that a MacPorts icu library? If so, why is it using @rpath
?
comment:26 Changed 12 days ago by cooljeanius (Eric Gallager)
Replying to ryandesign:
I don't know how to read that log, except the end, which is suspicious, isn't it?
dyld: Library not loaded: @rpath/libicui18n.73.dylib Referenced from: /Users/ericgallager/Documents/GitHub/raptor2/src/.libs/libraptor2.0.dylib Reason: image not foundIs that a MacPorts icu library? If so, why is it using
@rpath
?
That's from me trying to build manually with extra warnings turned on to see if they can help me find where the code causing the segfault is coming from; I don't think the @rpath
part at the end is relevant to that...
comment:27 Changed 11 days ago by kencu (Ken)
the failing command is this one:
/opt/local/bin/onto2vocabularyclass --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig
to run that, go into the build first:
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build
and then run the command, to watch it segfault.
Now you want to run that under the debugger. So go into the folder again:
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build
and this time, run it under lldb, like this:
lldb /opt/local/bin/onto2vocabularyclass
and after lldb opens, type this into the lldb prompt (basically - "run" and then the arguments):
run --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig
then it will crash again, but inside the debugger. Then you can press "bt" to generate the proper backtrace.
However, you can't see as much as you would like to see, because some of the software involved has been installed with debugging symbols stripped out and heavy optimization turned on. In particular, raptor2 is such a beast.
So we will rebuild raptor2 with debugging symbols left in and with optimizations turned off. I looked over raptor2, and the easiest way to do that is to use the debug 1.0 PortGroup.
To do that, first uninstall raptor2:
sudo port -f uninstall raptor2
and then edit the raptor2 Portfile to add PortGroup debug 1.0
near the top.
Now reinstall raptor2, but leave the source code behind after the installation to allow you to trace it. You do that like this:
sudo port -v -s -k install raptor2 +debug
OK, now we have raptor2 installed with everything as we want it.
Now, we go back to our lldb line:
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build lldb /opt/local/bin/onto2vocabularyclass
and then:
run --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig
and you can now see a WHOLE lot more of what was going on when onto2vocabularyclass crashed.
To really get a good look around, put lldb into GUI mode by typing:
gui
you can trace up and down the source code of raptor2, you can go into the various frames, and see what the variables were set to when the subroutines were called.
You might spot the issue doing that pretty quickly, or you might find out that the error is not in raptor2 itself, but in another piece of code, like perhaps soprano. Perhaps soprano will need to be reinstalled with the raptor2 treatment to see everything that is going on with soprano.
presumably, there is a NULL variable being sent to a routine that is not expecting it to be NULL, it would seem.
comment:28 Changed 11 days ago by kencu (Ken)
another interesting thing to read about and try is to set a breakpoint a bit earlier than the crashing point in the program, and then once the debugger gets to the breakpoint, you can step through the lines of code until the crash happens.
that can be helpful to show you exactly where the issue is.
comment:29 Changed 11 days ago by kencu (Ken)
soprano has a +debug variant, but it doesn't work sufficiently to debug anything.
If you add this to the soprano Portfile, you can install it with all the needed optimization disabled:
configure.optflags-replace -Os -O0
once soprano is also installed properly
sudo port -f uninstall soprano sudo port -v -s -k install soprano +debug
then you can scroll through all the soprano source as well when debugging.
(bzipped) main.log for kdelibs4, after cleaning and retrying (and with trace mode on this time around, as well)