hometown-fork / hometown

A supported fork of Mastodon that provides local posting and a wider range of content types.
GNU Affero General Public License v3.0
736 stars 56 forks source link

500 when fetching a Review from Bookwyrm instance to Hometown #1352

Open futzle opened 2 weeks ago

futzle commented 2 weeks ago

Steps to reproduce the problem

  1. On a Hometown instance, search by URL for a review on a Bookwyrm instance, e.g. https://outside.ofa.dog/user/futzle/review/18717/s/fine-not-a-very-coherent-whodunit#anchor-18717 or https://reading.taks.garden/user/Tak/review/20602/s/welcome-to-the-hyunam-dong-bookshop#anchor-20602

Expected behaviour

Review should have been fetched from Bookwyrm instance to Hometown instance and displayed to user

Actual behaviour

500 error in Hometown nginx log, review is not displayed in UI.

Detailed description

If I search this URL:

https://outside.ofa.dog/user/futzle/review/18717/

from the Hometown UI, I see this in the Bookwyrm log:

MISS - 2400:8907::f03c:93ff:fe78:43a2 [08/Jul/2024:11:13:39 +0000] "GET /user/futzle/review/18717/ HTTP/1.1" 200 1467 "-" "http.rb/5.1.1 (Mastodon/4.2.10+hometown-1.1.1; +https://old.mermaid.town/)" 0.064 0.061
MISS - 2400:8907::f03c:93ff:fe78:43a2 [08/Jul/2024:11:13:39 +0000] "GET /user/futzle/review/18717 HTTP/1.1" 200 1467 "-" "http.rb/5.1.1 (Mastodon/4.2.10+hometown-1.1.1; +https://old.mermaid.town/)" 0.056 0.056

and this in the Hometown log:

xxx.xxx.xxx.xxx - - [08/Jul/2024:21:13:39 +1000] "GET /api/v2/search?q=https:%2F%2Foutside.ofa.dog%2Fuser%2Ffutzle%2Freview%2F18717%2F&resolve=true&limit=11 HTTP/2.0" 500 925 "https://old.mermaid.town/deck/getting-started" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0"

Which leaves me to believe that the status is being fetched properly from Bookwyrm (200), but Hometown is failing to process it (500).

Specifications

Hometown 1.1.1 4.2.10. Hometown 1.1.1 4.0.6 seems ok and does fetch the review (but only sometimes! wtf?). History on my instance (old.mermaid.town) suggests this has been happening since 4.0.11 (but I can't test that). Four different Hometown admins tested this.

Bookwyrm 0.6.3 and 0.7.1. Two different Bookwyrm admins tested this.

Mainline Mastodon 4.2.10 always fetches the status successfully. Two different Mastodon sites tested this.

futzle commented 2 weeks ago

Some admins report that a first fetch to a Hometown instance sometimes succeeds, but every subsequent fetch fails with the 500 error. Weird.

One admin has found the same behaviour on a 4.3.0 glitch-soc instance.