Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
1327 Widoki

I have a problem with a database where the login view is misconfigured and when I enter username and password the page remains blank.


In the odoo log I get this:

2024-11-24 05:04:10,686 22298 ERROR rpeuba odoo.http: Exception during request handling.

Traceback (most recent call last):

  File "/home/odoo/odoo-server/odoo/http.py", line 2064, in __call__

    response = request._serve_db()

  File "/home/odoo/odoo-server/odoo/http.py", line 1652, in _serve_db

    return service_model.retrying(self._serve_ir_http, self.env)

  File "/home/odoo/odoo-server/odoo/service/model.py", line 133, in retrying

    result = func()

  File "/home/odoo/odoo-server/odoo/http.py", line 1679, in _serve_ir_http

    response = self.dispatcher.dispatch(rule.endpoint, args)

  File "/home/odoo/odoo-server/odoo/http.py", line 1793, in dispatch

    return self.request.registry['ir.http']._dispatch(endpoint)

  File "/home/odoo/odoo-server/odoo/addons/base/models/ir_http.py", line 154, in _dispatch

    result = endpoint(**request.params)

  File "/home/odoo/odoo-server/odoo/http.py", line 734, in route_wrapper

    result = endpoint(self, *args, **params_ok)

  File "/home/odoo/odoo-server/addons/web/controllers/binary.py", line 110, in content_assets

    stream = request.env['ir.binary']._get_stream_from(record, 'raw', filename)

  File "/home/odoo/odoo-server/odoo/addons/base/models/ir_binary.py", line 126, in _get_stream_from

    stream = self._record_to_stream(record, field_name)

  File "/home/odoo/odoo-server/odoo/addons/base/models/ir_binary.py", line 73, in _record_to_stream

    return Stream.from_attachment(record)

  File "/home/odoo/odoo-server/odoo/http.py", line 489, in from_attachment

    stat = os.stat(self.path)

FileNotFoundError: [Errno 2] No such file or directory: '/home/odoo/data_dir/filestore/rpeuba/9e/9e955161e09460e70d2139ae9166821c66fb3dd4'


Awatar
Odrzuć
Najlepsza odpowiedź

The issue seems to stem from a misconfigured or missing file in the Odoo filestore, causing the login page to fail. Here’s how you can diagnose and fix the problem:

Steps to Resolve the Problem

1. Understand the Problem

The error indicates that Odoo is trying to access a file in the filestore (/home/odoo/data_dir/filestore/rpeuba/9e/9e955161e09460e70d2139ae9166821c66fb3dd4) that does not exist. This often happens when:

  • A database is restored without its corresponding filestore.
  • The filestore has been corrupted or deleted.
  • There are misconfigured views or missing assets linked to the filestore.

2. Verify the Filestore Exists

The filestore is essential for Odoo to load assets like images, stylesheets, or any binary data linked to the database.

  • Check the location of the filestore for the affected database (rpeuba in this case).
    ls /home/odoo/data_dir/filestore/rpeuba/
    
  • If the folder is empty or the file mentioned in the error (9e955161e09460e70d2139ae9166821c66fb3dd4) is missing, the filestore might not have been restored correctly.

3. Restore the Filestore (If Missing)

  • If the filestore is missing, locate the backup of the filestore associated with the rpeuba database.
  • Restore it to /home/odoo/data_dir/filestore/rpeuba/.
  • Ensure the permissions are correct:
    chown -R odoo:odoo /home/odoo/data_dir/filestore/rpeuba/
    chmod -R 755 /home/odoo/data_dir/filestore/rpeuba/
    

4. Check for Broken Attachments in the Database

If the filestore exists but the file is missing, there might be broken attachments in the database. Use the following steps to identify and remove them:

  • Access the Odoo Shell:
    odoo shell -d rpeuba
    
  • Run the Following Query to Identify Broken Attachments:
    attachments = env['ir.attachment'].search([])
    for attachment in attachments:
        if not attachment._file_exists():
            print(f"Broken attachment: {attachment.id}, {attachment.datas_fname}")
    
  • Remove Broken Attachments:
    attachments_to_delete = env['ir.attachment'].search([('store_fname', '=', False)])
    attachments_to_delete.unlink()
    

5. Clear Odoo Cache

After addressing the filestore issue or broken attachments, clear the Odoo cache:

sudo service odoo restart

6. Debug the Login View

If the login page still doesn’t load:

  • Verify if the login view is misconfigured:
    • Log in to the Odoo backend via another database or with a superuser account.
    • Check the web.login view in Settings > Technical > User Interface > Views.
    • Restore it to the default template if necessary.

7. Check for Missing Assets

If assets like CSS or JavaScript are causing the blank page:

  • Rebuild the assets:
    python3 /home/odoo/odoo-server/odoo-bin -c /etc/odoo/odoo.conf -d rpeuba --update=web
    

8. Test the Fix

  • Reload the login page.
  • Verify the issue is resolved.

Preventive Measures

  1. Always back up the database along with the filestore.
  2. Ensure the data_dir path in your Odoo configuration file (odoo.conf) points to the correct filestore location.
  3. Regularly test backups to ensure integrity.

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
sie 25
340
1
maj 25
1224
2
sty 25
7125
0
lis 24
1363
2
paź 24
1428