I know that this error has been a topic off and on for bacula users. I may have some light to shed on one occasion when it happens, but I will ask a question at the end.
I have 2 drives in my changer, both have tapes loaded from the same pool. 2 jobs start at the same time. Job #1 wants to use the tape in drive #2 and begins by unloading the tape in drive #1. Meanwhile, job #2 is happy with the tape in drive #2 and begins the backup process. Job #1 completes the unload operation of the tape in drive #1 and requests loading of the tape that is in drive #2. The tape in drive #2 is unloaded, put into its changer slot and then a load operation is executed to place the tape into drive #1. At this point drive #2 does not have a tape and when job #2 is ready to write to tape, it finds no volume in the drive and the error "Fatal error: askdir.c:340 NULL Volume name. This shouldn't happen!!!" is generated and the job ends with a Fatal error status.
So, the question, why is bacula requesting different tape volumes from the same pool when the tape volume already present in the drive is perfectly acceptable? A related question, I have had jobs insisting on using a tape that is already in use by another job in another drive and will wait for it and send out notification complaints until it either gets the tape or times out and ends in an error state – why is that?
Linux System Administrator
Research and Development Systems Support Oak Ridge National Laboratory