Skip to content

dart2js errors have stack traces that don't remain identical over time. #15171

@nex3

Description

@nex3

Consider the following code:

    var st1;
    try {
      try {
        throw 'bad';
      } catch (e, st) {
        st1 = st;
        rethrow;
      }
    } catch (e, st2) {
      print(st1 == st2);
      print(identical(st1, st2));
    }

On the VM, this prints "true" and "true", but on dart2js it prints "false" and "false". This makes it difficult to compare stack traces for equality and impossible to use them in expandos, which is blocking my work on issue #7040 on dart2js.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions