Skip to content

regression, out of memory on larger media #12260

@gcb

Description

@gcb

Checklist

  • I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected version

0.27.6

Steps to reproduce the bug

  1. go to a very long video, such as this monstruosity
  2. press play

Expected behavior

The video plays fine (worked until 0.26 or 0.25... almost sure it was 0.26, but fdroid don't allow version downgrade anymore)

Actual behavior

video starts to load and 100% reproducible (with remember play position, with play position reset to zero, etc):

## Exception
* __User Action:__ play stream
* __Request:__ Player error[type=ERROR_CODE_IO_UNSPECIFIED] occurred while playing https://www.youtube.com/watch?v=tDOY0e8Ncx8
* __Content Country:__ BE
* __Content Language:__ fr-
* __App Language:__ en
* __Service:__ YouTube
* __Timestamp:__ 2025-05-05T21:59:38.28-03:00
* __Package:__ org.schabi.newpipe
* __Service:__ YouTube
* __Version:__ 0.27.6
* __OS:__ Linux Android 14 - 34
<details><summary><b>Crash log </b></summary><p>

com.google.android.exoplayer2.ExoPlaybackException: Source error
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:644)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:620)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:242)
at android.os.Looper.loop(Looper.java:362)
at android.os.HandlerThread.run(HandlerThread.java:85)
Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected OutOfMemoryError: Failed to allocate a 26107632 byte allocation with 23071248 free bytes and 22MB until OOM, target footprint 268435456, growth limit 268435456
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:441)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 26107632 byte allocation with 23071248 free bytes and 22MB until OOM, target footprint 268435456, growth limit 268435456
at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:478)
at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:150)
at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:515)
at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:474)
at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:456)
at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:254)
at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1039)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
... 3 more

</details>


Screenshots/Screen recordings

No response

Logs

No response

Affected Android/Custom ROM version

stock 14

Affected device model

several (motorola, pixels)

Additional information

smaller videos played fine (albeit 360p most of the time)

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionNot really an issue, but more of a question about how something works

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions