Thread: pgbackrest: ERROR: [029]: unable to convert base 10 string '0000000B'to unsigned int

pgbackrest: ERROR: [029]: unable to convert base 10 string '0000000B'to unsigned int

From
Eric Veldhuyzen
Date:
Hi,

We are using pgbackrest (2.21) to backup out postgresql (11) clusters.
Last night our nightly diff backup gave me the
ERROR: unable to convert base 10 string '0000000B' to unsigned int.
I tried if a full backup would fix this, but it didn't.

Luckily this was only on our development/test cluster, so it is not a real
problem, but what is going on here and what would be the best way to fix this?

The last few lines of the log (with --log-level-console=info) are:

2020-01-21 08:07:44.613 P02   INFO: backup file
ericv.dev.xs4all.net:/var/lib/postgresql/11/main/pg_xact/0000 (136KB, 100%)
checksum 76e273a0f888d449a540f86eacd0bb8386c49209
2020-01-21 08:07:44.614 P00   INFO: full backup size = 62.7MB
2020-01-21 08:07:44.615 P00   INFO: execute non-exclusive pg_stop_backup() and
wait for all WAL segments to archive
2020-01-21 08:07:44.917 P00   INFO: backup stop archive =
0000000B00000015000000C3, lsn = 15/C3002F38
ERROR: [029]: unable to convert base 10 string '0000000B' to unsigned int
2020-01-21 08:07:45.448 P00   INFO: backup command end: aborted with exception [029]

Eric Veldhuyzen


Attachment
On 1/21/20 1:10 AM, Eric Veldhuyzen wrote:
Hi,

We are using pgbackrest (2.21) to backup out postgresql (11) clusters.
Last night our nightly diff backup gave me the
ERROR: unable to convert base 10 string '0000000B' to unsigned int.
I tried if a full backup would fix this, but it didn't.

Maybe I'm missing something, but 0000000B looks hexadecimal, not decimal.

Luckily this was only on our development/test cluster, so it is not a real
problem, but what is going on here and what would be the best way to fix this?

The last few lines of the log (with --log-level-console=info) are:

2020-01-21 08:07:44.613 P02   INFO: backup file
ericv.dev.xs4all.net:/var/lib/postgresql/11/main/pg_xact/0000 (136KB, 100%)
checksum 76e273a0f888d449a540f86eacd0bb8386c49209
2020-01-21 08:07:44.614 P00   INFO: full backup size = 62.7MB
2020-01-21 08:07:44.615 P00   INFO: execute non-exclusive pg_stop_backup() and
wait for all WAL segments to archive
2020-01-21 08:07:44.917 P00   INFO: backup stop archive =
0000000B00000015000000C3, lsn = 15/C3002F38
ERROR: [029]: unable to convert base 10 string '0000000B' to unsigned int
2020-01-21 08:07:45.448 P00   INFO: backup command end: aborted with exception [029]

Eric Veldhuyzen


--
Angular momentum makes the world go 'round.
Ron wrote:
> On 1/21/20 1:10 AM, Eric Veldhuyzen wrote:
>> Hi,
>>
>> We are using pgbackrest (2.21) to backup out postgresql (11) clusters.
>> Last night our nightly diff backup gave me the
>> ERROR: unable to convert base 10 string '0000000B' to unsigned int.
>> I tried if a full backup would fix this, but it didn't.
>
> Maybe I'm missing something, but 0000000*B* looks *hexa*decimal, not decimal.

You're not missing something, and this is most likely also the reason that this
fails. I'm quite sure it should try to convert a base 16 string here to an
unsigned int...

Eric Veldhuyzen


Attachment
On Tue, Jan 21, 2020 at 08:10:39AM +0100, Eric Veldhuyzen wrote:
> We are using pgbackrest (2.21) to backup out postgresql (11) clusters.
> Last night our nightly diff backup gave me the
> ERROR: unable to convert base 10 string '0000000B' to unsigned int.
> I tried if a full backup would fix this, but it didn't.

Did you try to contact the maintainers?  Here is the link to the
project:
https://github.com/pgbackrest/pgbackrest
--
Michael

Attachment
On 1/21/20 12:55 AM, Eric Veldhuyzen wrote:
> Ron wrote:
>> On 1/21/20 1:10 AM, Eric Veldhuyzen wrote:
>>> Hi,
>>>
>>> We are using pgbackrest (2.21) to backup out postgresql (11) clusters.
>>> Last night our nightly diff backup gave me the
>>> ERROR: unable to convert base 10 string '0000000B' to unsigned int.
>>> I tried if a full backup would fix this, but it didn't.
>>
>> Maybe I'm missing something, but 0000000*B* looks *hexa*decimal, not decimal.
> 
> You're not missing something, and this is most likely also the reason that this
> fails. I'm quite sure it should try to convert a base 16 string here to an
> unsigned int...

That's exactly what should be happening.  There has already been a bug 
filed at https://github.com/pgbackrest/pgbackrest/issues/910 and you can 
find more details there.

Regards,
-- 
-David
david@pgmasters.net



On 1/21/20 8:45 AM, David Steele wrote:
> On 1/21/20 12:55 AM, Eric Veldhuyzen wrote:
>> Ron wrote:
>>> On 1/21/20 1:10 AM, Eric Veldhuyzen wrote:
>>>> Hi,
>>>>
>>>> We are using pgbackrest (2.21) to backup out postgresql (11) clusters.
>>>> Last night our nightly diff backup gave me the
>>>> ERROR: unable to convert base 10 string '0000000B' to unsigned int.
>>>> I tried if a full backup would fix this, but it didn't.
>>>
>>> Maybe I'm missing something, but 0000000*B* looks *hexa*decimal, not 
>>> decimal.
>>
>> You're not missing something, and this is most likely also the reason 
>> that this
>> fails. I'm quite sure it should try to convert a base 16 string here 
>> to an
>> unsigned int...
> 
> That's exactly what should be happening.  There has already been a bug 
> filed at https://github.com/pgbackrest/pgbackrest/issues/910 and you can 
> find more details there.

This issue was fixed in 2.22, released on 21 JAN.

-- 
-David
david@pgmasters.net