On Wednesday 12 September 2007 18:00, Dan Langille wrote:
> After I encounterd repeated cores of bacula-sd, Eric Bollengier
> suggested this patch.  It passed my first set of regression tests
> without producing a bacula-sd.core
>
> The traceback appears at the end of this email.  Any objections to a
> commit now?

No problems. This is a good fix because the term_reservations_lock() blows 
away the volume_list lock which is used in free_volume_list().

I'd recommend to put the following comment in front of the free_volumes_list() 
line:

  /*
  * Call free_volume_list() before term_reservations_lock() which destroys
  * the volume list lock.
   */

That might help prevent re-occurrence of the problem.

Thanks,

Kern

>
> $ svn di
> Index: stored/stored.c
> ===================================================================
> --- stored/stored.c     (revision 5534)
> +++ stored/stored.c     (working copy)
> @@ -600,10 +600,10 @@
>     if (debug_level > 10) {
>        print_memory_pool_stats();
>     }
> -   term_reservations_lock();
>     term_msg();
>     cleanup_crypto();
>     free_volume_list();
> +   term_reservations_lock();
>     close_memory_pool();
>
>     sm_dump(false);                    /* dump orphaned buffers */
> $
>
> And FYI:
>
> [EMAIL PROTECTED]:~/src/BaculaRegressionTesting] $ gdb bin/bacula-fd bacula-
> fd.core
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and
> you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> This GDB was configured as "i386-marcel-freebsd"...
> Core was generated by `bacula-fd'.
> Program terminated with signal 11, Segmentation fault.
> Reading symbols from /lib/libz.so.4...done.
> Loaded symbols for /lib/libz.so.4
> Reading symbols from /lib/libthr.so.3...done.
> Loaded symbols for /lib/libthr.so.3
> Reading symbols from /usr/local/lib/libintl.so.8...done.
> Loaded symbols for /usr/local/lib/libintl.so.8
> Reading symbols from /usr/local/lib/libiconv.so.3...done.
> Loaded symbols for /usr/local/lib/libiconv.so.3
> Reading symbols from /usr/lib/libssl.so.5...done.
> Loaded symbols for /usr/lib/libssl.so.5
> Reading symbols from /lib/libcrypto.so.5...done.
> Loaded symbols for /lib/libcrypto.so.5
> Reading symbols from /usr/lib/libstdc++.so.6...done.
> Loaded symbols for /usr/lib/libstdc++.so.6
> Reading symbols from /lib/libm.so.5...done.
> Loaded symbols for /lib/libm.so.5
> Reading symbols from /lib/libgcc_s.so.1...done.
> Loaded symbols for /lib/libgcc_s.so.1
> Reading symbols from /lib/libc.so.7...done.
> Loaded symbols for /lib/libc.so.7
> Reading symbols from /libexec/ld-elf.so.1...done.
> Loaded symbols for /libexec/ld-elf.so.1
> #0  get_first_port_host_order (addrs=0x5a5a5a5a) at address_conf.h:64
> 64      address_conf.h: No such file or directory.
>         in address_conf.h
> [New Thread 0x28601200 (LWP 100058)]
> [New Thread 0x28601100 (LWP 100478)]
> (gdb) backtrace
> #0  get_first_port_host_order (addrs=0x5a5a5a5a) at address_conf.h:64
> #1  0x0804cc93 in terminate_filed (sig=15) at filed.c:238
> #2  0x0807dbf9 in signal_handler (sig=15) at signal.c:180
> #3  0xbfbfffb4 in ?? ()
> #4  0x0000000f in ?? ()
> #5  0x00000000 in ?? ()
> #6  0xbf9febc0 in ?? ()
> #7  0x00000000 in ?? ()
> #8  0x0807d940 in init_stack_dump () at signal.c:190
> #9  0x280e41de in pthread_cond_init () from /lib/libthr.so.3
> #10 0x08081588 in watchdog_thread (arg=0x0) at watchdog.c:307
> #11 0x280dda7f in pthread_getprio () from /lib/libthr.so.3
> #12 0x00000000 in ?? ()
> Current language:  auto; currently c++
> (gdb)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to