NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

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

Open litetex opened this issue 3 years ago • 3 comments

Checklist

  • [x] I am using the latest version - 0.21.16
  • [x] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • [x] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
  • [x] This issue contains only one bug. I will open one issue for every bug report I want to file.

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:

  • Samsung DEX #7391
  • Windows Subsystem for Android/WSA #7396
  • LG screen+ #7864

litetex avatar Feb 12 '22 16:02 litetex

I don't know if this is helpful, but I just encountered this bug myself when trying to change video quality in Samsung DeX. Crash log is below. The device is Samsung Galaxy S22+ with OneUI 4.1.

(I almost just opened a new issue, that checklist really works!)

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: CA
  • Content Language: en-CA
  • App Language: en_CA
  • Service: none
  • Version: 0.23.0
  • OS: Linux Android 12 - 31
Crash log

android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@b2895a2 is not valid; is your activity running?
	at android.view.ViewRootImpl.setView(ViewRootImpl.java:1588)
	at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:509)
	at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:133)
	at android.widget.PopupWindow.invokePopup(PopupWindow.java:1688)
	at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1489)
	at androidx.appcompat.widget.AppCompatPopupWindow.showAsDropDown(AppCompatPopupWindow.java:77)
	at androidx.core.widget.PopupWindowCompat$Api19Impl.showAsDropDown(PopupWindowCompat.java:247)
	at androidx.core.widget.PopupWindowCompat.showAsDropDown(PopupWindowCompat.java:71)
	at androidx.appcompat.widget.ListPopupWindow.show(ListPopupWindow.java:754)
	at androidx.appcompat.view.menu.CascadingMenuPopup.showMenu(CascadingMenuPopup.java:487)
	at androidx.appcompat.view.menu.CascadingMenuPopup.show(CascadingMenuPopup.java:266)
	at androidx.appcompat.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:296)
	at androidx.appcompat.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:182)
	at androidx.appcompat.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:144)
	at androidx.appcompat.widget.PopupMenu.show(PopupMenu.java:238)
	at org.schabi.newpipe.player.listeners.view.QualityClickListener.onClick(QualityClickListener.kt:29)
	at android.view.View.performClick(View.java:7792)
	at android.widget.TextView.performClick(TextView.java:16112)
	at android.view.View.performClickInternal(View.java:7769)
	at android.view.View.access$3800(View.java:910)
	at android.view.View$PerformClick.run(View.java:30218)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.app.ActivityThread.main(ActivityThread.java:8663)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)


NeatNit avatar Jun 07 '22 14:06 NeatNit

(I almost just opened a new issue, that checklist really works!)

You, sir, are a real Super Saiyan.

opusforlife2 avatar Jun 11 '22 18:06 opusforlife2

I' using the latest version 0.24 on Samsung S20 FE 5G and Samsung Dex. The problem still exists. NewPipe crashes after trying to change resolution or another menu that should show a popup menu.

The-unknown-Shadowman avatar Oct 29 '22 09:10 The-unknown-Shadowman

I keep having this on Samsung S 21 U when I'm pressing the Cast button. But on the phone, there is no issues with the dropdowns in the player window. Also no issue with the comments section.

Just tested in Dex mode - can confirm, same issue with the same crash log. Happens on a dropdown which hides cast and sharing options and a quality chooser.

I believe, the Cast button also tries to open a pop-up with the devices to cast to.

The worst part about it is that the backNav button exits the app instead of returning to the content.

UPD: Just tested it on an updated Pixel 3aXL - no problems, all the dropdowns from the player are working. (It's the first time I encounter a working Cast button, and sadly the only option it gives me is to use Kodi. Doesn't see any Chromecast devices, TVs or even bluetooth Speakers - how to make use of it?)

Guru meditation "user_action":"ui error" "request":"ACRA report" "content_language":"en" "content_country":"GB" "app_language":"en_IE""service":"none" "package":"org.schabi.newpipe" "version":"0.24.1" "os":"Linux Android 13 - 33" "time":"2022-12-19 15:29"

"exceptions":["android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?\n\tat android.view.ViewRootImpl.setView(ViewRootImpl.java:1732)\n\tat android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:541)\n\tat android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)\n\tat android.app.Dialog.show(Dialog.java:523)\n\tat org.schabi.newpipe.util.external_communication.KoreUtils.showInstallKoreDialog(KoreUtils.java:39)\n\tat org.schabi.newpipe.player.ui.VideoPlayerUi.onPlayWithKodiClicked(VideoPlayerUi.java:1479)\n\tat org.schabi.newpipe.player.ui.VideoPlayerUi.onClick(VideoPlayerUi.java:1353)\n\tat org.schabi.newpipe.player.ui.MainPlayerUi.onClick(MainPlayerUi.java:863)\n\tat android.view.View.performClick(View.java:7881)\n\tat android.view.View.performClickInternal(View.java:7858)\n\tat android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)\n\tat android.view.View$PerformClick.run(View.java:30863)\n\tat android.os.Handler.handleCallback(Handler.java:942)\n\tat android.os.Handler.dispatchMessage(Handler.java:99)\n\tat android.os.Looper.loopOnce(Looper.java:226)\n\tat android.os.Looper.loop(Looper.java:313)\n\tat android.app.ActivityThread.main(ActivityThread.java:8741)\n\tat java.lang.reflect.Method.invoke(Native Method)\n\tat com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)\n\tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)\n"],"user_comment":""

TriplEight avatar Dec 19 '22 14:12 TriplEight

Sadly, WSA will no longer be supported after March 5, 2025. Learn more at Microsoft/WSA (GitHub) and Microsoft Learn.

DarkCrypt avatar Mar 23 '24 05:03 DarkCrypt