/user_avatar renvoie HTTP 500 après la nouvelle mise à jour

Tous les avatars s’affichent comme ceci :

image

Lorsqu’ils sont ouverts dans un nouvel onglet, http://forum.example.org/user_avatar/forum.example.org/user/48/681_2.png répond avec un code HTTP 500.

J’utilise un téléversement S3 pour les images (blackblaze). Il semble qu’une image d’avatar y soit téléversée. J’ai essayé de le désactiver, mais le problème persiste.

Cela ne semble pas être un problème de proxy. J’ai essayé de lier le port au serveur, même problème. L’ouverture de http://localhost:8082/user_avatar/forum.example.org/user/48/681_2.png donne :

Cela n’est arrivé qu’après la nouvelle mise à jour : 3.6.0.beta2-latest

J’ai déjà exécuté les deux commandes rake avatars:refresh et rake posts:rebake comme indiqué dans des problèmes similaires.

Des erreurs dans la console du navigateur ou dans /logs ?

Oui,

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 « J'aime »

Problème trouvé :

Discourse semble ne pas pouvoir communiquer avec le serveur S3

Message (506 copies signalées)

Échec du traitement correct de la réponse détournée : Errno::ENETUNREACH : Échec de l'ouverture de la connexion TCP vers 2605:72c0:6fd:b3::b005:1:80 (Réseau inaccessible - connect(2) pour \"2605:72c0:6fd:b3::b005:1\" port 80)

Trace

/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'

Y a-t-il un pare-feu ou une limitation réseau ici ?

Non. Ce qui est déroutant, c’est que ce même backend fonctionne pour les images dans les publications normales mais pas pour les avatars.

2 « J'aime »

Ouais, c’est tellement bizarre.

@avidseeker avez-vous pu résoudre votre problème ?