Skip to content

Hang when pass failed to modify the variant shortly before STOP #156

Description

@emaxx-google

I experience occasional hangs in particular passes, e.g.:

01:23:45 INFO ===< ClangPass::replace-dependent-typedef >===
01:23:45 INFO (0.0%, 22566 bytes, 541 lines)
01:23:46 INFO (0.0%, 22566 bytes, 541 lines)
// ... the same repeats - even hours later

According to the initial investigation, there seems to be a bug in the replace-dependent-typedef pass, so that it sometimes reports success despite not making any changes in the file. This is normally caught by this check:

if not self.report_pass_bug(test_env, 'pass failed to modify the variant'):

, however this line is not reached if quit_loop has already been set to True because an earlier invocation returned PassResult.STOP.

The end effect is that the execution gets stuck in this state ~forever: the pass keeps being applied, the file remains the same all the time, and the file comparison check is skipped.

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions