Skip to content
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

runtime/vm/os_thread_linux.cc:234: error: pthread error: 22 (Invalid argument) #24169

Closed
kodandersson opened this issue Aug 21, 2015 · 3 comments
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Milestone

Comments

@kodandersson
Copy link
Contributor

http://build.chromium.org/p/client.dart/builders/vm-linux-debug-ia32-be/builds/4811/steps/tests/logs/stdio

@iposva-google

@kodandersson kodandersson added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Aug 21, 2015
@kodandersson
Copy link
Contributor Author

@johnmccutchan

@kodandersson kodandersson self-assigned this Aug 21, 2015
@kodandersson kodandersson added this to the 1.12 milestone Aug 21, 2015
@kodandersson
Copy link
Contributor Author

Seems something is locking a mutex (probably StoreBuffer::global_mutex_) after its destruction.

@kodandersson
Copy link
Contributor Author

At Dart::CleanUp time, there may still be threads around that access their store buffer, so we need to keep the global_mutex_ around until @zanderso lands the clean shutdown CL.

kodandersson added a commit that referenced this issue Aug 21, 2015
At Dart::CleanUp time, there may still be threads around that access their store buffer, so we need to keep these around until @zanderso lands the clean shutdown CL.

We should stop leaking them once we cleanly stop all threads at VM shutdown (see issue 23844).

BUG=#24169
[email protected]

Review URL: https://codereview.chromium.org//1305123003 .
whesse added a commit that referenced this issue Aug 24, 2015
Cherry-picks and associated conflict resolution for:
664742f
d0b03ee
3aa62d0
74e0278
028c995

=====

Keep StoreBuffer::global_mutex_ and global_empty_ alive.

At Dart::CleanUp time, there may still be threads around that access their store buffer, so we need to keep these around until @zanderso lands the clean shutdown CL.

We should stop leaking them once we cleanly stop all threads at VM shutdown (see issue 23844).

BUG=#24169
[email protected]

Review URL: https://codereview.chromium.org//1305123003 .

Conflicts:
	runtime/vm/dart.cc

Fix reuse of free store buffer blocks from the global cache of free blocks.

Add StoreBuffer::ShutDown to delete global cache of free blocks on VM shutdown.

BUG=#24129
[email protected]

Review URL: https://codereview.chromium.org//1309603003 .

Conflicts:
	runtime/vm/dart.cc

- Prevent interrupting the NULL thread when the isolate is   exiting from within a thread.

BUG=

Review URL: https://codereview.chromium.org//1307833002 .

- Initialize fields used in the profiler interrupts.

BUG=
[email protected]

Review URL: https://codereview.chromium.org//1304043003 .

Completely remove InterruptableThreadState

- InterruptableThreadState is gone.
- Moved InterruptableThreadState fields directly into Thread.
- Iterate over all threads in an isolate when profiling.
- Still only sample the mutator thread.

Fix ThreadRegistry leak

- When deleting a Thread, iterate over all isolates and remove it from the isolate's thread registry.

[email protected]

Review URL: https://codereview.chromium.org//1293253005 .

Conflicts:
	runtime/vm/isolate.h
	runtime/vm/thread.cc
	runtime/vm/thread.h
	runtime/vm/thread_interrupter.cc
	runtime/vm/thread_interrupter_android.cc
	runtime/vm/thread_interrupter_linux.cc
	runtime/vm/thread_interrupter_macos.cc

- Fix leak in TimelineEventRecorder.
- Fix leak in ThreadRegistry.

patch from issue 1305353003 at patchset 1 (http://crrev.com/1305353003#ps1)
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

1 participant