Merit Network
Can't find what you're looking for? Search the Mail Archives.
  About Merit   Services   Network   Resources & Support   Network Research   News   Events   Home

Discussion Communities: Merit Network Email List Archives

IRRd-Discuss


Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: Irr_rpsl_submit segfault on Solaris 2.8

  • From: Larry J. Blunk
  • Date: Wed Oct 09 14:03:25 2002

  I suspect this is due to tmp->logfile->logfd not being initialized
in New_Trace2().   Here's a quick fix for src/programs/hdr_comm/trace.c
you can try until I can get a new release out...


> diff -c trace.c trace.c.new
*** trace.c     Mon Jun  4 12:52:21 2001
--- trace.c.new Wed Oct  9 13:53:06 2002
***************
*** 209,214 ****
--- 209,215 ----
      tmp->logfile->append_flag = 1;
      tmp->logfile->logfile_name = strdup(log_name);
      tmp->logfile->prev_logfile = strdup("");
+     tmp->logfile->logfd = NULL;  /* need to initialize before calling get_trace_fd() */
      tmp->logfile->logfd = get_trace_fd (tmp);
      tmp->logfile->logsize = 0;
      tmp->logfile->bytes_since_open = 0;


  Regards,
    Larry Blunk
    Merit



> 
> Gentlefolk,
> 	Whilst trying to get IRRd up and running on a Solaris 2.8 sparc,
> we found this tiny problem (as illustrated under a gdb backtrace):
> 
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0xef58e818 in _fflush_u () from /usr/lib/libc.so.1
> (gdb) bt
> #0  0xef58e818 in _fflush_u () from /usr/lib/libc.so.1
> #1  0xef58e970 in fclose () from /usr/lib/libc.so.1
> #2  0x1c58c in get_trace_fd (tr=0xf4408) at trace.c:289
> #3  0x1c818 in set_trace (tmp=0xf4408, first=1) at trace.c:393
> #4  0x1cb38 in config_trace_local (tr=0xf4408, line=0xf59f2 "\n")
>     at trace.c:504
> #5  0x1b2f0 in parse_irrd_conf_file (
>     config_fname=0xeffff8c0 "/opt/irrd/etc/irrd.conf", tr=0xf4408)
>     at read_conf.c:197
> #6  0x182a0 in main (argc=3, argv=0xeffff78c) at main.c:198
> (gdb)
> 
> Any hints as to a fix would be greatly appreciated.
> 
> wfms


[an error occurred while processing this directive]