On 12/31/18 12:43 PM, Phil Stracchino wrote:
> On 12/31/18 8:56 AM, Martin Simmons wrote:
>>>>>>> On Sun, 30 Dec 2018 00:08:25 -0500, Phil Stracchino said:
>>>
>>> This failure mode (which looks like a block number integer overflow in
>>> the storage daemon on Solaris 11.3) is solidly repeatable in 9.4.1.  I
>>> have had to roll back to 9.2.2 for now pending a fix.
>>
>> It looks like EndBlock=%d should be EndBlock=%u in
>> BDB::bdb_update_media_record (bacula/src/cats/sql_update.c line 378).
>>
>> This will be broken for both 64-bit and 32-bit.
> 
> That would do it.  Just patched that, recompiling now and will try it again.

Nope, that is not sufficient.  I even tried making it %lu and I am still
getting negative EndBlocks.  The integer overflow appears to be
happening earlier in the process.


I see from cats.h that both JOBMEDIA_DBR and MEDIA_DBR have uint32_t
EndBlock;

Should that be a uint64_t ?


-- 
  Phil Stracchino
  Babylon Communications
  ph...@caerllewys.net
  p...@co.ordinate.org
  Landline: +1.603.293.8485
  Mobile:   +1.603.998.6958


_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to