From: Mantis B. T. <no...@bu...> - 2009-03-20 17:46:09
|
The following issue has been CLOSED ====================================================================== http://bugs.bacula.org/view.php?id=1247 ====================================================================== Reported By: kardel Assigned To: kern ====================================================================== Project: bacula Issue ID: 1247 Category: Storage Daemon Reproducibility: always Severity: major Priority: normal Status: closed Resolution: fixed Fixed in Version: 2.5.x ====================================================================== Date Submitted: 2009-03-14 10:34 UTC Last Modified: 2009-03-20 17:45 UTC ====================================================================== Summary: 64-bit time_t and varargs don't get along in some printf-like formatting Description: With a 64-bit time_t the printf formatting fails when the arglist is passed on via varargs. Effect: 14-Mar 10:52 pip-dir JobId 1: Using Device "FileStorage" 14-Mar 10:52 pip-sd JobId 1: Wrote label to prelabeled Volume "TEST" on device "FileStorage" (/tmp/bacula-dumps) 14-Mar 10:52 pip-sd JobId 1: Job write elapsed time = 00:00:00, Transfer rate = <NULL> bytes/second 14-Mar 10:52 pip-dir JobId 1: Bacula pip-dir 2.5.42 (12Mar09): 14-Mar-2009 10:52:40 Note the <NULL> in the rate output. Also message passing from stored to director is affected. All messages from stored turn into "timestamp <NULL>". I include patches for 2.4.2 for the places I found. Note 2.5.42 is still affected. ====================================================================== ---------------------------------------------------------------------- (0004013) kern (administrator) - 2009-03-14 13:48 http://bugs.bacula.org/view.php?id=1247#c4013 ---------------------------------------------------------------------- Thanks for the warning. Other than 64 bit Windows, we were not aware that any other distro defines time_t as a 64 bit item. It is really a pity as it will cause lots of programs to fail. They would have done better to create an ltime_t as Unix did with file offsets. In any case, the core of Bacula uses 64 bit time values everywhere except for time_t. I suppose it is now time to rid ourselves of time_t except for one or two subroutines that actually call the system. I'll look at it in more detail but will most likely use your patch in the short run. ---------------------------------------------------------------------- (0004044) kern (administrator) - 2009-03-20 17:45 http://bugs.bacula.org/view.php?id=1247#c4044 ---------------------------------------------------------------------- We believe that this problem should now be fixed in the 2.5.42 code and later, so it will be released with 3.0. We resolved the problem slightly differently by using a OS independent variable and using 64 bit editing. Thanks for pointing this out. Issue History Date Modified Username Field Change ====================================================================== 2009-03-14 10:34 kardel New Issue 2009-03-14 10:34 kardel File Added: patch-time_t-64bit 2009-03-14 13:48 kern Note Added: 0004013 2009-03-14 13:48 kern Assigned To => kern 2009-03-14 13:48 kern Status new => acknowledged 2009-03-20 17:45 kern Note Added: 0004044 2009-03-20 17:45 kern Status acknowledged => closed 2009-03-20 17:45 kern Resolution open => fixed 2009-03-20 17:45 kern Fixed in Version => 2.5.x ====================================================================== |