chrispanag
(Christos Panagiotakopoulos)
1
最初の投稿を編集しようとすると、HTTP 500 エラーコードが返されます。エラーログには、以下の致命的なエラーが発生したことが報告されています。
メッセージ(7 回報告)
PG::StringDataRightTruncation (ERROR: 値が character varying(500) 型に対して長すぎます)
app/models/topic_link.rb:240:in `safe_create_topic_link'
app/models/topic_link.rb:334:in `ensure_entry_for'
app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
app/models/topic_link.rb:126:in `block in extract_from'
app/models/topic_link.rb:124:in `each'
app/models/topic_link.rb:124:in `extract_from'
lib/post_revisor.rb:224:in `revise!'
app/controllers/topics_controller.rb:379:in `update'
app/controllers/application_controller.rb:358:in `block in with_resolved_locale'
app/controllers/application_controller.rb:358:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'
バックトレース
rack-mini-profiler (2.3.1) lib/patches/db/pg.rb:113:in `exec'
rack-mini-profiler (2.3.1) lib/patches/db/pg.rb:113:in `async_exec'
mini_sql (1.0.1) lib/mini_sql/postgres/connection.rb:201:in `run'
mini_sql (1.0.1) lib/mini_sql/postgres/connection.rb:56:in `query_single'
app/models/topic_link.rb:240:in `safe_create_topic_link'
app/models/topic_link.rb:334:in `ensure_entry_for'
app/models/topic_link.rb:128:in `block (2 levels) in extract_from'
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
activerecord (6.0.3.3) lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
activesupport (6.0.3.3) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
環境
HTTP ホスト: rembetiko.gr
このトピック の最初の投稿を編集しようとすると、HTTP 500 エラーコードが返されます。エラーログには、以下の致命的なエラーが発生したことが報告されています。
「いいね!」 2
sam
(Sam Saffron)
2
URL に何か問題があるようです。500 文字を超えています。
エラー(500)になるのではなく、当然ながら切り捨て、あるいは場合によってはスキップすべきです。
投稿内の最も長い URL はどれですか?
「いいね!」 4
chrispanag
(Christos Panagiotakopoulos)
3
@sam さん、ありがとうございます。
その投稿にある唯一の URL は引用からのものです。URL はこちらです:
https://rembetiko.gr/t/%CE%BC%CE%B1%CE%BA%CE%AC%CE%BC-%CE%B2%CF%85%CE%B6%CE%B1%CE%BD%CF%84%CE%B9%CE%BD%CE%BF%CE%AF-%CE%B4%CF%81%CF%8C%CE%BC%CE%BF%CE%B9/6034/30
「いいね!」 2
sam
(Sam Saffron)
4
それはわずか159文字です…ここで何が起きるのか見てみましょう:
Μακάμ - Βυζαντινοί Δρόμοι - #30 από kwstas_ferris - Παραδοσιακή μουσική - Ρεμπέτικο Φόρουμ
変ですね…そのURLでは再現できません。
もしかして、最初の投稿であることと何か関係があるのでしょうか?
「いいね!」 2
chrispanag
(Christos Panagiotakopoulos)
5
これはトピックのタイトルに関連しています。タイトルの内容をより短く編集したところ、エラーが発生しなくなりました。元の長さに戻そうとすると、タイトル更新中に500エラーが表示されました。500エラーの後にページを更新すると、タイトルは正常に更新されていました。
「いいね!」 3
chrispanag
(Christos Panagiotakopoulos)
6
さらに詳しく調査しました:
これは、引用されている投稿(引用された投稿)の更新時に、引用へのリンクを含めることで発生します。リンク(長いタイトルのため)が500文字を超えてしまい、この問題が引き起こされます。
非常に長いタイトルの場合、リンクされた投稿の実際のリンクは更新されません。
「いいね!」 4
sam
(Sam Saffron)
7
@Osama コアでのより寛容な切り捨てについて調査するのをリストに追加してください。できればテストケースで再現できるようにしてください。
緊急性はありませんので、ご都合のよい時で構いません。
「いいね!」 3
chrispanag
(Christos Panagiotakopoulos)
8
お騒がせして申し訳ありませんが、このバグは対応されましたか?本日、当フォーラムで同様の現象が2度目に発生しました。
お忙しい中、ご尽力いただきありがとうございます!
「いいね!」 1
sam
(Sam Saffron)
9
残念ながら少し忙しい状況です。@Osama のタスクリストには載っていますので、今後4週間以内に着手できることを願っています。
「いいね!」 4
andrei
(Andrei Prigorshnev)
14
@chrispanag 問題は解決しました:
ご指摘の通り、元の投稿のタイトルが長い場合、リンクされた投稿から元の投稿への逆リンクを生成する際にエラーが発生していました。
「いいね!」 3
sam
(Sam Saffron)
クローズされました:
16
このトピックは2日後に自動的に閉鎖されました。新しい返信は受け付けられなくなっています。