Discussion:
(no subject)
Carlo Capelli
2014-08-26 14:40:27 UTC
Permalink
it's some time now (after I installed ex-novo on my machine Ubuntu 14.04)
that I experiment a
crash near the end of build process.

....
make[2]: Leaving directory `/home/carlo/swipl-devel/packages/pengines'
*** Forcing update of library index ***
rm -f /home/carlo/lib/swipl-7.1.21/library/INDEX.pl
./swipl.sh -C "/home/carlo/lib/swipl-7.1.21/library" -f none -F none -g
"make_library_index(.)" -t halt
% Updating index for library /home/carlo/lib/swipl-7.1.21/library/
./swipl.sh -C "/home/carlo/lib/swipl-7.1.21" --home=. -f none -g make -t
halt

SWI-Prolog [thread 1]: received fatal signal 11 (segv)
Segmentation fault (core dumped)
make[1]: *** [install] Error 139
make[1]: Leaving directory `/home/carlo/swipl-devel/packages'
make: *** [install-world] Error 2

Overall, the installation has been completed. The system works as usual,
what's left out, apparently, it's (part of) the local documentation (I have
a contextual help in my Qt environment, that's running plDoc and presenting
those nice pages via QtWebKit). While previously I had the full
documentation, now some part is missing.

I tried to debug it, but the core dump file (enabled by ulimit -c 1000)
apparently doesn't report the stack trace (even if ulimit -a show 'stack
size (kbytes, -s) 8192').

So I was going blind, so I added an echo in swipl.sh...

In the end, I found a workaround, printing the command issued by swipl.sh,
the problem seems to be the flag --home=.


***@carlo-ubuntu-64:~/swipl-devel/packages$ ./swipl.sh -C
"/home/carlo/lib/swipl-7.1.21" --home=. -f none -g make -t halt
/home/carlo/swipl-devel/src/swipl --home=. -f none -g make -t halt
SWI-Prolog [thread 1]: received fatal signal 11 (segv)
Segmentation fault (core dumped)

***@carlo-ubuntu-64:~/swipl-devel/packages$ swipl --home=. -f none -g
make -t halt
[FATAL ERROR:
Could not find system resources]

***@carlo-ubuntu-64:~/swipl-devel/packages$ swipl -f none -g make -t
halt% Updating index for library /home/carlo/lib/swipl-7.1.21/library/
% Updating index for library /home/carlo/lib/swipl-7.1.21/xpce/prolog/lib/

Maybe I hit a problem in swipl.sh generation...
-------------- next part --------------
HTML attachment scrubbed and removed
Jan Wielemaker
2014-08-26 15:34:14 UTC
Permalink
Post by Carlo Capelli
it's some time now (after I installed ex-novo on my machine Ubuntu 14.04)
that I experiment a
crash near the end of build process.
So many people did that without problems ...
Post by Carlo Capelli
....
make[2]: Leaving directory `/home/carlo/swipl-devel/packages/pengines'
*** Forcing update of library index ***
rm -f /home/carlo/lib/swipl-7.1.21/library/INDEX.pl
./swipl.sh -C "/home/carlo/lib/swipl-7.1.21/library" -f none -F none -g
"make_library_index(.)" -t halt
% Updating index for library /home/carlo/lib/swipl-7.1.21/library/
./swipl.sh -C "/home/carlo/lib/swipl-7.1.21" --home=. -f none -g make -t
halt
SWI-Prolog [thread 1]: received fatal signal 11 (segv)
Segmentation fault (core dumped)
make[1]: *** [install] Error 139
make[1]: Leaving directory `/home/carlo/swipl-devel/packages'
make: *** [install-world] Error 2
Overall, the installation has been completed. The system works as usual,
what's left out, apparently, it's (part of) the local documentation (I have
a contextual help in my Qt environment, that's running plDoc and presenting
those nice pages via QtWebKit). While previously I had the full
documentation, now some part is missing.
I tried to debug it, but the core dump file (enabled by ulimit -c 1000)
apparently doesn't report the stack trace (even if ulimit -a show 'stack
size (kbytes, -s) 8192').
Getting normal core dumps in Ubuntu is a bit complicated as they are
normally caught and analyzed by apport (?) :-( I managed to enable
them, but forgot how ...
Post by Carlo Capelli
So I was going blind, so I added an echo in swipl.sh...
In the end, I found a workaround, printing the command issued by swipl.sh,
the problem seems to be the flag --home=.
"/home/carlo/lib/swipl-7.1.21" --home=. -f none -g make -t halt
/home/carlo/swipl-devel/src/swipl --home=. -f none -g make -t halt
SWI-Prolog [thread 1]: received fatal signal 11 (segv)
Segmentation fault (core dumped)
This should definitely work. One way to get sensible output is by

- Uncomment the # export COFLAGS="-O2 -gdwarf-2 -g3" line in build
- Make sure the addr2line utility is installed.

If that still fails to produce sensible info, I'd edit swipl.sh and
replace

$bdir/swipl "$@" || exit 1

by

gdb --args $bdir/swipl "$@"

Then, when in gdb, simply do

(gdb) run
Post by Carlo Capelli
make -t halt
Could not find system resources]
That is correct, as swipl-devel/packages is not a valid SWI-Prolog homedir.
Post by Carlo Capelli
halt% Updating index for library /home/carlo/lib/swipl-7.1.21/library/
% Updating index for library /home/carlo/lib/swipl-7.1.21/xpce/prolog/lib/
That indeed suggests some issue with processing the options. They are
needed though. This command may pick an old swipl somewhere in $PATH.
We want to be sure we're using the just compiled version and ensure it
works in chrooted environments used by some packaging systems.

Cheers --- Jan
Carlo Capelli
2014-08-26 17:23:25 UTC
Permalink
Post by Jan Wielemaker
Post by Carlo Capelli
it's some time now (after I installed ex-novo on my machine Ubuntu 14.04)
that I experiment a
crash near the end of build process.
So many people did that without problems ...
yes, sorry...
here is the gdb report, but seems totally useless...

(gdb) run
Starting program: /home/carlo/swipl-devel/src/swipl --home=. -f none -g
make -t halt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
__memcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:41
41 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: No such file or
directory.
(gdb) bt
#0 __memcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:41
#1 0x692f746f6f622f5f in ?? ()
#2 0x00006c702e74696e in ?? ()
#3 0x00000000000000d0 in ?? ()
#4 0xffff8000000034e1 in ?? ()
#5 0x000000000000000e in ?? ()
#6 0x0000000000000003 in ?? ()
#7 0x00002aaa00000033 in ?? ()
#8 0x00007fffffffcb20 in ?? ()
#9 0x0000000000000000 in ?? ()

since I haven't found a way to restart (I didn't know I had to issue a
checkpoint, sorry again),
I've quitted, and the build - tricked by gdb exiting 0 - has completed
nicely...

Since that change in swipl.sh means a long repetition of (gdb) start ...
(gdb) q I'll try to focus only on the problematic step.

Thanks for your help
Carlo
Post by Jan Wielemaker
....
Post by Carlo Capelli
make[2]: Leaving directory `/home/carlo/swipl-devel/packages/pengines'
*** Forcing update of library index ***
rm -f /home/carlo/lib/swipl-7.1.21/library/INDEX.pl
./swipl.sh -C "/home/carlo/lib/swipl-7.1.21/library" -f none -F none -g
"make_library_index(.)" -t halt
% Updating index for library /home/carlo/lib/swipl-7.1.21/library/
./swipl.sh -C "/home/carlo/lib/swipl-7.1.21" --home=. -f none -g make -t
halt
SWI-Prolog [thread 1]: received fatal signal 11 (segv)
Segmentation fault (core dumped)
make[1]: *** [install] Error 139
make[1]: Leaving directory `/home/carlo/swipl-devel/packages'
make: *** [install-world] Error 2
Overall, the installation has been completed. The system works as usual,
what's left out, apparently, it's (part of) the local documentation (I have
a contextual help in my Qt environment, that's running plDoc and presenting
those nice pages via QtWebKit). While previously I had the full
documentation, now some part is missing.
I tried to debug it, but the core dump file (enabled by ulimit -c 1000)
apparently doesn't report the stack trace (even if ulimit -a show 'stack
size (kbytes, -s) 8192').
Getting normal core dumps in Ubuntu is a bit complicated as they are
normally caught and analyzed by apport (?) :-( I managed to enable
them, but forgot how ...
So I was going blind, so I added an echo in swipl.sh...
Post by Carlo Capelli
In the end, I found a workaround, printing the command issued by swipl.sh,
the problem seems to be the flag --home=.
"/home/carlo/lib/swipl-7.1.21" --home=. -f none -g make -t halt
/home/carlo/swipl-devel/src/swipl --home=. -f none -g make -t halt
SWI-Prolog [thread 1]: received fatal signal 11 (segv)
Segmentation fault (core dumped)
This should definitely work. One way to get sensible output is by
- Uncomment the # export COFLAGS="-O2 -gdwarf-2 -g3" line in build
- Make sure the addr2line utility is installed.
If that still fails to produce sensible info, I'd edit swipl.sh and
replace
by
Then, when in gdb, simply do
(gdb) run
Post by Carlo Capelli
make -t halt
Could not find system resources]
That is correct, as swipl-devel/packages is not a valid SWI-Prolog homedir.
Post by Carlo Capelli
halt% Updating index for library /home/carlo/lib/swipl-7.1.21/library/
% Updating index for library /home/carlo/lib/swipl-7.1.21/
xpce/prolog/lib/
That indeed suggests some issue with processing the options. They are
needed though. This command may pick an old swipl somewhere in $PATH.
We want to be sure we're using the just compiled version and ensure it
works in chrooted environments used by some packaging systems.
Cheers --- Jan
-------------- next part --------------
HTML attachment scrubbed and removed

Continue reading on narkive:
Loading...