Re: PCengines APU2C4, 12-STABLE: bootloader failure: Panic: free: guard2 fail @ 0x1000 + 2311663946 from

From: Toomas Soome <tsoome_at_me.com>
Date: Wed, 24 Jul 2019 12:09:16 +0300
> On 24 Jul 2019, at 11:11, O. Hartmann <ohartmann_at_walstatt.org> wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> Hallo,
> 
> on APU2C4 from PCengines with latest firmware apu2_v4.9.0.7.rom, SeaBIOS
> rel-1.12.1.3-0-g300e8b7, booting via legacy MBR FreeBSD 12-STABLE r350274 (the same with
> r350115) fails to boot with an immediate loader error:
> 
> [...]
> SeaBIOS (version rel-1.12.1.3-0-g300e8b7)
> 
> Press F10 key now for boot menu
> 
> Booting from Hard Disk...
> /
> 
> onsoles: internal video/keyboard   
> IOS drive C: is disk0 
> IOS drive D: is disk1 
> IOS 639kB/3404444kB available memory 
> 
> reeBSD/x86 bootstrap loader, Revision 1.1  
> Mon Apr 15 21:28:11 CEST 2019 root_at_thor) 
> anic: free: guard2 fail _at_ 0x1000 + 2311663946 from Xçu0ç}4çl$♦├í_at_┤♠:2106163957 
> -> Press a key on the console to reboot <-- 
> […]


This is definitely something “funny”, we are apparently attempting to free pointer 0x1000 which is definitely wrong because our heap should be just below 4GB line. Since we do get list of disks printed, also memory and version, it means we get error from interpretator - it is possible the stack did clash with bss and hence the corruption.

You can try to press space on first spinner and enter alternate loader on boot: prompt. (enter ?/boot on boot: prompt to see the file list).


> 
> 
> 
> 
> Booting 12.0-STABLE #78 r349288: Sat Jun 22 09:10:25 CEST 2019 amd64 works fine with nothing
> changed except the OS version.
> 
> 
> Booting 2.0-STABLE #78 r349288 works fine:
> 
> [...]
> SeaBIOS (version rel-1.12.1.3-0-g300e8b7)
> 
> Press F10 key now for boot menu
> 
> Booting from Hard Disk...
> |
> 
> onsoles: internal video/keyboard   
> IOS drive C: is disk0 
> IOS drive D: is disk1 
> IOS 639kB/3404444kB available memory 
> 
> reeBSD/x86 bootstrap loader, Revision 1.1 
> Mon Apr 15 21:28:11 CEST 2019 root_at_thor) 
> oading /boot/defaults/loader.conf 
> oading /boot/device.hints 
> oading /boot/loader.conf 
> oading /boot/loader.conf.local 
> Loading kernel...
> /boot/kernel/kernel text=0xb005e8 \
> [...]
> 
> In the message taken from the serial console the first column of characters is lost due to an
> error in the output which seems FreeBSD related.
> 

It certainly does look weird - sio_putc() is used in boot2 and it’s implementation is using same principe as comc_putchat() in comconsole.c (even if it is asm versus c code). Since the serial data is interpreted by terminal, it feels more about terminal emulator issue (line discipline, cabling, usb to serial dongle?)

rgds,
toomas


> 
> The file /boot/loader.conf.local contains these lines in both, working and non-working,
> scenario:
> 
> [...]
> boot_serial="YES"
> # serial speed in bits/s
> comconsole_speed="115200"
> console="comconsole"
> 
> autoboot_delay="0"
> 
> verbose_loading="YES"
> loader_logo="orb"
> beastie_disable="YES"
> 
> ###  Microcode
> #cpu_microcode_load="YES"                # Set this to YES to load and apply a
> #cpu_microcode_name="/boot/firmware/intel-ucode.bin" # Set this to the microcode
> #cpu_microcode_type="cpu_microcode"      # Required for the kernel to find
>                                         # the microcode update file.
> 
> 
> # disable Process Table Isolation
> #vm.pmap.pti=0
> 
> kern.geom.label.gptid.enable=0
> 
> # Limit the phys. memory
> #hw.physmem=1073741824  # 1 G
> #hw.physmem=536870912   # 512 MB
> #hw.physmem=268435456   # 256 MB
> 
> # Da mehr als 1 igb NIC an Bord! Siehe man igb(4)
> kern.ipc.nmbclusters=757350
> #kern.ipc.nmbjumbo9k=8192
> 
> # NIC
> #hw.em.max_interrupt_rate=32000
> hw.em.max_interrupt_rate=16000
> 
> #If non-zero, enable EXPERIMENTAL feature to improve concurrent Fortuna performance
> kern.random.fortuna.concurrent_read="1"
> 
> # Forward Information Bases (FIBs)
> net.fibs=10
> net.add_addr_allfibs=0
> 
> [...]
> 
> 
> Again, with the exact same setting 12-STABLE r349288 boots fine, rr350274 doesn't. 
> FreeBSD 12-STABLE r
> 
> Can someone please help?
> 
> Thanks in advance, oh
> 
> 
> 
> - -- 
> O. Hartmann
> 
> Ich widerspreche der Nutzung oder Übermittlung meiner Daten für
> Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).
> -----BEGIN PGP SIGNATURE-----
> 
> iHUEARYIAB0WIQSy8IBxAPDkqVBaTJ44N1ZZPba5RwUCXTgStAAKCRA4N1ZZPba5
> R7YUAPsGg2mkFYPohDjTBoQEVPkJUsSIOM+s3oxsrYfQJ/RfYwD+LGp3jmC+PDML
> mhCtddjT7graxjMKIknflAKYFs6LMwU=
> =bU6X
> -----END PGP SIGNATURE-----
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
Received on Wed Jul 24 2019 - 07:09:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC