View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001349 | bareos-core | file daemon | public | 2021-05-07 18:29 | 2022-02-02 10:47 |
Reporter | oskarsr | Assigned To | bruno-at-bareos | ||
Priority | urgent | Severity | major | Reproducibility | always |
Status | resolved | Resolution | unable to reproduce | ||
Platform | Linux | OS | Debian | OS Version | 9 |
Product Version | 20.0.1 | ||||
Summary | 0001349: Fatal error: bareos-fd on the following backup after the successful backup of postgresql database using the PostgreSQL Plugin. | ||||
Description | Fatal error: bareos-fd on the following backup after the successful backup of postgresql database using the PostgreSQL Plugin. When the Client daemon is restarted, the backup of Postgresql database goes without the error, but just once. On the second attempt, there is an error again. it-fd JobId 118: Fatal error: bareosfd: Traceback (most recent call last): File "/usr/lib/bareos/plugins/bareos-fd-postgres.py", line 40, in import BareosFdPluginPostgres File "/usr/lib/bareos/plugins/BareosFdPluginPostgres.py", line 30, in import psycopg2 File "/usr/local/lib/python3.5/dist-packages/psycopg2/__init__.py", line 51, in from psycopg2._psycopg import ( # noqa SystemError: initialization of _psycopg raised unreported exception | ||||
Steps To Reproduce | When the backup is executed right after the client daemon restart, the debug log is following: it-fd (100): filed/fileset.cc:271-150 P python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos it-fd (150): filed/fd_plugins.cc:542-150 plugin cmd=python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos it-fd (150): filed/fd_plugins.cc:441-150 plugin_ctx=7f3964015250 JobId=150 it-fd (150): filed/fd_plugins.cc:229-150 IsEventForThisPlugin? name=python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos len=6 plugin=python3-fd.so plen=7 it-fd (150): filed/fd_plugins.cc:261-150 IsEventForThisPlugin: yes, without last character: (plugin=python3-fd.so, name=python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos) it-fd (150): python/python-fd.cc:992-150 python3-fd: Trying to load module with name bareos-fd-postgres it-fd (150): python/python-fd.cc:1006-150 python3-fd: Successfully loaded module with name bareos-fd-postgres it-fd (100): module/bareosfd.cc:1442-150 python3-fd-mod: Constructor called in module BareosFdPluginPostgres with plugindef=postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos: it-fd (100): module/bareosfd.cc:1442-150 python3-fd-mod: Constructor called in module BareosFdPluginLocalFilesBaseclass with plugindef=postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos: it-fd (100): module/bareosfd.cc:1442-150 python3-fd-mod: Constructor called in module BareosFdPluginBaseclass with plugindef=postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos: it-fd (150): module/bareosfd.cc:1495-150 python3-fd-mod: PyBareosRegisterEvents registering event 2 it-fd (150): filed/fd_plugins.cc:2266-150 fd-plugin: Plugin registered event=2 it-fd (150): module/bareosfd.cc:1495-150 python3-fd-mod: PyBareosRegisterEvents registering event 4 it-fd (150): filed/fd_plugins.cc:2266-150 fd-plugin: Plugin registered event=4 it-fd (150): module/bareosfd.cc:1495-150 python3-fd-mod: PyBareosRegisterEvents registering event 16 it-fd (150): filed/fd_plugins.cc:2266-150 fd-plugin: Plugin registered event=16 it-fd (150): module/bareosfd.cc:1495-150 python3-fd-mod: PyBareosRegisterEvents registering event 19 it-fd (150): filed/fd_plugins.cc:2266-150 fd-plugin: Plugin registered event=19 it-fd (150): module/bareosfd.cc:1495-150 python3-fd-mod: PyBareosRegisterEvents registering event 3 it-fd (150): filed/fd_plugins.cc:2266-150 fd-plugin: Plugin registered event=3 it-fd (150): module/bareosfd.cc:1495-150 python3-fd-mod: PyBareosRegisterEvents registering event 5 it-fd (150): filed/fd_plugins.cc:2266-150 fd-plugin: Plugin registered event=5 But, when the backup is started repeatedly for the same client, the log consists of following: it-fd (100): filed/fileset.cc:271-151 P python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos it-fd (150): filed/fd_plugins.cc:542-151 plugin cmd=python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos it-fd (150): filed/fd_plugins.cc:441-151 plugin_ctx=7f39641d1b60 JobId=151 it-fd (150): filed/fd_plugins.cc:229-151 IsEventForThisPlugin? name=python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos len=6 plugin=python3-fd.so plen=7 it-fd (150): filed/fd_plugins.cc:261-151 IsEventForThisPlugin: yes, without last character: (plugin=python3-fd.so, name=python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-postgres:postgresDataDir=/var/lib/postgresql/10/main:walArchive=/var/lib/postgresql/10/wal_archive/:dbuser=bareos:dbname=bareos) it-fd (150): python/python-fd.cc:992-151 python3-fd: Trying to load module with name bareos-fd-postgres it-fd (150): python/python-fd.cc:1000-151 python3-fd: Failed to load module with name bareos-fd-postgres it-fd (150): include/python_plugins_common.inc:124-151 bareosfd: Traceback (most recent call last): File "/usr/lib/bareos/plugins/bareos-fd-postgres.py", line 40, in <module> import BareosFdPluginPostgres File "/usr/lib/bareos/plugins/BareosFdPluginPostgres.py", line 30, in <module> import psycopg2 File "/usr/lib/python3/dist-packages/psycopg2/__init__.py", line 51, in <module> from psycopg2._psycopg import ( # noqa SystemError: initialization of _psycopg raised unreported exception it-fd (150): filed/fd_plugins.cc:480-151 Cancel return from GeneratePluginEvent it-fd (100): filed/fileset.cc:271-151 N it-fd (100): filed/dir_cmd.cc:462-151 <dird: getSecureEraseCmd | ||||
Tags | No tags attached. | ||||
Does anybody has tried to back up postgresql DB by using bareos-fd-postgres python plugin ? |
|
We are experiencing exactly the same issue on Ubuntu 18.04. | |
To Both of you, could you share the installed bareos package (and confirm they're coming from bareos.org) and also the python3 version used also python packages (and from where they come) related (main core + psycopg) |
|
We installed the bareos-filedaemon from https://download.bareos.org The python modules are installed from Ubuntu repositories. The reason we use both python and python3 modules is because if one is missing the backups fail. This seems pretty wrong to me, but as I understand there is active work to migrate to python3. We also have both of these python modules (python2 and python3) on our RHEL based hosts and have not had any problems with the PostgreSQL Plugin. # dpkg -l | grep psycopg ii python-psycopg2 2.8.4-1~pgdg18.04+1 amd64 Python module for PostgreSQL ii python3-psycopg2 2.8.6-2~pgdg18.04+1 amd64 Python 3 module for PostgreSQL # dpkg -l | grep dateutil ii python-dateutil 2.6.1-1 all powerful extensions to the standard Python datetime module ii python3-dateutil 2.6.1-1 all powerful extensions to the standard Python 3 datetime module # dpkg -l | grep bareos ii bareos-common 20.0.1-3 amd64 Backup Archiving Recovery Open Sourced - common files ii bareos-filedaemon 20.0.1-3 amd64 Backup Archiving Recovery Open Sourced - file daemon ii bareos-filedaemon-postgresql-python-plugin 20.0.1-3 amd64 Backup Archiving Recovery Open Sourced - file daemon PostgreSQL plugin ii bareos-filedaemon-python-plugins-common 20.0.1-3 amd64 Backup Archiving Recovery Open Sourced - file daemon Python plugin common files ii bareos-filedaemon-python3-plugin 20.0.1-3 amd64 Backup Archiving Recovery Open Sourced - file daemon Python plugin # dpkg -s bareos-filedaemon Package: bareos-filedaemon Status: install ok installed Priority: optional Section: admin Installed-Size: 384 Maintainer: Joerg Steffens <joerg.steffens@bareos.com> Architecture: amd64 Source: bareos Version: 20.0.1-3 Replaces: bacula-fd Depends: bareos-common (= 20.0.1-3), lsb-base (>= 3.2-13), lsof, libc6 (>= 2.14), libgcc1 (>= 1:3.0), libjansson4 (>= 2.0.1), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4) Pre-Depends: debconf (>= 1.4.30) | debconf-2.0, adduser Conflicts: bacula-fd Conffiles: /etc/init.d/bareos-fd bcc61ad57fde8a771a5002365130c3ec Description: Backup Archiving Recovery Open Sourced - file daemon Bareos is a set of programs to manage backup, recovery and verification of data across a network of computers of different kinds. . The file daemon has to be installed on the machine to be backed up. It is responsible for providing the file attributes and data when requested by the Director, and also for the file system-dependent part of restoration. . This package contains the Bareos File daemon. Homepage: http://www.bareos.org/ # cat /etc/apt/sources.list.d/bareos-20.list deb https://download.bareos.org/bareos/release/20/xUbuntu_18.04 / # |
|
Thanks for your report, as you stated the python/python3 situation is far from ideal, but PR are progressing, the tunnel's end is near. Also as you mentioned there's no trouble on RHEL system, I'm aware too. I would have tried to use only python2 code on such version. I make a note about testing that with the future new code on Ubuntu 18... But I just can't say when. |
|
For the issue reported there's something that look wrong File "/usr/lib/bareos/plugins/BareosFdPluginPostgres.py", line 30, in import psycopg2 File "/usr/local/lib/python3.5/dist-packages/psycopg2/__init__.py", line 51, in from psycopg2._psycopg import ( # noqa SystemError: initialization of _psycopg raised unreported exception here it is /usr/local/lib/python3.5 And then it-fd (150): include/python_plugins_common.inc:124-151 bareosfd: Traceback (most recent call last): File "/usr/lib/bareos/plugins/bareos-fd-postgres.py", line 40, in <module> import BareosFdPluginPostgres File "/usr/lib/bareos/plugins/BareosFdPluginPostgres.py", line 30, in <module> import psycopg2 File "/usr/lib/python3/dist-packages/psycopg2/__init__.py", line 51, in <module> from psycopg2._psycopg import ( # noqa SystemError: initialization of _psycopg raised unreported exception /usr/lib/python3 So seems you have mixed python env which create strange behaviour, cause the module loaded is not always the same. Our best advice would be to clean up the global environment and make sure only one consistent version is used for bareos. Also python3 support has been greetly improved in Bareos 21. Will closing, as we are not able to reproduce such environment. btw postgresql plugin is tested each time the code is updated. |
|
Mixed python version used with different psyscopg. /usr/local/lib/python3.5 and /usr/lib/python3 |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2021-05-07 18:29 | oskarsr | New Issue | |
2021-05-12 17:33 | oskarsr | Note Added: 0004129 | |
2021-05-12 17:33 | oskarsr | Note Edited: 0004129 | |
2021-05-12 17:34 | oskarsr | Note Edited: 0004129 | |
2021-09-13 15:38 | perkons | Note Added: 0004263 | |
2021-10-11 13:31 | bruno-at-bareos | Note Added: 0004297 | |
2021-10-11 14:52 | perkons | Note Added: 0004298 | |
2021-10-11 15:48 | bruno-at-bareos | Note Added: 0004299 | |
2021-10-11 15:48 | bruno-at-bareos | Assigned To | => bruno-at-bareos |
2021-10-11 15:48 | bruno-at-bareos | Status | new => assigned |
2022-02-02 10:46 | bruno-at-bareos | Note Added: 0004497 | |
2022-02-02 10:47 | bruno-at-bareos | Status | assigned => resolved |
2022-02-02 10:47 | bruno-at-bareos | Resolution | open => unable to reproduce |
2022-02-02 10:47 | bruno-at-bareos | Note Added: 0004498 |