NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

Player crashes after 3 minutes while screen off

Open 1Olegna opened this issue 3 years ago • 4 comments

Checklist

  • [X] I am able to reproduce the bug with the latest version.
  • [X] I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • [X] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • [X] This issue contains only one bug.
  • [X] I have read and understood the contribution guidelines.

Affected version

0.23.1

Steps to reproduce the bug

  1. Play video/audio with screen off.
  2. After 3 minutes the video crashes forcing me to unlock screen in order for video/music to start playing again.

Expected behavior

Video continues to play while screen is off.

Actual behavior

Video crashes after 3 minutes while screen if off. While screen is on there's no issue.

Screenshots/Screen recordings

No response

Logs

Exception

  • User Action: play stream
  • Request: Player error[type=ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT] occurred while playing https://www.youtube.com/watch?v=d5nJqUlvzmE
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US
  • Service: YouTube
  • Version: 0.23.1
  • OS: Linux Android 12 - 31
Crash log

com.google.android.exoplayer2.ExoPlaybackException: Source error
	at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:641)
	at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:613)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: failed to connect to rr1---sn-vgqsknse.googlevideo.com/2607:f8b0:4009:d::6 (port 443) from /fc00:bbbb:bbbb:bb01::2c:4026 (port 48808) after 8000ms
	at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.open(YoutubeHttpDataSource.java:389)
	at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:258)
	at com.google.android.exoplayer2.upstream.TeeDataSource.open(TeeDataSource.java:52)
	at com.google.android.exoplayer2.upstream.cache.CacheDataSource.openNextSource(CacheDataSource.java:786)
	at com.google.android.exoplayer2.upstream.cache.CacheDataSource.open(CacheDataSource.java:599)
	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:920)
Caused by: java.net.SocketTimeoutException: failed to connect to rr1---sn-vgqsknse.googlevideo.com/2607:f8b0:4009:d::6 (port 443) from /fc00:bbbb:bbbb:bb01::2c:4026 (port 48808) after 8000ms
	at libcore.io.IoBridge.connectErrno(IoBridge.java:236)
	at libcore.io.IoBridge.connect(IoBridge.java:180)
	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


Affected Android/Custom ROM version

Android 12/4.1 One UI

Affected device model

Samsung S10 plus

Additional information

Works fine on galaxy s9 plus, android 10/ 2.5 One UI

1Olegna avatar Jul 20 '22 13:07 1Olegna

Are battery optimizations disabled for the Newpipe app? If this doesn't help then it's a problem with the application itself.

SavageTheUnicorn avatar Jul 21 '22 14:07 SavageTheUnicorn

Follow steps at dontkillmyapp.com

lawson85 avatar Jul 21 '22 22:07 lawson85

I replied back via email, but I don't see the replies. Changed settings and rebooted phone. Will follow up later today. Appreciate the help

1Olegna avatar Jul 22 '22 03:07 1Olegna

Same issue after changes were made...

1Olegna avatar Jul 23 '22 02:07 1Olegna

Confirming the bug. But not sure if it was the same as in start post. I had stable crash after few minutes after video playback. Independently on screen turned on or off.

Soultion worked for me on android 4.4 : Settings -> Screen -> Sleep time => set to 30 secs(was 5 mins in my case).

yalexwander avatar Aug 16 '22 21:08 yalexwander

Follow steps at dontkillmyapp.com

According to this website, on Samsung phones, even disabling battery optimizations the phone may still decide to kill the running service.
I tried it on my phone (Samsung Galaxy A53, running OneUI 5.1, Android 13) and even with all battery optimizations disabled I still get a "Network Error" every 2-3 minutes.

I wonder if there's anything NewPipe could do to bypass that

developedby avatar Jun 01 '23 21:06 developedby

I believe I have the same issue. Happens when switching context away from newpipe. Fails after 1 min exactly.

When pressing play in the background, the app seems to be suspended right away and is reloaded upon reopening.

Device is a Samsung S10e.

Crash report from when switching context, after 1 min:

Exception

  • User Action: play stream
  • Request: Player error[type=ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT] occurred while playing https://www.youtube.com/watch?v=Toq9YLl49KM
  • Content Country: DK
  • Content Language: da-DK
  • App Language: da_DK
  • Service: YouTube
  • Version: 0.24.0
  • OS: Linux samsung/beyond0lteeea/beyond0:12/SP1A.210812.016/G970FXXUGHVJ5:user/release-keys 12 - 31
Crash log

com.google.android.exoplayer2.ExoPlaybackException: Source error
	at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:632)
	at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:604)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: failed to connect to rr2---sn-uqj-55gz.googlevideo.com/95.166.96.13 (port 443) from /192.168.1.98 (port 58462) after 8000ms
	at org.schabi.newpipe.player.datasource.YoutubeHttpDataSource.open(YoutubeHttpDataSource.java:389)
	at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:258)
	at com.google.android.exoplayer2.upstream.TeeDataSource.open(TeeDataSource.java:52)
	at com.google.android.exoplayer2.upstream.cache.CacheDataSource.openNextSource(CacheDataSource.java:786)
	at com.google.android.exoplayer2.upstream.cache.CacheDataSource.open(CacheDataSource.java:599)
	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:920)
Caused by: java.net.SocketTimeoutException: failed to connect to rr2---sn-uqj-55gz.googlevideo.com/95.166.96.13 (port 443) from /192.168.1.98 (port 58462) after 8000ms
	at libcore.io.IoBridge.connectErrno(IoBridge.java:236)
	at libcore.io.IoBridge.connect(IoBridge.java:180)
	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


eldahl avatar Jun 20 '23 00:06 eldahl

Just adding my voice to the mix since this doesn't seem to be getting any traction. In my particular case on lineageOS 20 with battery set to unrestricted, I get these network error messages with the screen off, but the app doesn't crash like it used to when I was on an older version of android--it just won't let me play any videos, requiring me to restart newpipe altogether. Switching to a different app for the time being since this has wasted close to a dozen hours within the last year for me and still isn't fixed or addressed.

PaperOrb avatar Aug 28 '23 04:08 PaperOrb

I am interested in fixing this issue, is it possible that this issue can be assigned to me? It seems to be related to the background process. This can possibly be achieved by adding a separate task that always refreshes and shows notification in the menu so that user can confirm its background playing or enable a hidden mini player.

Timothy099qw avatar Oct 09 '23 01:10 Timothy099qw

See https://github.com/TeamNewPipe/NewPipe/issues/5654#issuecomment-1754361499

opusforlife2 avatar Oct 10 '23 04:10 opusforlife2

I guess this is OneUI issue. I was on Lineage, Graphene & now on A14 GSI. Background play never stopped on mine.

foxjaw avatar Nov 07 '23 13:11 foxjaw

Anyone with this issue using Rethink DNS or similiar blocker? I noticed that removing it resolves the NewPipe background play interruption.

I went down this road after trying a few other apps similar to NewPipe and the interruption happend on all of those.

senescence01 avatar Nov 20 '23 10:11 senescence01

Maybe a domain is being blocked that needs to be accessed for continuation, or something.

opusforlife2 avatar Nov 21 '23 01:11 opusforlife2

No issues using Cloudfare on pdnsf.
DOT 1.1.1.1 (853) in both vpnless root mode as well as VPN mode.
Even tried different host files from Steven. Even tested their private DNS one.one.one.one as well as dns.adguard.com in my android network settings. No issues whatsoever.
I think Rethink DNS might be the culprit.

foxjaw avatar Nov 21 '23 02:11 foxjaw

Might be, but also could be my specific filter combination avaliable from Rethink app. I didn't go too deep, just noticed it worked since uninstalling Rethink (I switched to Mullvad dns).

senescence01 avatar Nov 21 '23 15:11 senescence01

I have been using NewPipe on my Samsung M21 since OneUI 2.5 to OneUI 4.1 Android 12(Same as OP) now. I always use background play but never faced any issues like this. Even without removing Background restrictions and with apps like SaverTuner, the app never gave any network error.

invinciblevenom avatar Nov 21 '23 18:11 invinciblevenom

I guess this is OneUI issue. I was on Lineage, Graphene & now on A14 GSI. Background play never stopped on mine.

It's definitely not a OneUI issue else more users would have reported same.

invinciblevenom avatar Nov 21 '23 18:11 invinciblevenom

Try disabling Adaptive battery from Device Care @1Olegna @developedby @eldahl

invinciblevenom avatar Nov 21 '23 18:11 invinciblevenom