Mastodon: ActiveRecord::RecordInvalid: Validation failed: Visibility is reserved

Created on 28 Mar 2019  路  12Comments  路  Source: tootsuite/mastodon

Expected behaviour

No error.

Actual behaviour

After upgrade to master version (24d5b6f9e39d2ac62a9657c7d19bc8c437b0735b), I got error ActiveRecord::RecordInvalid: Validation failed: Visibility is reserved.

image

image

After disable relays, I try to retry failed tasks and got no error.
But if relays are enabled, retry failed tasks is no use.

log file:
mastodon_relay.log.zip

relay list:

Steps to reproduce the problem


Enable relays.

Specifications

Mastodon 2.7.4 24d5b6f9e39d2ac62a9657c7d19bc8c437b0735b
Ruby 2.6.1p33
PostgreSQL 9.6.11
Redis 3.2.6

Most helpful comment

Ah, yeah. I merged the change.

All 12 comments

@IzaliaMae
I also meet this problem.

This is, arguably, a bug in the relay software, which sends the Announce to an undefined collection.
I don't think there's much we can or should do here, except avoid retrying jobs that trigger validation errors.

What do you mean 'undefined collection'? Do I need to actually return JSON-LD there or something?

See the merge request on the code: it seems that the intent is to address the Announces to the relay actor's followers, but the id is not the same as the one defined in the actor.

Le 29 mars 2019 12:13:40 GMT+01:00, William Pitcock notifications@github.com a 茅crit :

What do you mean 'undefined collection'? Do I need to actually return
JSON-LD there or something?

--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tootsuite/mastodon/issues/10409#issuecomment-477961029

--
Envoy茅 de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma bri猫vet茅.

Ah, yeah. I merged the change.

Looks like this fixed the issue. Thanks :3

Thanks :3

I'm seeing this on Mastodon 2.8.0, but only from https://relay.selfhosting.rocks. Could this be an error on their end? Anyone else seeing this?

Yes, it is most probably an error on their end, as older versions of one popular relay software had an error in the collection URI it used.

This PR would stop such jobs from being retried, since there is no reason they would fail once and not on subsequent tries.

I am weary of logging only in debug loglevel because we found the issue in the remote software precisely because we had an error message.

Ah, interesting. So I shouldn't be seeing retries on these jobs at all? I am seeing them retried. Any extra data I can provide here?

Which PR are you referring to? I don't see any listed in GitHub.

Oh no, the job will currently be retried.

I was talking about https://github.com/tootsuite/mastodon/pull/10614

Envoy茅 de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma bri猫vet茅.

Got it. Thank you 馃檱

Was this page helpful?
0 / 5 - 0 ratings

Related issues

thomaskuntzz picture thomaskuntzz  路  3Comments

lauramichet picture lauramichet  路  3Comments

golbette picture golbette  路  3Comments

phryk picture phryk  路  3Comments

flukejones picture flukejones  路  3Comments