This question has been flagged
1 Reply
6259 Views

I am getting a "SyntaxError: unexpected EOF while parsing" error on my live server, after I pushed a rather mundane view update on a custom module. 

It worked well both on my localhost and test server, but when I pulled it at live, these errors appeared. Now, I cannot upgrade a single module in the live server because it keeps giving out this error:

(These are actually error logs from my localhost, not from the server)

Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\registry.py", line 82, in new
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\loading.py", line 335, in load_modules
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\loading.py", line 237, in load_marked_modules
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\loading.py", line 135, in load_module_graph
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\registry.py", line 288, in setup_models
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\models.py", line 2820, in _setup_base
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\models.py", line 654, in _add_manual_fields
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\addons\base\ir\ir_model.py", line 662, in _instanciate
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\tools\safe_eval.py", line 299, in safe_eval
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\tools\safe_eval.py", line 156, in test_expr
File "", line 0
^
SyntaxError: unexpected EOF while parsing

And:

2019-07-06 08:58:14,898 14212 ERROR live2 werkzeug: Error on request:
Traceback (most recent call last):
File "werkzeug\serving.py", line 177, in run_wsgi
File "werkzeug\serving.py", line 165, in execute
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\service\server.py", line 249, in app
return self.app(e, s)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\service\wsgi_server.py", line 186, in application
return application_unproxied(environ, start_response)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\service\wsgi_server.py", line 172, in application_unproxied
result = handler(environ, start_response)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\http.py", line 1308, in __call__
return self.dispatch(environ, start_response)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\http.py", line 1282, in __call__
return self.app(environ, start_wrapped)
File "werkzeug\wsgi.py", line 579, in __call__
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\http.py", line 1464, in dispatch
odoo.registry(db).check_signaling()
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\__init__.py", line 52, in registry
return modules.registry.Registry(database_name)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\registry.py", line 59, in __new__
return cls.new(db_name)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\registry.py", line 82, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\loading.py", line 335, in load_modules
force, status, report, loaded_modules, update_module)
File "C:\Program Files (x86)\Odoo 10.0e\server\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 "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\loading.py", line 135, in load_module_graph
registry.setup_models(cr, partial=True)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\modules\registry.py", line 288, in setup_models
model._setup_base(partial)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\models.py", line 2820, in _setup_base
self._add_manual_fields(partial)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\models.py", line 654, in _add_manual_fields
field = IrModelFields._instanciate(field_data, partial)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\addons\base\ir\ir_model.py", line 662, in _instanciate
attrs['selection'] = safe_eval(field_data['selection'])
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\tools\safe_eval.py", line 299, in safe_eval
c = test_expr(expr, _SAFE_OPCODES, mode=mode)
File "C:\Program Files (x86)\Odoo 10.0e\server\odoo\tools\safe_eval.py", line 156, in test_expr
code_obj = compile(expr, "", mode)
File "", line 0
^
SyntaxError: unexpected EOF while parsing

And all I really did was edit an existing action to load a new search view. And just to be clear all those res.partner fields already existed, when I added those in. 

And again, this worked well on both my localhost and test server, this only occurred in the live server.

<record id="zulu_view_res_partner_filter2" model="ir.ui.view"> <!-- This whole search view, I added -->
<field name="name">zulu_partner.partner.select2</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<search string="Search Customers">
<field name="id" string="ID"/>
<field name="name" filter_domain="['|','|',('display_name','ilike',self),('ref','=',self),('email','ilike',self)]"/>
<field name="x_chinese_name" string="Vendor Chinese Name" />
<field name="x_trade_name" string="Customer Trade Name"/>
<field name="nav_number" string="Nav Number" />
<field name="x_marketplace" string="Marketplace" />
<separator/>
<filter string="Customers" name="customer" domain="[('customer','=',1), ('parent_id', '=', False)]"/>
<filter string="Vendors" name="supplier" domain="[('supplier','=',1), ('parent_id', '=', False)]"/>
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
<group expand="0" name="group_by" string="Group By">
<filter string="Project Manager" context="{'group_by': 'x_project_manager'}"/>
<filter string="Country" context="{'group_by': 'country_id'}"/>
<filter string="Nav Number" context="{'group_by': 'nav_number'}"/>
<filter string="Marketplace" context="{'group_by': 'x_marketplace'}"/>
<filter string="Order Frequency" context="{'group_by': 'x_order_frequency'}"/>
<filter string="Marketing Category" context="{'group_by': 'x_marketing_category'}"/>
</group>
</search>
</field>
</record>

<record id="action_new_customer" model="ir.actions.act_window">
<field name="name">Customers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner</field>
<field name="view_ids" eval="[ (5, 0, 0),
(0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}),
(0, 0, {'view_mode': 'tree', 'view_id': ref('new_res_partner_customer_tree2')}) ]" />
<field name="search_view_id" ref="zulu_view_res_partner_filter2"/> <!-- This is the only line I added here -->
<field name="context">{ 'search_default_customer': 1 }</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p>Create your first customer</p>
</field>
</record>

I downloaded the database for this to my localhost, and when it triggered the same error when I upgraded the module, now I can't even access my database manager "127.0.0.1/web/database/manager". 

I tried rolling back the changes to the code, but no bueno. Any help is greatly appreciated.

Avatar
Discard
Best Answer

Hi Jervey,

as a first workaround, I would suggest that you restore the last working copy of your module and the start the odoo server with the additional parameter -u all. Odoo will update all the modules during startup and should run with any errors.

As you can reproduce the problem on your local system, you could set some breakpoints in the code or some additional logs to find the reason for your issue.

Best regards
Yvan

Avatar
Discard