On 09/16/2018 07:45 AM, Simon Glass wrote: > When I run > > $ sandbox/u-boot -D -c "bootefi selftest" > > I get at the end the network timeout failure: > > Setting up 'simple network protocol' > Failed to open socket: 1 Operation not permitted > Failed to open socket: 1 Operation not permitted > Failed to open socket: 1 Operation not permitted > Setting up 'simple network protocol' succeeded > > Executing 'simple network protocol' > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > DHCP Discover > lib/efi_selftest/efi_selftest_snp.c(311): > ERROR: Timeout occurred > lib/efi_selftest/efi_selftest.c(109): > ERROR: Executing 'simple network protocol' failed
You have to ensure that the network interface used by the simple network protocol is connected to a DHCP server for this test to succeed. The loop interface is not a good choice. > > Tearing down 'simple network protocol' > Tearing down 'simple network protocol' succeeded > > > and then at the end: > > Summary: 1 failures > > Preparing for reset. Press any key... > resetting ... > > Here it hangs waiting for a key. This key is served by test_efi_selftest.py so this should not pose a problem if the SandboxConsole class works correctly. What really needs a fix is this segmentation fault for sandbox_defconfig: $ valgrind ./u-boot -v -d u-boot.dtb -c 'bootefi hello' ==12957== Memcheck, a memory error detector ==12957== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==12957== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==12957== Command: ./u-boot -v -d u-boot.dtb -c bootefi\ hello ==12957== U-Boot 2018.09-00268-g05538f55c0 (Sep 18 2018 - 02:12:40 +0200) Model: sandbox DRAM: 128 MiB Warning: host_lo MAC addresses don't match: Address in ROM is f2:49:6f:48:66:70 Address in environment is 00:00:11:22:33:44 ==12957== Invalid read of size 1 ==12957== at 0x1C5B3F: memcpy (string.c:526) ==12957== by 0x177653: eth_raw_bus_post_bind (sandbox-raw-bus.c:45) ==12957== by 0x15871A: device_bind_common.isra.0 (device.c:150) ==12957== by 0x1588CE: device_bind_with_driver_data (device.c:222) ==12957== by 0x15953C: lists_bind_fdt (lists.c:175) ==12957== by 0x1595D5: dm_scan_fdt_live (root.c:232) ==12957== by 0x159911: dm_extended_scan_fdt (root.c:338) ==12957== by 0x1599AD: dm_init_and_scan (root.c:384) ==12957== by 0x14458C: initr_dm (board_r.c:292) ==12957== by 0x1B23D5: initcall_run_list (initcall.c:30) ==12957== by 0x1445E8: board_init_r (board_r.c:879) ==12957== by 0x127568: main (start.c:321) ==12957== Address 0x89171a3 is 0 bytes after a block of size 3 alloc'd ==12957== at 0x48357BF: malloc (vg_replace_malloc.c:299) ==12957== by 0x4B8FF49: strndup (strndup.c:43) ==12957== by 0x4C1BC90: if_nameindex_netlink (if_index.c:171) ==12957== by 0x4C1BC90: if_nameindex (if_index.c:208) ==12957== by 0x17757B: eth_raw_bus_post_bind (sandbox-raw-bus.c:23) ==12957== by 0x15871A: device_bind_common.isra.0 (device.c:150) ==12957== by 0x1588CE: device_bind_with_driver_data (device.c:222) ==12957== by 0x15953C: lists_bind_fdt (lists.c:175) ==12957== by 0x1595D5: dm_scan_fdt_live (root.c:232) ==12957== by 0x159911: dm_extended_scan_fdt (root.c:338) ==12957== by 0x1599AD: dm_init_and_scan (root.c:384) ==12957== by 0x14458C: initr_dm (board_r.c:292) ==12957== by 0x1B23D5: initcall_run_list (initcall.c:30) ==12957== ==12957== Invalid read of size 1 ==12957== at 0x1C5B41: memcpy (string.c:527) ==12957== by 0x177653: eth_raw_bus_post_bind (sandbox-raw-bus.c:45) ==12957== by 0x15871A: device_bind_common.isra.0 (device.c:150) ==12957== by 0x1588CE: device_bind_with_driver_data (device.c:222) ==12957== by 0x15953C: lists_bind_fdt (lists.c:175) ==12957== by 0x1595D5: dm_scan_fdt_live (root.c:232) ==12957== by 0x159911: dm_extended_scan_fdt (root.c:338) ==12957== by 0x1599AD: dm_init_and_scan (root.c:384) ==12957== by 0x14458C: initr_dm (board_r.c:292) ==12957== by 0x1B23D5: initcall_run_list (initcall.c:30) ==12957== by 0x1445E8: board_init_r (board_r.c:879) ==12957== by 0x127568: main (start.c:321) ==12957== Address 0x89171a4 is 1 bytes after a block of size 3 alloc'd ==12957== at 0x48357BF: malloc (vg_replace_malloc.c:299) ==12957== by 0x4B8FF49: strndup (strndup.c:43) ==12957== by 0x4C1BC90: if_nameindex_netlink (if_index.c:171) ==12957== by 0x4C1BC90: if_nameindex (if_index.c:208) ==12957== by 0x17757B: eth_raw_bus_post_bind (sandbox-raw-bus.c:23) ==12957== by 0x15871A: device_bind_common.isra.0 (device.c:150) ==12957== by 0x1588CE: device_bind_with_driver_data (device.c:222) ==12957== by 0x15953C: lists_bind_fdt (lists.c:175) ==12957== by 0x1595D5: dm_scan_fdt_live (root.c:232) ==12957== by 0x159911: dm_extended_scan_fdt (root.c:338) ==12957== by 0x1599AD: dm_init_and_scan (root.c:384) ==12957== by 0x14458C: initr_dm (board_r.c:292) ==12957== by 0x1B23D5: initcall_run_list (initcall.c:30) ==12957== Warning: host_enp2s0 MAC addresses don't match: Address in ROM is 5e:44:87:71:0f:cb Address in environment is 00:00:11:22:33:45 Warning: host_wlp4s0 using MAC address from ROM MMC: In: cros-ec-keyb Out: vidconsole Err: vidconsole Model: sandbox SCSI: Net: eth0: host_lo, eth1: host_enp2s0, eth2: host_wlp4s0, eth3: eth@10002000 Found 0 disks ==12957== Invalid read of size 2 ==12957== at 0x16D4BF: console_truetype_putc_xy (console_truetype.c:279) ==12957== by 0x16F42B: vidconsole_put_char (vidconsole-uclass.c:375) ==12957== by 0x16F471: vidconsole_puts (vidconsole-uclass.c:403) ==12957== by 0x14CF63: console_puts (console.c:250) ==12957== by 0x14CF63: fputs (console.c:361) ==12957== by 0x1C7366: printf (vsprintf.c:798) ==12957== by 0x199D07: efi_disk_register (efi_disk.c:435) ==12957== by 0x12B273: efi_init_obj_list (bootefi.c:69) ==12957== by 0x12B362: do_bootefi (bootefi.c:516) ==12957== by 0x153DD7: cmd_call (command.c:499) ==12957== by 0x153DD7: cmd_process (command.c:538) ==12957== by 0x143572: run_pipe_real (cli_hush.c:1677) ==12957== by 0x143572: run_list_real (cli_hush.c:1875) ==12957== by 0x143984: run_list (cli_hush.c:2024) ==12957== by 0x143984: parse_stream_outer (cli_hush.c:3216) ==12957== by 0x142EA8: parse_string_outer (cli_hush.c:3274) ==12957== Address 0x138f2db2 is not stack'd, malloc'd or (recently) free'd ==12957== ==12957== ==12957== Process terminating with default action of signal 11 (SIGSEGV) ==12957== Access not within mapped region at address 0x138F2DB2 ==12957== at 0x16D4BF: console_truetype_putc_xy (console_truetype.c:279) ==12957== by 0x16F42B: vidconsole_put_char (vidconsole-uclass.c:375) ==12957== by 0x16F471: vidconsole_puts (vidconsole-uclass.c:403) ==12957== by 0x14CF63: console_puts (console.c:250) ==12957== by 0x14CF63: fputs (console.c:361) ==12957== by 0x1C7366: printf (vsprintf.c:798) ==12957== by 0x199D07: efi_disk_register (efi_disk.c:435) ==12957== by 0x12B273: efi_init_obj_list (bootefi.c:69) ==12957== by 0x12B362: do_bootefi (bootefi.c:516) ==12957== by 0x153DD7: cmd_call (command.c:499) ==12957== by 0x153DD7: cmd_process (command.c:538) ==12957== by 0x143572: run_pipe_real (cli_hush.c:1677) ==12957== by 0x143572: run_list_real (cli_hush.c:1875) ==12957== by 0x143984: run_list (cli_hush.c:2024) ==12957== by 0x143984: parse_stream_outer (cli_hush.c:3216) ==12957== by 0x142EA8: parse_string_outer (cli_hush.c:3274) ==12957== If you believe this happened as a result of a stack ==12957== overflow in your program's main thread (unlikely but ==12957== possible), you can try to increase the size of the ==12957== main thread stack using the --main-stacksize= flag. ==12957== The main thread stack size used in this run was 8388608. ==12957== ==12957== HEAP SUMMARY: ==12957== in use at exit: 0 bytes in 0 blocks ==12957== total heap usage: 56 allocs, 56 frees, 5,998 bytes allocated ==12957== ==12957== All heap blocks were freed -- no leaks are possible ==12957== ==12957== For counts of detected and suppressed errors, rerun with: -v ==12957== ERROR SUMMARY: 32 errors from 3 contexts (suppressed: 0 from 0) Segmentation fault _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot