
Hi Tom,
trini@konsulko.com wrote on Thu, 20 Jul 2023 14:34:52 -0400:
On Thu, Jul 20, 2023 at 06:39:17PM +0200, Miquel Raynal wrote:
Hello,
qianfanguijin@163.com wrote on Fri, 25 Mar 2022 18:04:46 +0800:
It's very strange. And I can't detect it's a bug of usb or dlmalloc.
Starting u-boot and dhcp via am335x's ethernet(cpsw driver), it's ok.
Starting u-boot and dhcp via am335x's usb net, data abort.
start fastboot, and CTRL C right now, dhcp via am335x's usb net, it's ok.
I am sorry to re-open a thread that is one year old but this is still an open bug. The BBB is affected. In particular the BBBW because there is no Ethernet connector, which makes the Eth-over-USB emulation even more important. All U-Boots since 2021 are affected: spurious data aborts, usually at the end of network interactions (tftp, ping). I could not bisect it because the boot was deeply broken as well on a significant range of commits :-/.
On my side I narrowed it down to an env update which fails in malloc as well. If I comment the env update, it fails a bit later. It really looks like a stack corruption which is either related to the Ethernet USB gadget or the USB controller driver itself. Network transfers on the BBBW using regular Ethernet does not trigger any error.
I also observe the very strange "fix" mentioned above: starting and killing fastboot makes all tftp pass... If anyone has more details to share, or perhaps a subsequent thread giving more details, I would really like to see this fixed upstream, I suppose I am not the only one :-)
What happens if you increase the malloc pool from say 32MB (current value, 0x2000000) to 64MB (so 0x4000000) ?
Same result. I tried to increment the heap size to 64MB as well as the stack size (16 -> 64MB), same behavior.
Thanks, Miquèl