{"thread":{"id":"53114","subject":"git svn 2.26.0 segfault on fetch","startedAt":"2020-03-27T16:37:26Z","lastAt":"2020-03-27T21:27:03Z","messageCount":2,"participants":["Szőts Ákos","brian m. carlson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"394177","messageId":"CAAr69zbzX=ihOQLZRELWHaC42vs=XtNGkuJ+WhzeWaokPNcfAA@mail.gmail.com","threadId":"53114","inReplyTo":null,"subject":"git svn 2.26.0 segfault on fetch","fromName":"Szőts Ákos","fromEmail":"szotsaki@gmail.com","sentAt":"2020-03-27T16:36:56Z","receivedAt":"2020-03-27T16:37:26Z","isPatch":false,"sender":{"key":"szotsaki@gmail.com","avatar":null},"body":"Dear list,\n\nWhen I use a \"git svn fetch\" on my git-SVN repository it dies with\n\"error: git-svn died of signal 11\".\n\nI tried to get a coredump or attach GDB to it but as I see in strace\nthere are signal handlers attached to INT, HUP, TERM, QUIT, and PIPE\nand possibly because of them no coredumps are generated even with\nunlimited \"-c\" and also possibly because of this GDB doesn't stop on\nSIGSEGV.\n\nWhat I could do still with turned off ASLR is to run Valgrind with\nchildren tracking. It gave the following results:\n\nWarning: invalid file descriptor -1 in syscall close()\nInvalid read of size 4\n   at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)\n   by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)\n   by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)\n   by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)\n   by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)\n   by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)\n   by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)\n   by 0x9B1AADC: (anonymous\nnamespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()\n(kaboutdata.cpp:1041)\n   by 0x4A63706: __run_exit_handlers (exit.c:108)\n   by 0x4A638BB: exit (exit.c:139)\n   by 0x154465: main (perlmain.c:171)\n Address 0x80cf1c0 is not stack'd, malloc'd or (recently) free'd\n\n\nProcess terminating with default action of signal 11 (SIGSEGV): dumping core\n Access not within mapped region at address 0x80CF1C0\n   at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)\n   by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)\n   by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)\n   by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)\n   by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)\n   by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)\n   by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)\n   by 0x9B1AADC: (anonymous\nnamespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()\n(kaboutdata.cpp:1041)\n   by 0x4A63706: __run_exit_handlers (exit.c:108)\n   by 0x4A638BB: exit (exit.c:139)\n   by 0x154465: main (perlmain.c:171)\n If you believe this happened as a result of a stack\n overflow in your program's main thread (unlikely but\n possible), you can try to increase the size of the\n main thread stack using the --main-stacksize= flag.\n The main thread stack size used in this run was 8388608.\n\nDuring stracing I found this line around the SIGSEGV:\nclose(-1)                   = -1 EBADF\n\nIf you could tell me how it's possible to attach GDB onto it, I'd be\nglad to provide you some backtraces as well.\n\nVersion: 2.26.0.\n\nAll the best,\n\nÁkos\n"},{"id":"394199","messageId":"20200327212656.GM6499@camp.crustytoothpaste.net","threadId":"53114","inReplyTo":"CAAr69zbzX=ihOQLZRELWHaC42vs=XtNGkuJ+WhzeWaokPNcfAA@mail.gmail.com","subject":"Re: git svn 2.26.0 segfault on fetch","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2020-03-27T21:26:56Z","receivedAt":"2020-03-27T21:27:03Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2020-03-27 at 16:36:56, Szőts Ákos wrote:\n> Dear list,\n> \n> When I use a \"git svn fetch\" on my git-SVN repository it dies with\n> \"error: git-svn died of signal 11\".\n> \n> I tried to get a coredump or attach GDB to it but as I see in strace\n> there are signal handlers attached to INT, HUP, TERM, QUIT, and PIPE\n> and possibly because of them no coredumps are generated even with\n> unlimited \"-c\" and also possibly because of this GDB doesn't stop on\n> SIGSEGV.\n\nGit uses the Subversion Perl bindings and git-svn is written entirely in\nPerl.  While it's possible we've broken something, it's probably a\nlittle more likely that the Subversion Perl bindings on your system are\na little broken and that's what's causing the issue.\n\nWhat operating system are you using?\n\n> What I could do still with turned off ASLR is to run Valgrind with\n> children tracking. It gave the following results:\n> \n> Warning: invalid file descriptor -1 in syscall close()\n> Invalid read of size 4\n>    at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)\n>    by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)\n>    by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)\n>    by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)\n>    by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)\n>    by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)\n>    by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)\n>    by 0x9B1AADC: (anonymous\n> namespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()\n> (kaboutdata.cpp:1041)\n>    by 0x4A63706: __run_exit_handlers (exit.c:108)\n>    by 0x4A638BB: exit (exit.c:139)\n>    by 0x154465: main (perlmain.c:171)\n>  Address 0x80cf1c0 is not stack'd, malloc'd or (recently) free'd\n\nThis looks like you're loading something with Qt.  Are you using the\nSubversion KWallet integration?  Does disabling it make things work?\n\n> Process terminating with default action of signal 11 (SIGSEGV): dumping core\n>  Access not within mapped region at address 0x80CF1C0\n>    at 0x9B1A82C: UnknownInlinedFun (atomic_base.h:419)\n>    by 0x9B1A82C: UnknownInlinedFun (qatomic_cxx11.h:239)\n>    by 0x9B1A82C: UnknownInlinedFun (qbasicatomic.h:107)\n>    by 0x9B1A82C: UnknownInlinedFun (qrefcount.h:66)\n>    by 0x9B1A82C: UnknownInlinedFun (qstring.h:1263)\n>    by 0x9B1A82C: UnknownInlinedFun (kaboutdata.cpp:460)\n>    by 0x9B1A82C: KAboutData::~KAboutData() (kaboutdata.cpp:583)\n>    by 0x9B1AADC: (anonymous\n> namespace)::Q_QGS_s_registry::innerFunction()::Holder::~Holder()\n> (kaboutdata.cpp:1041)\n>    by 0x4A63706: __run_exit_handlers (exit.c:108)\n>    by 0x4A638BB: exit (exit.c:139)\n>    by 0x154465: main (perlmain.c:171)\n>  If you believe this happened as a result of a stack\n>  overflow in your program's main thread (unlikely but\n>  possible), you can try to increase the size of the\n>  main thread stack using the --main-stacksize= flag.\n>  The main thread stack size used in this run was 8388608.\n> \n> During stracing I found this line around the SIGSEGV:\n> close(-1)                   = -1 EBADF\n> \n> If you could tell me how it's possible to attach GDB onto it, I'd be\n> glad to provide you some backtraces as well.\n\nYou'd need to run something like the following:\n\n  gdb --args /usr/bin/perl /usr/lib/git-core/git-svn <ARGS>\n\nNote that I don't use git-svn and remember next to nothing about using\nSubversion, so hopefully any information you provide makes sense to\nsomeone more familiar with git-svn than I.\n-- \nbrian m. carlson: Houston, Texas, US\nOpenPGP: https://keybase.io/bk2204\n"}]}