Firefly Open Source Community

   Login   |   Register   |
New_Topic

Kernel crash on large file operations

914

Credits

0

Prestige

0

Contribution

advanced

Rank: 4

Credits
914
Posted at 12/26/2019 22:46:52     
Hi all!
I have some weird bug with Firefly-RK3399 board: kernel suddenly crashes on large file operations (starting from 300Mb). I had this with different kernels (both Rockchip and mainline), so it seems to be hardware problem. In some cases starting infinite loop calling sync command together with main operation can delay or even prevent crash (depends on operation and delay between syncs) but i don't think keeping it running during all session is a good idea. Can it be fixed somehow?
I attach kernel log with modelled operation (1.6Gb was written before crash):
  1. dd if=/dev/zero of=test bs=1G count=3
  2. [  119.555187] SError Interrupt on CPU1, code 0xbf000000 -- SError
  3. [  119.555189] CPU: 1 PID: 20401 Comm: dd Not tainted 5.4.5-1-ARTIX #1
  4. [  119.555191] Hardware name: Firefly-RK3399 Board (DT)
  5. [  119.555192] pstate: 20000005 (nzCv daif -PAN -UAO)
  6. [  119.555193] pc : __arch_copy_from_user+0x1bc/0x240
  7. [  119.555194] lr : copyin+0x90/0xa0
  8. [  119.555196] sp : ffff80001985bb20
  9. [  119.555196] x29: ffff80001985bb20 x28: 0000000000000000
  10. [  119.555199] x27: 0000000000001000 x26: ffff800010f5f350
  11. [  119.555202] x25: 0000000000000000 x24: ffff80001985bd50
  12. [  119.555204] x23: ffff80001985bd40 x22: 0000000000000000
  13. [  119.555207] x21: 0000000000001000 x20: ffff000009c01000
  14. [  119.555209] x19: 0000000000001000 x18: 0000000000000014
  15. [  119.555212] x17: 00000000f9f64b4b x16: 000000004c3a51cb
  16. [  119.555214] x15: 000000007aeec261 x14: 0000000000000000
  17. [  119.555217] x13: 0000000000000000 x12: 0000000000000000
  18. [  119.555219] x11: 0000000000000000 x10: 0000000000000000
  19. [  119.555221] x9 : 0000000000000000 x8 : 0000000000000000
  20. [  119.555224] x7 : 0000000000000000 x6 : ffff000009c00050
  21. [  119.555226] x5 : ffff000009c01000 x4 : 0000000000000000
  22. [  119.555229] x3 : 0000ffff8419d000 x2 : 0000000000000f40
  23. [  119.555231] x1 : 0000ffff8419d090 x0 : ffff000009c00000
  24. [  119.555234] Kernel panic - not syncing: Asynchronous SError Interrupt
  25. [  119.555236] CPU: 1 PID: 20401 Comm: dd Not tainted 5.4.5-1-ARTIX #1
  26. [  119.555237] Hardware name: Firefly-RK3399 Board (DT)
  27. [  119.555238] Call trace:
  28. [  119.555239]  dump_backtrace+0x0/0x170
  29. [  119.555240]  show_stack+0x24/0x30
  30. [  119.555241]  dump_stack+0xac/0xd0
  31. [  119.555242]  panic+0x144/0x31c
  32. [  119.555243]  __stack_chk_fail+0x0/0x28
  33. [  119.555244]  arm64_serror_panic+0x84/0x90
  34. [  119.555245]  do_serror+0x11c/0x120
  35. [  119.555246]  el1_error+0x84/0xf8
  36. [  119.555248]  __arch_copy_from_user+0x1bc/0x240
  37. [  119.555249]  iov_iter_copy_from_user_atomic+0xec/0x370
  38. [  119.555250]  generic_perform_write+0xf0/0x1d0
  39. [  119.555251]  __generic_file_write_iter+0x134/0x1b8
  40. [  119.555252]  ext4_file_write_iter+0xd0/0x338
  41. [  119.555253]  new_sync_write+0xf8/0x190
  42. [  119.555254]  __vfs_write+0x74/0x90
  43. [  119.555255]  vfs_write+0xe4/0x1c8
  44. [  119.555257]  ksys_write+0x78/0x100
  45. [  119.555257]  __arm64_sys_write+0x24/0x30
  46. [  119.555259]  el0_svc_handler+0x84/0x190
  47. [  119.555260]  el0_svc+0x8/0xc
  48. [  119.555280] SMP: stopping secondary CPUs
  49. [  119.555280] Kernel Offset: disabled
  50. [  119.555282] CPU features: 0x0002,20006008
  51. [  119.555283] Memory Limit: none
Copy the code


Reply

Use props Report

914

Credits

0

Prestige

0

Contribution

advanced

Rank: 4

Credits
914
Posted at 1/4/2020 01:54:09     
The problem seems to have gone after i switched u-boot from slarm build to mainline. Looks weird but the same command worked correctly after this change
Reply

Use props Report

56

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
56
Posted at 1/27/2020 21:27:46     
According to this bug report I solved it adding following lines

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
into /etc/sysctl.conf

and running

sudo sysctl -p
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list