Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Jul 2019 20:30:03 +0200
From:      "Hartmann, O." <ohartmann@walstatt.org>
To:        Toomas Soome <tsoome@me.com>
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:  <20190724203003.27310532@hermann.fritz.box>
In-Reply-To: <93EFC481-50A1-491C-87BB-12A35F3302EE@me.com>
References:  <20190724101132.5560377a@thor.intern.walstatt.dynvpn.de> <B7BF6016-E4B1-4B34-9C22-CC7CD789FA79@me.com> <20190724120720.4382397c@thor.intern.walstatt.dynvpn.de> <20190724154901.0c114ebe@thor.intern.walstatt.dynvpn.de> <93EFC481-50A1-491C-87BB-12A35F3302EE@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/m3=LP+rbCDt2MASh.M=eXJ.
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, 24 Jul 2019 18:07:22 +0300
Toomas Soome <tsoome@me.com> wrote:

> > On 24 Jul 2019, at 16:48, O. Hartmann <ohartmann@walstatt.org>
> > wrote:
> >=20
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA256
> >=20
> > Am Wed, 24 Jul 2019 12:06:53 +0200
> > "O. Hartmann" <o.hartmann@walstatt.org
> > <mailto:o.hartmann@walstatt.org>> schrieb:=20
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA256
> >>=20
> >> Am Wed, 24 Jul 2019 12:09:16 +0300
> >> Toomas Soome <tsoome@me.com> schrieb:
> >>  =20
> >>>> 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=
:2106163957 -> Press a key on the console to
> >>>> reboot <-- [=E2=80=A6]     =20
> >>>=20
> >>>=20
> >>> This is definitely something =E2=80=9Cfunny=E2=80=9D, we are apparent=
ly
> >>> 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.   =20
> >>=20
> >> I realized that I have defined=20
> >>=20
> >> WITH_KERNEL_RETPOLINE=3DYES
> >>=20
> >> and since I use to build NanoBSD with -DNO_CLEAN, I'm just now
> >> compiling a clean NanoBSD with RETPOLINE mitigations disabled so
> >> far - trying to check whether either of the ways to build causes
> >> the issue.=20
> >>>=20
> >>> 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
> >> I try a soon as the build process has finished and if the problem
> >> is then still present. =20
> >=20
> >=20
> > With a fresh build and no RETPOLINE mitigation (neither kernel nor
> > world) the phenomenon as described above is still the same. I tried
> > an alternative loader as requested, but without success. When
> > choosing loader_4th, I get this error:
> >=20
> > [...]
> > FreeBSD/x86 boot
> > Default: 0:ad(0p3)/boot/loader
> > boot:  /boot/loader_4th/
> >=20
> > onsoles: internal video/keyboard
> > IOS drive C: is disk0
> > IOS drive D: is disk1
> > IOS 639kB/3404444kB available memory
> >=20
> > reeBSD/x86 bootstrap loader, Revision 1.1
> > Wed Jul 24 12:51:12 CEST 2019 root@thor)
> > anic: No heap setup =20
> > -> Press a key on the console to reboot <=E2=80=94 =20
> >  =20
>=20
> Now this is bad. if my math is correct, this system is supposed to
> have 3GB of RAM, so are there specific build exceptions in place? see
> stand/i386/loader/main.c, function main, after call to bios_getmem().
>=20
> rgds,
> toomas

I'm afraid I do not understand exactly the point. The base system is a
PCengine APU2C4 - which has 4 GB of memory total. I do not build the
NanoBSD image with any kind of buikd exceptions - neither did I with
the FreeBSD versions that worked so far (see my initial post for the
revision numbers).

Should there be build execeptions in place for recent developments?

>=20
> >=20
> > Loader loader_simp ends up in stuck console with no output:
> >=20
> > [...]
> > FreeBSD/x86 boot
> > Default: 0:ad(0p3)/boot/loader
> > boot:  /boot/loader_4th/
> >=20
> > onsoles: internal video/keyboard
> > IOS drive C: is disk0
> > IOS drive D: is disk1
> > IOS 639kB/3404444kB available memory
> >=20
> > reeBSD/x86 bootstrap loader, Revision 1.1
> > Wed Jul 24 12:59:23 CEST 2019 root@thor)
> > [...]
> >=20
> > regards
> > oh =20
> >>  =20
> >>>=20
> >>>  =20
> >>>>=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
> >>>=20
> >>> It certainly does look weird - sio_putc() is used in boot2 and
> >>> it=E2=80=99s 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?)   =20
> >>=20
> >> We use here a null modem cabling with an integrated
> >> USB-to-UART/TTL converter, which is attached to a FreeBSD CURRENT
> >> (most recent) box:
> >>=20
> >> [...]
> >> ugen2.3: <FTDI FT232R USB UART> at usbus2
> >> uftdi0 on uhub4
> >> uftdi0: <FT232R USB UART> on usbus2
> >> [...]
> >>=20
> >> it is a=20
> >> StarTech.com 1 Port USB Nullmodem RS232 Adapter Kabel (USB 2.0
> >> FTDI chipset).
> >>=20
> >> Regards,
> >> oh
> >>=20
> >>  =20
> >>>=20
> >>> rgds,
> >>> toomas
> >>>=20
> >>>  =20
> >>>>=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. FreeBSD 12-STABLE r
> >>>>=20
> >>>> Can someone please help?
> >>>>=20
> >>>> Thanks in advance, oh =20
> >=20
> > [...]
> >=20
> >=20
> > - --=20
> > O. Hartmann
> >=20
> > Ich widerspreche der Nutzung oder =C3=9Cbermittlung meiner Daten f=C3=
=BCr
> > Werbezwecke oder f=C3=BCr die Markt- oder Meinungsforschung (=C2=A7 28 =
Abs. 4
> > BDSG). -----BEGIN PGP SIGNATURE-----
> >=20
> > iHUEARYIAB0WIQSy8IBxAPDkqVBaTJ44N1ZZPba5RwUCXThhzQAKCRA4N1ZZPba5
> > R5SrAQDMEZQPGXsD9dqGsq9wNOPYPY7o0y/sBm9ovRkyepI5VwD/WUulyFprjlPI
> > hKYI/AJ/VVqI3EfPd/dUiSyBf1toeQw=3D
> > =3DaLz0
> > -----END PGP SIGNATURE-----
> > _______________________________________________
> > freebsd-current@freebsd.org <mailto:freebsd-current@freebsd.org>
> > mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-current
> > <https://lists.freebsd.org/mailman/listinfo/freebsd-current>; To
> > unsubscribe, send any mail to
> > "freebsd-current-unsubscribe@freebsd.org
> > <mailto:freebsd-current-unsubscribe@freebsd.org>" =20
>=20
> _______________________________________________
> 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"


--Sig_/m3=LP+rbCDt2MASh.M=eXJ.
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQSy8IBxAPDkqVBaTJ44N1ZZPba5RwUCXTijqwAKCRA4N1ZZPba5
Rw1PAP0ahBLrj0EdGz3TOlt5+OXpYkWqjF7fp8urcgtK5uFNtQD+Lnh6k+GIJZSM
P9UjiOyKqkmFdN5pLO21QpfZSjCAewE=
=rsps
-----END PGP SIGNATURE-----

--Sig_/m3=LP+rbCDt2MASh.M=eXJ.--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190724203003.27310532>