Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.19.3 #3479

Closed
TobiGr opened this issue Apr 24, 2020 · 22 comments
Closed

Release 0.19.3 #3479

TobiGr opened this issue Apr 24, 2020 · 22 comments
Milestone

Comments

@TobiGr
Copy link
Contributor

TobiGr commented Apr 24, 2020

Changelog

App

New

Improved

Fixed

Development

Extractor

New

Improved

Fixed


APK for testing

NewPipe_v0.19.3_RC4.apk.zip

Corresponding pull request #3478

@TobiGr TobiGr mentioned this issue Apr 24, 2020
2 tasks
@TobiGr TobiGr pinned this issue Apr 24, 2020
@TobiGr TobiGr added this to the 0.19.3 milestone Apr 24, 2020
@FireMasterK
Copy link
Member

FireMasterK commented Apr 24, 2020

Just tested this build, opening ended livestream seems to crash for some reason.
Crash Log: https://del.dog/pimecognan.txt
Example URL: https://www.youtube.com/watch?v=R3yCSo5-Sus

Exception

Crash log

java.lang.NullPointerException: Attempt to invoke virtual method 'com.grack.nanojson.JsonObject com.grack.nanojson.JsonObject.getObject(java.lang.String)' on a null object reference
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getErrorMessage(YoutubeStreamExtractor.java:580)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:81)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:62)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:116)
	at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)
	at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
	at io.reactivex.Single.subscribe(Single.java:3438)
	at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.Single.subscribe(Single.java:3438)
	at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.Maybe.subscribe(Maybe.java:4154)
	at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
	at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.Flowable.subscribe(Flowable.java:14479)
	at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.Maybe.subscribe(Maybe.java:4154)
	at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.Single.subscribe(Single.java:3438)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:919)


@TobiGr
Copy link
Contributor Author

TobiGr commented Apr 24, 2020

@FireMasterK Thank you for the report. This crash happens on 0.19.1 and 0.19.2, too. However, error message will be different in the next RC due to @wb9688's changes in TeamNewPipe/NewPipeExtractor#317.

Ended live streams aren't handled correctly.

@opusforlife2
Copy link
Collaborator

The release candidate package name is usually org.schabi.newpipe.debug.release. For this one it is just org.schabi.newpipe.debug like any testing apk before the branch name change. That naming fix for F-Droid might have introduced this?

@ghost
Copy link

ghost commented Apr 25, 2020

rotating the screen in the feed section or in the playlists crashes the app.

Exception

  • User Action: ui error
  • Request: App crash, UI failure
  • Content Language: it_IT
  • Service: none
  • Version: 0.19.3
  • OS: Linux Android 4.4.4 - 19
Crash log

java.lang.NullPointerException
	at org.schabi.newpipe.fragments.list.BaseListFragment.getFocusedPosition(BaseListFragment.java:134)
	at org.schabi.newpipe.fragments.list.BaseListFragment.writeTo(BaseListFragment.java:152)
	at org.schabi.newpipe.fragments.list.BaseListInfoFragment.writeTo(BaseListInfoFragment.java:79)
	at org.schabi.newpipe.util.StateSaver.tryToSave(StateSaver.java:219)
	at org.schabi.newpipe.util.StateSaver.tryToSave(StateSaver.java:177)
	at org.schabi.newpipe.fragments.list.BaseListFragment.onSaveInstanceState(BaseListFragment.java:187)
	at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2766)
	at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2289)
	at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2348)
	at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2768)
	at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2289)
	at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2348)
	at androidx.fragment.app.FragmentController.saveAllState(FragmentController.java:151)
	at androidx.fragment.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:513)
	at androidx.appcompat.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:533)
	at android.app.Activity.performSaveInstanceState(Activity.java:1147)
	at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1222)
	at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3839)
	at android.app.ActivityThread.access$700(ActivityThread.java:156)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1346)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:153)
	at android.app.ActivityThread.main(ActivityThread.java:5297)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:511)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
	at dalvik.system.NativeStart.main(Native Method)


@ghost
Copy link

ghost commented Apr 25, 2020

Search music pop live, i have receive this

Exception

  • User Action: searched
  • Request: music pop live
  • Content Language: it_IT
  • Service: YouTube
  • Version: 0.19.3
  • OS: Linux Android 4.4.4 - 19
Crash log

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get duration
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamInfoItemExtractor.getDuration(YoutubeStreamInfoItemExtractor.java:127)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:54)
	at org.schabi.newpipe.extractor.search.InfoItemsSearchCollector.extract(InfoItemsSearchCollector.java:84)
	at org.schabi.newpipe.extractor.search.InfoItemsSearchCollector.extract(InfoItemsSearchCollector.java:50)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:87)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.collectStreamsFrom(YoutubeSearchExtractor.java:126)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.getInitialPage(YoutubeSearchExtractor.java:87)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
	at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:50)
	at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:30)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$searchFor$0(ExtractorHelper.java:80)
	at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$BBduYDeZ_vXMQYaemaggmTPtqvA.call(lambda)
	at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
	at io.reactivex.Single.subscribe(Single.java:3438)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:234)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:153)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
	at java.lang.Thread.run(Thread.java:838)

-------------------

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get duration
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamInfoItemExtractor.getDuration(YoutubeStreamInfoItemExtractor.java:127)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:54)
	at org.schabi.newpipe.extractor.search.InfoItemsSearchCollector.extract(InfoItemsSearchCollector.java:84)
	at org.schabi.newpipe.extractor.search.InfoItemsSearchCollector.extract(InfoItemsSearchCollector.java:50)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:87)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.collectStreamsFrom(YoutubeSearchExtractor.java:126)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.getInitialPage(YoutubeSearchExtractor.java:87)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
	at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:50)
	at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:30)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$searchFor$0(ExtractorHelper.java:80)
	at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$BBduYDeZ_vXMQYaemaggmTPtqvA.call(lambda)
	at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
	at io.reactivex.Single.subscribe(Single.java:3438)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:234)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:153)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
	at java.lang.Thread.run(Thread.java:838)

-------------------

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get duration
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamInfoItemExtractor.getDuration(YoutubeStreamInfoItemExtractor.java:127)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:54)
	at org.schabi.newpipe.extractor.search.InfoItemsSearchCollector.extract(InfoItemsSearchCollector.java:84)
	at org.schabi.newpipe.extractor.search.InfoItemsSearchCollector.extract(InfoItemsSearchCollector.java:50)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:87)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.collectStreamsFrom(YoutubeSearchExtractor.java:126)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor.getInitialPage(YoutubeSearchExtractor.java:87)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
	at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:50)
	at org.schabi.newpipe.extractor.search.SearchInfo.getInfo(SearchInfo.java:30)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$searchFor$0(ExtractorHelper.java:80)
	at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$BBduYDeZ_vXMQYaemaggmTPtqvA.call(lambda)
	at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
	at io.reactivex.Single.subscribe(Single.java:3438)
	at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:234)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:153)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
	at java.lang.Thread.run(Thread.java:838)


@wb9688
Copy link
Contributor

wb9688 commented Apr 25, 2020

@domiuns: I can't reproduce your first issue. The latter isn't a regression. Those items just don't seem to have an indicator that they're live streams, thus causing us to try to get the duration of the video, which fails. Here is an example videoInfo:

{"thumbnail":{"thumbnails":[{"width":168,"url":"https://i.ytimg.com/vi/WawwqrfvnWE/hqdefault.jpg?sqp=-oaymwEYCKgBEF5IVfKriqkDCwgBFQAAiEIYAXAB&rs=AOn4CLDLLOQFShmbPkXmjWmV4FLJ5_XszQ","height":94},{"width":196,"url":"https://i.ytimg.com/vi/WawwqrfvnWE/hqdefault.jpg?sqp=-oaymwEYCMQBEG5IVfKriqkDCwgBFQAAiEIYAXAB&rs=AOn4CLAJ712vpJABxY1-lrMqRKGAuQSoPg","height":110},{"width":246,"url":"https://i.ytimg.com/vi/WawwqrfvnWE/hqdefault.jpg?sqp=-oaymwEZCPYBEIoBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLBWuoR3WcHE8Pme0yaUjQDCKBfAjw","height":138},{"width":336,"url":"https://i.ytimg.com/vi/WawwqrfvnWE/hqdefault.jpg?sqp=-oaymwEZCNACELwBSFXyq4qpAwsIARUAAIhCGAFwAQ==&rs=AOn4CLCCVqEfAHTsR88Upg17Z0XrigSufA","height":188}]},"videoId":"WawwqrfvnWE","title":{"accessibility":{"accessibilityData":{"label":"Pal Station Live Radio  - New Popular Music 2019 Best English Songs Of All Time &  Pop Music 2020 by Pal Media 11 months ago 2,251,505 views"}},"runs":[{"text":"Pal Station Live Radio  - New Popular Music 2019 Best English Songs Of All Time &  Pop Music 2020"}]},"shortBylineText":{"runs":[{"text":"Pal Media","navigationEndpoint":{"commandMetadata":{"webCommandMetadata":{"rootVe":3611,"webPageType":"WEB_PAGE_TYPE_BROWSE","url":"/channel/UCRsMXFxsTElLUSkX0hMjn9A"}},"clickTrackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKOA==","browseEndpoint":{"browseId":"UCRsMXFxsTElLUSkX0hMjn9A"}}}]},"menu":{"menuRenderer":{"trackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKOA==","accessibility":{"accessibilityData":{"label":"Action menu"}},"items":[{"menuServiceItemRenderer":{"trackingParams":"CGAQ_pgEGAMiEwj9j5LylYTpAhUbxVUKHahsCjg=","icon":{"iconType":"ADD_TO_QUEUE_TAIL"},"text":{"runs":[{"text":"Add to queue"}]},"serviceEndpoint":{"commandMetadata":{"webCommandMetadata":{"sendPost":true,"url":"/service_ajax"}},"clickTrackingParams":"CGAQ_pgEGAMiEwj9j5LylYTpAhUbxVUKHahsCjg=","signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"commandMetadata":{"webCommandMetadata":{}},"clickTrackingParams":"CGAQ_pgEGAMiEwj9j5LylYTpAhUbxVUKHahsCjg=","addToPlaylistCommand":{"onCreateListCommand":{"commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create","url":"/service_ajax"}},"createPlaylistServiceEndpoint":{"params":"CAQ%3D","videoIds":["WawwqrfvnWE"]},"clickTrackingParams":"CGAQ_pgEGAMiEwj9j5LylYTpAhUbxVUKHahsCjg="},"openMiniplayer":true,"listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","videoIds":["WawwqrfvnWE"]}}]}}}}]}},"thumbnailOverlays":[{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"WATCH_LATER"},"toggledIcon":{"iconType":"CHECK"},"toggledTooltip":"Added","trackingParams":"CF8Q-ecDGAAiEwj9j5LylYTpAhUbxVUKHahsCjg=","toggledAccessibility":{"accessibilityData":{"label":"Added"}},"untoggledTooltip":"Watch later","untoggledAccessibility":{"accessibilityData":{"label":"Watch later"}},"untoggledServiceEndpoint":{"commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist","url":"/service_ajax"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"addedVideoId":"WawwqrfvnWE","action":"ACTION_ADD_VIDEO"}]},"clickTrackingParams":"CF8Q-ecDGAAiEwj9j5LylYTpAhUbxVUKHahsCjg="},"toggledServiceEndpoint":{"commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/browse/edit_playlist","url":"/service_ajax"}},"playlistEditEndpoint":{"playlistId":"WL","actions":[{"removedVideoId":"WawwqrfvnWE","action":"ACTION_REMOVE_VIDEO_BY_VIDEO_ID"}]},"clickTrackingParams":"CF8Q-ecDGAAiEwj9j5LylYTpAhUbxVUKHahsCjg="},"isToggled":false}},{"thumbnailOverlayToggleButtonRenderer":{"untoggledIcon":{"iconType":"ADD_TO_QUEUE_TAIL"},"toggledIcon":{"iconType":"PLAYLIST_ADD_CHECK"},"toggledTooltip":"Added","trackingParams":"CF4Qx-wEGAEiEwj9j5LylYTpAhUbxVUKHahsCjg=","toggledAccessibility":{"accessibilityData":{"label":"Added"}},"untoggledTooltip":"Add to queue","untoggledAccessibility":{"accessibilityData":{"label":"Add to queue"}},"untoggledServiceEndpoint":{"commandMetadata":{"webCommandMetadata":{"sendPost":true,"url":"/service_ajax"}},"clickTrackingParams":"CF4Qx-wEGAEiEwj9j5LylYTpAhUbxVUKHahsCjg=","signalServiceEndpoint":{"signal":"CLIENT_SIGNAL","actions":[{"commandMetadata":{"webCommandMetadata":{}},"clickTrackingParams":"CF4Qx-wEGAEiEwj9j5LylYTpAhUbxVUKHahsCjg=","addToPlaylistCommand":{"onCreateListCommand":{"commandMetadata":{"webCommandMetadata":{"sendPost":true,"apiUrl":"/youtubei/v1/playlist/create","url":"/service_ajax"}},"createPlaylistServiceEndpoint":{"params":"CAQ%3D","videoIds":["WawwqrfvnWE"]},"clickTrackingParams":"CF4Qx-wEGAEiEwj9j5LylYTpAhUbxVUKHahsCjg="},"openMiniplayer":true,"listType":"PLAYLIST_EDIT_LIST_TYPE_QUEUE","videoIds":["WawwqrfvnWE"]}}]}}}},{"thumbnailOverlayNowPlayingRenderer":{"text":{"runs":[{"text":"Now playing"}]}}}],"ownerText":{"runs":[{"text":"Pal Media","navigationEndpoint":{"commandMetadata":{"webCommandMetadata":{"rootVe":3611,"webPageType":"WEB_PAGE_TYPE_BROWSE","url":"/channel/UCRsMXFxsTElLUSkX0hMjn9A"}},"clickTrackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKOA==","browseEndpoint":{"browseId":"UCRsMXFxsTElLUSkX0hMjn9A"}}}]},"longBylineText":{"runs":[{"text":"Pal Media","navigationEndpoint":{"commandMetadata":{"webCommandMetadata":{"rootVe":3611,"webPageType":"WEB_PAGE_TYPE_BROWSE","url":"/channel/UCRsMXFxsTElLUSkX0hMjn9A"}},"clickTrackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKOA==","browseEndpoint":{"browseId":"UCRsMXFxsTElLUSkX0hMjn9A"}}}]},"trackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKOEDhur6_q5WM1lk=","showActionMenu":false,"publishedTimeText":{"simpleText":"11 months ago"},"viewCountText":{"simpleText":"2,251,505 views"},"shortViewCountText":{"simpleText":"2.2M views"},"channelThumbnailSupportedRenderers":{"channelThumbnailWithLinkRenderer":{"thumbnail":{"thumbnails":[{"width":68,"url":"https://yt3.ggpht.com/a-/AOh14Ggf8zXNijRH4gxT096Dt6WbrFNFLlreNVSZlw=s68-c-k-c0x00ffffff-no-rj-mo","height":68}]},"accessibility":{"accessibilityData":{"label":"Go to channel"}},"navigationEndpoint":{"commandMetadata":{"webCommandMetadata":{"rootVe":3611,"webPageType":"WEB_PAGE_TYPE_BROWSE","url":"/channel/UCRsMXFxsTElLUSkX0hMjn9A"}},"clickTrackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKOA==","browseEndpoint":{"browseId":"UCRsMXFxsTElLUSkX0hMjn9A"}}}},"descriptionSnippet":{"runs":[{"text":"Pal Station Radio "},{"text":"Live Music","bold":true},{"text":" Radio - New Popular "},{"text":"Music","bold":true},{"text":" 2019 Best English Songs Of All Time & "},{"text":"Pop Music","bold":true},{"text":" 2020 Pal Media ..."}]},"navigationEndpoint":{"commandMetadata":{"webCommandMetadata":{"rootVe":3832,"webPageType":"WEB_PAGE_TYPE_WATCH","url":"/watch?v=WawwqrfvnWE"}},"clickTrackingParams":"CF0Q3DAYAyITCP2PkvKVhOkCFRvFVQodqGwKODIGc2VhcmNoUg5tdXNpYyBwb3AgbGl2ZZoBAxD0JA==","watchEndpoint":{"videoId":"WawwqrfvnWE"}}}

@androidSwDev099
Copy link

Crash with auto-rotation enabled : Newpipe 19.3 RC1 debug version

Hello Newpipe team,

Thank you for the wonderful work creating and maintaining Newpipe.

Steps to produce problem/crash:

  1. Auto-rotation must be enabled on the device used for testing.
  2. Open Newpipe 19.3 RC1 debug version.
  3. Find and select any video.
  4. Click Popup icon. Video should start playing.
  5. Rotate device 90 degrees. Video continues to play.
  6. Rotate device 90 degrees back to starting orientation. Newpipe crashes.

This does not occur with Newpipe 19.2.

Please let me know if you have any questions or need more information.

Exception

  • User Action: ui error
  • Request: App crash, UI failure
  • Content Language: US
  • Service: none
  • Version: 0.19.3
  • OS: Linux Android 7.1.1 - 25
Crash log

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.ViewGroup.getFocusedChild()' on a null object reference
	at org.schabi.newpipe.fragments.list.BaseListFragment.getFocusedPosition(BaseListFragment.java:134)
	at org.schabi.newpipe.fragments.list.BaseListFragment.writeTo(BaseListFragment.java:152)
	at org.schabi.newpipe.fragments.list.BaseListInfoFragment.writeTo(BaseListInfoFragment.java:79)
	at org.schabi.newpipe.util.StateSaver.tryToSave(StateSaver.java:219)
	at org.schabi.newpipe.util.StateSaver.tryToSave(StateSaver.java:177)
	at org.schabi.newpipe.fragments.list.BaseListFragment.onSaveInstanceState(BaseListFragment.java:187)
	at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2766)
	at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2289)
	at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2348)
	at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2768)
	at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2289)
	at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2348)
	at androidx.fragment.app.FragmentController.saveAllState(FragmentController.java:151)
	at androidx.fragment.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:513)
	at androidx.appcompat.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:533)
	at android.app.Activity.performSaveInstanceState(Activity.java:1507)
	at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1308)
	at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:5045)
	at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4968)
	at android.app.ActivityThread.-wrap21(ActivityThread.java)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1665)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6823)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1557)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)


@androidSwDev099
Copy link

androidSwDev099 commented Apr 25, 2020

Crash with auto-rotation enabled : Newpipe 19.3 RC1 debug version - more different ways to produce crashes.

Steps to produce problem/crash:

  1. Auto-rotation must be enabled on the device used for testing.
  2. Open Newpipe 19.3 RC1 debug version.
  3. From the main screen, click on hamburger icon/3-line icon on top left side. Select any of the following (crash occurs for any after following additional steps below):
    Trending, Subscriptions, What's New, Bookmarked Playlists, or History.
  4. Rotate device 90 degrees until display orientation updates.
  5. Rotate device 90 degrees back to starting orientation. Newpipe will crash.

This does not occur with Newpipe 19.2.

From crash after selecting Trending above:

Exception

  • User Action: ui error
  • Request: App crash, UI failure
  • Content Language: en_US
  • Service: none
  • Version: 0.19.3
  • OS: Linux Android 9 - 28
Crash log

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View androidx.recyclerview.widget.RecyclerView.getFocusedChild()' on a null object reference
	at org.schabi.newpipe.fragments.list.BaseListFragment.getFocusedPosition(BaseListFragment.java:134)
	at org.schabi.newpipe.fragments.list.BaseListFragment.writeTo(BaseListFragment.java:152)
	at org.schabi.newpipe.fragments.list.BaseListInfoFragment.writeTo(BaseListInfoFragment.java:79)
	at org.schabi.newpipe.util.StateSaver.tryToSave(StateSaver.java:219)
	at org.schabi.newpipe.util.StateSaver.tryToSave(StateSaver.java:177)
	at org.schabi.newpipe.fragments.list.BaseListFragment.onSaveInstanceState(BaseListFragment.java:187)
	at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2766)
	at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2289)
	at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2348)
	at androidx.fragment.app.Fragment.performSaveInstanceState(Fragment.java:2768)
	at androidx.fragment.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManagerImpl.java:2289)
	at androidx.fragment.app.FragmentManagerImpl.saveAllState(FragmentManagerImpl.java:2348)
	at androidx.fragment.app.FragmentController.saveAllState(FragmentController.java:151)
	at androidx.fragment.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:513)
	at androidx.appcompat.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:533)
	at android.app.Activity.performSaveInstanceState(Activity.java:1550)
	at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1444)
	at android.app.ActivityThread.callActivityOnSaveInstanceState(ActivityThread.java:5003)
	at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:4325)
	at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:4951)
	at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4888)
	at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1864)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:205)
	at android.app.ActivityThread.main(ActivityThread.java:6996)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)


@Stypox
Copy link
Member

Stypox commented Apr 26, 2020

I pushed a fix for the rotation bug at #3495. Could you test it out? Here is a debug apk: app-debug.zip

@androidSwDev099
Copy link

I pushed a fix for the rotation bug at #3495. Could you test it out? Here is a debug apk: app-debug.zip

Appears to be fixed for the cases I reported. Awesome 👍

@TobiGr
Copy link
Contributor Author

TobiGr commented Apr 28, 2020

Here is RC2: NewPipe_0.19.3_RC2.apk.zip

Fixed: rotation bug
Improved: detect more tv devices

@opusforlife2
Copy link
Collaborator

It also fixed the package name. Thanks!

@TobiGr
Copy link
Contributor Author

TobiGr commented May 2, 2020

Last RC: NewPipe_v0.19.3_RC3.apk.zip

@androidSwDev099
Copy link

Any news fixes since RC2?

Last RC: NewPipe_v0.19.3_RC3.apk.zip

@wb9688
Copy link
Contributor

wb9688 commented May 2, 2020

@androidSwDev099: Yes, TeamNewPipe/nanojson#3 and some more translations

@MD77MD
Copy link

MD77MD commented May 3, 2020

i get a crash report when searching for albums in YouTube music

@surrodox2001
Copy link

Is youtube music a dedicated option or a part of yt?

@wb9688
Copy link
Contributor

wb9688 commented May 3, 2020

@MD77MD: What search term are you using? And could you post the crash report here (using the markdown converter)?

@surrodox2001: It's a search filter, i.e. if you have YouTube as active service, press the vertical ellipsis when searching and you have that option.

@B0pol
Copy link
Member

B0pol commented May 3, 2020

I think the issue is not when searching, but when using results: YouTube Music albums cause crashes because of an unhandled banner

See #3218 #3317, and the fix but not ready TeamNewPipe/NewPipeExtractor#285

@TobiGr
Copy link
Contributor Author

TobiGr commented May 3, 2020

NewPipe_v0.19.3_RC4.apk.zip fixes the crash when searching for YouTube Music albums.

@TobiGr TobiGr unpinned this issue May 3, 2020
@TobiGr TobiGr closed this as completed May 3, 2020
@opusforlife2
Copy link
Collaborator

opusforlife2 commented May 4, 2020

@TobiGr @wb9688 Why is extractor version 0.19.4 and not 0.19.3?

TeamNewPipe/NewPipeExtractor@8a79b14

@TobiGr
Copy link
Contributor Author

TobiGr commented May 4, 2020

@opusforlife2 because I have fat fingers...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants