Skip to content

Soft lock on large mms:downloaded webhooks #336

@asd20752

Description

@asd20752

Describe the Bug
While testing I did encounter an issue with MMS. Works with normal images which get's compressed on sending. The issue occured when an iPhone user sent a larger image which did not get compressed or was of a larger dimension. With this image in the queue nothing else is able to be received and passed on to the webhooks.
Before this MMS there was about 30 SMS and 1 MMS in the logs. The one previous MMS were 225 KB

Opening the logs in the app right after the MMS was received did cause a crash. Screenshot is from a while after.

Force close and restart the app does not resolve the issue

To Reproduce
Steps to reproduce the behavior:

  1. Set up webhook for mms:downloaded
  2. Send a large attachment. File which got stuck: 1,8 MB (1 796 375 bytes) Image (image/jpeg)
  3. The system should now be in a lock

Expected vs Actual Behavior

  • Expected: The attachment to be passed to the server using the websocket mms:downloaded
  • Actual: Soft locked

Environment

  • App Version: 1.56.0(1373)
  • Mode: Local
  • Operation: receiving MMS
  • Integration: Deno 2.7.10 server with HTTPS self signed certificates.
  • Network Type: WiFi

Smartphone

  • Device: Moto G84
  • OS: Android 15
  • SIM Card Count: 1 SIM

Additional Context

Logs from when the MMS was received

{
  "message": "Row too big to fit into CursorWindow requiredPos=79, totalRows=80"
}

From when a SMS is received at a later point with a timestamp inbetween when MMS and SMS were received

{
    "context": {
      "attempt": 9
    },
    "createdAt": "2026-04-01T21:31:27.590+02:00",
    "id": 838,
    "message": "Starting webhook queue processing",
    "module": "webhooks",
    "priority": "DEBUG"
  },
  {
    "context": {
      "error": "android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=6"
    },
    "createdAt": "2026-04-01T21:31:27.642+02:00",
    "id": 839,
    "message": "Error processing batch: Row too big to fit into CursorWindow requiredPos=0, totalRows=6",
    "module": "webhooks",
    "priority": "ERROR"
  },
  {
    "context": {
      "error": "android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=6"
    },
    "createdAt": "2026-04-01T21:31:27.644+02:00",
    "id": 840,
    "message": "Error during webhook queue processing: Row too big to fit into CursorWindow requiredPos=0, totalRows=6",
    "module": "webhooks",
    "priority": "ERROR"
  },
  {
    "context": {
      "error": "android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=6",
      "stackTrace": "android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=6\n\tat android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)\n\tat android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:1037)\n\tat android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:862)\n\tat android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)\n\tat android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:145)\n\tat android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:132)\n\tat me.capcom.smsgateway.modules.webhooks.db.WebhookQueueDao_Impl$17.call(WebhookQueueDao_Impl.java:446)\n\tat me.capcom.smsgateway.modules.webhooks.db.WebhookQueueDao_Impl$17.call(WebhookQueueDao_Impl.java:433)\n\tat androidx.room.CoroutinesRoom$Companion$execute$4$job$1.invokeSuspend(CoroutinesRoom.kt:88)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1154)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)\n\tat java.lang.Thread.run(Thread.java:1563)\n"
    },
    "createdAt": "2026-04-01T21:31:27.646+02:00",
    "id": 841,
    "message": "Webhook queue processing failed: Row too big to fit into CursorWindow requiredPos=0, totalRows=6",
    "module": "webhooks",
    "priority": "ERROR"
  },

** Screenshot **

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions