Comments (8)
My theory @foss- is that this is a weird race condition, that I either start music loading/playback after Android OK's the service to go foreground and all is well, or before and it fails, but I have zero clue how it's happening since the lifecycle didn't meaningfully change. Maybe there's something dumb and fiddly that Android does with MediaBrowserServices in particular (started using that in 3.5.0), that would make sense since it's insane behavior and undocumented.
from auxio.
Okay. I'll try to investigate this. The weird part is that I've not changed really anything, so it's OEMs doing weird stuff.
from auxio.
Then the change causing the crashes was by Google. ArrowOS is currently stale and has not seen an update since several months.
from auxio.
What I find surprising, that this does not seem to affect many users. For me Auxio is bearly unusable in 3.5.2. I see frequent crashes. What does seem to reliably trigger a crash is when using the shuffle button.
After a crash I am greeted with the Retry | More dialog.
from auxio.
@foss- Is the app in background state when this issue occurs? I probably suspect that is the case, because the above error you highlighted is caused due to starting a foreground service from background(which is not permissible on Android 12 and above)
from auxio.
I don't think the app is in the background when it crashes. I closed the app and open it, press shuffle and a track starts playing. I press shuffle 2 or 3 times more and Auxio crashes with
android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service org.oxycblt.auxio/.AuxioService
at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
at android.os.Parcel.readParcelableInternal(Parcel.java:4816)
at android.os.Parcel.readParcelable(Parcel.java:4778)
at android.os.Parcel.createExceptionOrNull(Parcel.java:3006)
at android.os.Parcel.createException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2978)
at android.os.Parcel.readException(Parcel.java:2920)
at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:6114)
at android.app.Service.startForeground(Service.java:743)
at org.oxycblt.auxio.AuxioService.updateForeground(SourceFile:232)
at org.oxycblt.auxio.music.service.IndexerServiceFragment.onIndexingStateChanged(SourceFile:9)
at org.oxycblt.auxio.music.MusicRepositoryImpl.emitIndexingProgress(Unknown Source:94)
at org.oxycblt.auxio.music.MusicRepositoryImpl$emitIndexingProgress$1.invokeSuspend(SourceFile:13)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
at kotlinx.coroutines.DispatchedTask.run(Unknown Source:94)
at androidx.core.app.ActivityRecreator$1.run(SourceFile:40)
at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(SourceFile:92)
The app was not closed or in background during the test.
from auxio.
Related Issues (20)
- One music makes the app crash. HOT 6
- MUSIC LOADING FAILED HOT 7
- Auxio Android Auto Support HOT 1
- Playlist from home screen HOT 1
- Widget don't load if album cover image is square (1:1) HOT 44
- Small split-screen UI mode HOT 6
- MIDI support HOT 1
- Missing bottom margin of player in landscape mode HOT 4
- [UX] Scroll bar for playlists, albums, artists, genres HOT 2
- Unable to load music from folder HOT 1
- Wrong "Now playing" state HOT 1
- Artist and albums splitting for no reason. HOT 1
- Chosing a music folder error HOT 2
- Change non-repeat icon in music player notification HOT 3
- Quickly moving queue items breaks queue display HOT 4
- Exclude / Include Music folders does not work HOT 5
- [Feature] Sort by "random" option HOT 1
- Propose playlist filename as playlist name when importing playlist HOT 1
- Extreme lag on 3.5.0 HOT 30
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from auxio.