ReadYouApp / ReadYouApp/ReadYou

Random crash on latest build

Open
#1,147 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug untriaged
Dominant language
Kotlin
Stars
7.5k
Forks
330
PR merge metrics
No merged PRs in 30d

Description

Checklist
  • I've already searched in existing issues and haven't found a similar problem reported.
  • I'm using the latest version of the app
  • This error caused the app to crash
  • This error is reproducible
Which category best fits this error?

Feed Management

App version

0.15.0

Reproduction steps
1. Open and start reading an article 
2. Scroll through article 
3. The app should crash 

The application is crashing due to java.lang.OutOfMemoryError when processing an incoming network response. The crash originates within the conscrypt security library while handling data for an okhttp3 network call, suggesting a potential memory leak or inefficient handling of a large data payload during a secure (HTTPS) connection.

The error indicates that the JVM heap was exhausted, and the Garbage Collector was unable to free up sufficient memory to proceed, even for a small 24-byte allocation.

The error is a memory exhaustion error.. 


Version: 0.15.0
Device: Google Pixel 9 Pro Fold
System: Android 16 (API 36)

Stack trace: 

.lang.OutOfMemoryError: Failed to allocate a 24 byte allocation with 2328576 free bytes and 2274KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
	at com.android.org.conscrypt.ConscryptEngine.newResult(ConscryptEngine.java:1363)
	at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:933)
	at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:744)
	at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:709)
	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:907)
	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:873)
	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:846)
	at okio.InputStreamSource.read(JvmOkio.kt:41)
	at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:13)
	at okio.RealBufferedSource.request(RealBufferedSource.kt:23)
	at okio.RealBufferedSource.require(RealBufferedSource.kt:1)
	at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.kt:13)
	at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:16)
	at okhttp3.internal.concurrent.TaskQueue$execute$1.runOnce(TaskQueue.kt:3)
	at okhttp3.internal.concurrent.TaskRunner.access$runTask(TaskRunner.kt:16)
	at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the crash while scrolling an article on the reported Android environment, then use heap profiling to inspect the incoming network response path named in the Conscrypt, OkHttp, and Okio stack trace. Done means the article can be read without an OutOfMemoryError; the payload names no source files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile, networking, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.