ant-bootstrap@1.7.1 sometimes fails to build on core-updates

DoneSubmitted by Chris Marusich.
Details
4 participants
  • Björn Höfling
  • Gábor Boskovits
  • Chris Marusich
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
C
C
Chris Marusich wrote on 14 Jan 2018 07:58
(address . bug-guix@gnu.org)
87o9lxapul.fsf@gmail.com
Hi,
At commit 1b321229f4653c5daa873813e24910789c0b2918 (i.e., the currenttip of the core-updates branch), ant-bootstrap@1.7.1 sometimes fails tobuild. This package is defined in gnu/packages/java.scm, but it is notexported (i.e., it is used privately within the module). Note thataccording to 'guix refresh', currently 215 packages depend on thispackage.
I tried to build this package 147 times. It failed 5 times, and itsucceeded 142 times. That's about a 3% failure rate. All 5 failuresproduced the same log output, which I've attached. My machine is anx86-64 machine.
-- Chris
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlpa/6IACgkQ3UCaFdgiRp22qA//cvuWMxHY48dPnmvyhd1B46YM6de9/e98Clo7ZOBI5VbROdraSzHd4tFgXpauguJkOF1fnLqnYxAc3Ovq5sqcRAQAyaip1SqNcwJVKKBBmVA55e/ODIu1G1WD/rVuBzgg1q9rqBNVSTu+GUwLl/EfMLmZpc9lwk/NZaGJGareJt7TGoKmFeOKGuIkkZTZoltcNJFYZ2XKsqjgASl77rvIFw7qWAU8eP6jkeh4+xoIg029V4o31+bXU7Ud4Tv+jKx9dIVcdK/fAPdpWR9RZpSvPkWDsKV953LS6D5fC+S7/Syzc7LJHh5ClFbB/vfN9IzgKope8YC6sXLIQYH9AiNtHhgW1i1+hdGRzQVWSdsAtHJLIUhNek8YrkLlu89Y6oCVfUPbBUuEkByE8kcFsNmJS7GM+N4WnXpY0jEVeRQSZ0r5pQew3Vmc06wGNcpk0GpDulJJLsVFasW8+F58Jyllnk2rtof0KscGxr80RJs28n9mLgfPeDrhf0gilDlovnpuVJHIhgkptQb2VJROgCuzo6SKhfIbU84JD7SChNjswhy0rREA9hR7hUy6UHKMm22eW/7iCN1YN/h0GBM7XVt1LkkDzRVFwhgHiNCRHBpMJZ99ATdpPtEkPheCZsH+QiKFmTBaJK38nhJ6rDz1FIe28UIqzpUg/OFofavSVFs61ek==ezBb-----END PGP SIGNATURE-----
G
G
Gábor Boskovits wrote on 14 Jan 2018 10:32
(name . Chris Marusich)(address . cmmarusich@gmail.com)(address . 30107@debbugs.gnu.org)
CAE4v=pg9Jk+xTj74zW1v1egzK_=w-JNkyXQoWyDXAdXB90No4w@mail.gmail.com
I've also seen this once. No idea so far.I've tried to look around, but found no other mention of this issue.
2018-01-14 7:58 GMT+01:00 Chris Marusich <cmmarusich@gmail.com>:
Toggle quote (17 lines)> Hi,>> At commit 1b321229f4653c5daa873813e24910789c0b2918 (i.e., the current> tip of the core-updates branch), ant-bootstrap@1.7.1 sometimes fails to> build. This package is defined in gnu/packages/java.scm, but it is not> exported (i.e., it is used privately within the module). Note that> according to 'guix refresh', currently 215 packages depend on this> package.>> I tried to build this package 147 times. It failed 5 times, and it> succeeded 142 times. That's about a 3% failure rate. All 5 failures> produced the same log output, which I've attached. My machine is an> x86-64 machine.>> --> Chris>
Attachment: file
G
G
Gábor Boskovits wrote on 18 Jan 2018 10:02
Another kind of failure
(address . 30107@debbugs.gnu.org)
CAE4v=pj1W=D-q4PEunrET2xPGZ-gZjHwQfC__QPJ2gHmBkb0SA@mail.gmail.com
I'm now on 6d49ca16be22e3fb95823ac1780ad9460a18b180.I also observe another kind of failure now.
After outputBuildfile: build.xml
the build process hangs.
This is also indeterministic, however it is harder to specify the failurerate here...
Attachment: file
B
B
Björn Höfling wrote on 26 Jan 2018 11:30
Backtrace
(address . 30107@debbugs.gnu.org)
20180126113029.16199095@alma-ubu
I managed to get a coredump and backtrace, but I'm not able toextract any useful information. I never went that deep into Cprogramming. If anyone can get more out of this, attached is thebacktrace, register state and some disassembly.
Björn
#0 0x00007ffff7b743be in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#1 0x00007ffff7ba4dab in Java_java_lang_Throwable_nativeGetStackTraceList () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#2 0x00007ffff68470c0 in ffi_call_unix64 () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#3 0x00007ffff6845ee1 in ffi_call () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#4 0x00007ffff7b737af in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#5 0x00007ffff7bb3f26 in _svmh_invoke_nonvirtual_NoClassDefFoundError_init.constprop.137 () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#6 0x00007ffff7bb4045 in _svmf_error_NoClassDefFoundError () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#7 0x00007ffff7bb5723 in _svmh_create_class () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#8 0x00007ffff7bb8634 in Java_java_lang_VMClassLoader_nativeLoadClass () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#9 0x00007ffff68470c0 in ffi_call_unix64 () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#10 0x00007ffff6845ee1 in ffi_call () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#11 0x00007ffff7b73cd9 in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#12 0x00007ffff7bb006f in Java_java_lang_reflect_Method_invokeNative () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#13 0x00007ffff68470c0 in ffi_call_unix64 () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#14 0x00007ffff6845ee1 in ffi_call () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#15 0x00007ffff7b73cd9 in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#16 0x00007ffff7bb006f in Java_java_lang_reflect_Method_invokeNative () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#17 0x00007ffff68470c0 in ffi_call_unix64 () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#18 0x00007ffff6845ee1 in ffi_call () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#19 0x00007ffff7b73cd9 in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#20 0x00007ffff7bb006f in Java_java_lang_reflect_Method_invokeNative () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#21 0x00007ffff68470c0 in ffi_call_unix64 () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#22 0x00007ffff6845ee1 in ffi_call () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#23 0x00007ffff7b73cd9 in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#24 0x00007ffff7bb051c in Java_java_lang_VirtualMachine_invokeMain () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#25 0x00007ffff68470c0 in ffi_call_unix64 () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#26 0x00007ffff6845ee1 in ffi_call () from /gnu/store/jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1/lib/libffi.so.6#27 0x00007ffff7b73cd9 in _svmf_interpreter () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#28 0x00007ffff7ba5f46 in CallStaticVoidMethod () from /gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/lib/libsablevm-1.13.so#29 0x000000000040198f in main (argc=<optimized out>, argv=<optimized out>) at sablevm.c:1455rax 0x7ffff25f0ee8 140737259704040rbx 0x7ffff4715698 140737294456472rcx 0x58 88rdx 0x7ffff7f42c68 140737353362536rsi 0x60bde8 6340072rdi 0x6069e0 6318560rbp 0x60be48 0x60be48rsp 0x7fffffffc6e0 0x7fffffffc6e0r8 0x7ffff7f490d8 140737353388248r9 0x61a200 6398464r10 0x60bf98 6340504r11 0x18 24r12 0x60bdd8 6340056r13 0x7fffe2f12988 140737000843656r14 0x60be48 6340168r15 0x1 1rip 0x7ffff7b743be 0x7ffff7b743be <_svmf_interpreter+21822>eflags 0x10206 [ PF IF RF ]cs 0x33 51ss 0x2b 43ds 0x0 0es 0x0 0fs 0x0 0gs 0x0 0Dump of assembler code for function _svmf_interpreter: 0x00007ffff7b6ee80 <+0>: push %r15 0x00007ffff7b6ee82 <+2>: push %r14 0x00007ffff7b6ee84 <+4>: push %r13 0x00007ffff7b6ee86 <+6>: push %r12 0x00007ffff7b6ee88 <+8>: push %rbp 0x00007ffff7b6ee89 <+9>: push %rbx 0x00007ffff7b6ee8a <+10>: sub $0xb8,%rsp 0x00007ffff7b6ee91 <+17>: mov %rdi,0x60(%rsp) 0x00007ffff7b6ee96 <+22>: mov 0x60(%rsp),%rax 0x00007ffff7b6ee9b <+27>: cmpq $0x0,0x80(%rax) 0x00007ffff7b6eea3 <+35>: je 0x7ffff7b6eef6 <_svmf_interpreter+118> 0x00007ffff7b6eea5 <+37>: mov 0x60(%rsp),%rax 0x00007ffff7b6eeaa <+42>: mov 0x60(%rsp),%r13 0x00007ffff7b6eeaf <+47>: mov 0x80(%rax),%rbp 0x00007ffff7b6eeb6 <+54>: mov 0x10(%rbp),%rax 0x00007ffff7b6eeba <+58>: mov %rbp,%r12 0x00007ffff7b6eebd <+61>: add $0x40,%rbp 0x00007ffff7b6eec1 <+65>: mov 0x48(%rax),%rax 0x00007ffff7b6eec5 <+69>: sub 0x10(%rax),%r12 0x00007ffff7b6eec9 <+73>: mov 0x98(%r13),%rax 0x00007ffff7b6eed0 <+80>: cmp $0x1,%rax 0x00007ffff7b6eed4 <+84>: je 0x7ffff7b76988 <_svmf_interpreter+31496> 0x00007ffff7b6eeda <+90>: mov 0x60(%rsp),%rax 0x00007ffff7b6eedf <+95>: xor %r15d,%r15d 0x00007ffff7b6eee2 <+98>: mov 0x80(%rax),%rax 0x00007ffff7b6eee9 <+105>: mov 0x30(%rax),%rax 0x00007ffff7b6eeed <+109>: lea 0x8(%rax),%rbx 0x00007ffff7b6eef1 <+113>: mov (%rax),%rax 0x00007ffff7b6eef4 <+116>: jmpq *%rax 0x00007ffff7b6eef6 <+118>: lea 0xb62(%rip),%rsi # 0x7ffff7b6fa5f <_svmf_interpreter+3039> 0x00007ffff7b6eefd <+125>: lea 0x5aa54(%rip),%rcx # 0x7ffff7bc9958 0x00007ffff7b6ef04 <+132>: lea 0x72eb(%rip),%r12 # 0x7ffff7b761f6 <_svmf_interpreter+29558> 0x00007ffff7b6ef0b <+139>: lea 0x78cb(%rip),%rbp # 0x7ffff7b767dd <_svmf_interpreter+31069> 0x00007ffff7b6ef12 <+146>: lea 0x6f37(%rip),%rbx # 0x7ffff7b75e50 <_svmf_interpreter+28624> 0x00007ffff7b6ef19 <+153>: lea 0x7696(%rip),%r11 # 0x7ffff7b765b6 <_svmf_interpreter+30518> 0x00007ffff7b6ef20 <+160>: lea 0x71ed(%rip),%r10 # 0x7ffff7b76114 <_svmf_interpreter+29332> 0x00007ffff7b6ef27 <+167>: lea 0x755a(%rip),%r9 # 0x7ffff7b76488 <_svmf_interpreter+30216> 0x00007ffff7b6ef2e <+174>: lea 0x6e2d(%rip),%r8 # 0x7ffff7b75d62 <_svmf_interpreter+28386> 0x00007ffff7b6ef35 <+181>: lea 0x6d53(%rip),%rdi # 0x7ffff7b75c8f <_svmf_interpreter+28175> 0x00007ffff7b6ef3c <+188>: mov $0x1,%edx 0x00007ffff7b6ef41 <+193>: lea -0x1(%rdx),%eax 0x00007ffff7b6ef44 <+196>: cmp $0x14b,%eax 0x00007ffff7b6ef49 <+201>: ja 0x7ffff7b6ef54 <_svmf_interpreter+212> 0x00007ffff7b6ef4b <+203>: movslq (%rcx,%rax,4),%rax 0x00007ffff7b6ef4f <+207>: add %rcx,%raxQuit
B
B
Björn Höfling wrote on 3 Feb 2018 09:36
How I got the core dump
(address . 30107@debbugs.gnu.org)
20180203093626.6c927477@alma-ubu
On request, I'm writing here how I got to that coredump:
My first step was to investigate the build.sh, and I just patched it tooutput the full command, stripping of the rest:
Toggle diff (106 lines)diff --git a/bootstrap.sh b/bootstrap.x.shindex bc54db4..f8c0720 100755--- a/bootstrap.sh+++ b/bootstrap.x.sh@@ -151,18 +151,7 @@ cp src/script/antRun bin chmod +x bin/antRun echo ... Building Ant Distribution--"${JAVACMD}" -classpath "${CLASSPATH}" -Dant.home=. $ANT_OPTSorg.apache.tools.ant.Main -emacs "$@" bootstrap -ret=$?-if [ $ret != 0 ]; then- echo ... Failed Building Ant Distribution !- exit $ret-fi---echo ... Cleaning Up Build Directories--rm -rf ${CLASSDIR}-rm -rf bin+echo I would do:+echo "${JAVACMD}" -classpath "${CLASSPATH}" -Dant.home=. $ANT_OPTSorg.apache.tools.ant.Main -emacs "$@" bootstrap echo ... DoneBootstrapping Ant Distribution
I added the patch into the package definition.
As I have learned yesterday, I could just repack the sources and use
guix --with-source=modified-ant.tar.gz ...
Anyway, I found out it calls:
/gnu/store/088bg6n5llvqn9j7d2740hhhilbqai4a-sablevm-1.13/bin/java-sablevm-classpath build/classes:src/main:lib/xercesImpl.jar:lib/xml-apis.jar:-Dant.home=. -Dbuild.compiler=jikes org.apache.tools.ant.Main -emacs-Ddist.dir=/gnu/store/dxdsdsj4nz7fig92b2xjb7jf7swm5rni-ant-bootstrap-1.7.1bootstrap
Next, I realized that my Ubuntu+Guix-on-top is eating up my core dumps:
$> cat /proc/sys/kernel/core_pattern |/usr/share/apport/apport %p %s %c %d %P
So instead I went into my QEMU machine and continued there.
Set ulimit to unlimited:
ulimit -c unlimited
In sablevm, we need to get debugging infos into it:
Add to it's package definition's #arguments this one:
#:strip-binaries? #f
Rebuild it:
./pre-inst-env guix build -e '(@@ (gnu packages java) sablevm)'--no-grafts --no-substitutes -K > sablevm.log 2>&1
Remove your failed builds /tmp/guix-build-* directories, if you haveany.
Then I looped through with this little bash script:
#!/bin/sh
ROUNDS=100
for i in `seq -w 0 $ROUNDS`; do# DATE=${date}# echo $DATE echo -n $i.. ./pre-inst-env guix build -e '(@@ (gnu packages java)ant-bootstrap)' --no-grafts --no-substitutes --check -k -K >log-$i.log2>&1
done;echo
Then search in the logs:
grep Segementation log-*.log
Hopefully it finds one. Otherwise, repeat step above.Check that it not onle Segfaults,but also has a "(core dumped)" behindit. Otherwise, check your ulimit and corefile settings.
The coredump is in the /tmp/guix-build-ant..-n, where n coresponds toyour log-file number.
Finally, exporting the stack trace:
set logging onset logging file backtrace.logshow loggingbtinfo regquit

That's it.
Björn
R
R
Ricardo Wurmus wrote on 12 Feb 2018 16:15
control message for bug #30107
(address . control@debbugs.gnu.org)
E1elFpg-0005e3-Do@debbugs.gnu.org
tags 30107 fixedclose 30107
?
Your comment

This issue is archived.

To comment on this conversation send email to 30107@debbugs.gnu.org