Date: Wed, 24 Jul 2019 12:09:16 +0300 From: Toomas Soome <tsoome@me.com> To: "O. Hartmann" <ohartmann@walstatt.org> Cc: "freebsd-embedded@freebsd.org" <embedded@freebsd.org>, FreeBSD CURRENT <freebsd-current@freebsd.org> Subject: Re: PCengines APU2C4, 12-STABLE: bootloader failure: Panic: free: guard2 fail @ 0x1000 + 2311663946 from Message-ID: <B7BF6016-E4B1-4B34-9C22-CC7CD789FA79@me.com> In-Reply-To: <20190724101132.5560377a@thor.intern.walstatt.dynvpn.de> References: <20190724101132.5560377a@thor.intern.walstatt.dynvpn.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 24 Jul 2019, at 11:11, O. Hartmann <ohartmann@walstatt.org> wrote: >=20 > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 >=20 > Hallo, >=20 > 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: >=20 > [...] > SeaBIOS (version rel-1.12.1.3-0-g300e8b7) >=20 > Press F10 key now for boot menu >=20 > Booting from Hard Disk... > / >=20 > onsoles: internal video/keyboard =20 > IOS drive C: is disk0=20 > IOS drive D: is disk1=20 > IOS 639kB/3404444kB available memory=20 >=20 > reeBSD/x86 bootstrap loader, Revision 1.1 =20 > Mon Apr 15 21:28:11 CEST 2019 root@thor)=20 > anic: free: guard2 fail @ 0x1000 + 2311663946 from = X=C3=A7u0=C3=A7}4=C3=A7l$=E2=99=A6=E2=94=9C=C3=AD@=E2=94=A4=E2=99=A0:21061= 63957=20 > -> Press a key on the console to reboot <--=20 > [=E2=80=A6] This is definitely something =E2=80=9Cfunny=E2=80=9D, 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). >=20 >=20 >=20 >=20 > Booting 12.0-STABLE #78 r349288: Sat Jun 22 09:10:25 CEST 2019 amd64 = works fine with nothing > changed except the OS version. >=20 >=20 > Booting 2.0-STABLE #78 r349288 works fine: >=20 > [...] > SeaBIOS (version rel-1.12.1.3-0-g300e8b7) >=20 > Press F10 key now for boot menu >=20 > Booting from Hard Disk... > | >=20 > onsoles: internal video/keyboard =20 > IOS drive C: is disk0=20 > IOS drive D: is disk1=20 > IOS 639kB/3404444kB available memory=20 >=20 > reeBSD/x86 bootstrap loader, Revision 1.1=20 > Mon Apr 15 21:28:11 CEST 2019 root@thor)=20 > oading /boot/defaults/loader.conf=20 > oading /boot/device.hints=20 > oading /boot/loader.conf=20 > oading /boot/loader.conf.local=20 > Loading kernel... > /boot/kernel/kernel text=3D0xb005e8 \ > [...] >=20 > 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. >=20 It certainly does look weird - sio_putc() is used in boot2 and it=E2=80=99= 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 >=20 > The file /boot/loader.conf.local contains these lines in both, working = and non-working, > scenario: >=20 > [...] > boot_serial=3D"YES" > # serial speed in bits/s > comconsole_speed=3D"115200" > console=3D"comconsole" >=20 > autoboot_delay=3D"0" >=20 > verbose_loading=3D"YES" > loader_logo=3D"orb" > beastie_disable=3D"YES" >=20 > ### Microcode > #cpu_microcode_load=3D"YES" # Set this to YES to load = and apply a > #cpu_microcode_name=3D"/boot/firmware/intel-ucode.bin" # Set this to = the microcode > #cpu_microcode_type=3D"cpu_microcode" # Required for the kernel = to find > # the microcode update file. >=20 >=20 > # disable Process Table Isolation > #vm.pmap.pti=3D0 >=20 > kern.geom.label.gptid.enable=3D0 >=20 > # Limit the phys. memory > #hw.physmem=3D1073741824 # 1 G > #hw.physmem=3D536870912 # 512 MB > #hw.physmem=3D268435456 # 256 MB >=20 > # Da mehr als 1 igb NIC an Bord! Siehe man igb(4) > kern.ipc.nmbclusters=3D757350 > #kern.ipc.nmbjumbo9k=3D8192 >=20 > # NIC > #hw.em.max_interrupt_rate=3D32000 > hw.em.max_interrupt_rate=3D16000 >=20 > #If non-zero, enable EXPERIMENTAL feature to improve concurrent = Fortuna performance > kern.random.fortuna.concurrent_read=3D"1" >=20 > # Forward Information Bases (FIBs) > net.fibs=3D10 > net.add_addr_allfibs=3D0 >=20 > [...] >=20 >=20 > Again, with the exact same setting 12-STABLE r349288 boots fine, = rr350274 doesn't.=20 > FreeBSD 12-STABLE r >=20 > Can someone please help? >=20 > Thanks in advance, oh >=20 >=20 >=20 > - --=20 > O. Hartmann >=20 > Ich widerspreche der Nutzung oder =C3=9Cbermittlung meiner Daten f=C3=BC= r > Werbezwecke oder f=C3=BCr die Markt- oder Meinungsforschung (=C2=A7 28 = Abs. 4 BDSG). > -----BEGIN PGP SIGNATURE----- >=20 > iHUEARYIAB0WIQSy8IBxAPDkqVBaTJ44N1ZZPba5RwUCXTgStAAKCRA4N1ZZPba5 > R7YUAPsGg2mkFYPohDjTBoQEVPkJUsSIOM+s3oxsrYfQJ/RfYwD+LGp3jmC+PDML > mhCtddjT7graxjMKIknflAKYFs6LMwU=3D > =3DbU6X > -----END PGP SIGNATURE----- > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to = "freebsd-current-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B7BF6016-E4B1-4B34-9C22-CC7CD789FA79>