Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Odoo 11 model registry loses model

Subscribe

Get notified when there's activity on this post

This question has been flagged
keyerror
4 Replies
5899 Views
Avatar
Ed Gow

Hi,

In an Odoo11 server running w/o change for many weeks a model_name key disappeared from the model registry. There was no change to the modules, configuration, etc. Restarting the Apache server hosting Odoo as a WSGI app fixed the problem. From the stack trace, this seems to be an issue with the Odoo model registry cache. Since the lost model was a non-Odoo addon, Odoo closed the issue w/o looking at the stack trace, which consists entirely of calls within their code. I'm posting the trace here to see if any other Odoo 11 users have seen similar problems. Here's the trace: 

```

[Wed May 09 16:27:50.293960 2018] [wsgi:error] [pid 20840:tid 139917498210048] ERROR:odoo.http:Exception during JSON request handling.
[Wed May 09 16:27:50.294113 2018] [wsgi:error] [pid 20840:tid 139917498210048] Traceback (most recent call last):
[Wed May 09 16:27:50.294166 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/fields.py", line 944, in __get__
[Wed May 09 16:27:50.294211 2018] [wsgi:error] [pid 20840:tid 139917498210048]     value = record.env.cache.get(record, self)
[Wed May 09 16:27:50.294255 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/api.py", line 960, in get
[Wed May 09 16:27:50.294297 2018] [wsgi:error] [pid 20840:tid 139917498210048]     value = self._data[field][record.id][key]
[Wed May 09 16:27:50.294339 2018] [wsgi:error] [pid 20840:tid 139917498210048] KeyError: <odoo.api.Environment object at 0x7f40fcd7e198>
[Wed May 09 16:27:50.294381 2018] [wsgi:error] [pid 20840:tid 139917498210048]
[Wed May 09 16:27:50.294422 2018] [wsgi:error] [pid 20840:tid 139917498210048] During handling of the above exception, another exception occurred:
[Wed May 09 16:27:50.294513 2018] [wsgi:error] [pid 20840:tid 139917498210048]
[Wed May 09 16:27:50.294565 2018] [wsgi:error] [pid 20840:tid 139917498210048] Traceback (most recent call last):
[Wed May 09 16:27:50.294607 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 646, in _handle_exception
[Wed May 09 16:27:50.294649 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return super(JsonRequest, self)._handle_exception(exception)
[Wed May 09 16:27:50.294690 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 307, in _handle_exception
[Wed May 09 16:27:50.294732 2018] [wsgi:error] [pid 20840:tid 139917498210048]     raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
[Wed May 09 16:27:50.294774 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/tools/pycompat.py", line 87, in reraise
[Wed May 09 16:27:50.294816 2018] [wsgi:error] [pid 20840:tid 139917498210048]     raise value
[Wed May 09 16:27:50.294865 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 683, in dispatch
[Wed May 09 16:27:50.294912 2018] [wsgi:error] [pid 20840:tid 139917498210048]     result = self._call_function(**self.params)
[Wed May 09 16:27:50.294955 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 339, in _call_function
[Wed May 09 16:27:50.294997 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return checked_call(self.db, *args, **kwargs)
[Wed May 09 16:27:50.295038 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/service/model.py", line 97, in wrapper
[Wed May 09 16:27:50.295079 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return f(dbname, *args, **kwargs)
[Wed May 09 16:27:50.295120 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 332, in checked_call
[Wed May 09 16:27:50.295162 2018] [wsgi:error] [pid 20840:tid 139917498210048]     result = self.endpoint(*a, **kw)
[Wed May 09 16:27:50.295202 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 927, in __call__
[Wed May 09 16:27:50.295244 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return self.method(*args, **kw)
[Wed May 09 16:27:50.295313 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/http.py", line 512, in response_wrap
[Wed May 09 16:27:50.295358 2018] [wsgi:error] [pid 20840:tid 139917498210048]     response = f(*args, **kw)
[Wed May 09 16:27:50.295400 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/addons/web/controllers/main.py", line 1200, in load
[Wed May 09 16:27:50.295443 2018] [wsgi:error] [pid 20840:tid 139917498210048]     action = request.env[action_type].browse([action_id]).read()
[Wed May 09 16:27:50.295485 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/addons/base/ir/ir_actions.py", line 194, in read
[Wed May 09 16:27:50.295527 2018] [wsgi:error] [pid 20840:tid 139917498210048]     result = super(IrActionsActWindow, self).read(fields, load=load)
[Wed May 09 16:27:50.295569 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/models.py", line 2520, in read
[Wed May 09 16:27:50.295611 2018] [wsgi:error] [pid 20840:tid 139917498210048]     values[name] = field.convert_to_read(record[name], record, use_name_get)
[Wed May 09 16:27:50.295653 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/models.py", line 4657, in __getitem__
[Wed May 09 16:27:50.295695 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return self._fields[key].__get__(self, type(self))
[Wed May 09 16:27:50.295736 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/fields.py", line 948, in __get__
[Wed May 09 16:27:50.295778 2018] [wsgi:error] [pid 20840:tid 139917498210048]     self.determine_value(record)
[Wed May 09 16:27:50.295828 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/fields.py", line 1059, in determine_value
[Wed May 09 16:27:50.295876 2018] [wsgi:error] [pid 20840:tid 139917498210048]     self.compute_value(recs)
[Wed May 09 16:27:50.295919 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/fields.py", line 1015, in compute_value
[Wed May 09 16:27:50.295961 2018] [wsgi:error] [pid 20840:tid 139917498210048]     self._compute_value(records)
[Wed May 09 16:27:50.296002 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/fields.py", line 1006, in _compute_value
[Wed May 09 16:27:50.296044 2018] [wsgi:error] [pid 20840:tid 139917498210048]     getattr(records, self.compute)()
[Wed May 09 16:27:50.296085 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/addons/base/ir/ir_actions.py", line 154, in _compute_search_view
[Wed May 09 16:27:50.296127 2018] [wsgi:error] [pid 20840:tid 139917498210048]     fvg = self.env[act.res_model].fields_view_get(act.search_view_id.id, 'search')
[Wed May 09 16:27:50.296169 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/api.py", line 760, in __getitem__
[Wed May 09 16:27:50.296249 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return self.registry[model_name]._browse((), self)
[Wed May 09 16:27:50.296301 2018] [wsgi:error] [pid 20840:tid 139917498210048]   File "/home/odoo11/odoo/odoo/modules/registry.py", line 181, in __getitem__
[Wed May 09 16:27:50.296386 2018] [wsgi:error] [pid 20840:tid 139917498210048]     return self.models[model_name]
[Wed May 09 16:27:50.296450 2018] [wsgi:error] [pid 20840:tid 139917498210048] KeyError: 'tidb.case'

Thanks

0
Avatar
Discard
Avatar
melinda.hl.lim@gmail.com
Best Answer

Hi all! I'm sorry for posting a not-reply on this old post. However, I am encountering the same issue. As mentioned above, this error seems to appear randomly: one day the modules will load in fine, and the next day I'll get a keyerror:[model name]. May I ask, does anyone have a solution for this issue? Cheers!

0
Avatar
Discard
Avatar
Ed Gow
Author Best Answer

My original description of the problem is wrong. The real issue has to do with load order of model definitions during server start-up. This can happen intermittently if a module dependency is left out of the manifest file (thanks to Graeme Gellatly for this diagnosis). In my case the cause appears to be a bit different. I have models defined in two files. The order in which those files are loaded may be indeterminate, so on occasion the dependent one will be loaded first and cause a failure. 

Though the description is wrong, I think it may be worth leaving this post up to help others who may encounter a similar KeyError due to load failure. 

0
Avatar
Discard
Ray Carnes

Can you clarify "the order in which those files are loaded may be indeterminate" - and have you seen https://github.com/odoo/odoo/issues/1053 ?

Ed Gow
Author

I think that the problem I'm seeing is different than 1053 because it is intermittent. Almost all the time my module loads w/o any problem. On occasion it has a missing dependency. This would indicate that something changed from one start-up to another. Though I've yet to prove it, I suspect that the two files that define the models in my module are not loaded in a deterministic order. I don't know of a way to tell Odoo in what order to load files in the `models/` directory of a module.

Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
KeyError: line_ids after removing a One2many from a custom model (want to cleanly remove without uninstall)
keyerror
Avatar
0
Aug 25
1141
odoo module update not updating fully resulting in key value error
keyerror
Avatar
0
Nov 23
2651
KeyError: 'socket' Solved
keyerror
Avatar
Avatar
Avatar
2
Apr 25
9566
Why is KeyError: 'teacher_id' ? Solved
keyerror
Avatar
Avatar
Avatar
6
Sep 21
24618
How do I fix KeyError Using Vals?
keyerror
Avatar
Avatar
1
Mar 15
19676
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now