2013/4/17 Ana Emília Machado de Arruda <emiliaarr...@gmail.com>: > Hello, > > I´m trying to run a console command from an admin job and this is crashing > my director. A simple Console = "list jobs", inside a RunScript directive, > crashes the director (bacula-dir dead but subsys locked) and it generates a > "Bacula GDB traceback of bacula-dir on myDirector" mail. > > Below is my Admin Job with a "list jobs" console command. My goal is a "list > nextvol job=\"my\job\" days=1" command. Tried "list jobs", "list clients", > and so on, all of them result in the same. When it runs on client side this > does not happen. When I enter bconsole after restarting bacula, I get the > messages: > > 17-Apr 17:24 myDirector-dir JobId 17821: console command: run BeforeJob > "list jobs" > 17-Apr 17:24 myDirector-dir JobId 0: Automatically selected Catalog: > MyCatalog > 17-Apr 17:24 myDirector-dir JobId 0: Using Catalog "MyCatalog" >
Hi, I have the same result as yours. After adding listing command as runscript console command, Bacula throws segmentation violation. I researched this problem. It seems that in: /usr/src/bacula-5.2.12-new/src/cats/sql.c lines 636-642: Dmsg0(800, "list_result finished first loop\n"); if (type == VERT_LIST) { goto vertical_list; } Dmsg1(800, "list_result starts second loop looking at %d fields\n", num_fields); list_dashes(mdb, send, ctx); ^^^ variable ctx is broken, so it is not able to run list_dashes() without error. It looks like runscript directives were designed for run shell scripts/programs or bconsole commands which do not show results in tabular output. It makes sense. Summing, you found bug in Bacula. I prepared patch for this. It blocks running bconsole output for runscript. It works for me but I am not C++ programmer. Finally it does not cause segmentation violation and Director crash. I am attaching it to this message. For your solution I think that better will be to put your bconsole requests in a shell script. Regards, Marcin Haba (gani)
bacula-runscript-listing-segfault.patch
Description: Binary data
------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users