Hi Jaegeuk,

01.09.2016, 02:46, "Jaegeuk Kim" <[email protected]>:
> On Wed, Aug 31, 2016 at 11:52:00AM +0300, Alexander Gordeev wrote:
>>  Hi Jaegeuk,
>>
>>  29.08.2016, 21:00, "Jaegeuk Kim" <[email protected]>:
>>  > On Mon, Aug 29, 2016 at 07:50:24PM +0300, Alexander Gordeev wrote:
>>  >>  Hi,
>>  >>
>>  >>  I have an update about the first of the bugs, that I reported.
>>  >>
>>  >>  19.08.2016, 20:23, "Alexander Gordeev" <[email protected]>:
>>  >>  > Hi,
>>  >>  >
>>  >>  > I'd also like to report two bugs. I used f2fs-stable branch 
>> linux-3.10.y.
>>  >>  > I'm using some proprietary modules also, but in my understanding they 
>> shouldn't affect the fs.
>>  >>  >
>>  >>  > 1. I have a Sandisk 16GB microSDHC card, that is quite old and may be 
>> at its end of life.
>>  >>  > The bug is produced every time I try to delete any file on it.
>>  >>  >
>>  >
>>  > ...
>>  >
>>  >>  As you can see, after to warnings goes an oops. I think it was 
>> overlooked.
>>  >>  But it makes the most trouble to me.
>>  >>
>>  >>  I tried to understand what's going on.
>>  >>  It turns out that se->cur_valid_map is NULL in update_sit_entry().
>>  >>  Probably, this is not expected.
>>  >
>>  > Thank you for the analysis. :)
>>  > It seems the blkaddr is out-of-range.
>>  > Can you print out its blkaddr?
>>  >
>>  > If possible, could you print out:
>>  >   curseg->segno, curseg->next_blkoff,a curseg->next_segno
>>  >   at the end of allocate_segment_by_default()?
>>
>>  Thank you for the help!
>>  Here are the new traces:
>
> Thank you.
>
>>  [ 49.274678] ------------[ cut here ]------------
>>  [ 49.280216] WARNING: at 
>> /home/alex/work/s2l/amb_S2l_SDK_2.5/SDK2.5/s2l_linux_sdk/ambarella/kernel/linux-3.10/fs/f2fs/segment.c:1105
>>  new_curseg+0x268/0x394 [f2fs]()
>
> This means there is no free segment.
> Could you print out the below information before this f2fs_bug_on?
> - prefree_segments(sbi)
> - free_segments(sbi)
>
>>  ...
>>  [ 49.518054] ---[ end trace 49dca462b4f988ff ]---
>>  [ 49.522689] ------------[ cut here ]------------
>>  [ 49.527375] WARNING: at 
>> /home/alex/work/s2l/amb_S2l_SDK_2.5/SDK2.5/s2l_linux_sdk/ambarella/kernel/linux-3.10/fs/f2fs/segment.c:1144
>>  new_curseg+0x2f0/0x394 [f2fs]()
>
> This is caused by the above segno which was -1.
>
>>  ...
>>  [ 49.764853] ---[ end trace 49dca462b4f98900 ]---
>>  [ 49.857344] ------ segno = 7540, next_blkoff = 0, next_segno = 4294967295 
>> --------
>>  [ 49.913664] ------ blkaddr = 3889152 --------
>>  [ 49.918173] Unable to handle kernel NULL pointer dereference at virtual 
>> address 00000000
>
> Also, we can see next_segno was -1, which incur no se entry for this segment.
> At this moment, I'd really like to see its /sys/kernel/debug/f2fs/status 
> whether
> there is really not enough free segments.

I collected both /sys/kernel/debug/f2fs/status and numbers of blocks.
The oops happens only when I try to delete anything. Also it can be caused
by GC, but I turned background GC off. So I mounted the fs, dumped the status
and then tried to remove a file. Here is what I got:

=====[ partition info(sda). #0, RW]=====
[SB: 1] [CP: 2] [SIT: 2] [NAT: 34] [SSA: 16] [MAIN: 7540(OverProv:424 Resv:50)]

Utilization: 94% (3443739 valid blocks)
  - Node: 4458 (Inode: 1115, Other: 3343)
  - Data: 3439281
  - Inline_xattr Inode: 0
  - Inline_data Inode: 0
  - Inline_dentry Inode: 0
  - Orphan Inode: 0

Main area: 7540 segs, 3770 secs 3770 zones
  - COLD  data: 6192, 3096, 3096
  - WARM  data: 6186, 3093, 3093
  - HOT   data: 6198, 3099, 3099
  - Dir   dnode: 4836, 2418, 2418
  - File   dnode: 5003, 2501, 2501
  - Indir nodes: 7533, 3766, 3766

  - Valid: 6728
  - Dirty: 5
  - Prefree: 0
  - Free: 807 (0)

CP calls: 0 (BG: 0)
GC calls: 0 (BG: 0)
  - data segments : 0 (0)
  - node segments : 0 (0)
Try to move 0 blocks (BG: 0)
  - data blocks : 0 (0)
  - node blocks : 0 (0)

Extent Cache:
  - Hit Count: L1-1:0 L1-2:0 L2:0
  - Hit Ratio: 0% (0 / 0)
  - Inner Struct Count: tree: 0(0), node: 0

Balancing F2FS Async:
  - inmem:    0, wb_bios:    0
  - nodes:    0 in    1
  - dents:    0 in dirs:   0 (   0)
  - datas:    0 in files:   0
  - meta:    0 in  155
  - NATs:         0/        1
  - SITs:         0/     7540
  - free_nids:      3496

Distribution of User Blocks: [ valid | invalid | free ]
  [-----------------------------------------------|-|--]

IPU: 0 blocks
SSR: 0 blocks in 0 segments
LFS: 0 blocks in 0 segments

BDF: 78, avg. vblocks: 510

Memory: 2325 KB
  - static: 1647 KB
  - cached: 54 KB
  - paged : 624 KB

[  107.562070] ------ blkaddr = 2590606, se->cur_valid_map = 8477f040 --------
[  107.570415] ------ blkaddr = 2590607, se->cur_valid_map = 8477f040 --------
[  107.577537] ------ blkaddr = 2590608, se->cur_valid_map = 8477f040 --------
[  107.585093] ------ blkaddr = 2590609, se->cur_valid_map = 8477f040 --------
[  107.592470] ------ blkaddr = 2590610, se->cur_valid_map = 8477f040 --------
[  107.599760] ------ blkaddr = 2590611, se->cur_valid_map = 8477f040 --------
[  107.606907] ------ blkaddr = 2590612, se->cur_valid_map = 8477f040 --------
[  107.614333] ------ blkaddr = 2590613, se->cur_valid_map = 8477f040 --------
[  107.621706] ------ blkaddr = 2590614, se->cur_valid_map = 8477f040 --------
[  107.628913] ------ blkaddr = 2590615, se->cur_valid_map = 8477f040 --------
[  107.636142] ------ blkaddr = 2590616, se->cur_valid_map = 8477f040 --------
[  107.643401] ------ blkaddr = 2590617, se->cur_valid_map = 8477f040 --------
[  107.650785] ------ blkaddr = 2590618, se->cur_valid_map = 8477f040 --------
[  107.657863] ------ blkaddr = 2590619, se->cur_valid_map = 8477f040 --------
[  107.665287] ------ blkaddr = 2590620, se->cur_valid_map = 8477f040 --------
[  107.672514] ------ blkaddr = 2590621, se->cur_valid_map = 8477f040 --------
[  107.679892] ------ blkaddr = 2590622, se->cur_valid_map = 8477f040 --------
[  107.686979] ------ blkaddr = 2590623, se->cur_valid_map = 8477f040 --------
[  107.694408] ------ blkaddr = 2590624, se->cur_valid_map = 8477f040 --------
[  107.701613] ------ blkaddr = 2590625, se->cur_valid_map = 8477f040 --------
[  107.708976] ------ blkaddr = 2590626, se->cur_valid_map = 8477f040 --------
[  107.716036] ------ blkaddr = 2590627, se->cur_valid_map = 8477f040 --------
[  107.723434] ------ blkaddr = 2590628, se->cur_valid_map = 8477f040 --------
[  107.730638] ------ blkaddr = 2590629, se->cur_valid_map = 8477f040 --------
[  107.737701] ------ blkaddr = 2590630, se->cur_valid_map = 8477f040 --------
[  107.745034] ------ blkaddr = 2590631, se->cur_valid_map = 8477f040 --------
[  107.752257] ------ blkaddr = 2590632, se->cur_valid_map = 8477f040 --------
[  107.759695] ------ blkaddr = 2590633, se->cur_valid_map = 8477f040 --------
[  107.766755] ------ blkaddr = 2590634, se->cur_valid_map = 8477f040 --------
[  107.774133] ------ blkaddr = 2590635, se->cur_valid_map = 8477f040 --------
[  107.781378] ------ blkaddr = 2590636, se->cur_valid_map = 8477f040 --------
[  107.788831] ------ blkaddr = 2590637, se->cur_valid_map = 8477f040 --------
[  107.795915] ------ blkaddr = 2590638, se->cur_valid_map = 8477f040 --------
[  107.803334] ------ blkaddr = 2590639, se->cur_valid_map = 8477f040 --------
[  107.810548] ------ blkaddr = 2590640, se->cur_valid_map = 8477f040 --------
[  107.817776] ------ blkaddr = 2590641, se->cur_valid_map = 8477f040 --------
[  107.825163] ------ blkaddr = 2590642, se->cur_valid_map = 8477f040 --------
[  107.832667] ------ blkaddr = 2590643, se->cur_valid_map = 8477f040 --------
[  107.840013] ------ blkaddr = 2590644, se->cur_valid_map = 8477f040 --------
[  107.847204] ------ blkaddr = 2590645, se->cur_valid_map = 8477f040 --------
[  107.854562] ------ blkaddr = 2590646, se->cur_valid_map = 8477f040 --------
[  107.861929] ------ blkaddr = 2590647, se->cur_valid_map = 8477f040 --------
[  107.869446] ------ blkaddr = 2590648, se->cur_valid_map = 8477f040 --------
[  107.876609] ------ blkaddr = 2590649, se->cur_valid_map = 8477f040 --------
[  107.884136] ------ blkaddr = 2590650, se->cur_valid_map = 8477f040 --------
[  107.891471] ------ blkaddr = 2590651, se->cur_valid_map = 8477f040 --------
[  107.898956] ------ blkaddr = 2590652, se->cur_valid_map = 8477f040 --------
[  107.906147] ------ blkaddr = 2590653, se->cur_valid_map = 8477f040 --------
[  107.913694] ------ blkaddr = 2590654, se->cur_valid_map = 8477f040 --------
[  107.920974] ------ blkaddr = 2590655, se->cur_valid_map = 8477f040 --------
[  107.928101] ------ blkaddr = 2590656, se->cur_valid_map = 8477f040 --------
[  107.935448] ------ blkaddr = 2590657, se->cur_valid_map = 8477f040 --------
[  107.942806] ------ blkaddr = 2590658, se->cur_valid_map = 8477f040 --------
[  107.950291] ------ blkaddr = 2590659, se->cur_valid_map = 8477f040 --------
[  107.957491] ------ blkaddr = 2590660, se->cur_valid_map = 8477f040 --------
[  107.965063] ------ blkaddr = 2590661, se->cur_valid_map = 8477f040 --------
[  107.972400] ------ blkaddr = 2590662, se->cur_valid_map = 8477f040 --------
[  107.980144] ------ blkaddr = 2590663, se->cur_valid_map = 8477f040 --------
[  107.987381] ------ blkaddr = 2590664, se->cur_valid_map = 8477f040 --------
[  107.994762] ------ blkaddr = 2590665, se->cur_valid_map = 8477f040 --------
[  108.001921] ------ blkaddr = 2590666, se->cur_valid_map = 8477f040 --------
[  108.009080] ------ blkaddr = 2590667, se->cur_valid_map = 8477f040 --------
[  108.016066] ------ blkaddr = 2590668, se->cur_valid_map = 8477f040 --------
[  108.023221] ------ blkaddr = 2590669, se->cur_valid_map = 8477f040 --------
[  108.030320] ------ blkaddr = 2590670, se->cur_valid_map = 8477f040 --------
[  108.037281] ------ blkaddr = 2590671, se->cur_valid_map = 8477f040 --------
[  108.044410] ------ blkaddr = 2590672, se->cur_valid_map = 8477f040 --------
[  108.051493] ------ blkaddr = 2590673, se->cur_valid_map = 8477f040 --------
[  108.058450] ------ blkaddr = 2590674, se->cur_valid_map = 8477f040 --------
[  108.065579] ------ blkaddr = 2590675, se->cur_valid_map = 8477f040 --------
[  108.072669] ------ blkaddr = 2590676, se->cur_valid_map = 8477f040 --------
[  108.079785] ------ blkaddr = 2590677, se->cur_valid_map = 8477f040 --------
[  108.086742] ------ blkaddr = 2590678, se->cur_valid_map = 8477f040 --------
[  108.093880] ------ blkaddr = 2590679, se->cur_valid_map = 8477f040 --------
[  108.100968] ------ blkaddr = 2590680, se->cur_valid_map = 8477f040 --------
[  108.107925] ------ blkaddr = 2590681, se->cur_valid_map = 8477f040 --------
[  108.115050] ------ blkaddr = 2590682, se->cur_valid_map = 8477f040 --------
[  108.122131] ------ blkaddr = 2590683, se->cur_valid_map = 8477f040 --------
[  108.129212] ------ blkaddr = 2590684, se->cur_valid_map = 8477f040 --------
[  108.136168] ------ blkaddr = 2590685, se->cur_valid_map = 8477f040 --------
[  108.143287] ------ blkaddr = 2590686, se->cur_valid_map = 8477f040 --------
[  108.150366] ------ blkaddr = 2590687, se->cur_valid_map = 8477f040 --------
[  108.157324] ------ blkaddr = 2590688, se->cur_valid_map = 8477f040 --------
[  108.164445] ------ blkaddr = 2590689, se->cur_valid_map = 8477f040 --------
[  108.171525] ------ blkaddr = 2590690, se->cur_valid_map = 8477f040 --------
[  108.178484] ------ blkaddr = 2590691, se->cur_valid_map = 8477f040 --------
[  108.185609] ------ blkaddr = 2590692, se->cur_valid_map = 8477f040 --------
[  108.192687] ------ blkaddr = 2590693, se->cur_valid_map = 8477f040 --------
[  108.199764] ------ blkaddr = 2590694, se->cur_valid_map = 8477f040 --------
[  108.206719] ------ blkaddr = 2590695, se->cur_valid_map = 8477f040 --------
[  108.213837] ------ blkaddr = 2590696, se->cur_valid_map = 8477f040 --------
[  108.221095] ------ blkaddr = 2590697, se->cur_valid_map = 8477f040 --------
[  108.228540] ------ blkaddr = 2590698, se->cur_valid_map = 8477f040 --------
[  108.235771] ------ blkaddr = 2590699, se->cur_valid_map = 8477f040 --------
[  108.242902] ------ blkaddr = 2590700, se->cur_valid_map = 8477f040 --------
[  108.250014] ------ blkaddr = 2590701, se->cur_valid_map = 8477f040 --------
[  108.256973] ------ blkaddr = 2590702, se->cur_valid_map = 8477f040 --------
[  108.264124] ------ blkaddr = 2590703, se->cur_valid_map = 8477f040 --------
[  108.271229] ------ blkaddr = 2590704, se->cur_valid_map = 8477f040 --------
[  108.278188] ------ blkaddr = 2590705, se->cur_valid_map = 8477f040 --------
[  108.285433] ------ blkaddr = 2590706, se->cur_valid_map = 8477f040 --------
[  108.292539] ------ blkaddr = 2590707, se->cur_valid_map = 8477f040 --------
[  108.299629] ------ blkaddr = 2590708, se->cur_valid_map = 8477f040 --------
[  108.306587] ------ blkaddr = 2590709, se->cur_valid_map = 8477f040 --------
[  108.313718] ------ blkaddr = 2590710, se->cur_valid_map = 8477f040 --------
[  108.320803] ------ blkaddr = 2590711, se->cur_valid_map = 8477f040 --------
[  108.327760] ------ blkaddr = 2590712, se->cur_valid_map = 8477f040 --------
[  108.334883] ------ blkaddr = 2590713, se->cur_valid_map = 8477f040 --------
[  108.341966] ------ blkaddr = 2590714, se->cur_valid_map = 8477f040 --------
[  108.349047] ------ blkaddr = 2590715, se->cur_valid_map = 8477f040 --------
[  108.356004] ------ blkaddr = 2590716, se->cur_valid_map = 8477f040 --------
[  108.363130] ------ blkaddr = 2590717, se->cur_valid_map = 8477f040 --------
[  108.370210] ------ blkaddr = 2590718, se->cur_valid_map = 8477f040 --------
[  108.377244] ------ prefree_segments = 0, free_segments = 807 ------
[  108.383526] ------------[ cut here ]------------
[  108.388231] WARNING: at 
/home/alex/work/s2l/s2l_linux_sdk/ambarella/kernel/linux-3.10/fs/f2fs/segment.c:1105
 new_curseg+0x280/0x3b8 [f2fs]()
...
[  108.628965] ---[ end trace c59ce5906bb6d95e ]---
[  108.633563] ------------[ cut here ]------------
[  108.638240] WARNING: at 
/home/alex/work/s2l/s2l_linux_sdk/ambarella/kernel/linux-3.10/fs/f2fs/segment.c:1144
 new_curseg+0x308/0x3b8 [f2fs]()
...
[  108.878788] ---[ end trace c59ce5906bb6d95f ]---
[  108.885201] ------ segno = 7540, next_blkoff = 0, next_segno = 4294967295 
--------
[  108.892808] ------ blkaddr = 2590719, se->cur_valid_map = 8477f040 --------
[  108.899825] ------ blkaddr = 3889152, se->cur_valid_map =   (null) --------
[  108.906800] Unable to handle kernel NULL pointer dereference at virtual 
address 00000000
...
[  109.429454] ---[ end trace c59ce5906bb6d960 ]---


Thanks!

-- 
 Alexander

------------------------------------------------------------------------------
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to