Package: bacula-director-pgsql
Version: 1.36.2-1

When the machine running the file daemon is offline, the bacula director
crashes with a SIGSEGV within 2 hours after trying to perform the backup.
The problem first appeared after upgrading bacula from 1.36.1-1 to
1.36.2-1.
The time span of 2 hours could be related to my setup, which retries
failed jobs hourly, but this is just a guess.

Attached are the director configuration and a logfile excerpt.
Host james is running the director and storage daemon, while the file
daemon runs on host guitar.

No email was sent about the failed job found in the log, at least not
directly.  When crashing, the director tries to produce a backtrace,
which also fails and results in a confusing email being sent to the
administrator:

  Subject: Bacula traceback
  Date: Sat, 09 Apr 2005 14:05:04 +0200

  (no debugging symbols found)
  Using host libthread_db library "/lib/libthread_db.so.1".
  ptrace: Operation not permitted.
  /var/lib/bacula/1634: No such file or directory.
  /usr/lib/bacula/btraceback.gdb:1: Error in sourced command file:
  No symbol table is loaded.  Use the "file" command.

Obviously, no further backups will be performed until the director is
restarted manually.

I'll be happy to provide further information, if necessary.

Cheers,
Mirko
#
# Default Bacula Director Configuration file
#
#  The only thing that MUST be changed is to add one or more
#   file or directory names in the Include directive of the
#   FileSet resource.
#
#  For Bacula release 1.36.1 (26 November 2004) -- debian 3.1
#
#  You might also want to change the default email address
#   from root to your address.  See the "mail" and "operator"
#   directives in the Messages resource.
#

Director {                            # define myself
  Name = bacula-dir-james
  DirAddress = james
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 1
  Password = "censored"         # Console password
  Messages = Daemon
}

JobDefs {
  Name = "JobDefs-guitar"
  Client = bacula-fd-guitar
  FileSet = "guitar Full Set"
  Storage = File-mpa
  Pool = Default
  Full Backup Pool = guitar-full-pool
  Differential Backup Pool = guitar-diff-pool
  Incremental Backup Pool = guitar-incr-pool
  Messages = Standard
  Priority = 10
}

Job {
  Name = "guitar"
  JobDefs = "JobDefs-guitar"
  Type = Backup
  Schedule = "guitar Monthly Cycle" # without Schedule, job is only run manually
  Level = Incremental               # will sometimes be overridden by schedule
  Write Bootstrap = "/var/lib/bacula/guitar.bsr"
  Rerun Failed Levels = yes       # upgrade level if last failed is higher
  Reschedule On Error = yes
  Reschedule Interval = 1 hour
  Reschedule Times = 23
}

# Standard Restore template, to be changed by Console program
Job {
  Name = "guitar-restore"
  JobDefs = "JobDefs-guitar"
  Type = Restore
  Where = /tmp/bacula-restore
}

# When to do the backups, full backup on first sunday of the month,
#  differential (i.e. incremental since full) every other sunday,
#  and incremental backups other days
Schedule {
  Name = "guitar Monthly Cycle"
  Run = Full             1st sun at 12:05
  Run = Differential 2nd-5th sun at 12:05
  Run = Incremental      mon-sat at 12:05
}

# List of files to be backed up
FileSet {
  Name = "guitar Full Set"
  Include {
    Options {
      signature = MD5
    }
#    File = /mnt/nt/home
#    File = /mnt/dos/home/mpa
    File = /root
    File = /usr/local
    File = /etc
    File = /var
    File = /home

    # \| will run a program on the client machine and include the output here
  }
  Exclude {
    #File = /proc
    File = /home/mpa/download
    File = /home/mpa/backup
    File = /home/mpa/rescue
    File = /var/cache/apt
    File = /var/lib/apt
    File = /var/log
    #File = /var/cache/apt-build
    #File = /var/cache/locate
    #File = /var/cache/openafs
    #File = /var/www
    #File = /var/lib/apt/lists
    #File = /home/mpa/Mail/archive/lists/old
  }
}

# Client (File Services) to backup
Client {
  Name = bacula-fd-guitar
  Address = guitar
  FDPort = 9102
  Catalog = MyCatalog
  Password = "censored"           # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

# Definiton of file storage device
Storage {
  Name = File-mpa
# Do not use "localhost" here    
  Address = james                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "censored"
  Device = HDD-Storage-mpa
  Media Type = File
}

# Default pool definition
Pool {
  Name = Default
  Pool Type = Backup
}

# pool definition for guitar (full backup)
Pool {
  Name = guitar-full-pool
  Pool Type = Backup
  Maximum Volumes = 2                 # keep the two most recent full backups
  Maximum Volume Jobs = 1             # use a new file for each backup job
  Recycle = yes                       # automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 42 days
  LabelFormat = guitar-full-
}

# pool definition for guitar (diff. backup)
Pool {
  Name = guitar-diff-pool
  Pool Type = Backup
  Maximum Volumes = 6                 # keep weekly backups for 2..5 weeks
  Maximum Volume Jobs = 1             # use a new file for each backup job
  Recycle = yes                       # automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 15 days
  LabelFormat = guitar-diff-
}

# pool definition for guitar (incr. backup)
Pool {
  Name = guitar-incr-pool
  Pool Type = Backup
  Maximum Volumes = 40                # keep daily backups for 2..5 weeks
  Maximum Volume Jobs = 1             # use a new file for each backup job
  Recycle = yes                       # automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 15 days
  LabelFormat = guitar-incr-
}

# Generic catalog service
Catalog {
  Name = MyCatalog
  dbname = bacula
  #DB Address = localhost
  user = bacula
  #password = ""
}

# Reasonable message delivery -- send most everything to email address
#  and to the console
Messages {
  Name = Standard
#
# NOTE! If you send to two email or more email addresses, you will need
#  to replace the %r in the from field (-f part) with a single valid
#  email address in both the mailcommand and the operatorcommand.
#
  mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s 
\"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s 
\"Bacula: Intervention needed for %j\" %r"
  mail = [EMAIL PROTECTED] = all, !skipped            
  operator = [EMAIL PROTECTED] = mount
  console = all, !skipped, !saved
#
# WARNING! the following will create a file that you must cycle from
#          time to time as it will grow indefinitely. However, it will
#          also keep all your messages if they scroll off the console.
#
  append = "/var/lib/bacula/log" = all, !skipped
}

#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s 
\"Bacula daemon message\" %r"
  mail = [EMAIL PROTECTED] = all, !skipped            
  console = all, !skipped, !saved
  append = "/var/lib/bacula/log" = all, !skipped
}
09-Apr 12:05 bacula-dir-james: Start Backup JobId 84, 
Job=guitar.2005-04-09_12.05.01
09-Apr 12:06 bacula-dir-james: guitar.2005-04-09_12.05.01 Warning: bnet.c:769 
Could not connect to File daemon on guitar:9102. ERR=No route to host
Retrying ...
09-Apr 12:16 bacula-dir-james: guitar.2005-04-09_12.05.01 Warning: bnet.c:769 
Could not connect to File daemon on guitar:9102. ERR=No route to host
Retrying ...
09-Apr 12:28 bacula-dir-james: guitar.2005-04-09_12.05.01 Warning: bnet.c:769 
Could not connect to File daemon on guitar:9102. ERR=No route to host
Retrying ...
09-Apr 12:38 bacula-dir-james: guitar.2005-04-09_12.05.01 Warning: bnet.c:769 
Could not connect to File daemon on guitar:9102. ERR=No route to host
Retrying ...
09-Apr 12:47 bacula-dir-james: guitar.2005-04-09_12.05.01 Warning: bnet.c:769 
Could not connect to File daemon on guitar:9102. ERR=No route to host
Retrying ...
09-Apr 12:56 bacula-dir-james: guitar.2005-04-09_12.05.01 Warning: bnet.c:769 
Could not connect to File daemon on guitar:9102. ERR=No route to host
Retrying ...
09-Apr 13:04 bacula-dir-james: guitar.2005-04-09_12.05.01 Fatal error: 
bnet.c:775 Unable to connect to File daemon on guitar:9102. ERR=No route to host
09-Apr 13:05 bacula-dir-james: guitar.2005-04-09_12.05.01 Error: Bacula 1.36.2 
(28Feb05): 09-Apr-2005 13:04:59
  JobId:                  84
  Job:                    guitar.2005-04-09_12.05.01
  Backup Level:           Incremental, since=2005-04-08 12:05:03
  Client:                 bacula-fd-guitar
  FileSet:                "guitar Full Set" 2005-01-22 12:05:04
  Pool:                   "guitar-incr-pool"
  Storage:                "File-mpa"
  Start time:             09-Apr-2005 12:05:04
  End time:               09-Apr-2005 13:04:59
  FD Files Written:       0
  SD Files Written:       0
  FD Bytes Written:       0
  SD Bytes Written:       0
  Rate:                   0.0 KB/s
  Software Compression:   None
  Volume name(s):         
  Volume Session Id:      5
  Volume Session Time:    1112610086
  Last Volume Bytes:      0
  Non-fatal FD errors:    0
  SD Errors:              0
  FD termination status:  
  SD termination status:  Waiting on FD
  Termination:            *** Backup Error ***

09-Apr 13:05 bacula-dir-james: Rescheduled Job guitar.2005-04-09_12.05.01 at 
09-Apr-2005 13:05 to re-run in 3600 seconds.
09-Apr 13:05 bacula-dir-james: Job guitar.2005-04-09_12.05.01 waiting 3600 
seconds for scheduled start time.
09-Apr 14:05 bacula-dir-james: Start Backup JobId 84, 
Job=guitar.2005-04-09_12.05.01
09-Apr 14:05 bacula-dir-james: Fatal Error because: Bacula interrupted by 
signal 11: Segmentation violation

Reply via email to