polymorphicshade / Tubular

A fork of NewPipe that implements SponsorBlock and ReturnYouTubeDislike.
GNU General Public License v3.0
1.54k stars 40 forks source link

random crash when opening video #64

Closed millionsofplayers closed 5 months ago

millionsofplayers commented 5 months ago

Checklist

Affected version

0.27.0 (latest)

Steps to reproduce the bug

  1. Open a video from the subscriptions tab

Expected behavior

To be able to watch the video

Actual behavior

The video loads for a split second then a crash page shows up

Screenshots/Recordings

No response

Logs

Exception

java.lang.SecurityException: org.polymorphicshade.tubular from uid 10452 not allowed to perform TAKE_AUDIO_FOCUS
    at android.os.Parcel.createExceptionOrNull(Parcel.java:3069)
    at android.os.Parcel.createException(Parcel.java:3053)
    at android.os.Parcel.readException(Parcel.java:3036)
    at android.os.Parcel.readException(Parcel.java:2978)
    at android.media.IAudioService$Stub$Proxy.requestAudioFocus(IAudioService.java:6139)
    at android.media.AudioManager.requestAudioFocus(AudioManager.java:4855)
    at android.media.AudioManager.requestAudioFocus(AudioManager.java:4574)
    at androidx.media.AudioManagerCompat$Api26Impl.requestAudioFocus(AudioManagerCompat.java:200)
    at androidx.media.AudioManagerCompat.requestAudioFocus(AudioManagerCompat.java:94)
    at org.schabi.newpipe.player.helper.AudioReactor.requestAudioFocus(AudioReactor.java:61)
    at org.schabi.newpipe.player.Player.onPrepared(Player.java:1236)
    at org.schabi.newpipe.player.Player.updatePlaybackState(Player.java:1146)
    at org.schabi.newpipe.player.Player.onPlaybackStateChanged(Player.java:1117)
    at com.google.android.exoplayer2.ExoPlayerImpl.lambda$updatePlaybackInfo$21(ExoPlayerImpl.java:1986)
    at com.google.android.exoplayer2.ExoPlayerImpl.$r8$lambda$JMZYE8BS5JrcRcMWt4XwV6R1ihc(ExoPlayerImpl.java:0)
    at com.google.android.exoplayer2.ExoPlayerImpl$$ExternalSyntheticLambda28.invoke(R8$$SyntheticClass:0)
    at com.google.android.exoplayer2.util.ListenerSet$ListenerHolder.invoke(ListenerSet.java:330)
    at com.google.android.exoplayer2.util.ListenerSet.lambda$queueEvent$0(ListenerSet.java:214)
    at com.google.android.exoplayer2.util.ListenerSet.$r8$lambda$NbKDn9xtItiyMgYZmjIx_Sv1FFQ(ListenerSet.java:0)
    at com.google.android.exoplayer2.util.ListenerSet$$ExternalSyntheticLambda1.run(R8$$SyntheticClass:0)
    at com.google.android.exoplayer2.util.ListenerSet.flushEvents(ListenerSet.java:236)
    at com.google.android.exoplayer2.ExoPlayerImpl.updatePlaybackInfo(ExoPlayerImpl.java:2017)
    at com.google.android.exoplayer2.ExoPlayerImpl.handlePlaybackInfo(ExoPlayerImpl.java:1845)
    at com.google.android.exoplayer2.ExoPlayerImpl.lambda$new$1(ExoPlayerImpl.java:313)
    at com.google.android.exoplayer2.ExoPlayerImpl.$r8$lambda$nOBJYkeEQ2uz3sBKLToLWmzrgZk(ExoPlayerImpl.java:0)
    at com.google.android.exoplayer2.ExoPlayerImpl$$ExternalSyntheticLambda5.run(R8$$SyntheticClass:0)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8918)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: android.os.RemoteException: Remote stack trace:
    at android.app.AppOpsManager.noteOp(AppOpsManager.java:8465)
    at com.android.server.audio.MediaFocusControl.requestAudioFocus(MediaFocusControl.java:1111)
    at com.android.server.audio.AudioService.requestAudioFocus(AudioService.java:10979)
    at android.media.IAudioService$Stub.onTransact$requestAudioFocus$(IAudioService.java:9980)
    at android.media.IAudioService$Stub.onTransact(IAudioService.java:2975)


Affected Android/Custom ROM version

Android 14

Affected device model

Samsung Galaxy S24 (tmo)

Additional information

No response

polymorphicshade commented 5 months ago

This seems like a permissions issue. Do you get this same behavior with vanilla NewPipe?

millionsofplayers commented 5 months ago

No

GreenMystic commented 5 months ago

confirmed i get same experience in Tubular 0.27.0

however I didn't try vanilla though

Exception

com.google.android.exoplayer2.ExoPlaybackException: Source error
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:644)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:223)
    at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: failed to connect to rr6---sn-2uuxa3vh-n0ck.googlevideo.com/36.92.231.81 (port 443) from /192.168.100.244 (port 45048) after 8000ms
    at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.open(YoutubeHttpDataSource.java:389)
    at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:263)
    at com.google.android.exoplayer2.upstream.TeeDataSource.open(TeeDataSource.java:52)
    at com.google.android.exoplayer2.upstream.cache.CacheDataSource.openNextSource(CacheDataSource.java:796)
    at com.google.android.exoplayer2.upstream.cache.CacheDataSource.open(CacheDataSource.java:609)
    at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84)
    at com.google.android.exoplayer2.source.chunk.ContainerMediaChunk.load(ContainerMediaChunk.java:124)
    at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
    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:923)
Caused by: java.net.SocketTimeoutException: failed to connect to rr6---sn-2uuxa3vh-n0ck.googlevideo.com/36.92.231.81 (port 443) from /192.168.100.244 (port 45048) after 8000ms
    at libcore.io.IoBridge.connectErrno(IoBridge.java:190)
    at libcore.io.IoBridge.connect(IoBridge.java:134)
    at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
    at java.net.Socket.connect(Socket.java:621)
    at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
    at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
    at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
    at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
    at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
    at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
    at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
    at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
    at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
    at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
    at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.makeConnection(YoutubeHttpDataSource.java:704)
    at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.makeConnection(YoutubeHttpDataSource.java:548)
    at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.open(YoutubeHttpDataSource.java:383)
    ... 10 more


polymorphicshade commented 5 months ago

@GreenArchiveForever can you try in vanilla NewPipe? These different crash logs indicate the problem isn't specific to my fork, but I'm not sure yet.

GreenMystic commented 5 months ago

@GreenArchiveForever can you try in vanilla NewPipe? These different crash logs indicate the problem isn't specific to my fork, but I'm not sure yet.

I'm on vanilla 0.27.0 with stock or default setting currently didn't found any crash

millionsofplayers commented 5 months ago

It was the shizutools multi audio thing