Cannot report a long status
Environment
- Installation type (OTP or From Source): OTP
- Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.4.0
- Elixir version (
elixir -v
for from source installations, N/A for OTP): N/A - Operating system: Ubuntu 20.04
- PostgreSQL version (
psql -V
): 13.3
Bug description
Reporting a long status gives 500. The log is as follows:
05:32:01.333 [info] POST /api/v1/reports
05:32:01.404 request_id=Fp-wA_7GWAPoKQMAKEpB [error] Internal server error: %Postgrex.Error{connection_id: 1157, message: nil, postgres: %{code: :program_limit_exceeded, file: "indextuple.c", line: "185", message: "index row requires 10000 bytes, maximum size is 8191", pg_code: "54000", routine: "index_form_tuple", severity: "ERROR", unknown: "ERROR"}, query: nil}
05:32:01.404 request_id=Fp-wA_7GWAPoKQMAKEpB [info] Sent 500 in 70ms
05:32:01.408 [error] #PID<0.5300.16> running Pleroma.Web.Endpoint (connection #PID<0.5295.16>, stream id 1) terminated
Server: kazv.moe:80 (http)
Request: POST /api/v1/reports
** (exit) an exception was raised:
** (Postgrex.Error) ERROR 54000 (program_limit_exceeded) index row requires 10000 bytes, maximum size is 8191
(ecto_sql) lib/ecto/adapters/sql.ex:760: Ecto.Adapters.SQL.raise_sql_call_error/1
(ecto) lib/ecto/repo/schema.ex:725: Ecto.Repo.Schema.apply/4
(ecto) lib/ecto/repo/schema.ex:350: anonymous fn/15 in Ecto.Repo.Schema.do_insert/4
(pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:180: Pleroma.Web.ActivityPub.ActivityPub.insert_activity_with_expiration/3
(pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:130: Pleroma.Web.ActivityPub.ActivityPub.insert/4
(pleroma) lib/pleroma/web/activity_pub/activity_pub.ex:378: Pleroma.Web.ActivityPub.ActivityPub.do_flag/1
(ecto_sql) lib/ecto/adapters/sql.ex:1017: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
(db_connection) lib/db_connection.ex:1512: DBConnection.run_transaction/4