Skip to content

spawn_uri_nested_vm_test is crashes on drt and chromium. #14463

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
floitschG opened this issue Oct 25, 2013 · 10 comments
Closed

spawn_uri_nested_vm_test is crashes on drt and chromium. #14463

floitschG opened this issue Oct 25, 2013 · 10 comments
Labels
P2 A bug or feature request we're likely to work on type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@floitschG
Copy link
Contributor

isolate_stress_test was skipped because of issue #12537.
spawn_uri_nested_vm_test is skipped because of a crash (most likely OOM).

@floitschG
Copy link
Contributor Author

Removed Priority-Unassigned label.
Added Priority-High label.

@sgjesse
Copy link
Contributor

sgjesse commented Apr 30, 2014

Added this to the 1.5 milestone.

@whesse
Copy link
Contributor

whesse commented Jun 2, 2014

Isolate_stress_test is failing on drt, dartium and ContentShellOnAndroid, with the error 'spawnFunction is not supported from a dom-enabled isolate. Please use spawnUri instead.' Adding this test to issue #13921, so the only test remaining on this issue is spawn_uri_nested_vm_test.
        

@kasperl
Copy link

kasperl commented Jun 6, 2014

Doesn't look like we expect to fix this for 1.5. Punting.


Removed this from the 1.5 milestone.
Added this to the 1.6 milestone.

@sethladd
Copy link
Contributor

Marked as High, but it's getting punted. Unclear who the owner is. If I get this wrong, please help me by:

* assigning a new owner

  • changing priority
  • changing milestone

Removed Priority-High label.
Added Priority-Medium label.

@kasperl
Copy link

kasperl commented Aug 6, 2014

Removed Priority-Medium label.
Added Priority-High label.

@lrhn
Copy link
Member

lrhn commented Aug 12, 2014

This appears to be a real crash in the renderer.
When I run an x64-debug version of drt, it crashes with:

ASSERTION FAILED: WTF::isMainThread()
../../third_party/WebKit/Source/core/fetch/MemoryCache.cpp(56) : WebCore::MemoryCache* WebCore::memoryCache()
1 0x7f87b23f2829
2 0x7f87b2407b59
3 0x7f87b2405f5c
4 0x7f87b0de0740
5 0x7f87b0de2b15
6 0x7f87b0de128d
7 0x7f87b0de9c11
8 0x7f87b1c0c368
9 0x7f87b1c0c3dd
10 0x7f87b1c0cdae
11 0x7f87b1c0cb78
12 0x7f87a065536c
Received signal 11 SEGV_MAPERR 0000fbadbeef
#­0 0x7f87be110975 base::debug::StackTrace::StackTrace()
#­1 0x7f87be1102a1 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#­2 0x7f87af0d5cb0 <unknown>
#­3 0x7f87b23f2833 WebCore::memoryCache()
#­4 0x7f87b2407b59 WebCore::ResourceFetcher::requestResource()
#­5 0x7f87b2405f5c WebCore::ResourceFetcher::fetchScript()
#­6 0x7f87b0de0740 WebCore::DartApplicationLoader::Callback::requestScript()
#­7 0x7f87b0de2b15 WebCore::DartApplicationLoader::fetchScriptResource()
#­8 0x7f87b0de128d WebCore::DartApplicationLoader::processSingleRequest()
#­9 0x7f87b0de9c11 WebCore::DartController::createPureIsolateCallback()
#­10 0x7f87b1c0c368 dart::CreateIsolate()
#­11 0x7f87b1c0c3dd dart::Spawn()
#­12 0x7f87b1c0cdae dart::DN_HelperIsolate_spawnUri()
#­13 0x7f87b1c0cb78 dart::BootstrapNatives::DN_Isolate_spawnUri()
#­14 0x7f87a065536c <unknown>

That means that something in the Chromium isolate implementation is acting out of turn. The "fbadbeef" looks deliberate.


Removed Area-Library, Library-Isolate labels.
Added Area-Dartium, Security labels.
Changed the title to: "spawn_uri_nested_vm_test is crashes on drt and chromium.".

@vsmenon
Copy link
Member

vsmenon commented Aug 13, 2014

It looks like the underlying resource fetching APIs we depend upon must be called from the main UI thread.

We may need to forward the spawnUri request from the calling background isolate to the main thread.

For now, I will add an explicit unimplemented throw if we're not on the main thread to fix the crash issue.


cc @a-siva.
Set owner to @vsmenon.
Added Accepted label.

@vsmenon
Copy link
Member

vsmenon commented Aug 13, 2014

CL to fix crash: https://codereview.chromium.org/468763003/

This will fix the crash, but the test is incorrectly reporting as PASS with this in. I believe this is a bug in the test. There does not appear to be any verification that the nested spawnUri actually succeeded in running.

Running /usr/local/google/home/vsm/git/dartium37/src/dart/tests/isolate/spawn_uri_nested_vm_test.dart

PASS
#EOF
#EOF

stderr:
[1053:1053:0813/120718:789157802049:ERROR:browser_main_loop.cc(161)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
in ShutdownIsolate: Unhandled exception:
Uncaught Error: IsolateSpawnException: 'spawnUri is not yet supported on background isolates.'
Stack Trace:
#­0 Isolate.spawnUri (dart:isolate-patch/isolate_patch.dart:256)
#­1 main (http://127.0.0.1:52638/root_build/generated_tests/none-drt-checked/tests_isolate_spawn_uri_nested_vm_test/spawn_uri_nested_child1_vm_isolate.dart:18:19)
#­2 _startIsolate.isolateStartHandler (dart:isolate-patch/isolate_patch.dart:210)
#­3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:122)

#­0 _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:820)
#­1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)
#­2 _asyncRunCallback (dart:async/schedule_microtask.dart:48)
#­3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:126)

@vsmenon
Copy link
Member

vsmenon commented Aug 15, 2014

The crasher is fixed, so downgrading. We still need to properly implement.


Removed the owner.
Removed this from the 1.6 milestone.
Removed Security, Priority-High labels.
Added Priority-Medium, Triaged labels.

@kevmoo kevmoo added P2 A bug or feature request we're likely to work on type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) and removed triaged labels Feb 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 A bug or feature request we're likely to work on type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

9 participants