Skip to content

Possible short-circuit miscompile for while loop guard #3830

Closed

Description

@burg

In the code linked below, the LHS of an && expression is used as an array bounds guard for the RHS.

This seems to be miscompiled, such that assigning each subexpression to a local inside the loop works fine, but segfaults occur when putting the whole thing as the while condition.

servo/servo@b0536d7

Activity

  1. nikomatsakis commented on Oct 22, 2012

    @nikomatsakis
    Contributor

    Have you tried to minimize this into a standalone function?

  2. burg commented on Oct 23, 2012

    @burg
    Author

    No. I've already spent ~1/2 day bisecting this bug in the last week, and don't have time

    On Oct 22, 2012, at 16:41 , Niko Matsakis wrote:

    Have you tried to minimize this into a standalone function?

    —
    Reply to this email directly or view it on GitHub.

  3. msullivan commented on Aug 10, 2013

    @msullivan
    Contributor

    I'm not really sure what to do with this bug. The comment about the bug is still in servo (in src/components/main/layout/util.rs), but the code has changed so that it doesn't look like I could just switch back to the old version... Played around a bit trying to trigger it with small cases, but didn't find anything.

  4. thestinger commented on Oct 8, 2013

    @thestinger
    Contributor

    Closing due to the lack of a reproducible test case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-codegenArea: Code generationI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions