Skip to content

Dartium crashes after IterableMixin added #22719

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
DartBot opened this issue Mar 7, 2015 · 4 comments
Closed

Dartium crashes after IterableMixin added #22719

DartBot opened this issue Mar 7, 2015 · 4 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@DartBot
Copy link

DartBot commented Mar 7, 2015

This issue was originally filed by @bp74


What steps will reproduce the problem?

I have attached a web application that crashes Dartium right when the website loads. The same application runs fine when compiled to JavaScript.

What is the expected output? What do you see instead?

You can fix the crash by removing the IterableMixin in this two files:

/web/stagexl/src/display/display_object_parent.dart
/web/stagexl/src/display/display_object_container.dart

You can easily remove those mixins because they aren't used by the application. Everything was running perfectly fine til the moment i have added the IterableMixin. Maybe i'm doing something stupid (because it's the first time i have added the IterableMixin) but the browser shouldn't crash like this.

In Dartium, enter chrome://version and paste the results here.

Chromium 39.0.2171.99 (Developer Build)
Revision a68efcf7f47b66832e4662b91e54612555f4964e
OS Windows
Blink 537.36 (@­889f35a63b23d86c0f318af9a65a875117811cfd)
JavaScript V8 3.29.88.17
Dart 1.9.0-dev.10.2
Flash 16,0,0,305
User Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 (Dart) Safari/537.36
Command Line "C:\Tools\dart-dev\chromium\chrome.exe" --no-sandbox --flag-switches-begin --flag-switches-end
Executable Path C:\Tools\dart-dev\chromium\chrome.exe
Profile Path C:\Users\Bernhard\AppData\Local\Chromium\User Data\Default
Variations ed1d377-e1cc0f14

Put OS and machine details here.
(If you're using Linux or Mac OS, you can get this from uname -a.)

Windows 10 x64

Please provide any additional information below.


Attachment:
Crash.zip (1.06 MB)

@DartBot
Copy link
Author

DartBot commented Mar 7, 2015

This comment was originally written by @bp74


Here is a repro-case that crashes Dartium. In JavaScript it prints 1,2,3,4,5

import 'dart:collection';

abstract class A {
}

abstract class B extends Object with IterableMixin<int> {
  Iterator<int> get iterator;
}

abstract class C extends A with IterableMixin<int> implements B {
  final list = [1,2,3,4,5];
  Iterator<int> get iterator => list.iterator;
}

class D extends C {
}

void main() {
  var d = new D();
  for(var i in d) {
    print(i);
  }
}

@a-siva
Copy link
Contributor

a-siva commented Mar 9, 2015

backtrace of the crash is as follows:

#­3 0x081dbd35 in dart::DynamicAssertionHelper::Fail (
    this=this@entry=0xf7164a34, format=format@entry=0x8830de8 "expected: %s")
    at runtime/platform/assert.cc:41
#­4 0x083c2638 in dart::Type::CloneUninstantiated (this=0xf6f500f8,
    new_owner=...) at runtime/vm/object.cc:14915
#­5 0x083c0098 in dart::Function::Clone (this=this@entry=0xf6f500b0,
    new_owner=...) at runtime/vm/object.cc:6182
#­6 0x081fa139 in dart::ClassFinalizer::ApplyMixinMembers (cls=...)
    at runtime/vm/class_finalizer.cc:2146
#­7 0x081ff6d8 in dart::ClassFinalizer::FinalizeClass (cls=...)
    at runtime/vm/class_finalizer.cc:2326
#­8 0x0820fe12 in dart::Compiler::CompileClass (cls=...)
    at runtime/vm/compiler.cc:336
#­9 0x0839b75a in dart::Class::EnsureIsFinalized (this=this@entry=0xf6fd2e30,
    isolate=isolate@entry=0x8d33df0) at runtime/vm/object.cc:2852
#­10 0x083e3f87 in dart::Class::LookupFunction (this=this@entry=0xf6fd2e30,
    name=..., kind=kind@entry=dart::Class::kConstructor)
    at runtime/vm/object.cc:3867
#­11 0x083e68d0 in dart::Class::LookupConstructor (this=this@entry=0xf6fd2e30,
    name=...) at runtime/vm/object.cc:3785

These seems like another variation of issue #6


cc @crelier.
Removed Area-Dartium label.
Added Area-VM label.

@crelier
Copy link
Contributor

crelier commented Mar 9, 2015

Set owner to @crelier.
Added Started label.

@crelier
Copy link
Contributor

crelier commented Mar 10, 2015

Fixed at r44383.


Added Fixed label.

@DartBot DartBot added Type-Defect area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. labels Mar 10, 2015
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

4 participants