[LLVMdev] ARM unwinding bug

Renato Golin renato.golin at linaro.org
Wed Jul 29 11:23:33 PDT 2015


On 29 July 2015 at 16:53, Mason Wheeler <masonwheeler at yahoo.com> wrote:
> A couple weeks ago, Ben Pye, a developer working on the ARM32 stuff, found
> and reported a bug related to incorrect generation of stack unwinding info.
> ( https://llvm.org/bugs/show_bug.cgi?id=24146 ) Apparently it only occurs
> under a highly specific set of circumstances, which might look like a minor
> corner case, except that that just happens to be exactly the configuration
> needed to build CoreCLR for ARM32.

Hi Mason,

I did see the bug, but I have to say that, as priorities go, that's
way too low on my list to go past the initial look.

I compiled your test on a Cortex-A15 / Linux with Clang-3.8 (trunk)
and GCC 4.8.2 and on both occasions, the program crashes on
_Unwind_VRS_Pop() while stepping.

I, then, left it for the unwinding experts, which I'm not.


>  This is a blocking problem for us, and I
> was just wondering how things are coming on it?  Has anyone been looking
> into this, who might be able to provide some sort of estimate as to what's
> going on and when we might expect to see a fix?

I think you're looking at it from the wrong angle...

I seriously doubt that anyone besides your group will care much about
CLR on Android. So, unless this bug affects other people, not much
will progress without your help.

Posting a bug on bugzilla is the first step. Having a source file,
some command lines to try out and some expected results is the second.
Adding the right people (Anton, me, Logan) is the third step.
Excellent. But it doesn't stop there.

You have to continue to investigate, step through, disassemble, check
the unwind sources, give us some ideas. The closer you get to a
recognisably obvious problem, the easier it will be to get someone
else's attention.

We all got an email from that bug (because you CC us), and we probably
all looked at it and thought: "hum, that's weird. Let me try". Because
that's so far off our current priorities, when it failed at the very
step, you think, "I'll wait until the OP provides more info". This
would go a long way to motivate people to reply, even with a simple
"have you tried this?". As it stands, I don't even know what to say,
honestly.

For example, I also found a bug in the unwinder:

https://llvm.org/bugs/show_bug.cgi?id=24273

I did more or less what you did, put some info on how to reproduce.
But I'm not expecting anyone to look at it. That's for me to keep
there, in case I have some more time to investigate it. If either
Logan or Anton had a look, that'd be awesome! But I don't expect them
to. If I want that one to progress, I'll have to do a lot more than
what I did.

cheers,
--renato



More information about the llvm-dev mailing list