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.