git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* git svn 2.26.0 segfault on fetch
@ 2020-03-27 16:36 Szőts Ákos
  2020-03-27 21:26 ` brian m. carlson
  0 siblings, 1 reply; 2+ messages in thread
From: Szőts Ákos @ 2020-03-27 16:36 UTC (permalink / raw)
  To: git

Dear list,

When I use a "git svn fetch" on my git-SVN repository it dies with
"error: git-svn died of signal 11".

I tried to get a coredump or attach GDB to it but as I see in strace
there are signal handlers attached to INT, HUP, TERM, QUIT, and PIPE
and possibly because of them no coredumps are generated even with
unlimited "-c" and also possibly because of this GDB doesn't stop on
SIGSEGV.

What I could do still with turned off ASLR is to run Valgrind with
children tracking. It gave the following results:

Warning: invalid file descriptor -1 in syscall close()
Invalid read of size 4
   at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)
   by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)
   by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)
   by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)
   by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)
   by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)
   by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)
   by 0x9B1AADC: (anonymous
namespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()
(kaboutdata.cpp:1041)
   by 0x4A63706: __run_exit_handlers (exit.c:108)
   by 0x4A638BB: exit (exit.c:139)
   by 0x154465: main (perlmain.c:171)
 Address 0x80cf1c0 is not stack'd, malloc'd or (recently) free'd


Process terminating with default action of signal 11 (SIGSEGV): dumping core
 Access not within mapped region at address 0x80CF1C0
   at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)
   by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)
   by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)
   by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)
   by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)
   by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)
   by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)
   by 0x9B1AADC: (anonymous
namespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()
(kaboutdata.cpp:1041)
   by 0x4A63706: __run_exit_handlers (exit.c:108)
   by 0x4A638BB: exit (exit.c:139)
   by 0x154465: main (perlmain.c:171)
 If you believe this happened as a result of a stack
 overflow in your program's main thread (unlikely but
 possible), you can try to increase the size of the
 main thread stack using the --main-stacksize= flag.
 The main thread stack size used in this run was 8388608.

During stracing I found this line around the SIGSEGV:
close(-1)                   = -1 EBADF

If you could tell me how it's possible to attach GDB onto it, I'd be
glad to provide you some backtraces as well.

Version: 2.26.0.

All the best,

Ákos

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: git svn 2.26.0 segfault on fetch
  2020-03-27 16:36 git svn 2.26.0 segfault on fetch Szőts Ákos
@ 2020-03-27 21:26 ` brian m. carlson
  0 siblings, 0 replies; 2+ messages in thread
From: brian m. carlson @ 2020-03-27 21:26 UTC (permalink / raw)
  To: Szőts Ákos; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 3579 bytes --]

On 2020-03-27 at 16:36:56, Szőts Ákos wrote:
> Dear list,
> 
> When I use a "git svn fetch" on my git-SVN repository it dies with
> "error: git-svn died of signal 11".
> 
> I tried to get a coredump or attach GDB to it but as I see in strace
> there are signal handlers attached to INT, HUP, TERM, QUIT, and PIPE
> and possibly because of them no coredumps are generated even with
> unlimited "-c" and also possibly because of this GDB doesn't stop on
> SIGSEGV.

Git uses the Subversion Perl bindings and git-svn is written entirely in
Perl.  While it's possible we've broken something, it's probably a
little more likely that the Subversion Perl bindings on your system are
a little broken and that's what's causing the issue.

What operating system are you using?

> What I could do still with turned off ASLR is to run Valgrind with
> children tracking. It gave the following results:
> 
> Warning: invalid file descriptor -1 in syscall close()
> Invalid read of size 4
>    at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)
>    by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)
>    by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)
>    by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)
>    by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)
>    by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)
>    by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)
>    by 0x9B1AADC: (anonymous
> namespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()
> (kaboutdata.cpp:1041)
>    by 0x4A63706: __run_exit_handlers (exit.c:108)
>    by 0x4A638BB: exit (exit.c:139)
>    by 0x154465: main (perlmain.c:171)
>  Address 0x80cf1c0 is not stack'd, malloc'd or (recently) free'd

This looks like you're loading something with Qt.  Are you using the
Subversion KWallet integration?  Does disabling it make things work?

> Process terminating with default action of signal 11 (SIGSEGV): dumping core
>  Access not within mapped region at address 0x80CF1C0
>    at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)
>    by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)
>    by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)
>    by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)
>    by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)
>    by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)
>    by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)
>    by 0x9B1AADC: (anonymous
> namespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()
> (kaboutdata.cpp:1041)
>    by 0x4A63706: __run_exit_handlers (exit.c:108)
>    by 0x4A638BB: exit (exit.c:139)
>    by 0x154465: main (perlmain.c:171)
>  If you believe this happened as a result of a stack
>  overflow in your program's main thread (unlikely but
>  possible), you can try to increase the size of the
>  main thread stack using the --main-stacksize= flag.
>  The main thread stack size used in this run was 8388608.
> 
> During stracing I found this line around the SIGSEGV:
> close(-1)                   = -1 EBADF
> 
> If you could tell me how it's possible to attach GDB onto it, I'd be
> glad to provide you some backtraces as well.

You'd need to run something like the following:

  gdb --args /usr/bin/perl /usr/lib/git-core/git-svn <ARGS>

Note that I don't use git-svn and remember next to nothing about using
Subversion, so hopefully any information you provide makes sense to
someone more familiar with git-svn than I.
-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-03-27 21:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-27 16:36 git svn 2.26.0 segfault on fetch Szőts Ákos
2020-03-27 21:26 ` brian m. carlson

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).