"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Klemens Nanni <kn@openbsd.org>
Subject:
Re: got-build-regress.sh regress failure
To:
gameoftrees@openbsd.org, Benoit Lecocq <benoit@openbsd.org>
Date:
Sat, 24 Oct 2020 16:26:50 +0200

Download raw body.

Thread
On Fri, Sep 25, 2020 at 03:04:54PM +0200, Stefan Sperling wrote:
> On Fri, Sep 25, 2020 at 12:44:02PM +0200, stsp@stsp.name wrote:
> > got-build-regress.sh for branch 'main' on Fri Sep 25 10:00:02 UTC 2020
> > 
> > Running on OpenBSD 6.7 (GENERIC.MP) #310: Thu May  7 18:41:00 MDT 2020
> >     deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/GENERIC.MP
>  
> > 	Running tests
> > 
> > $ env PATH=/home/stsp/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin make regress
> > ===> regress
> > ===> regress/cmdline
> > ./checkout.sh -q
> > ./update.sh -q
> > error: pack-objects died of signal 10
> > error: git upload-pack: git-pack-objects died with error.
> > fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
> > remote: aborting due to possible repository corruption on the remote side.
> > fatal: protocol error: bad pack header
> > error: Could not fetch origin
> > --- /tmp/got-test-update_moved_branch_ref-gC1ienRJ/stdout.expected	Fri Sep 25 12:11:50 2020
> > +++ /tmp/got-test-update_moved_branch_ref-gC1ienRJ/stdout	Fri Sep 25 12:11:52 2020
> > @@ -0,0 +1 @@
> > +Updated to commit d098f5331854084029e6635b410ba184e5d50774
> > test failed; leaving test data in /tmp/got-test-update_moved_branch_ref-gC1ienRJ
> 
> This crash occurred in git fetch.
> It is the first time I've seen this happen.
> 
> Maybe of interest to maintainers of devel/git (in Cc)?
> 
> /tmp/got-test-update_moved_branch_ref-gC1ienRJ/repo/.git/git.core

Sorry for the late reply.

Can you reproduce this with latest git-2.29.0 from packages and/or does
it crash reproducibly?

> Core was generated by `git'.
> Program terminated with signal SIGBUS, Bus error.
> #0  _rthread_cond_timedwait (cond=<optimized out>, mutexp=0x0,
>     abs=0x7bc1c7ce40 <threaded_find_deltas>)
>     at /usr/src/lib/libc/thread/rthread_cond.c:124
> 124
> [Current thread is 1 (process 218884)]
> (gdb)
> (gdb) bt
> #0  _rthread_cond_timedwait (cond=<optimized out>, mutexp=0x0,
>     abs=0x7bc1c7ce40 <threaded_find_deltas>)
>     at /usr/src/lib/libc/thread/rthread_cond.c:124
> #1  0x0000007bc1c7ab68 in prepare_pack ()
> #2  0x0000007bc1c7c6e0 in cmd_pack_objects ()
> #3  0x0000007bc1c01b18 in handle_builtin ()
> #4  0x0000007bc1c02078 in cmd_main ()
> #5  0x0000007bc1cc8530 in main ()
> (gdb) info thread
>   Id   Target Id         Frame
> * 1    process 218884    _rthread_cond_timedwait (cond=<optimized out>,
>     mutexp=0x0, abs=0x7bc1c7ce40 <threaded_find_deltas>)
>     at /usr/src/lib/libc/thread/rthread_cond.c:124
>   2    process 570142    0x0000007e418b6028 in futex () at {standard input}:5
> (gdb) thread 2
> [Switching to thread 2 (process 570142)]
> #0  0x0000007e418b6028 in futex () at {standard input}:5
> 5       {standard input}: No such file or directory.
> (gdb) bt
> #0  0x0000007e418b6028 in futex () at {standard input}:5
> #1  0x0000007e418650d8 in _twait (abs=<optimized out>,
>     clockid=<optimized out>, val=<optimized out>, p=0x7e2aba5920)
>     at /usr/src/lib/libc/thread/synch.h:34
> #2  _rthread_cond_timedwait (cond=0x7e2aba5920, mutexp=0x7dda004c68, abs=0x0)
>     at /usr/src/lib/libc/thread/rthread_cond.c:106
> #3  0x0000007bc1c7cee8 in threaded_find_deltas ()
> #4  0x0000007e3be78d90 in _rthread_start (v=0x7e79f7d838)
>     at /usr/src/lib/librthread/rthread.c:96
> #5  0x0000007e418b752c in __tfork_thread ()
>     at /usr/src/lib/libc/arch/sparc64/sys/tfork_thread.S:58
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb)