Skip to content

Fatal Exception: java.lang.IllegalStateException: Unable to locate mode -1 #2806

@JJSarrasin

Description

@JJSarrasin

Version

Media3 1.8.0

More version details

No response

Devices that reproduce the issue

Vantiva TV Box

Devices that do not reproduce the issue

?

Reproducible in the demo app?

No

Reproduction steps

We're seeing those crash in production on our Crashlytics reports. We have 3 different stack possible:

Fatal Exception: java.lang.IllegalStateException: Unable to locate mode -1
at android.view.DisplayInfo.findMode(DisplayInfo.java:577)
at android.view.DisplayInfo.getMode(DisplayInfo.java:564)
at android.view.DisplayInfo.getRefreshRate(DisplayInfo.java:560)
at android.view.Display.getRefreshRate(Display.java:972)
at androidx.media3.exoplayer.video.VideoFrameReleaseHelper.updateDefaultDisplayRefreshRateParams(VideoFrameReleaseHelper.java:389)
at androidx.media3.exoplayer.video.VideoFrameReleaseHelper.access$000(VideoFrameReleaseHelper.java:50)
at androidx.media3.exoplayer.video.VideoFrameReleaseHelper$DisplayHelper.onDisplayChanged(VideoFrameReleaseHelper.java:463)
at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.handleMessage(DisplayManagerGlobal.java:971)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.os.HandlerThread.run(HandlerThread.java:67)

Fatal Exception: java.lang.IllegalStateException: Unable to locate mode -1
at android.view.DisplayInfo.findMode(DisplayInfo.java:577)
at android.view.DisplayInfo.getMode(DisplayInfo.java:564)
at android.view.Display.getMode(Display.java:998)
at android.graphics.HardwareRenderer$ProcessInitializer.initDisplayInfo(HardwareRenderer.java:1220)
at android.graphics.HardwareRenderer$ProcessInitializer.initUsingContext(HardwareRenderer.java:1183)
at android.graphics.HardwareRenderer.(HardwareRenderer.java:168)
at android.view.ThreadedRenderer.(ThreadedRenderer.java:264)
at android.view.ThreadedRenderer.create(ThreadedRenderer.java:232)
at android.view.ViewRootImpl.enableHardwareAcceleration(ViewRootImpl.java:1442)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1055)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:399)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:133)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4843)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:54)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)

Fatal Exception: java.lang.IllegalStateException: Unable to locate mode -1
at android.view.DisplayInfo.findMode(DisplayInfo.java:577)
at android.view.DisplayInfo.getMode(DisplayInfo.java:564)
at android.view.DisplayInfo.getRefreshRate(DisplayInfo.java:560)
at android.view.DisplayInfo.equals(DisplayInfo.java:380)
at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.handleMessage(DisplayManagerGlobal.java:969)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)

Expected result

The application crashes

Actual result

The application should not crash even if there is a misconfiguration somewhere or we should be able to catch it.

Media

Bug Report

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions