My daily schedule for a work-day looks somewhat like this: Get up, catch the train and read the paper, work, catch the train and watch an episode (currently Stargate SG1), get home, work some more, sleep. (In case you haven't noticed I often use sarcasm - my life isn't actually THAT boring).
Since Monday my schedule is disturbed - I cannot watch Stargate anymore! It all started Monday evening when I launched the "File Explorer" app as always and wanted to launch the video with "MX Player". Instead of instant video play, MX Player was just loading.. and loading.. and loading the video. During that time the phone (Samsung Galaxy S2 I9100) got very hot and I had to force a power off.
My first guess was that I didn't correctly finish the transfer of the video file to the phone but when I tried to play another episode, which I knew worked before, the same happened. So I took a look at the Android internal logs (using the app "Get Logs") and found some weird entries:
06-17 17:52:08.745 D/VoldCmdListener( 1868): volume mount /mnt/emmc
06-17 17:52:08.745 D/DirectVolume( 1868): Checking for bad partition major number
06-17 17:52:08.745 I/Vold ( 1868): /dev/block/vold/179:25 being considered for volume sdcard
06-17 17:52:08.745 D/Vold ( 1868): Volume sdcard state changing 1 (Idle-Unmounted) -> 3 (Checking)
06-17 17:52:08.750 V/WiredAccessoryObserver( 1992): init()
06-17 17:52:08.755 D/MountService( 1992): volume state changed for /mnt/emmc (unmounted -> checking)
06-17 17:52:08.760 D/MountService( 1992): sendStorageIntent Intent { act=android.intent.action.MEDIA_CHECKING dat=file:///mnt/emmc (has extras) }
[...]
06-17 17:52:09.890 I/StorageNotification( 2113): Media {/mnt/emmc} state changed from {unmounted} -> {checking} (primary = false)
[...]
06-17 17:52:10.115 I//system/bin/fsck_msdos( 1868): ** /dev/block/vold/179:25
[...]
06-17 17:52:10.225 I//system/bin/fsck_msdos( 1868): ** Phase 1 - Read and Compare FATs
06-17 17:52:10.235 I//system/bin/fsck_msdos( 1868): Attempting to allocate 1872 KB for FAT
[...]
06-17 17:52:10.945 I//system/bin/fsck_msdos( 1868): Attempting to allocate 1872 KB for FAT
[...]
06-17 17:52:13.420 I//system/bin/fsck_msdos( 1868): ** Phase 2 - Check Cluster Chains
[...]
06-17 17:52:13.780 I//system/bin/fsck_msdos( 1868): ** Phase 3 - Checking Directories
[...]
06-17 17:52:33.250 I//system/bin/fsck_msdos( 1868): 9305 files, 3249472 free (232618 clusters)
[...]
06-17 17:52:33.615 I/Vold ( 1868): Filesystem check completed OK
06-17 17:52:33.625 I/Vold ( 1868): Device /dev/block/vold/179:25, target /mnt/emmc mounted @ /mnt/secure/staging
06-17 17:52:33.630 D/Vold ( 1868): Volume sdcard state changing 3 (Checking) -> 4 (Mounted)
06-17 17:52:33.630 D/MountService( 1992): volume state changed for /mnt/emmc (checking -> mounted)
06-17 17:52:33.630 D/VoldCmdListener( 1868): volume mount /mnt/sdcard
06-17 17:52:33.630 D/DirectVolume( 1868): Checking for bad partition major number
06-17 17:52:33.630 D/DirectVolume( 1868): Found bad partition
06-17 17:52:33.630 E/DirectVolume( 1868): Fixing major number from 179 to 259 for partition 11
06-17 17:52:33.630 I/Vold ( 1868): /dev/block/vold/259:3 being considered for volume emmc
06-17 17:52:33.630 D/Vold ( 1868): Volume emmc state changing 1 (Idle-Unmounted) -> 3 (Checking)
06-17 17:52:33.635 I/StorageNotification( 2113): Media {/mnt/emmc} state changed from {checking} -> {mounted} (primary = false)
06-17 17:52:33.635 D/MountService( 1992): sendStorageIntent Intent { act=android.intent.action.MEDIA_MOUNTED dat=file:///mnt/emmc (has extras) }
06-17 17:52:33.635 D/MountService( 1992): volume state changed for /mnt/sdcard (unmounted -> checking)
06-17 17:52:33.640 D/MountService( 1992): sendStorageIntent Intent { act=android.intent.action.MEDIA_CHECKING dat=file:///mnt/sdcard (has extras) }
06-17 17:52:33.655 I//system/bin/fsck_msdos( 1868): ** /dev/block/vold/259:3
06-17 17:52:33.660 I//system/bin/fsck_msdos( 1868): ** Phase 1 - Read and Compare FATs
06-17 17:52:33.665 I//system/bin/fsck_msdos( 1868): Attempting to allocate 1473 KB for FAT
06-17 17:52:33.665 I/StorageNotification( 2113): Media {/mnt/sdcard} state changed from {unmounted} -> {checking} (primary = true)
[...]
06-17 17:52:33.920 I//system/bin/fsck_msdos( 1868): Attempting to allocate 1473 KB for FAT
06-17 17:52:34.405 I//system/bin/fsck_msdos( 1868): ** Phase 2 - Check Cluster Chains
06-17 17:52:34.435 D/MediaScannerReceiver( 3575): action: android.intent.action.MEDIA_MOUNTED path: /mnt/emmc
[...]
06-17 17:52:35.280 I/k9 ( 3261): storage path "/mnt/emmc" mounted readOnly=true
[...]
06-17 17:52:36.150 I//system/bin/fsck_msdos( 1868): ** Phase 4 - Checking for Lost Files
06-17 17:52:36.165 I//system/bin/fsck_msdos( 1868): Next free cluster in FSInfo block (1262) not free
06-17 17:52:36.165 I//system/bin/fsck_msdos( 1868): FIXED
06-17 17:52:36.165 I//system/bin/fsck_msdos( 1868): 5884 files, 540544 free (147964 clusters)
06-17 17:52:36.235 I/Vold ( 1868): Filesystem check completed OK
06-17 17:52:36.245 I/Vold ( 1868): Device /dev/block/vold/259:3, target /mnt/sdcard mounted @ /mnt/secure/staging
06-17 17:52:36.250 I/PackageManager( 1992): Updating external media status from unmounted to mounted
06-17 17:52:36.250 D/Vold ( 1868): Volume emmc state changing 3 (Checking) -> 4 (Mounted)
06-17 17:52:36.250 D/MountService( 1992): volume state changed for /mnt/sdcard (checking -> mounted)
06-17 17:52:36.250 I/StorageNotification( 2113): Media {/mnt/sdcard} state changed from {checking} -> {mounted} (primary = true)
06-17 17:52:36.255 D/MountService( 1992): sendStorageIntent Intent { act=android.intent.action.MEDIA_MOUNTED dat=file:///mnt/sdcard (has extras) }
06-17 17:52:36.275 D/MediaScannerReceiver( 3575): action: android.intent.action.MEDIA_MOUNTED path: /mnt/sdcard
[...]
06-17 17:52:36.415 I/k9 ( 3261): storage path "/mnt/sdcard" mounted readOnly=true
[...]
06-17 17:52:38.665 E/Vold ( 1868): ASEC mount failed (No such file or directory)
06-17 17:52:38.685 I/PackageHelper( 1992): Failed to mount container com.google.android.apps.unveil-2 rc : -1
06-17 17:52:38.685 E/PackageManager( 1992): Failed to mount cid : com.google.android.apps.unveil-2 when installing from sdcard
The most important entry of all these lines:
06-17 17:52:33.630 D/DirectVolume( 1868): Found bad partition
So something must be terribly wrong with my external SDCard (because the Samsung Galaxy S2 also contains an internal SDCard).
Today - a few days and reboots later - I got the confirmation of data corruption just by opening "File Explorer" again:
The file names became garbled and the files, of course, can still not be opened.
I will now try to boot into Clockworkmod and manually format /dev/emmc and hope this will fix it. But I honestly doubt that. It is likely that the SDCard is definitely grilled.. :-/
I rebooted into Clockworkmod and decided to format /emmc. After a reboot I saw that I made a mistake - the internal SDcard was formatted instead of the external one! This is because the naming of the internal and external sd cards are somewhat confusing. In CyanogenMod 9 on Samsung Galaxy S2 the external SD card is called /dev/emmc while in ClockworkMod the _internal_ SD card is called /dev/emmc, the external is /dev/sdcard. Luckily I made a backup before...
So after a final format of /dev/sdcard in Clockworkmod, I copied again the episode I wanted to watch on the external SD card and now it plays.
I just wonder if the format of the external SD card is a temporary or a permanent fix. In case the SD card is really becoming defective, it'd only be a temporary fix.
Claudio from Switzerland wrote on Sep 17th, 2013:
Hi forcemaker. No, since the last update on June 20th and the format of the SDcard, I didnt experience any issues anymore.
forcemaker from wrote on Sep 16th, 2013:
I got something similar: log files and some content of files seem to be garbled on my SGS2 i9100. I am searching for errors on the emmc/internal storage as on the RAM of the device.
Did you have any trouble since your last update on june 20th 2013?
AWS Android Ansible Apache Apple Atlassian BSD Backup Bash Bluecoat CMS Chef Cloud Coding Consul Containers CouchDB DB DNS Database Databases Docker ELK Elasticsearch Filebeat FreeBSD Galera Git GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Influx Internet Java KVM Kibana Kodi Kubernetes LVM LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS Office PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Python Rancher Rant Redis Roundcube SSL Samba Seafile Security Shell SmartOS Solaris Surveillance Systemd TLS Tomcat Ubuntu Unix VMWare VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder