Problems (and some solutions) with cyradm

Carson Gaspar carson at taltos.org
Tue Oct 3 12:54:47 EDT 2006


--On Tuesday, October 03, 2006 9:15 AM -0700 Carson Gaspar 
<carson at taltos.org> wrote:

> [ cyrus-imapd 2.3.7, cyrus-sasl 2.1.22, db 4.4.20, Solaris 10 x86,
> perl-5.8.8, Studio 11 ]
...
> The next bug I haven't tracked down yet. When I disconnect from a server
> (via disconnect or quit) cyradm perl dumps core. Here's a backtrace, but
> everything is compiled with optimization, so I don't trust it much...
> I'll gladly compile a full debugging perl/cyrus-imapd if folks think it
> would help.

OK, so under the debugging perl, it doesn't dump core. Unless I use "perl 
-d", then it does. I hate heisenbugs... When it does dump core, it's pretty 
consistent about the backtrace:

program terminated by signal SEGV (no mapping at the fault address)
0xfffffd7ff976cf14: realfree+0x00f4:    cmpq     %rdx,(%rbx)
Current function is Perl_safesysmalloc
   78       ptr = (Malloc_t)PerlMem_malloc(size?size:1);        /* 
malloc(0) is NASTY on our system */
(dbx) where
  [1] realfree(0xde9cf000, 0x0, 0xf0, 0xdbbce0, 0xdf2a60, 0x0), at 
0xfffffd7ff976cf14
  [2] cleanfree(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ff976d60f
  [3] _malloc_unlocked(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ff976c8a9
  [4] malloc(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ff976c80d
=>[5] Perl_safesysmalloc(size = 8U), line 78 in "util.c"
  [6] Perl_sv_grow(sv = 0xdc6780, newlen = 8U), line 1669 in "sv.c"
  [7] Perl_sv_setsv_flags(dstr = 0xdc6780, sstr = 0x98c670, flags = 2), 
line 4068 in "sv.c"
  [8] Perl_sv_mortalcopy(oldstr = 0x98c670), line 6814 in "sv.c"
  [9] Perl_pp_leave(), line 1824 in "pp_hot.c"
  [10] Perl_runops_debug(), line 1459 in "dump.c"
  [11] S_run_body(oldscope = 1), line 2366 in "perl.c"
  [12] perl_run(my_perl = 0x62c620), line 2283 in "perl.c"
  [13] main(argc = 9, argv = 0xfffffd7fffdff978, env = 0xfffffd7fffdff9c8), 
line 99 in "perlmain.c"
(dbx) quit


-- 
Carson


More information about the Cyrus-devel mailing list