Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

1

[10] "Exception: bus.Bus unavailable"

Avatar
Michele

Buongiorno.

Come da titolo sto riscontrando l'errore "Exception: bus.Bus unavailable".
È comparso dopo aver installato alcuni moduli che fanno uso dei channel e la cosa strana è che, subito dopo il lancio dell'eccezione, la POST a /longpolling/poll restituisce un 200:

    raise Exception("bus.Bus unavailable")
Exception: bus.Bus unavailable
2020-11-03 09:40:51,375 63767 INFO ... werkzeug: ... - - [03/Nov/2020 09:40:51] "POST /longpolling/poll HTTP/1.1" 200 -


Macchina: Debian GNU/Linux 9.13 (stretch)
Nginx: 1.10.3-1+deb9u5
gevent: 1.1.2
psycogreen: 1.0

Conf Odoo:
[options]
addons_path = /opt/odoo/buildout/parts/odoo/odoo/addons,/opt/odoo/buildout/parts/odoo/addons,/opt/odoo/buildout/parts/account-analytic,/opt/odoo/buildout/parts/account-financial-reporting,/opt/odoo/buildout/parts/account-financial-tools,/opt/odoo/buildout/parts/account-payment,/opt/odoo/buildout/parts/account-invoicing,/opt/odoo/buildout/parts/account-invoice-reporting,/opt/odoo/buildout/parts/account-closing,/opt/odoo/buildout/parts/bank-payment,/opt/odoo/buildout/parts/bank-statement-reconcile,/opt/odoo/buildout/parts/bank-statement-import,/opt/odoo/buildout/parts/contract,/opt/odoo/buildout/parts/commission,/opt/odoo/buildout/parts/crm,/opt/odoo/buildout/parts/hr-timesheet,/opt/odoo/buildout/parts/knowledge,/opt/odoo/buildout/parts/l10n-italy,/opt/odoo/buildout/parts/partner-contact,/opt/odoo/buildout/parts/sale-workflow,/opt/odoo/buildout/parts/purchase-workflow,/opt/odoo/buildout/parts/purchase-reporting,/opt/odoo/buildout/parts/project,/opt/odoo/buildout/parts/product-attribute,/opt/odoo/buildout/parts/reporting-engine,/opt/odoo/buildout/parts/rma,/opt/odoo/buildout/parts/server-tools,/opt/odoo/buildout/parts/sale-reporting,/opt/odoo/buildout/parts/stock-logistics-workflow,/opt/odoo/buildout/parts/stock-logistics-reporting,/opt/odoo/buildout/parts/stock-logistics-warehouse,/opt/odoo/buildout/parts/stock-logistics-transport,/opt/odoo/buildout/parts/stock-logistics-barcode,/opt/odoo/buildout/parts/web,/opt/odoo/buildout/parts/webkit-tools,/opt/odoo/buildout/parts/website,/opt/odoo/buildout/parts/Jasperv8,/opt/odoo/buildout/parts/queue,/opt/odoo/buildout/parts/vertical-hotel,...
admin_passwd = ...
csv_internal_sep = ,
data_dir = /opt/odoo/.local/share/Odoo
db_host = localhost
db_maxconn = 64
db_name = False
db_password = ...
db_port = False
db_template = template1
db_user = odoo
dbfilter = .*
demo = {}
email_from = False
geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb
import_partial =
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 36000
limit_time_real = 72000
limit_time_real_cron = -1
list_db = True
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = debug
logfile = /var/log/odoo/odoo-server.log
logrotate = True
longpolling_port = 8072
max_cron_threads = 2
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = None
pidfile = None
proxy_mode = True
reportgz = False
server_wide_modules = web,web_kanban,queue_job
smtp_password = False
smtp_port = 25
smtp_server = localhost
smtp_ssl = False
smtp_user = False
syslog = False
test_commit = False
test_enable = False
test_file = False
test_report_directory = False
translate_modules = ['all']
unaccent = False
without_demo = False
workers = 2
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
running_env = production # 'dev', 'test', 'production'

Conf Nginx:
# Odoo configuration
upstream oddo {
    server 127.0.0.1:8069 weight=1 fail_timeout=3600s;
}

upstream odoo8-im {
  server 127.0.0.1:8072 weight=1 fail_timeout=0;
}

server {
    listen      80 default_server;
    server_name ...;

    access_log  /var/log/nginx/odoo.access.log;
    error_log   /var/log/nginx/odoo.error.log;

    add_header Strict-Transport-Security max-age=2592000;

    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    client_max_body_size 200m;

    location / {
        proxy_pass  http://oddo;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;

        # Set timeouts
        proxy_connect_timeout 3600;
        proxy_send_timeout 3600;
        proxy_read_timeout 3600;
        send_timeout 3600;

        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto https;
    }

    location /longpolling {
        proxy_pass http://odoo8-im;
    }

    location ~* /web/static/ {
        proxy_cache_valid 200 60m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://oddo;
    }
}


Grazie in anticipo.
Michele

Avatar
Abbandona
4 Risposte
1
Avatar
Michele
Migliore risposta

Buongiorno.

La causa del problema era un firewall impostato sulla macchina del cliente.

Grazie.

Avatar
Abbandona
1
Avatar
Luigi Di Naro
Migliore risposta

mi so perso la risposta argomentata per bad gateway .... spero che la risposta in chat sia servita. Vado stringato ora, non ho voglia di riscrivere tutto .... controlla i timeout su /longpool di nginx (prob non e' quello il problema ma meglio escluderlo) ... controlla che nessuno acceda da url non servite da nginx ... controlla che non hai moduli che accedono a longpool con url locale ... il problema e' banale, trovare la soluzione prevede una serie di step per escludere le varie cause. Se vuoi trovare la causa in maniera empirica ... fai in modo che nginx non rediriga su longpool e vidi quello che non funziona.

Avatar
Abbandona
0
Avatar
Davide Corio
Migliore risposta

Può esserci qualche modulo che maldestramente fa chiamate locali sulla porta longpolling invece che passare dal web_url?

Avatar
Abbandona
-1
Avatar
Claudio Pezzi
Migliore risposta

Buongiorno, lo stesso errore accade anche a me.

Non ho installato nginx.

Come si può vedere i moduli che potrebbero fare chiamate locali erronee?

Grazie

Avatar
Abbandona
0
Avatar
Luigi Di Naro
Migliore risposta

Se avvii odoo con worker senza abilitare il longpoll (default port 8072) .. se non hai configurato il giusto routing al servizio di LP ... se non hai le giuste regole di firewall ... se se se ... se ponete il problema senza dare indicazioni la risposta variera' tra il nulla ed il quasi inutile.

Odoo avvia due processi, anche se poi tramite lo stesso eseguibile, uno per la chat ed uno per la parte web ... vanno trattate per quel che sono .. due processi diversi, ovvero due applicazioni diverse.

Avatar
Abbandona