[Bug 245] Neo crashes when writing large amounts of data to SD
bugzilla-daemon at bugzilla.openmoko.org
bugzilla-daemon at bugzilla.openmoko.org
Sat Mar 10 22:28:55 CET 2007
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=245
------- Additional Comments From jluebbe at lasnet.de 2007-03-10 22:28 -------
I've made some test by dd-ing from /dev/zero to /media/ram (which is a tmpfs):
Case 1: Fill up /media/ram with 10MB files...
root at fic-gta01:~$ dd bs=1k count=10k if=/dev/zero of=/media/ram/test0
10240+0 records in
10240+0 records out
root at fic-gta01:~$ dd bs=1k count=10k if=/dev/zero of=/media/ram/test1
10240+0 records in
10240+0 records out
root at fic-gta01:~$ dd bs=1k count=10k if=/dev/zero of=/media/ram/test2
<CRASHED>
Case 2: The same, but overwrite each file 100 times...
root at fic-gta01:~$ for i in `seq 1 100`; do echo -n "$i "; dd bs=1k count=10k
if=/dev/zero of=/media/ram/test0 2> /dev/null; done; echo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
root at fic-gta01:~$ for i in `seq 1 100`; do echo -n "$i "; dd bs=1k count=10k
if=/dev/zero of=/media/ram/test1 2> /dev/null; done; echo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
root at fic-gta01:~$ free
total used free shared buffers cached
Mem: 126832 57792 69040 0 0 43200
-/+ buffers/cache: 14592 112240
Swap: 0 0 0
root at fic-gta01:~$ df /media/ram
Filesystem 1k-blocks Used Available Use% Mounted on
tmpfs 63416 20512 42904 32% /media/ram
root at fic-gta01:~$ for i in `seq 1 100`; do echo -n "$i "; dd bs=1k count=10k
if=/dev/zero of=/media/ram/test2 2> /dev/null; done; echo
1
<CRASHED>
Case 3: Fill up /media/ram 64kB at a time...
root at fic-gta01:~$ free; for i in `seq 1 10000`; do echo -n "$i: "; dd bs=1k
count=64 if=/dev/zero of=/media/ram/test$i 2> /dev/null; free | grep Mem; done;
total used free shared buffers cached
Mem: 126832 37112 89720 0 0 22656
-/+ buffers/cache: 14456 112376
Swap: 0 0 0
355: Mem: 126832 60404 66428 0 0 45440
356: Mem: 126832 60468 66364 0 0 45504
357: Mem: 126832 60544 66288 0 0 45568
358: Mem: 126832 60708 66124 0 0 45632
359: Mem: 126832 60736 66096 0 0 45696
360: Mem: 126832 60792 66040 0 0 45760
361: Mem: 126832 60796 66036 0 0 45824
362: Mem: 126832 60852 65980 0 0 45888
363: Mem: 126832 61016 65816 0 0 45952
364: Mem: 126832 61016 65816 0 0 46016
365: Mem: 126832 61100 65732 0 0 46080
366: Mem: 126832 61104 65728 0 0 46144
367: Mem: 126832 61188 65644 0 0 46208
368: Segmentation fault
369:
<CRASHED>
Case 4: Fill up /media/ram 1MB at a time...
root at fic-gta01:~$ free; for i in `seq 1 100`; do echo -n "$i: "; dd bs=1k
count=1k if=/dev/zero of=/media/ram/test$i 2> /dev/null; free | grep Mem; done;
total used free shared buffers cached
Mem: 126832 37428 89404 0 0 22704
-/+ buffers/cache: 14724 112108
Swap: 0 0 0
1: Mem: 126832 38488 88344 0 0 23728
2: Mem: 126832 39496 87336 0 0 24752
3: Mem: 126832 40480 86352 0 0 25776
4: Mem: 126832 41596 85236 0 0 26800
5: Mem: 126832 42632 84200 0 0 27824
6: Mem: 126832 43640 83192 0 0 28848
7: Mem: 126832 44604 82228 0 0 29872
8: Mem: 126832 45740 81092 0 0 30896
9: Mem: 126832 46692 80140 0 0 31920
10: Mem: 126832 47728 79104 0 0 32944
11: Mem: 126832 48820 78012 0 0 33968
12: Mem: 126832 49828 77004 0 0 34992
13: Mem: 126832 50892 75940 0 0 36016
14: Mem: 126832 51928 74904 0 0 37040
15: Mem: 126832 52884 73948 0 0 38064
16: Mem: 126832 53928 72904 0 0 39088
17: Mem: 126832 55036 71796 0 0 40112
18: Mem: 126832 56016 70816 0 0 41136
19: Mem: 126832 57052 69780 0 0 42160
20: Mem: 126832 58088 68744 0 0 43184
21: Mem: 126832 59152 67680 0 0 44208
22: Mem: 126832 60160 66672 0 0 45232
23: Mem: 126832 61144 65688 0 0 46256
24:
<CRASHED>
Ok, what does this tell us? The crashes are *not* dependent on how much IO is
being done at a time. Writing to the same part of memory over and over again is
no problem.
I've repeated case 3 and 4 several times, it always crashes when free memory is
near 64MB.
So there seems to be some problem with the second ram bank?
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the buglog
mailing list