`/user_avatar` restituisce HTTP 500 dopo il nuovo aggiornamento

Tutti gli avatar vengono visualizzati in questo modo:

image

Quando aperti in una nuova scheda, http://forum.example.org/user_avatar/forum.example.org/user/48/681_2.png risponde con HTTP 500.

Sto usando un caricamento S3 per le immagini (blackblaze). Sembra che un’immagine avatar venga caricata lì. Ho provato a disabilitarlo, ma il problema persiste.

Non sembra un problema di proxy. Ho provato a collegare la porta al server, stesso problema. L’apertura di http://localhost:8082/user_avatar/forum.example.org/user/48/681_2.png risulta in:

Questo è successo solo dopo il nuovo aggiornamento: 3.6.0.beta2-latest

Ho già eseguito i due comandi rake avatars:refresh e rake posts:rebake come indicato in problemi simili.

Ci sono errori nella console del browser o in /logs?

Sì,

console og:

681_2.png:1
GET https://forum.example.org/user_avatar/forum.example.org/othman/24/681_2.png 500 (Internal Server Error)
Image		
(anonymous)	@	ajax.js:133
XMLHttpRequest.send		
o	@	ajax.js:188
A	@	ajax.js:201
#Qa	@	chat-api.js:583
listCurrentUserChannels	@	chat-api.js:299
(anonymous)	@	chat.js:210
loadChannels	@	chat.js:209
(anonymous)	@	chat-setup.js:140
eZ	@	plugin-api.gjs:3522
g	@	chat-setup.js:44
initialize	@	chat-setup.js:199
(anonymous)	@	app.js:239
Promise.then		
(anonymous)	@	start-app.js:8
await in (anonymous)		
(anonymous)	@	discourse-boot.js:13
(anonymous)	@	discourse-boot.js:1
1 Mi Piace

Trovato il problema:

Discourse sembra non riuscire a comunicare con il server S3

Messaggio (506 copie segnalate)

Impossibile elaborare correttamente la risposta dirottata: Errno::ENETUNREACH: Impossibile aprire la connessione TCP a 2605:72c0:6fd:b3::b005:1:80 (Network is unreachable - connect(2) for "2605:72c0:6fd:b3::b005:1" port 80)

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1665:in `initialize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1665:in `open'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1665:in `block in connect'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/timeout-0.4.3/lib/timeout.rb:185:in `block in timeout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/timeout-0.4.3/lib/timeout.rb:192:in `timeout'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1663:in `connect'
/var/www/discourse/lib/final_destination/http.rb:27:in `block in connect'
/var/www/discourse/lib/final_destination/http.rb:17:in `each'
/var/www/discourse/lib/final_destination/http.rb:17:in `each_with_index'
/var/www/discourse/lib/final_destination/http.rb:17:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1642:in `do_start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1631:in `start'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1070:in `start'
/var/www/discourse/lib/final_destination.rb:544:in `safe_session'
/var/www/discourse/lib/final_destination.rb:479:in `safe_get'
/var/www/discourse/lib/final_destination.rb:170:in `get'
/var/www/discourse/lib/file_helper.rb:91:in `download'
/var/www/discourse/app/controllers/user_avatars_controller.rb:176:in `proxy_avatar'
/var/www/discourse/app/controllers/user_avatars_controller.rb:144:in `show_in_site'
/var/www/discourse/app/controllers/user_avatars_controller.rb:90:in `block (2 levels) in show'
/var/www/discourse/lib/hijack.rb:68:in `instance_eval'
/var/www/discourse/lib/hijack.rb:68:in `block (2 levels) in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/i18n-1.14.7/lib/i18n.rb:353:in `with_locale'
/var/www/discourse/lib/hijack.rb:68:in `block in hijack'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:911:in `callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:797:in `call_callback'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:803:in `call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:692:in `resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby/concurrent/promises.rb:1325:in `resolve'
/var/www/discourse/lib/scheduler/defer.rb:125:in `block in do_work'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:119:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:105:in `block (2 levels) in start_thread'

C’è un firewall o qualche limitazione di rete qui?

No. Ciò che confonde è che questo stesso backend funziona per le immagini nei post normali ma non per gli avatar.

2 Mi Piace

Sì, è davvero strano.

@avidseeker sei riuscito a risolvere il tuo problema?