PG::StringDataRightTruncation (ERROR: value too long for type character varying(500) )

When I try to edit the first post of this topic I get back an HTTP 500 error code. The error logs are reporting this fatal error happening:

Message (7 copies reported)

PG::StringDataRightTruncation (ERROR:  value too long for type 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 ( lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
activerecord ( lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
activesupport ( lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'



Looks like something to do with the URL, it is longer than 500 chars.

We should certainly be truncating and possibly skipping, not result in a 500.

What is the longest URL in the post?


Thanks @sam,

the only URL the post has is from a quote. The URL is this:


That is only 159 chars … lets see what happens here:

Μακάμ - Βυζαντινοί Δρόμοι - #30 by kwstas_ferris - Παραδοσιακή Μουσική - Ρεμπέτικο Φόρουμ

So odd… unable to repro with that url.

Maybe somehow related to it being first post?


It has to do with the topic’s title. When I edited the topic’s title to something shorter, the errors stopped. When I try to restore it to its original length, it showed me a 500 error while updating the title. After the 500 error, I refreshed and the title was updated.


I investigated it a bit further:

This happens on the update of the “linked” post (the one that is quoted) to include a link to the quotation. The link (because of the long title) ends up to be over 500 chars long, which triggers this issue.

The actual link on the linked post, never gets updated if the title is very long.


@Osama can you add to your list to investigate a more forgiving truncation in core, ideally you can repro in a test case.

Certainly not urgent, when you have a chance.


Sorry to ping this, but was this bug tackled? Today, I encountered a second instance of this happening on our forum…

Thanks for all your hard work! :smiley:

1 Like

We are sadly a bit busy, it is on @Osama’s list, hope we can get to it some time in the next 4 weeks.


@chrispanag the problem is solved now:

As you said, the error was happening when generating a backward link from the linked post to the original post if the original post had a long title.


Thank you very much for your fix! :smiley:

1 Like

This topic was automatically closed after 2 days. New replies are no longer allowed.