[Bug report] Music player stops playing music from sd after some time

Red_Vex

Senior Member
Jan 20, 2011
640
62
0
Really depends on if the overflow is one of Samsung's bugs in the kernel (which would be strange since their own devices seem to work OK)

My next thing to look at (likely not until next week) is to pull in new modem drivers, since people claim this issue disappears on dorimanx' kernel.
So file operation with dori go fine?
 

FrodgE

Senior Member
Aug 27, 2010
67
58
0
Melbourne
Really depends on if the overflow is one of Samsung's bugs in the kernel (which would be strange since their own devices seem to work OK)

My next thing to look at (likely not until next week) is to pull in new modem drivers, since people claim this issue disappears on dorimanx' kernel.
What's the likelihood Samsung build & deploy DEBUG builds rather than release builds ? I'm not up to speed (yet) on the options that get passed to the compiler etc but I'm thinking along the lines of variable initialisation & array padding, and perhaps to a lesser extent optimisations. (speaking from MS experience rather than Linux, I assume the same applies)

From what I've read I was of the impression that NONE of the various ROM's or kernels available have "fixed" this issue. Personally I've tried Dorimanx & Gustavo and both still exhibit this behaviour.
 

Red_Vex

Senior Member
Jan 20, 2011
640
62
0
Just to know... If hangs of fuse daemon is caused by buffer overflow Why problem didnt occour with exFat? Buffer overflow is indipendent from fs in this case right?
 

j1gga84

Senior Member
Jun 21, 2012
4,584
2,719
253
Bremen
www.android-hilfe.de
I am on latest @dorimanx beta (v107) and I have absolutely no issues with fuse daemon.
Dorimanx kernel had issues in the past but since last releases they seem to be gone but I can only talk for me.
I can transfer 1gb of music between internal and external SD without a problem. Also thumbnails load as they should (a bit slowly but they load). BTW I have also no problems with @Gustavo_s kernel.

Regards

Sent from my GT-I9100 using german Tapatalk 4
 

lerkin

Senior Member
Jan 4, 2011
1,125
375
0
msk
I am on latest @dorimanx beta (v107) and I have absolutely no issues with fuse daemon.
Dorimanx kernel had issues in the past but since last releases they seem to be gone but I can only talk for me.
I can transfer 1gb of music between internal and external SD without a problem. Also thumbnails load as they should (a bit slowly but they load). BTW I have also no problems with @Gustavo_s kernel.

Regards

Sent from my GT-I9100 using german Tapatalk 4
Tested 107, no luck, dead end.

Sent from my GT-I9100 using Tapatalk
 

Red_Vex

Senior Member
Jan 20, 2011
640
62
0
I am on latest @dorimanx beta (v107) and I have absolutely no issues with fuse daemon.
Dorimanx kernel had issues in the past but since last releases they seem to be gone but I can only talk for me.
I can transfer 1gb of music between internal and external SD without a problem. Also thumbnails load as they should (a bit slowly but they load). BTW I have also no problems with @Gustavo_s kernel.

Regards

Sent from my GT-I9100 using german Tapatalk 4
Your ext sd is exFat?
 

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
Just to know... If hangs of fuse daemon is caused by buffer overflow Why problem didnt occour with exFat? Buffer overflow is indipendent from fs in this case right?
I don't think it's a buffer overflow.

If it were, then cgx's tricks for forcing those variables to be in memory instead of registers would have made things worse, not better.

Seems like some sort of issue with restoring state after an interrupt, but it's still really just a guess. It's likely timing related and using exfat as an underlying filesystem changes the timing (or alters the behavior of pread64() in other ways).

All we know is:
A function sets up a few variables
Then that function calls the pread64() syscall (which reads data from the underlying filesystem - so changing to exfat is going to fundamentally change how this call does its thing)
When pread64() returns, some of the variables in the function that called it have been corrupted - even though in any sane system there is no way for that to happen. (In a properly working system/compiler, if you never pass a variable to a function it should NEVER be touched. Even if you pass a variable to a function, if you didn't pass it via a pointer, it shouldn't be touched.)

That's what makes this so difficult to debug - we know why the problem is happening, we know exactly which function is causing the problem, except *there should not be any way that function can cause this kind of problem* (and we can't replace the function with something else... reading data from the underlying filesystem is pretty damn important.)
 

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,095
25,085
0
Owego, NY
So i suppose that replace that function with an old jb one that works correctly is impossible right?
It's a kernel function that hasn't changed in years. Why it causes corruption in the fuse sdcard daemon but not other stuff is not yet known... I'm honestly surprised this isn't screwing up other stuff too.
 

bleggy

Senior Member
Jan 2, 2013
311
105
0
does cgx's script need to be flashed after flashing an update or custom kernel? dumb question, sorry.

Sent from my SGH-I777 using XDA Premium 4 mobile app
 

Twiq

Senior Member
Mar 15, 2012
1,192
1,414
0
Bandung - Jakarta
does cgx's script need to be flashed after flashing an update or custom kernel? dumb question, sorry.

Sent from my SGH-I777 using XDA Premium 4 mobile app
Not necessary if the update doesn't replace /system/bin/sdcard. Most custom kernel doesn't touch /system/bin. But rom upgrade replaces them.
If the developer hasn't implement cgx's patches to the rom then you may reflash the script, but if they already implement it then there's no need to flash it again

Running 0416 Sabered SlimKat | DorimanX 10.43v108
 
  • Like
Reactions: bleggy

Red_Vex

Senior Member
Jan 20, 2011
640
62
0
I try cm11 with and without workaround of cgx and try to restore from tb.
Hangs in both case even if with cgx workaround take a bit more.
 

NaminatoR1254jaime.sier

Senior Member
May 3, 2011
341
62
0
I try cm11 with and without workaround of cgx and try to restore from tb.
Hangs in both case even if with cgx workaround take a bit more.
Did you update Superuser Binaries before trying to restore with TB?
I had the same issue months ago and I it always hanged.

I learnt that
1- You need to have the binaries updated
- Download Superuser app from Playstore and update binary.

2- Keep the screen on.
- Everytime I "locked" the phone, it'd hang.

Now I restore my backups while charging (yeah, bad thing, I know) and leave the screen on.
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone