Skip to Content
Menu
This question has been flagged

Odoo 10 community 

Version 10.0_20170424 
on Centos 7, installed from the nightly repository.

My Odoo server will not start, and output the following into the log. It seems to be trying to register a class, view or something called report.printscreen.list, but I can't find this in my installation anywhere.

This database was moved over from a docker instance, so that might be a clue I guess that something that came over in the database is causing the issue?

2017-04-24 16:09:24,159 535 CRITICAL brs odoo.modules.module: Couldn't load module report

2017-04-24 16:09:24,159 535 CRITICAL brs odoo.modules.module: The report "report.printscreen.list" already exists.

2017-04-24 16:09:24,159 535 ERROR brs odoo.modules.registry: Failed to load registry

Traceback (most recent call last):

  File "/usr/lib/python2.7/site-packages/odoo/modules/registry.py", line 78, in new

    odoo.modules.load_modules(registry._db, force_demo, status, update_module)

  File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 335, in load_modules

    force, status, report, loaded_modules, update_module)

  File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 237, in load_marked_modules

    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)

  File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 122, in load_module_graph

    load_openerp_module(package.name)

  File "/usr/lib/python2.7/site-packages/odoo/modules/module.py", line 367, in load_openerp_module

    __import__('odoo.addons.' + module_name)

  File "/usr/lib/python2.7/site-packages/odoo/modules/module.py", line 81, in load_module

    execfile(modfile, new_mod.__dict__)

  File "/usr/lib/python2.7/site-packages/odoo/report/__init__.py", line 10, in <module>

    from . import printscreen

  File "/usr/lib/python2.7/site-packages/odoo/report/printscreen/__init__.py", line 4, in <module>

    from . import ps_list

  File "/usr/lib/python2.7/site-packages/odoo/report/printscreen/ps_list.py", line 250, in <module>

    report_printscreen_list('report.printscreen.list')

  File "/usr/lib/python2.7/site-packages/odoo/report/printscreen/ps_list.py", line 20, in __init__

    super(report_printscreen_list, self).__init__(name)

  File "/usr/lib/python2.7/site-packages/odoo/report/interface.py", line 33, in __init__

    assert name not in self._reports, 'The report "%s" already exists.' % name

AssertionError: The report "report.printscreen.list" already exists.

2017-04-24 16:09:24,160 535 CRITICAL brs odoo.service.server: Failed to initialize database `brs`.

Avatar
Discard
Author

I tried PDB to get to grips with this and I can see that the call is iterating the reports, and indeed a second one called report.printscreen.list does appear:

-bash-4.2$ python -m pdb /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log

> /usr/bin/odoo(4)<module>()

-> __import__('os').environ['TZ'] = 'UTC'

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print name

report.custom

(Pdb) print self._reports

{}

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print name

report.printscreen.list

(Pdb) print self._reports

{'report.custom': <odoo.report.custom.report_custom object at 0x3cfd9d0>}

(Pdb) step

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(35)__init__()

-> self._reports[name] = self

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print self._reports

{'report.custom': <odoo.report.custom.report_custom object at 0x3cfd9d0>, 'report.printscreen.list': <odoo.report.printscreen.ps_list.report_printscreen_list object at 0x3d0c490>}

(Pdb) print name

report.printscreen.form

(Pdb) step

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(35)__init__()

-> self._reports[name] = self

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print name

report.workflow.instance.graph

(Pdb) print self._reports

{'report.custom': <odoo.report.custom.report_custom object at 0x3cfd9d0>, 'report.printscreen.form': <odoo.report.printscreen.ps_form.report_printscreen_list object at 0x3d0cd90>, 'report.printscreen.list': <odoo.report.printscreen.ps_list.report_printscreen_list object at 0x3d0c490>}

(Pdb) step

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(35)__init__()

-> self._reports[name] = self

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print name

report.preview.report

(Pdb) print self._reports

{'report.custom': <odoo.report.custom.report_custom object at 0x3cfd9d0>, 'report.printscreen.form': <odoo.report.printscreen.ps_form.report_printscreen_list object at 0x3d0cd90>, 'report.workflow.instance.graph': <odoo.addons.base.workflow.workflow_report.report_graph object at 0x43a50d0>, 'report.printscreen.list': <odoo.report.printscreen.ps_list.report_printscreen_list object at 0x3d0c490>}

(Pdb) step

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(35)__init__()

-> self._reports[name] = self

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print name

report.custom

(Pdb) print self._reports

{}

(Pdb) step

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(35)__init__()

-> self._reports[name] = self

(Pdb) cont

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) print self._reports

{'report.custom': <odoo.report.custom.report_custom object at 0x3cfd9d0>, 'report.printscreen.form': <odoo.report.printscreen.ps_form.report_printscreen_list object at 0x3d0cd90>, 'report.workflow.instance.graph': <odoo.addons.base.workflow.workflow_report.report_graph object at 0x43a50d0>, 'report.printscreen.list': <odoo.report.printscreen.ps_list.report_printscreen_list object at 0x3d0c490>, 'report.preview.report': <odoo.report.report_sxw.report_sxw object at 0x46f3890>}

(Pdb) print name

report.printscreen.list

(Pdb) print name in self._reports

True

(Pdb) step

AssertionError: Assertio...xists.',)

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) pm()

*** NameError: name 'pm' is not defined

(Pdb) pdb.pm()

*** AttributeError: 'module' object has no attribute 'last_traceback'

(Pdb) step

--Return--

> /usr/lib/python2.7/site-packages/odoo/report/interface.py(34)__init__()->None

-> assert name not in self._reports, 'The report "%s" already exists.' % name

(Pdb) pdb.pm()

*** AttributeError: 'module' object has no attribute 'last_traceback'

(Pdb) step

AssertionError: Assertio...xists.',)

> /usr/lib/python2.7/site-packages/odoo/report/printscreen/ps_list.py(20)__init__()

-> super(report_printscreen_list, self).__init__(name)

(Pdb) step

--Return--

> /usr/lib/python2.7/site-packages/odoo/report/printscreen/ps_list.py(20)__init__()->None

-> super(report_printscreen_list, self).__init__(name)

(Pdb) step

AssertionError: Assertio...xists.',)

> /usr/lib/python2.7/site-packages/odoo/report/printscreen/ps_list.py(250)<module>()

-> report_printscreen_list('report.printscreen.list')

(Pdb) cont

Related Posts Replies Views Activity
0
Jan 18
2056
2
Sep 17
3127
2
Aug 17
14075
4
Dec 22
5765
1
Jan 18
4695