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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[expo-av] repeatedly seeking/skipping causes app to freeze. #7019

Closed
schumannd opened this issue Feb 11, 2020 · 16 comments
Closed

[expo-av] repeatedly seeking/skipping causes app to freeze. #7019

schumannd opened this issue Feb 11, 2020 · 16 comments

Comments

@schumannd
Copy link

schumannd commented Feb 11, 2020

馃悰 Bug Report

Environment

Using expo-av with an ejected app

Steps to Reproduce

  1. Implement a standard +-15 second seek function for an audio player.
  2. seek forward very fast (5-10 taps p sec) in a 5 min audio file. The app will freeze up after about 20 taps. The music keeps playing but the UI stays unresponsive.

Expected Behavior

ui shouldn't freeze up. On iOS a bunch of "Error: Seeking interrupted." errors are thrown, which can be caught and ignored.

Actual Behavior

App freezes irrecoverably on android. On iOS it does not freeze.

@schumannd schumannd added the bug label Feb 11, 2020
@cruzach
Copy link
Contributor

cruzach commented Feb 11, 2020

Is this only happening on iOS? Can you provide a link to a repro for this? It would also help to know if this is ejected to bare, or to Expokit

@cruzach cruzach added AV needs repro needs more info To be used when awaiting reporter response labels Feb 11, 2020
@schumannd
Copy link
Author

@cruzach it is ejected. And it only seizes up completely on android. On iOS it simply lags a bit, but that seems usable.

@schumannd
Copy link
Author

schumannd commented Feb 12, 2020

I tested it in a release build and the error does not occur there. I won't take the time to build a repro then, as its not critical. So I will close this issue, as it only occurs on debug builds.

@schumannd
Copy link
Author

Actually I will leave it open, as this issue does make debugging the app much more difficult. Feel free to close, if it is realistically not going to be fixed, or seen as an issue of the android debug mode.

@schumannd schumannd reopened this Feb 12, 2020
@cruzach
Copy link
Contributor

cruzach commented Feb 12, 2020

it is ejected

when you ran expo eject, did you select bare or expokit? Issues without reproducible demos usually aren't made a major priority to fix

@schumannd
Copy link
Author

We ejected around 2 years ago, so I don't know.
Can someone confirm, that repeatedly seeking in debug mode is not broken on android?

@cruzach
Copy link
Contributor

cruzach commented Feb 14, 2020

If you ejected 2 years ago, that's Expokit

What SDK are you using? What version of expo-av? Filling out the full bug report template would help get this solved much more quickly

@schumannd
Copy link
Author

We are not using the expo CLI. A list of version numbers required in the bug report template would be more informative than "run expo diagnostics".

we are using:
RN 0.61.4
expo-av: 8.0.0

@schumannd schumannd changed the title [expo-av] repeatedly seeking breaks causes app to freeze up. [expo-av] repeatedly seeking causes app to freeze up in debug mode. Feb 17, 2020
@cruzach
Copy link
Contributor

cruzach commented Feb 18, 2020

Hm okay if you're not using expo-cli at all, then you can't be using Expokit 馃
I'll try to repro this in a bare workflow project then

@pedro-lb
Copy link

pedro-lb commented Mar 5, 2020

Hey guys!

We're having the same issue on Android!

Our setup is:

App ejected, ExpoKit.

expo: 36.0.0
expo-av: 8.0.0

@pr0da
Copy link

pr0da commented Apr 8, 2020

Hey!

We have a similar issue in a managed workflow, tested on 36/37, android, not related to dev mode.
Snack to reproduce: just smash the "Fast Forward" button like a lunatic. Result: play/pause stop working.

I think it depends on the size of the offset too. I was unable to reproduce it with a small position change (eg. 10sec offset), but it definitely reproducible with a larger position change (eg. 60sec).

Edit:
Also it seems preventing the setPositionAsync() calls if isBuffering===true kinda solves it. So this might be related to buffering, I guess.

@schumannd schumannd changed the title [expo-av] repeatedly seeking causes app to freeze up in debug mode. [expo-av] repeatedly seeking/skipping causes app to freeze. Apr 8, 2020
@cruzach cruzach removed Bare Workflow needs repro needs more info To be used when awaiting reporter response labels Apr 8, 2020
@oleg-zgolich
Copy link

oleg-zgolich commented Apr 22, 2020

@mczernek @bbarthec how I'm loading 90 mb video on Adnroid - app chashes when I seek forward. It's crashes only when I use external source, if I load a video to app - it works perfect.

@jamsch
Copy link
Contributor

jamsch commented Apr 25, 2020

Should hopefully be fixed in this pull for Android -- #7193

@IjzerenHein IjzerenHein self-assigned this Jul 24, 2020
@IjzerenHein
Copy link
Contributor

Hi! I've verified this problem and can confirm it was indeed fixed in #7193. This particular problem was fixed in SDK 38 and has been shipped in the latest Expo client.

I'm therefore going to close this issue. Feel free to re-open with additional reproduction steps if the problem this persists.

@IjzerenHein IjzerenHein removed their assignment Aug 6, 2020
@jnagar-healthlucid
Copy link

[Unhandled promise rejection: Error: Seeking interrupted.]
at node_modules/react-native/Libraries/BatchedBridge/NativeModules.js:104:50 in promiseMethodWrapper
at node_modules/expo-modules-core/build/NativeModulesProxy.native.js:15:23 in moduleName.methodInfo.name
at node_modules/expo-av/build/Audio/Sound.js:147:20 in setStatusAsync
at node_modules/expo-av/build/Audio/Sound.js:38:4 in _performOperationAndHandleStatusAsync
at node_modules/expo-av/build/Audio/Sound.js:38:4 in _performOperationAndHandleStatusAsync
at node_modules/expo-av/build/Audio/Sound.js:146:8 in setStatusAsync
at http://192.168.1.2:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false:208224:41 in setStatusAsync
at node_modules/expo-av/build/AV.js:141:60 in PlaybackMixin.setPositionAsync
at node_modules/expo-av/build/AV.js:141:60 in PlaybackMixin.setPositionAsync
at http://192.168.1.2:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false:207564:7 in setPositionAsync

@jnagar-healthlucid
Copy link

I am getting this only in iOS, Here is the result of npx expo-env-info

expo-env-info 1.0.3 environment info:
System:
OS: macOS 12.4
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 12.22.1 - ~/.nvm/versions/node/v12.22.1/bin/node
Yarn: 1.22.18 - ~/.nvm/versions/node/v12.22.1/bin/yarn
npm: 6.14.12 - ~/.nvm/versions/node/v12.22.1/bin/npm
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
IDEs:
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
npmPackages:
expo: ^43.0.0 => 43.0.5
react: 17.0.1 => 17.0.1
react-dom: 17.0.1 => 17.0.1
react-native: https://github.com/expo/react-native/archive/sdk-43.0.0.tar.gz => 0.64.2
react-navigation: ^4.3.9 => 4.4.4
npmGlobalPackages:
eas-cli: 0.52.0
expo-cli: 5.4.7
Expo Workflow: managed

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

No branches or pull requests

10 participants