From: Ryan N. <nov...@um...> - 2008-03-01 22:31:25
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tilman Schmidt wrote: > Am 27.02.2008 13:18 schrieb Tilman Schmidt: >> Ryan Novosielski schrieb: >>> If your binaries are not stripped, I'd do a backtrace. Usually that is >>> helpful for a bug report. >> [...] Are you suggesting that I run bacula-dir in gdb? Do I need >> any command line options for that, for example to prevent it from >> forking? Should I set any breakpoints or is it enough to wait for the >> SIGSEGV and then type `where'? > > Did that now. The necessary option is `-f' for `foreground', and > the result of `where' after the SIGSEGV is: > > Program received signal SIGSEGV, Segmentation fault. > 0x080b3b4e in sm_sizeof_pool_memory (fname=0x81ccf78 "message.c", lineno=1271, > obuf=0x21 <Address 0x21 out of bounds>) at mem_pool.c:163 > 163 mem_pool.c: No such file or directory. > in mem_pool.c > Current language: auto; currently c++ > (gdb) where > #0 0x080b3b4e in sm_sizeof_pool_memory (fname=0x81ccf78 "message.c", > lineno=1271, obuf=0x21 <Address 0x21 out of bounds>) at mem_pool.c:163 > #1 0x080b0516 in Mmsg (pool_buf=@0x824ed94, > fmt=0x81c7b84 "SELECT PoolId,Name,NumVols,MaxVols,UseOnce,UseCatalog,AcceptAnyVolume,AutoPrune,Recycle,VolRetention,VolUseDuration,MaxVolJobs,MaxVolFiles,MaxVolBytes,PoolType,LabelType,LabelFormat,RecyclePoolId FROM"...) > at message.c:1271 > #2 0x08098ec5 in db_get_pool_record (jcr=0x824ce18, mdb=0x824ecb0, > pdbr=0xb6992d7c) at sql_get.c:586 > #3 0x0807c907 in do_list_cmd (ua=0x824d838, cmd=<value optimized out>, > llist=HORZ_LIST) at ua_output.c:482 > #4 0x08074896 in do_a_command (ua=0x824d838, cmd=0x823f548 "1") > at ua_cmds.c:180 > #5 0x08088b50 in handle_UA_client_request (arg=0x824a260) at ua_server.c:147 > #6 0x080c226c in workq_server (arg=0x8220a20) at workq.c:357 > #7 0xb7ece192 in start_thread () from /lib/libpthread.so.0 > #8 0xb7bac02e in clone () from /lib/libc.so.6 > (gdb) I am not much of a programmer (despite my oddly-chosen title), but I think this will be of interest to someone. The mem_pool.c no such file or directory is rather strange. The relevant section, BTW: 158 /* Return the size of a memory buffer */ 159 int32_t sm_sizeof_pool_memory(const char *fname, int lineno, POOLMEM *obuf) 160 { 161 char *cp = (char *)obuf; 162 163 ASSERT(obuf); 164 cp -= HEAD_SIZE; 165 return ((struct abufhead *)cp)->ablen; 166 } Is there a possibility that you're running out of memory here? Also, which SQLite are you using? - -- ---- _ _ _ _ ___ _ _ _ |Y#| | | |\/| | \ |\ | | |Ryan Novosielski - Systems Programmer II |$&| |__| | | |__/ | \| _| |nov...@um... - 973/972.0922 (2-0922) \__/ Univ. of Med. and Dent.|IST/AST - NJMS Medical Science Bldg - C630 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHydk6mb+gadEcsb4RApNvAJ9NCskdV2vZGdVXAPUufKgluasL9wCeJu1x kyqbKd5zw9eubpNlXbgFlEk= =9Bxh -----END PGP SIGNATURE----- |