Open itshiroto opened 7 years ago
It's impossible to tell what's going on without some logs. I'm assuming the songs play fine in other players?
App version | 0.15.0 |
App version code | 132 |
Android build version | V8.0.5.0.0.MBFCNDG |
Android release version | 6.0 |
Android SDK version | 23 |
Android build ID | MRA58K |
Device brand | Xiaomi |
Device manufacturer | Xiaomi |
Device name | nikel |
Device model | Redmi Note 4 |
Device product name | nikel |
Device hardware name | mt6797 |
ABIs | [arm64-v8a, armeabi-v7a, armeabi] |
ABIs (32bit) | [armeabi-v7a, armeabi] |
ABIs (64bit) | [arm64-v8a] |
i don't know how to use logcat so i just put this to here
I'm having probably exactly the same problem on probably the same device (coincidences huh), which was flashed an nearly vanilla AOSP 6.0 rom. The exact problem I'm encountering is, Phonograph randomly entered a state, in which it prompts "couldn't play this song" for every single audio file (including MP3s and FLACs) opened either in-app or from external file explorer, and displays the default placeholder image instead of embedded cover arts (however, it reads other embedded information like artists correctly). Storage permission is doublechecked to be granted. File is in internal storage. Other music apps plays without any problem. Clearing data & uninstalling won't do any good. However after several weeks I could find it working again. I "tweak" (in the bad way) the phone a lot, so it might also be the cause. But I coudn't figure out this myself, so I'll just paste the verbose logcat output of tapping the play button below:
11-01 22:40:25.414 16969-16969/com.kabouzeid.gramophone D/SettingsInterface: from settings cache , name = sound_effects_enabled , value = 0
11-01 22:40:25.418 16969-17020/com.kabouzeid.gramophone D/ActivityThread: holder:android.app.IActivityManager$ContentProviderHolder@90e199d, holder.provider:android.content.ContentProviderProxy@33cee12
11-01 22:40:25.434 16969-16969/com.kabouzeid.gramophone V/GenericRequest: Got onSizeReady in 0.028846 this: 90638819
11-01 22:40:25.434 16969-16969/com.kabouzeid.gramophone V/GenericRequest: finished setup for calling load in 0.300616 this: 90638819
11-01 22:40:25.434 16969-16969/com.kabouzeid.gramophone V/Engine: Started new load in 0.153615ms, key: EngineKey{content://media/external/audio/albumart/614+com.bumptech.glide.signature.MediaStoreSignature@e328689f+[384x384]+''+'ImageVideoBitmapDecoder.com.bumptech.glide.load.resource.bitmap'+''+'BitmapEncoder.com.bumptech.glide.load.resource.bitmap'+'BitmapPaletteTranscoder.com.kabouzeid.gramophone.glide.palette'+''}
11-01 22:40:25.434 16969-16969/com.kabouzeid.gramophone V/GenericRequest: finished onSizeReady in 0.681616 this: 90638819
11-01 22:40:25.434 16969-16969/com.kabouzeid.gramophone V/GenericRequest: finished run method in 0.7356929999999999 this: 90638819
11-01 22:40:25.434 16969-17020/com.kabouzeid.gramophone D/SQLiteDatabase: beginTransaction()
11-01 22:40:25.435 16969-17020/com.kabouzeid.gramophone V/SQLiteStatements: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "BEGIN EXCLUSIVE;"
11-01 22:40:25.436 16969-17020/com.kabouzeid.gramophone V/SQLiteTime: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "BEGIN EXCLUSIVE;" took 1.000 ms
11-01 22:40:25.436 16969-17020/com.kabouzeid.gramophone V/SQLiteStatements: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "DELETE FROM recent_history WHERE song_id = '34301'"
11-01 22:40:25.437 16969-17020/com.kabouzeid.gramophone V/SQLiteTime: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "DELETE FROM recent_history WHERE song_id = ?" took 1.000 ms
11-01 22:40:25.437 16969-17020/com.kabouzeid.gramophone V/SQLiteStatements: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "INSERT INTO recent_history(time_played,song_id) VALUES (1509547225437,34301)"
11-01 22:40:25.438 16969-17020/com.kabouzeid.gramophone V/SQLiteTime: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "INSERT INTO recent_history(time_played,song_id) VALUES (?,?)" took 1.000 ms
11-01 22:40:25.439 16969-17020/com.kabouzeid.gramophone V/SQLiteCursor: Cursor open object=175411168
java.lang.Throwable: stacktrace
at android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:117)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:50)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1346)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1193)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1064)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1232)
at com.kabouzeid.gramophone.provider.HistoryStore.addSongId(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService.handleChangeInternal(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService.handleAndSendChangeInternal(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService.notifyChange(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService.openTrackAndPrepareNextAt(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService.playSongAtImpl(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService.access$1200(Unknown Source)
at com.kabouzeid.gramophone.service.MusicService$PlaybackHandler.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.os.HandlerThread.run(HandlerThread.java:61)
11-01 22:40:25.440 16969-17020/com.kabouzeid.gramophone I/CursorWindowStats: Created a new Cursor. # Open Cursors=1 (# cursors opened by this proc=1)
11-01 22:40:25.440 16969-17020/com.kabouzeid.gramophone V/SQLiteStatements: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "SELECT time_played FROM recent_history ORDER BY time_played ASC"
11-01 22:40:25.440 16969-17020/com.kabouzeid.gramophone V/SQLiteTime: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "SELECT time_played FROM recent_history ORDER BY time_played ASC" took 0.000 ms
11-01 22:40:25.440 16969-17020/com.kabouzeid.gramophone D/SQLiteCursor: received count(*) from native_fill_window: 100
11-01 22:40:25.440 16969-17020/com.kabouzeid.gramophone V/SQLiteCursor: Cursor close object=175411168
11-01 22:40:25.440 16969-17020/com.kabouzeid.gramophone D/SQLiteDatabase: endTransaction()
11-01 22:40:25.441 16969-17020/com.kabouzeid.gramophone V/SQLiteStatements: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "COMMIT;"
11-01 22:40:25.447 16969-17020/com.kabouzeid.gramophone V/SQLiteTime: /data/user/0/com.kabouzeid.gramophone/databases/history.db: "COMMIT;" took 6.000 ms
11-01 22:40:25.448 16969-17053/com.kabouzeid.gramophone V/ProviderLeakDetecter: Cursor Open:246919833 Total Opened Cursor Count:1.
11-01 22:40:25.461 16969-17053/com.kabouzeid.gramophone V/ProviderLeakDetecter: Cursor Close:246919833 Total Opened Cursor Count:0.
11-01 22:40:25.468 16969-17020/com.kabouzeid.gramophone D/WindowClient: Add to mViews: android.widget.LinearLayout{ac2ca0c V.E...... ......I. 0,0-0,0}, this = android.view.WindowManagerGlobal@ffb99be
11-01 22:40:25.471 16969-17018/com.kabouzeid.gramophone D/OpenGLRenderer: CanvasContext() 0x7f6e838800
11-01 22:40:25.472 16969-17020/com.kabouzeid.gramophone D/ViewRootImpl: hardware acceleration is enabled, this = ViewRoot{28fb636 Toast,ident = 12}
11-01 22:40:25.509 16969-17070/com.kabouzeid.gramophone V/ProviderLeakDetecter: Cursor Open:75053367 Total Opened Cursor Count:1.
11-01 22:40:25.535 16969-17020/com.kabouzeid.gramophone D/Surface: Surface::allocateBuffers(this=0x7f3f884a00)
11-01 22:40:25.535 16969-17018/com.kabouzeid.gramophone D/OpenGLRenderer: CanvasContext() 0x7f6e838800 initialize window=0x7f3f884a10, title=Toast
11-01 22:40:25.535 16969-17018/com.kabouzeid.gramophone D/Surface: Surface::connect(this=0x7f3f884a00,api=1)
11-01 22:40:25.537 16969-17018/com.kabouzeid.gramophone W/libEGL: [ANDROID_RECORDABLE] format: 1
11-01 22:40:25.539 16969-17018/com.kabouzeid.gramophone D/mali_winsys: new_window_surface returns 0x3000
11-01 22:40:25.539 16969-17070/com.kabouzeid.gramophone V/ProviderLeakDetecter: Cursor Close:75053367 Total Opened Cursor Count:0.
11-01 22:40:25.557 16969-17018/com.kabouzeid.gramophone I/[MALI][Gralloc]: [+]r_hnd(0x7f5bca5a00), client(38), share_fd(77)
11-01 22:40:25.557 16969-17018/com.kabouzeid.gramophone D/GraphicBuffer: register, handle(0x7f5bca5a00) (w:534 h:132 s:544 f:0x1 u:0x000b00)
11-01 22:40:25.564 16969-17018/com.kabouzeid.gramophone I/[MALI][Gralloc]: [+]r_hnd(0x7f5bc69b40), client(38), share_fd(80)
11-01 22:40:25.564 16969-17018/com.kabouzeid.gramophone D/GraphicBuffer: register, handle(0x7f5bc69b40) (w:534 h:132 s:544 f:0x1 u:0x000b00)
11-01 22:40:25.565 16969-17053/com.kabouzeid.gramophone V/IVML: Exception fetching input stream, trying ParcelFileDescriptor
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
at android.content.ContentResolver.checkLeakDetectIgnoreList(ContentResolver.java:2695)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1178)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:958)
at android.content.ContentResolver.openInputStream(ContentResolver.java:678)
at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResourceFromUri(Unknown Source)
at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.StreamLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.LocalUriFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.data.MediaStoreThumbFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.data.MediaStoreThumbFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeSource(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decode(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(Unknown Source)
11-01 22:40:25.602 16969-17070/com.kabouzeid.gramophone V/ProviderLeakDetecter: Cursor Open:253637075 Total Opened Cursor Count:1.
11-01 22:40:25.607 16969-17070/com.kabouzeid.gramophone V/ProviderLeakDetecter: Cursor Close:253637075 Total Opened Cursor Count:0.
11-01 22:40:25.615 16969-17053/com.kabouzeid.gramophone V/IVML: Exception fetching ParcelFileDescriptor
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
at android.content.ContentResolver.checkLeakDetectIgnoreList(ContentResolver.java:2695)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1178)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:958)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:881)
at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.LocalUriFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeSource(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decode(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(Unknown Source)
11-01 22:40:25.616 16969-17053/com.kabouzeid.gramophone V/EngineRunnable: Exception decoding
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
at android.content.ContentResolver.checkLeakDetectIgnoreList(ContentResolver.java:2695)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1178)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:958)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:881)
at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.LocalUriFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeSource(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decode(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(Unknown Source)
11-01 22:40:25.628 16969-16969/com.kabouzeid.gramophone D/GenericRequest: load failed
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
at android.content.ContentResolver.checkLeakDetectIgnoreList(ContentResolver.java:2695)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1178)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:958)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:881)
at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.FileDescriptorLocalUriFetcher.loadResource(Unknown Source)
at com.bumptech.glide.load.data.LocalUriFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeSource(Unknown Source)
at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.decode(Unknown Source)
at com.bumptech.glide.load.engine.EngineRunnable.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(Unknown Source)
11-01 22:40:25.666 16969-16980/com.kabouzeid.gramophone I/System: FinalizerDaemon: finalize objects = 1763
11-01 22:40:27.469 16969-17018/com.kabouzeid.gramophone D/Surface: Surface::disconnect(this=0x7f3f884a00,api=1)
11-01 22:40:27.471 16969-17018/com.kabouzeid.gramophone D/GraphicBuffer: unregister, handle(0x7f5bca5a00) (w:534 h:132 s:544 f:0x1 u:0x000b00)
11-01 22:40:27.471 16969-17018/com.kabouzeid.gramophone I/[MALI][Gralloc]: [-]r_hnd(0x7f5bca5a00), client(38), share_fd(77)
11-01 22:40:27.471 16969-17018/com.kabouzeid.gramophone E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f5bc69b40
11-01 22:40:27.471 16969-17018/com.kabouzeid.gramophone D/mali_winsys: [MALI] win=0x3f884a10, native_buffer=0x6a2af410, fd=-1
11-01 22:40:27.471 16969-17018/com.kabouzeid.gramophone D/GraphicBuffer: unregister, handle(0x7f5bc69b40) (w:534 h:132 s:544 f:0x1 u:0x000b00)
11-01 22:40:27.472 16969-17018/com.kabouzeid.gramophone I/[MALI][Gralloc]: [-]r_hnd(0x7f5bc69b40), client(38), share_fd(80)
11-01 22:40:27.472 16969-17018/com.kabouzeid.gramophone D/Surface: Surface::disconnect(this=0x7f3f884a00,api=1)
11-01 22:40:27.480 16969-17020/com.kabouzeid.gramophone D/WindowClient: Remove from mViews: android.widget.LinearLayout{ac2ca0c V.E...... ........ 0,0-534,132}, this = android.view.WindowManagerGlobal@ffb99be
I'm not sure if that log was enough, so inform me if more details are needed.
Did you find a solution for this stacktrace? I have the same problem but with another app.. This error message is pretty useless somehow.
any update on this?
Clearing the storage for Media Storage, Restarting the phone, and clearing the storage of Phonograph seemed to fix the issue for me
Phonograph can't play any songs that i have in my phone. My music files are in the internal memory, not in the sd card. I already gave permissions to this app.