FPBug: Meet the very first stable kernel for the Galaxy S2 i9100, S2 AT&T i777, S2 Epic 4G Touch d710 and Note n7000 since Gingerbread days
Every single Android 4.x kernel for these devices has had a serious bug (FPBug) that randomly corrupts the state of processes, starting with Samsungs's stock ICS and JB and spanning every custom kernel out there newer than Gingerbread.
A little bit of history
As Android got more complex, the effects of this bug grew more visible, to the point of making the platform completely unstable for some users. Complex apps would fail for no reason, GSM, 3G and WiFi connectivity would randomly be lost, music playback would stop and require a reboot, camera would fail, internal storage and SD cards would become inaccessible, installed apps would disappear, users would experience battery drain issues ranging from inability to enter deep sleep all the way to phones becoming very hot, and the list goes on and on.
These failures all seemed unrelated and their cause was very hard to track down. Partly because events happened randomly and were not reproducible, but mostly because the bug undermines the very assumptions programmers deal with when creating any kind of code. And so years passed and the common cause of all this pain was never identified. Many ROM developers abandoned the platform out of frustration.
Then finally this past March, when analyzing the random loss of access to storage, user cgx observed a corruption event for the first time, and a connection between all these unrelated issues, sometimes hypothesized, was suddenly found. The corruption seemed to have happened in the stack, but it was later suspected then confirmed that the corruption actually happened directly in the registers of the floating point unit of the CPU.
This allowed the creation of a stopgap fix for the "music bug" that shielded the FUSE process (which manages access to storage) from corruption in the FPU. The fix was widely applied and effectively eliminated all bugs resulting from sudden loss of storage access and returned the platform to pre-Android 4.3 stability levels: ie, sort of stable enough to be used as a daily driver. Later a working detector for the elusive bug was made and it was confirmed that all kernels since Gingerbread were affected (a thing that was already suspected given that the FirefoxOS people had described similar symptoms in 2012 under stock Samsung ICS). Finally enough of a root cause was hypothesized and a fix was worked out. A short description of what the fix does can be found here.
Downloads
You will find kernels for various CyanogenMod releases, M-snapshots and nightlies here. These kernels are guaranteed to work only with the exact matching version of CM specified in the last part of their filenames. But in reality they should work with most versions of CM that are close enough. (Don't ask me about this, I don't know, I don't even have any of these phones! Just try them and see for yourself if you are feeling a little adventurous.) For other ROMs i expect this fix to be merged in a matter of days after some more testing is done. Please be patient, and KitKat users can flash my music bug fix in the meantime.
FAQ
Q. I have flashed your music bug fix in the past. Can I flash your kernel?
A. Yes! The music bug fix has no downsides. In fact, as a side effect, that fix makes your phone slightly faster and saves some battery so it should be merged in all ROMs IMHO. If you already have it installed leave it in place, but do not flash it again the next time you upgrade the OS. Please do not flash it just for the sake of optimization: since it is based on CM11 M10, it would actually be a downgrade.
XDA:DevDB Information
FPBug-i9100, Kernel for the Samsung Galaxy S II
Contributors
Lanchon
Source Code: https://www.androidfilehost.com/?w=files&flid=22853
Kernel Special Features:
Version Information
Status: Testing
Created 2014-12-19
Last Updated 2014-12-19
Every single Android 4.x kernel for these devices has had a serious bug (FPBug) that randomly corrupts the state of processes, starting with Samsungs's stock ICS and JB and spanning every custom kernel out there newer than Gingerbread.
A little bit of history
As Android got more complex, the effects of this bug grew more visible, to the point of making the platform completely unstable for some users. Complex apps would fail for no reason, GSM, 3G and WiFi connectivity would randomly be lost, music playback would stop and require a reboot, camera would fail, internal storage and SD cards would become inaccessible, installed apps would disappear, users would experience battery drain issues ranging from inability to enter deep sleep all the way to phones becoming very hot, and the list goes on and on.
These failures all seemed unrelated and their cause was very hard to track down. Partly because events happened randomly and were not reproducible, but mostly because the bug undermines the very assumptions programmers deal with when creating any kind of code. And so years passed and the common cause of all this pain was never identified. Many ROM developers abandoned the platform out of frustration.
Then finally this past March, when analyzing the random loss of access to storage, user cgx observed a corruption event for the first time, and a connection between all these unrelated issues, sometimes hypothesized, was suddenly found. The corruption seemed to have happened in the stack, but it was later suspected then confirmed that the corruption actually happened directly in the registers of the floating point unit of the CPU.
This allowed the creation of a stopgap fix for the "music bug" that shielded the FUSE process (which manages access to storage) from corruption in the FPU. The fix was widely applied and effectively eliminated all bugs resulting from sudden loss of storage access and returned the platform to pre-Android 4.3 stability levels: ie, sort of stable enough to be used as a daily driver. Later a working detector for the elusive bug was made and it was confirmed that all kernels since Gingerbread were affected (a thing that was already suspected given that the FirefoxOS people had described similar symptoms in 2012 under stock Samsung ICS). Finally enough of a root cause was hypothesized and a fix was worked out. A short description of what the fix does can be found here.
Downloads
You will find kernels for various CyanogenMod releases, M-snapshots and nightlies here. These kernels are guaranteed to work only with the exact matching version of CM specified in the last part of their filenames. But in reality they should work with most versions of CM that are close enough. (Don't ask me about this, I don't know, I don't even have any of these phones! Just try them and see for yourself if you are feeling a little adventurous.) For other ROMs i expect this fix to be merged in a matter of days after some more testing is done. Please be patient, and KitKat users can flash my music bug fix in the meantime.
FAQ
Q. I have flashed your music bug fix in the past. Can I flash your kernel?
A. Yes! The music bug fix has no downsides. In fact, as a side effect, that fix makes your phone slightly faster and saves some battery so it should be merged in all ROMs IMHO. If you already have it installed leave it in place, but do not flash it again the next time you upgrade the OS. Please do not flash it just for the sake of optimization: since it is based on CM11 M10, it would actually be a downgrade.
XDA:DevDB Information
FPBug-i9100, Kernel for the Samsung Galaxy S II
Contributors
Lanchon
Source Code: https://www.androidfilehost.com/?w=files&flid=22853
Kernel Special Features:
Version Information
Status: Testing
Created 2014-12-19
Last Updated 2014-12-19
0 commentaires:
Enregistrer un commentaire