Bug?
Hi,
overwriting a file in barebox, didn't work properly.
---------------------- 8< ------------------------- unable to handle NULL pointer dereference at address 0x00000000
pc : [<2ff20f86>] lr : [<2ff20eff>]
sp : 2ffef808 ip : 201383fc fp : 00000000
r10: 2003cc94 r9 : 20138665 r8 : 00000269
r7 : 00000000 r6 : 1ff9a5d0 r5 : 00001fff r4 : 00000269
r3 : 00000000 r2 : 00001fff r1 : 00000000 r0 : 201383fc
Flags: Nzcv IRQs off FIQs off Mode SVC_32
[<2ff20f86>] (ramfs_read+0xba/0xc8) from [<2ff228d5>] (__read+0x41/0x58) [<2ff228d5>] (__read+0x41/0x58) from [<2ff22f6f>] (read+0x2b/0x48) [<2ff22f6f>] (read+0x2b/0x48) from [<2ff1ca31>] (copy_file+0x85/0x118) [<2ff1ca31>] (copy_file+0x85/0x118) from [<2ff14ead>] (do_cp+0x109/0x128) [<2ff14ead>] (do_cp+0x109/0x128) from [<2ff03209>] (execute_command+0x21/0x48) [<2ff03209>] (execute_command+0x21/0x48) from [<2ff07443>] (run_list_real+0x56b/0x638) [<2ff07443>] (run_list_real+0x56b/0x638) from [<2ff06da9>] (parse_stream_outer+0xd9/0x164) [<2ff06da9>] (parse_stream_outer+0xd9/0x164) from [<2ff076d1>] (run_shell+0x31/0x60) [<2ff076d1>] (run_shell+0x31/0x60) from [<2ff03209>] (execute_command+0x21/0x48) [<2ff03209>] (execute_command+0x21/0x48) from [<2ff07443>] (run_list_real+0x56b/0x638) [<2ff07443>] (run_list_real+0x56b/0x638) from [<2ff0715d>] (run_list_real+0x285/0x638)
[<2ff28519>] (unwind_backtrace+0x1/0x58) from [<2ff00cd1>] (panic+0x1d/0x2c) [<2ff00cd1>] (panic+0x1d/0x2c) from [<2ff289bd>] (do_exception+0xd/0x10) [<2ff289bd>] (do_exception+0xd/0x10) from [<2ff28a1d>] (do_data_abort+0x21/0x2c) [<2ff28a1d>] (do_data_abort+0x21/0x2c) from [<2ff28714>] (do_abort_6+0x48/0x54) ---------------------- 8< -------------------------
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Hi Wjatscheslaw,
Quoted 3 lines · Wjatscheslaw Stoljarski
Hi,
overwriting a file in barebox, didn't work properly.
I have never seen this. Can you reproduce this any maybe even have a command sequence that fails? A quick 'cp' from one file to another existing file did not show this problem.
Sascha
Quoted 32 lines
---------------------- 8< ------------------------- unable to handle NULL pointer dereference at address
0x00000000pc : [<2ff20f86>] lr : [<2ff20eff>]sp :
2ffef808ip :201383fcfp : 00000000
r10:2003cc94r9 : 20138665 r8 : 00000269
r7 : 00000000 r6 :1ff9a5d0r5 :00001fffr4 : 00000269
r3 : 00000000 r2 :00001fffr1 : 00000000 r0 :201383fc
Flags: Nzcv IRQs off FIQs off ModeSVC_32
[<2ff20f86>] (ramfs_read+0xba/0xc8) from [<2ff228d5>] (__read+0x41/0x58) [<2ff228d5>] (__read+0x41/0x58) from [<2ff22f6f>] (read+0x2b/0x48) [<2ff22f6f>] (read+0x2b/0x48) from [<2ff1ca31>] (copy_file+0x85/0x118) [<2ff1ca31>] (copy_file+0x85/0x118) from [<2ff14ead>] (do_cp+0x109/0x128) [<2ff14ead>] (do_cp+0x109/0x128) from [<2ff03209>] (execute_command+0x21/0x48) [<2ff03209>] (execute_command+0x21/0x48) from [<2ff07443>] (run_list_real+0x56b/0x638) [<2ff07443>] (run_list_real+0x56b/0x638) from [<2ff06da9>] (parse_stream_outer+0xd9/0x164) [<2ff06da9>] (parse_stream_outer+0xd9/0x164) from [<2ff076d1>] (run_shell+0x31/0x60) [<2ff076d1>] (run_shell+0x31/0x60) from [<2ff03209>] (execute_command+0x21/0x48) [<2ff03209>] (execute_command+0x21/0x48) from [<2ff07443>] (run_list_real+0x56b/0x638) [<2ff07443>] (run_list_real+0x56b/0x638) from [<2ff0715d>] (run_list_real+0x285/0x638)[<
2ff28519>] (unwind_backtrace+0x1/0x58) from [<2ff00cd1>] (panic+0x1d/0x2c) [<2ff00cd1>] (panic+0x1d/0x2c) from [<2ff289bd>] (do_exception+0xd/0x10) [<2ff289bd>] (do_exception+0xd/0x10) from [<2ff28a1d>] (do_data_abort+0x21/0x2c) [<2ff28a1d>] (do_data_abort+0x21/0x2c) from [<2ff28714>] (do_abort_6+0x48/0x54) ---------------------- 8< -------------------------_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Signature · 9 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Hi Sascha,
I can reproduce this on barebox 2016.06.0 for example with:
cp /env/data/ansi-colors /env/data/
But "memcpy -s /env/data/ansi-colors -d /env/data/ansi-colors 0 0" works without problem.
I try this with next barebox version (2016.07.0). Maybe it's already fixed.
Quoted 41 lines · Sascha Hauer
Hi Wjatscheslaw,
Quoted 3 lines · Wjatscheslaw Stoljarski
Hi,
overwriting a file in barebox, didn't work properly.
I have never seen this. Can you reproduce this any maybe even have a command sequence that fails? A quick 'cp' from one file to another existing file did not show this problem.
Sascha
Quoted 27 lines
---------------------- 8< ------------------------- unable to handle NULL pointer dereference at address
0x00000000pc : [<2ff20f86>] lr : [<2ff20eff>]sp :
2ffef808ip :201383fcfp : 00000000
r10:2003cc94r9 : 20138665 r8 : 00000269
r7 : 00000000 r6 :1ff9a5d0r5 :00001fffr4 : 00000269
r3 : 00000000 r2 :00001fffr1 : 00000000 r0 :201383fc
Flags: Nzcv IRQs off FIQs off ModeSVC_32
[<2ff20f86>] (ramfs_read+0xba/0xc8) from [<2ff228d5>] (__read+0x41/0x58) [<2ff228d5>] (__read+0x41/0x58) from [<2ff22f6f>] (read+0x2b/0x48) [<2ff22f6f>] (read+0x2b/0x48) from [<2ff1ca31>] (copy_file+0x85/0x118) [<2ff1ca31>] (copy_file+0x85/0x118) from [<2ff14ead>] (do_cp+0x109/0x128) [<2ff14ead>] (do_cp+0x109/0x128) from [<2ff03209>] (execute_command+0x21/0x48) [<2ff03209>] (execute_command+0x21/0x48) from [<2ff07443>] (run_list_real+0x56b/0x638) [<2ff07443>] (run_list_real+0x56b/0x638) from [<2ff06da9>] (parse_stream_outer+0xd9/0x164) [<2ff06da9>] (parse_stream_outer+0xd9/0x164) from [<2ff076d1>] (run_shell+0x31/0x60) [<2ff076d1>] (run_shell+0x31/0x60) from [<2ff03209>] (execute_command+0x21/0x48) [<2ff03209>] (execute_command+0x21/0x48) from [<2ff07443>] (run_list_real+0x56b/0x638) [<2ff07443>] (run_list_real+0x56b/0x638) from [<2ff0715d>] (run_list_real+0x285/0x638)[<
2ff28519>] (unwind_backtrace+0x1/0x58) from [<2ff00cd1>] (panic+0x1d/0x2c) [<2ff00cd1>] (panic+0x1d/0x2c) from [<2ff289bd>] (do_exception+0xd/0x10) [<2ff289bd>] (do_exception+0xd/0x10) from [<2ff28a1d>] (do_data_abort+0x21/0x2c) [<2ff28a1d>] (do_data_abort+0x21/0x2c) from [<2ff28714>] (do_abort_6+0x48/0x54) ---------------------- 8< -------------------------
Quoted 11 lines
Quoted 5 lines
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/bareboxSignature · 4 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Quoted 7 lines · Wjatscheslaw Stoljarski
Hi Sascha,
I can reproduce this on barebox 2016.06.0 for example with:
cp /env/data/ansi-colors /env/data/
But "memcpy -s /env/data/ansi-colors -d /env/data/ansi-colors 0 0" works without problem.I try this with next barebox version (2016.07.0). Maybe it's already fixed.
Nope, it isn't.
So the problem comes when you copy a file over itself. This indeed crashes here aswell. This points to a bug in the ramfs implementation which should be fixed. Also there's another bug in 'cp': copy_file should recognize when source and destination are the same file and report an error in this case.
Sascha
Signature · 9 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox