>>>>> On Wed, 24 Jun 2009 13:59:26 -0700, mehma sarja said: > > Thanks for all your help you guys. I am impressed with the level of > expertise here! > > > Error accessing memory address 0x7fffffbff000: Bad address. > > > #0 0x000000000040c043 in add_findex () > > > > The function add_findex is interesting, but I think like your bacula-dir > > was > > > > Try the following gdb commands (I assume you are running 64-bit FreeBSD): > > > > break *add_findex > > commands > > printf "arguments: %x %x %x\n", $rdi, $rsi, $rdx > > end > > continue > > > > When it stops, enter the continue command again and time how long it takes > > before it stops again. > > > > Do this a few times and post the results (including the "arguments:" > > output). > > > > Yes, it is FreeBSD 64 bit. The continue command comes right back with these > arguments: > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe00b > arguments: 1b17068 a0 5fe00b > arguments: 1b17068 a0 5fe00b > arguments: 1b17068 a0 5fe00b > (gdb) continue > Continuing. > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe039 > arguments: 1b17068 a0 5fe039 > arguments: 1b17068 a0 5fe039 > arguments: 1b17068 a0 5fe039 > (gdb) continue > Continuing. > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe055 > arguments: 1b17068 a0 5fe055 > arguments: 1b17068 a0 5fe055 > arguments: 1b17068 a0 5fe055 > (gdb) continue > Continuing. > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe060 > arguments: 1b17068 a0 5fe060 > arguments: 1b17068 a0 5fe060 > arguments: 1b17068 a0 5fe060 > (gdb) continue > Continuing. > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe071 > arguments: 1b17068 a0 5fe071 > arguments: 1b17068 a0 5fe071 > arguments: 1b17068 a0 5fe071 > (gdb) continue > Continuing. > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe079 > arguments: 1b17068 a0 5fe079 > arguments: 1b17068 a0 5fe079 > arguments: 1b17068 a0 5fe079 > (gdb) continue > Continuing. > > Breakpoint 1, 0x000000000040bfc0 in add_findex () > arguments: 1b17068 a0 5fe0ac > arguments: 1b17068 a0 5fe0ac > arguments: 1b17068 a0 5fe0ac > arguments: 1b17068 a0 5fe0ac
OK, this shows why it is slow. The algorithm in add_findex is only efficient when called with consecutive index values (the third number printed). The code for "restore all" in 2.4.4 doesn't do that, so it can take a very long time to complete. This was fixed in later version, so I think the best solution is to upgrade Bacula. __Martin ------------------------------------------------------------------------------ _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users