Skip to content

scrcpy crashes with Android 16 QPR2 Beta 2 #6362

Description

@wolfyjade

Please read the prerequisites to run scrcpy.

Also read the FAQ and check if your issue already exists.

Environment

  • OS: Arch Linux (rolling release, fully updated as of a few days ago)
  • Scrcpy version: 3.3.2 (latest available in the Arch package lists)
  • Installation method: Arch's native package manager (pacman)
  • Device model: Google Pixel 7 Pro
  • Android version: 16 QPR2 Beta 2 (BP41.250822.010)

Describe the bug

A clear and concise description of what the bug is.

On errors, please provide the output of the console (and adb logcat if relevant).

Currently, when I try to use scrcpy, a window of my phone's screen pops up very shortly (for about a split second from the phone's output? not entirely sure about this), then closes again. Not entirely sure what's causing the issue here, but it renders scrcpy unusable with the newest beta on my phone. (side note: it worked with the previous beta version, so something may have changed significantly enough to break.)

Log output on my computer's end

scrcpy 3.3.2 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     --> (tcpip)  awooPixel:42731                 device  Pixel_7_Pro
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 171.4 MB/s (90808 bytes in 0.001s)
[server] INFO: Device: [Google] google Pixel 7 Pro (Android 16)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 25.2.2-arch1.2
INFO: Trilinear filtering enabled
[server] ERROR: Exception on thread Thread[binder:24022_3,5,main]
java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
	at android.view.IDisplayWindowListener$Stub.onTransact(IDisplayWindowListener.java:257)
	at android.os.Binder.execTransactInternal(Binder.java:1478)
	at android.os.Binder.execTransact(Binder.java:1418)
INFO: Texture: 1440x3120
WARN: Device disconnected
Aborted

adb logcat output on my phone's end:

(important edit: this is filtered through grep, filtering for lines containing "scrcpy" only. if this is missing something relevant to fixing this issue, please let me know!)

09-18 02:09:47.939 24931 24931 D AndroidRuntime: Calling main entry com.genymobile.scrcpy.Server
09-18 02:09:47.943 24931 24931 I scrcpy  : Device: [Google] google Pixel 7 Pro (Android 16)
09-18 02:09:48.164 24942 24942 D AndroidRuntime: Calling main entry com.genymobile.scrcpy.CleanUp
09-18 02:09:48.261   738  2218 D SurfaceFlinger: Creating virtual display: scrcpy
09-18 02:09:48.261  1614  4273 I DisplayDeviceRepository: Display device added: DisplayDeviceInfo{"scrcpy": uniqueId="virtual:com.android.shell,2000,scrcpy,5", 1440 x 3120, modeId 10, renderFrameRate 60.0, hasArrSupport false, frameRateCategoryRate null, supportedRefreshRates [], defaultModeId 10, userPreferredModeId -1, supportedModes [{id=10, width=1440, height=3120, fps=60.0, vsync=60.0, synthetic=false, alternativeRefreshRates=[], supportedHdrTypes=[]}], colorMode 0, supportedColorModes [0], hdrCapabilities null, isForceSdr false, allmSupported false, gameContentTypeSupported false, density 1, 1.0 x 1.0 dpi, appVsyncOff 0, presDeadline 16666666, touch NONE, rotation 0, type VIRTUAL, deviceProductInfo null, state UNKNOWN, committedState UNKNOWN, owner com.android.shell (uid 2000), frameRateOverride , brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.0, brightnessDim -1.0, hdrSdrRatio NaN, FLAG_PRIVATE, installOrientation 0, displayShape DisplayShape{ spec=2091232517 displayWidth=1440 displayHeight=3120 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}}
09-18 02:09:48.264  1614  1675 I DisplayDevice: [7] Layerstack set to 7 for virtual:com.android.shell,2000,scrcpy,5
09-18 02:09:48.289 24931 24971 E JavaBinder: java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
09-18 02:09:48.289 24931 24971 E AndroidRuntime: java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
09-18 02:09:48.289 24931 24971 E scrcpy  : Exception on thread Thread[binder:24931_4,5,main]
09-18 02:09:48.289 24931 24971 E scrcpy  : java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
09-18 02:09:48.289 24931 24971 E scrcpy  : 	at android.view.IDisplayWindowListener$Stub.onTransact(IDisplayWindowListener.java:257)
09-18 02:09:48.289 24931 24971 E scrcpy  : 	at android.os.Binder.execTransactInternal(Binder.java:1478)
09-18 02:09:48.289 24931 24971 E scrcpy  : 	at android.os.Binder.execTransact(Binder.java:1418)
09-18 02:09:48.289 24931 24971 F app_process: jni_internal.cc:824] JNI FatalError called: java.lang.Error thrown during binder transaction: java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
09-18 02:09:48.295  1614  1724 I DisplayPowerController[7]: BrightnessEvent: brt=0.0(0.0%), nits=-1.0, lux=-1.0, reason=manual, strat=FallbackBrightnessStrategy, state=ON, stateReason=DEFAULT_POLICY, policy=BRIGHT, flags=, initBrt=NaN, rcmdBrt=NaN, preBrt=NaN, preLux=0.0, wasShortTermModelActive=false, autoBrightness=true (default), unclampedBrt=0.0, hbmMax=1.0, hbmMode=off, thrmMax=1.0, rbcStrength=-1, powerFactor=1.0, physDisp=scrcpy(virtual:com.android.shell,2000,scrcpy,5), logicalId=7, slowChange=false, rampSpeed=1.0
09-18 02:09:48.295  1614 24975 D VirtualDisplayAdapter: Changing state of virtual display scrcpy from UNKNOWN to ON
09-18 02:09:48.295  1614 24975 D VirtualDisplayAdapter: Requesting power mode for display scrcpy to 2
09-18 02:09:48.295  1614  1674 I DisplayDeviceRepository: Display device changed state: "scrcpy", ON
09-18 02:09:48.298   738   738 E SurfaceFlinger: [scrcpy] getUniqueId: Invalid operation on virtual display
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   - waiting on <0x09d52a36> (a com.genymobile.scrcpy.CleanUp)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.CleanUp.run(CleanUp.java:150)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   - locked <0x09d52a36> (a com.genymobile.scrcpy.CleanUp)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.CleanUp.runCleanUp(CleanUp.java:119)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.CleanUp.lambda$new$0$com-genymobile-scrcpy-CleanUp(CleanUp.java:34)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.CleanUp$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.ControlMessageReader.read(ControlMessageReader.java:26)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.ControlChannel.recv(ControlChannel.java:18)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.Controller.handleEvent(Controller.java:261)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.Controller.control(Controller.java:219)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.Controller.lambda$start$1$com-genymobile-scrcpy-control-Controller(Controller.java:227)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.Controller$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.audio.AudioDirectCapture.startRecording(AudioDirectCapture.java:103)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.audio.AudioDirectCapture.start(AudioDirectCapture.java:125)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.audio.AudioEncoder.encode(AudioEncoder.java:235)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.audio.AudioEncoder.lambda$start$0$com-genymobile-scrcpy-audio-AudioEncoder(AudioEncoder.java:158)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.audio.AudioEncoder$$ExternalSyntheticLambda4.run(D8$$SyntheticClass:0)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.Server.scrcpy(Server.java:168)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.Server.internalMain(Server.java:267)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.Server.main(Server.java:215)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.DeviceMessageSender.loop(DeviceMessageSender.java:28)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.DeviceMessageSender.lambda$start$0$com-genymobile-scrcpy-control-DeviceMessageSender(DeviceMessageSender.java:36)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.control.DeviceMessageSender$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.video.SurfaceEncoder.encode(SurfaceEncoder.java:202)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.video.SurfaceEncoder.streamCapture(SurfaceEncoder.java:110)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.video.SurfaceEncoder.lambda$start$0$com-genymobile-scrcpy-video-SurfaceEncoder(SurfaceEncoder.java:296)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715]   at com.genymobile.scrcpy.video.SurfaceEncoder$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
09-18 02:09:48.357 24931 24971 F app_process: runtime.cc:715] Pending exception java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
09-18 02:09:48.678 24990 24990 F DEBUG   : Cmdline: app_process / com.genymobile.scrcpy.Server 3.3.2 scid=35a74d33 log_level=info
09-18 02:09:48.679 24990 24990 F DEBUG   : Abort message: 'JNI FatalError called: java.lang.Error thrown during binder transaction: java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAnimationsDisabledChanged(int, boolean)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>'
09-18 02:09:48.753 24942 24942 I scrcpy  : Cleaning up
09-18 02:09:48.754   738  2218 D SurfaceFlinger: Destroying virtual display: scrcpy
09-18 02:09:48.756  1614  1674 I DisplayDeviceRepository: Display device removed: DisplayDeviceInfo{"scrcpy": uniqueId="virtual:com.android.shell,2000,scrcpy,5", 1440 x 3120, modeId 10, renderFrameRate 60.0, hasArrSupport false, frameRateCategoryRate null, supportedRefreshRates [], defaultModeId 10, userPreferredModeId -1, supportedModes [{id=10, width=1440, height=3120, fps=60.0, vsync=60.0, synthetic=false, alternativeRefreshRates=[], supportedHdrTypes=[]}], colorMode 0, supportedColorModes [0], hdrCapabilities null, isForceSdr false, allmSupported false, gameContentTypeSupported false, density 1, 1.0 x 1.0 dpi, appVsyncOff 0, presDeadline 16666666, touch NONE, rotation 0, type VIRTUAL, deviceProductInfo null, state ON, committedState UNKNOWN, owner com.android.shell (uid 2000), frameRateOverride , brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.0, brightnessDim -1.0, hdrSdrRatio NaN, FLAG_PRIVATE, installOrientation 0, displayShape DisplayShape{ spec=2091232517 displayWidth=1440 displayHeight=3120 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions