Date: Fri, 18 Jan 2008 14:29:31 +0300 From: Yuri Pankov <yuri.pankov@gmail.com> To: freebsd-current@freebsd.org Subject: Re: SIGABRT on `cvs login` Message-ID: <20080118112931.GB24750@darklight.org.ru> In-Reply-To: <20080118061338.GA24750@darklight.org.ru> References: <20080118061338.GA24750@darklight.org.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 18, 2008 at 09:13:38AM +0300, Yuri Pankov wrote: > Hi, > > I'm getting SIGABRT running `cvs login`. It's -CURRENT/amd64 updated > on Jan, 16. > > Backtrace: > > (gdb) run login > Starting program: /usr/bin/cvs login > Logging in to :pserver:anoncvs@anoncvs.tw.freebsd.org:2401/home/ncvs > CVS password: <- using "anoncvs" here > cvs login: warning: failed to open /home/yuri/.cvspass for reading: No > such file or directory > Assertion failed: ((run->regs_mask[elm] & (1U << bit)) == 0), function > arena_run_reg_dalloc, file /usr/src/lib/libc/stdlib/malloc.c, line 2197. > > Program received signal SIGABRT, Aborted. > 0x00000008013f53cc in kill () at kill.S:2 > 2 RSYSCALL(kill) > Current language: auto; currently asm > (gdb) bt full > #0 0x00000008013f53cc in kill () at kill.S:2 > No locals. > #1 0x00000008013f423b in abort () at > /usr/src/lib/libc/stdlib/abort.c:65 > act = {__sigaction_u = {__sa_handler = 0x90, __sa_sigaction = > 0x90}, sa_flags = 8, sa_mask = {__bits = {4294967263, > 4294967295, 4294967295, 4294967295}}} > #2 0x00000008013dd225 in __assert (func=0x8289 <Error reading address > 0x8289: Bad address>, > file=0x6 <Error reading address 0x6: Bad address>, line=0, > failedexpr=0x0) at /usr/src/lib/libc/gen/assert.c:54 > No locals. > #3 0x0000000801383bf3 in arena_dalloc_small (arena=0x589e70, > chunk=Variable "chunk" is not available. > ) at /usr/src/lib/libc/stdlib/malloc.c:2197 > run = (arena_run_t *) 0x601000 > bin = (arena_bin_t *) 0x589fe8 > size = 16 > __func__ = "arena_dalloc_small" > #4 0x0000000801383ea6 in idalloc (ptr=0x6012a0) at > /usr/src/lib/libc/stdlib/malloc.c:3097 > chunk = (arena_chunk_t *) 0x600000 > __func__ = "idalloc" > #5 0x0000000801384177 in free (ptr=0x6012a0) at > /usr/src/lib/libc/stdlib/malloc.c:4571 > __func__ = "free" > #6 0x0000000000429bb2 in login (argc=Variable "argc" is not available. > ) at > /usr/src/gnu/usr.bin/cvs/cvs/../../../../contrib/cvs/src/login.c:574 > typed_password = 0x601290 'Z' <repeats 64 times> > cvsroot_canonical = 0x613300 > ":pserver:anoncvs@anoncvs.tw.freebsd.org:2401/home/ncvs" > #7 0x000000000042c538 in main (argc=1, argv=0x7fffffffe668) > at > /usr/src/gnu/usr.bin/cvs/cvs/../../../../contrib/cvs/src/main.c:1010 > n = (Node *) 0x6131c0 > CVSroot_parsed = Variable "CVSroot_parsed" is not available. > > Any other info that I can provide? More details: diff between 1.11.17 and 1.11.22 Index: ccvs/src/client.c diff -u ccvs/src/client.c:1.318.4.20 ccvs/src/client.c:1.318.4.42 --- ccvs/src/client.c:1.318.4.20 Mon Apr 26 15:52:05 2004 +++ ccvs/src/client.c Thu Jun 8 19:58:30 2006 <snip> @@ -3914,6 +3921,7 @@ /* Paranoia. */ memset (password, 0, strlen (password)); + free (password); # else /* ! AUTH_CLIENT_SUPPORT */ error (1, 0, "INTERNAL ERROR: This client does not support pserver authentication"); # endif /* AUTH_CLIENT_SUPPORT */ <snip> password = get_cvs_password(), which returns cvs_password if it's set, and cvs_password is free()'d again in login.c. Yuri
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080118112931.GB24750>