/user_avatar devuelve HTTP 500 tras nueva actualización

Todos los avatares se muestran así:

image

Al abrir en una nueva pestaña, http://forum.example.org/user_avatar/forum.example.org/user/48/681_2.png responde con HTTP 500.

Estoy usando una carga S3 para imágenes (blackblaze). Parece que una imagen de avatar se sube allí. Intenté deshabilitarlo, sigue el mismo problema.

No parece un problema de proxy. Intenté enlazar el puerto al servidor, el mismo problema. Abrir http://localhost:8082/user_avatar/forum.example.org/user/48/681_2.png resulta en:

Esto solo sucedió después de la nueva actualización: 3.6.0.beta2-latest

Ya ejecuté los dos rake avatars:refresh y rake posts:rebake como se indica en problemas similares.

¿Hay algún error en la consola del navegador o en /logs?

Sí,

consola 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 me gusta

Encontré el problema:

Discourse parece que no puede comunicarse con el servidor S3

Mensaje (se informaron 506 copias)

No se pudo procesar la respuesta secuestrada correctamente: Errno::ENETUNREACH: No se pudo abrir la conexión TCP a 2605:72c0:6fd:b3::b005:1:80 (La red no está accesible - connect(2) para "2605:72c0:6fd:b3::b005:1" puerto 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'

¿Hay un firewall o alguna limitación de red aquí?

No. Lo que confunde es que este mismo backend funciona para imágenes en publicaciones normales pero no para avatares.

2 Me gusta

Sí, esto es muy extraño.

@avidseeker ¿pudiste resolver tu problema?