Skip to content

NewPipe crashes when used on external screen/vendor specific screen-sharing (Samsung DEX, LG Screen+, WSA) #7865

@litetex

Description

@litetex

Checklist

Preamble

This issue combines multiple existing issues into one issue because - despite being implement by different manufactures - these results in the same bug.

Steps to reproduce the bug

  1. Play a video
  2. Open something that has uses a "popup"/dropdown in the player UI, e.g. change the resolution or subtitles

Actual behavior

App crashes

android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@fda8ca is not valid; is your activity running?

Expected behavior

App works as expected

Logs

Samsung DEX

  • User Action: ui error
  • Request: ACRA report
    ...
  • Service: none
  • Version: 0.21.13
  • OS: Linux samsung/t2sxeea/t2s:11/RP1A.200720.012/G996BXXU3AUIE:user/release-keys 11 - 30
Crash log

android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@fda8ca is not valid; is your activity running?
	at android.view.ViewRootImpl.setView(ViewRootImpl.java:1444)
	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:469)
	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:114)
	at android.widget.PopupWindow.invokePopup(PopupWindow.java:1657)
	at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1460)
	at android.widget.ListPopupWindow.show(ListPopupWindow.java:771)
	at com.android.internal.view.menu.CascadingMenuPopup.showMenu(CascadingMenuPopup.java:480)
	at com.android.internal.view.menu.CascadingMenuPopup.show(CascadingMenuPopup.java:289)
	at com.android.internal.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:303)
	at com.android.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:192)
	at com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:156)
	at android.widget.PopupMenu.show(PopupMenu.java:230)
	at org.schabi.newpipe.player.Player.onCaptionClicked(Player.java:3563)
	at org.schabi.newpipe.player.Player.onClick(Player.java:3670)
	at android.view.View.performClick(View.java:8160)
	at android.widget.TextView.performClick(TextView.java:16222)
	at android.view.View.performClickInternal(View.java:8137)
	at android.view.View.access$3700(View.java:888)
	at android.view.View$PerformClick.run(View.java:30236)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:246)
	at android.app.ActivityThread.main(ActivityThread.java:8633)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)


Windows Subsystem for Android/WSA

  • User Action: ui error
    ...
  • Version: 0.21.13
  • OS: Linux Android 11 - 30
Crash log

android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@11424e0 is not valid; is your activity running?
	at android.view.ViewRootImpl.setView(ViewRootImpl.java:1071)
	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:409)
	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:109)
	at android.widget.PopupWindow.invokePopup(PopupWindow.java:1576)
	at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1423)
	at android.widget.ListPopupWindow.show(ListPopupWindow.java:722)
	at com.android.internal.view.menu.CascadingMenuPopup.showMenu(CascadingMenuPopup.java:432)
	at com.android.internal.view.menu.CascadingMenuPopup.show(CascadingMenuPopup.java:247)
	at com.android.internal.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:283)
	at com.android.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:178)
	at com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:142)
	at android.widget.PopupMenu.show(PopupMenu.java:230)
	at org.schabi.newpipe.player.Player.onQualitySelectorClicked(Player.java:3532)
	at org.schabi.newpipe.player.Player.onClick(Player.java:3664)
	at android.view.View.performClick(View.java:7448)
	at android.view.View.performClickInternal(View.java:7425)
	at android.view.View.access$3600(View.java:810)
	at android.view.View$PerformClick.run(View.java:28305)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:223)
	at android.app.ActivityThread.main(ActivityThread.java:7664)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)


LG screen+

Click to expand
{
    "user_action": "ui error",
    ...
    "service": "none",
    "package": "org.schabi.newpipe",
    "version": "0.21.16",
    "os": "Linux lge/caymanlm_e/caymanlm:11/RKQ1.201105.002/212521942c7f7.COM1_EU:user/release-keys 11 - 30",
    "time": "2022-02-12 15:10",
    "exceptions": [
        "android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$WEx@954281e is not valid; is your activity running?
			at android.view.ViewRootImpl.setView(ViewRootImpl.java:1106)
			at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:437)
			at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:116)
			at android.widget.PopupWindow.invokePopup(PopupWindow.java:1636)
			at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1445)
			at android.widget.ListPopupWindow.show(ListPopupWindow.java:742)
			at com.android.internal.view.menu.CascadingMenuPopup.showMenu(CascadingMenuPopup.java:433)
			at com.android.internal.view.menu.CascadingMenuPopup.show(CascadingMenuPopup.java:248)
			at com.android.internal.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:283)
			at com.android.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:178)
			at com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:142)
			at android.widget.PopupMenu.show(PopupMenu.java:230)
			at org.schabi.newpipe.player.Player.onQualitySelectorClicked(Player.java:3513)
			at org.schabi.newpipe.player.Player.onClick(Player.java:3645)
			at android.view.View.performClick(View.java:7461)
			at android.view.View.performClickInternal(View.java:7438)
			at android.view.View.access$4000(View.java:815)
			at android.view.View$PerformClick.run(View.java:28396)
			at android.os.Handler.handleCallback(Handler.java:938)
			at android.os.Handler.dispatchMessage(Handler.java:99)
			at android.os.Looper.loop(Looper.java:223)
			at android.app.ActivityThread.main(ActivityThread.java:7867)
			at java.lang.reflect.Method.invoke(Native Method)
			at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
			at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981)
	"
    ],
    "user_comment": ""
}

Device info

  • Android version/Custom ROM version: Android 11+

Affected platforms:

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIIssue is related to the graphical user interfacebugIssue is related to a bugdevice/software specificIssues that only happen on some devices or with some specific hardware/softwaregood first issueEasy/simple issues perfect for newcomers to get involved in the project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions