Hello, The debug listing below confirms that the problem is coming from the foreach... loop that is examining the Devices attached to the Autochanger. It is "impossible" for the pointer to be NULL, which is apparently what is happening, which indicates to me a g++ bug.
Could you tell me what version of g++ you are using? Possible solutions: 1. Verify that "#define HAVE_GCC 1" is set in src/config.h 2. add -O0 (- oh zero) or rather replace the -02 compile option with -O0. 3. add -fno-strict-aliasing to the compile options, in which case the -O2 should be able to be used. Concerning the impact of -O0. Well, obviously if -fno-strict-aliasing -O2 works, it will be more efficient. However, between having the SD crash and running with no optimization, I personally would quickly choose -O0 :-) All this is quite frustrating to me, because in more than 5 years, I have never seen a compiler problem (bug), and in the last 6 months, there have been a rash of these kinds of "strict aliasing" problems that arise because of optimization or over optimization. Every case I have seen has been with a 4.x compiler ... > ----- Forwarded message from Marcus Meyer <[EMAIL PROTECTED]> ----- > > From: Marcus Meyer <[EMAIL PROTECTED]> > Date: Tue, 23 May 2006 15:57:27 +0200 > Reply-To: Marcus Meyer <[EMAIL PROTECTED]>, [EMAIL PROTECTED] > To: Debian Bug Tracking System <[EMAIL PROTECTED]> > Subject: Bug#367424: bacula-sd: Debian build with debug symbols > > Package: bacula-sd > Version: 1.38.9-9 > Followup-For: Bug #367424 > > Hi! > > Now I've compiled the debian source with debug symbols. > > > Here is, wat i did: > > apt-get source bacula > cd bacula-1.38.9/ > DEB_BUILD_OPTIONS="noopt nostrip" dpkg-buildpackage -rfakeroot -us -uc -B > > > After the build I copy the bacula-sd from > bacula-1.38.9/debian/tmp-build-mysql/src/stored/bacula-sd to > /usr/sbin/bacula-sd then I started the daemon with /etc/init.d/bacula-sd > start. > > > > The error was: > > Starting Bacula Storage daemon: 23-Mai 15:45 bacula-sd: Fatal Error > because: Bacula interrupted by signal 11: Segmentation violation > Kaboom! bacula-sd, bacula-sd got signal 11. Attempting traceback. > Kaboom! exepath=/usr/sbin/ > Calling: /usr/sbin/btraceback /usr/sbin/bacula-sd 6989 > Traceback complete, attempting cleanup ... > > > And the traceback: > > Using host libthread_db library "/lib/tls/libthread_db.so.1". > [Thread debugging using libthread_db enabled] > [New Thread -1213532480 (LWP 6989)] > 0xb7ea71fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0 > $1 = "bacula-sd", '\0' <repeats 20 times> > $2 = 0x80b4870 "bacula-sd" > $3 = 0x80b4898 "/usr/sbin/bacula-sd" > $4 = "MySQL" > $5 = 0x80a57f8 "1.38.9 (02 May 2006)" > $6 = 0x80a270d "i486-pc-linux-gnu" > $7 = 0x80a2706 "debian" > $8 = 0x80a26f5 "testing/unstable" > #0 0xb7ea71fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0 > #1 0x080900c3 in signal_handler (sig=11) at signal.c:159 > #2 <signal handler called> > #3 0x0804e70a in init_autochangers () at autochanger.c:48 > #4 0x0804c8b0 in main (argc=<value optimized out>, argv=<value optimized > out>) at stored.c:401 > > Thread 1 (Thread -1213532480 (LWP 6989)): > #0 0xb7ea71fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0 > #1 0x080900c3 in signal_handler (sig=11) at signal.c:159 > #2 <signal handler called> > #3 0x0804e70a in init_autochangers () at autochanger.c:48 > #4 0x0804c8b0 in main (argc=<value optimized out>, argv=<value optimized > out>) at stored.c:401 > #0 0xb7ea71fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0 > #0 0xb7ea71fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0 > No symbol table info available. > #1 0x080900c3 in signal_handler (sig=11) at signal.c:159 > 159 waitpid(pid, NULL, 0); /* wait for child to produce > dump */ > Current language: auto; currently c++ > be = {<SMARTALLOC> = {<No data fields>}, buf_ = 0x99816a54 <Address > 0x99816a54 out of bounds>, berrno_ = 65522866} > sigdefault = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, > sa_mask = {__val = {2147483647, 4294967294, 4294967295 <repeats 30 > times>}}, > sa_flags = 0, sa_restorer = 0xc5a58668} > argv = {0x0, 0x0, 0x0, 0x0} > pid_buf = "6989", '\0' <repeats 15 times> > buf = > "/tmp/\000Qi\202\234·Óð\016-M^p\203\227¬ÂÙñ\n$?[x\226µÕæø\v\0374Jay\222¬Çã\000\036=]n\200\223§?Òé\001\0324Ok\210?Ååö\b\033/DZq\211¢?×ó\020.Mm~\220£·Ìâù\021*D_{\230¶Õõ\006\030+?" > pid = 6990 > btpath = "/usr/sbin/btraceback", '\0' <repeats 379 times> > #2 <signal handler called> > No symbol table info available. > #3 0x0804e70a in init_autochangers () at autochanger.c:48 > 48 if (!device->changer_command && changer->changer_command) > { > device = (DEVRES *) 0x0 > OK = true > changer = (AUTOCHANGER *) 0x80b6938 > #4 0x0804c8b0 in main (argc=<value optimized out>, argv=<value optimized > out>) at stored.c:401 > 401 OK = init_autochangers(); > ch = <value optimized out> > no_signals = 0 > test_config = 0 > thid = 0 > uid = 0xbfdf9f0e "bacula" > gid = 0xbfdf9f18 "tape" > #0 0x00000000 in ?? () > No symbol table info available. > #0 0x00000000 in ?? () > No symbol table info available. > #0 0x00000000 in ?? () > No symbol table info available. > > > > gcc info: > dpkg -l gcc gcc-4.0 > Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten > | Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb > install. > |/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: > GROß=schlecht) > ||/ Name Version > Beschreibung > +++-================================-================================-================================================================================ > ii gcc 4.0.2-2 The > GNU C compiler > ii gcc-4.0 4.0.3-3 The > GNU C compiler > > > If you need mor info, please let me know. > > - Marcus Meyer > > > -- System Information: > Debian Release: testing/unstable > APT prefers testing > APT policy: (990, 'testing'), (500, 'unstable') > Architecture: i386 (i686) > Shell: /bin/sh linked to /bin/bash > Kernel: Linux 2.6.16.16 > Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) > > Versions of packages bacula-sd depends on: > ii bacula-common 1.38.9-9 Network backup, recovery and > verif > ii libacl1 2.2.37-1 Access control list shared > library > ii libc6 2.3.6-7 GNU C Library: Shared > libraries > ii libgcc1 1:4.1.0-4 GCC support library > ii libssl0.9.8 0.9.8a-8 SSL shared libraries > ii libstdc++6 4.1.0-4 The GNU Standard C++ Library > v3 > ii libwrap0 7.6.dbs-9 Wietse Venema's TCP wrappers > libra > ii mtx 1.2.16rel-4 controls tape autochangers > ii python 2.3.5-5 An interactive high-level > object-o > ii python2.3 2.3.5-9.1 An interactive high-level > object-o > ii zlib1g 1:1.2.3-11 compression library - runtime > > Versions of packages bacula-sd recommends: > ii bacula-sd-mysql [bacula-sd-to 1.38.9-9 Network backup, recovery and > verif > ii mt-st 0.8-1 Linux SCSI tape driver aware > magne > > -- no debconf information > > > > ----- End forwarded message ----- > > > ------------------------------------------------------- > All the advantages of Linux Managed Hosting--Without the Cost and Risk! > Fully trained technicians. The highest number of Red Hat certifications in > the hosting industry. Fanatical Support. Click to learn more > http://sel.as-us.falkag.net/sel?cmd_______________________________________________ > Bacula-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/bacula-devel > Best regards, Kern