bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

loongson2f: 2.02-beta3 hangs, caused by memory coherence fixes


From: Mark H Weaver
Subject: loongson2f: 2.02-beta3 hangs, caused by memory coherence fixes
Date: Fri, 12 Aug 2016 14:16:08 -0400

On my Lemote YeeLoong 8101B (Loongson 2F), loading GRUB 2.02-beta3 from
PMON hangs early before displaying any messages.  Usually the screen is
black, but occasionally there are some non-black pixels sprayed on the
screen.

Git bisect and followup investigation shows that the following two
commits, which insert calls to 'grub_arch_sync_dma_caches', cause the
problem:

* ca028db..: Vladimir Serbinenko 2016-02-23 usbtrans: Fix memory coherence and 
use-after-free.
* 0f076d7..: Vladimir Serbinenko 2016-02-23 ehci: Fix memory coherence

Either one of these commits is sufficient to cause the problem.
Reverting both of them fixes it.

To be more concrete: here are the relevant commits that I tested, with
the results in the left column.  The top two revert commits are local to
me, of course:

[WORKS] *  (mhw)7225f8a..: Mark H Weaver 2016-08-12 Revert "usbtrans: Fix 
memory coherence and use-after-free."
[HANGS] * b32f5a8..: Mark H Weaver 2016-08-12 Revert "ehci: Fix memory 
coherence"
        *  (origin/master)c831d20..: Andrei Borzenkov 2016-07-27 at_keyboard: 
fix numpad "0" and "." mapping
[...]
[HANGS] *  (tag: grub-2.02-beta3, tag: 2.02-beta3)8207874..: Vladimir 
Serbinenko 2016-02-28 Release 2.02~beta3
        * 102e435..: Vladimir Serbinenko 2016-02-28 grub_arch_sync_dma_caches: 
Accept volatile address
        * 51f375d..: Leif Lindholm 2016-02-27 efidisk: Respect 
block_io_protocol buffer alignment
[HANGS] * ca028db..: Vladimir Serbinenko 2016-02-23 usbtrans: Fix memory 
coherence and use-after-free.
[HANGS] * 0f076d7..: Vladimir Serbinenko 2016-02-23 ehci: Fix memory coherence
[WORKS] * 86ef66d..: Vladimir Serbinenko 2016-02-19 arm-uboot: Make 
self-relocatable to allow loading at any address

For each commit tested, I built it natively within an isolated container
using GNU Guix from a pristine git checkout, bootstrapped using
automake-1.15 and autoconf-2.69, and built using gcc-4.9.3,
binutils-2.25.1, and the following configure flags:

  CONFIG_SHELL=/gnu/store/n847hk4c1hiiyhk3z7k6kmm8dp96m7f4-bash-4.3.42/bin/bash
  SHELL=/gnu/store/n847hk4c1hiiyhk3z7k6kmm8dp96m7f4-bash-4.3.42/bin/bash
  --prefix=/gnu/store/4rrig6mzndi49yjg586a7nwkqkr7mc0z-grub-2.02beta2-g7225f8a
  --enable-fast-install
  --build=mips64el-unknown-linux-gnu
  --disable-werror

  (although the hash components of the --prefix varied)

I've attached the complete build log for commit 7225f8a below.  If it
would be helpful, I can provide the build outputs for any of these
commits, or describe how to reproduce the exact same builds on your MIPS
or Loongson-based machine using GNU Guix.

     Thanks,
       Mark

Attachment: r3m4qjwl3j9wksxlwc3jzj622yd330-grub-2.02beta2-g7225f8a.drv.bz2
Description: Build log


reply via email to

[Prev in Thread] Current Thread [Next in Thread]