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

Fix for threading issue #561

Merged
merged 2 commits into from Mar 1, 2017

Conversation

pieandcakes
Copy link
Collaborator

@pieandcakes pieandcakes commented Mar 1, 2017

  • Issue was timing in that the new thread was being populated in MIEngine
  • without the id being added to the threadgroup. Moved the relevant block.
  • Also blocked it from requesting thread-info from clrdbg since this
  • doesn't work while running in clrdbg

@gregg-miskelly @rajkumar42 @chuckries @caslan

* Issue was timing in that the new thread was being populated in MIEngine
* without the id being added to the threadgroup. Moved the relevant block.
* Also blocked it from requesting thread-info from clrdbg since this
* doesn't work while running in clrdbg
{
message = result.Results.TryFindString("message");
}
_callback.OnError(message);
};

ThreadCreatedEvent += delegate (object o, EventArgs args)
ThreadCreatedEvent += async delegate (object o, EventArgs args)
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{ [](start = 12, length = 1)

This method is now async void, so it needs a try/catch

@@ -155,6 +155,7 @@ public override bool UseExternalConsoleForLocalLaunch(LocalLaunchOptions localLa
_currentFrameLevel = frameLevel;
}
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to undo your changes to the files with whitespace-only diffs

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gregg-miskelly Was fixing missing newlines. Do you want me to remove them?

Copy link
Member

@gregg-miskelly gregg-miskelly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise LGTM

@pieandcakes pieandcakes merged commit f0a26fc into microsoft:master Mar 1, 2017
@pieandcakes pieandcakes deleted the users/piel/threadingFix branch March 1, 2017 20:49
pieandcakes added a commit that referenced this pull request Mar 1, 2017
* Fixed 'pwd' invocation (#533)

* Unzip prompts when overwriting existing files.

Fixing it by force overwriting on top of existing files.

* remove '-f' flag from unzip

unzip -f doesn't do what you think it does.

* Stop calling CheckModules for lldb/clrdbg (#542)

MIEngine had a method that we use for GDB to find the list of loaded modules. This method wasn't intended to be called for lldb/clrdbg, but there was one race where it could happen - if a stopping event was received before the SDD continued program create we will call CheckModule.

This adds a guard to fix this.

This should resolve dotnet/vscode-csharp#1035.

* Support breakpoints in sourcefiles with same base name. (#541)

* Support breakpoints in sourcefiles with same base name.
 - projects can send in source file mapping data
 - users can supply solution-specific additional source map file

* Switch from using Array.Foreach to foreach

* Review response, support attach path

* Check for empty editor string

* Fix build on Dev15 (#544)

Adjusts targets files to check both old and new locations for csc.exe

* Package the UnixPortSupplier interop assembly (#545)

Ensure that the MS.VS.Debugger.Interop.UnixPortSupplier.DesignTime
assembly is packaged into a NuGet package so it can be referenced
from other projects.

* When specifying only a filename for miDebuggerPath, search $Path for
debugger

* Code Review Feedback

* Do not include metadata.json in NuGet packages (#548)

Fixes build break, since Microbuild no longer produces this file

* Fix Natvis for DisplayString conditionals in C

Issue: gdb returns "1" and "0" instead of "true" and "false" when
debugging C and a condition is passed for evaluation.

Changed code to check for either "true" or "1"

* Code Review Feedback

* Add non-shell commands to SSH port supplier (#554)

Extends the SSH port supplier to allow commands to be run without starting a shell and allocating a PTY on the remote host.

* Fix for Stop at entry with gdb<->gdbserver

* Fix typo

* Fixes for thread-created and terminate/detach

1. Fix for Pause on OS X with lldb. LLDB does not break on attach so
threads were not being sent to the UI. Fix was to send back messages when
threads are created directly

2. fix for detach/terminate. With the change to do an internal break, it
was sending -exec-interrupt, -exec-abort and then -exec-continue which was
causing errors. added check in DoInternalBreakActions to only continue if
we are not terminating or detaching.

3. Fix for ErrorEvent. on LLDB, the message format is ^error,message=""
but in gdb it is ^error,msg="". Added a special case for it.

* Update InstallToVSCode.cmd to reflect vsdbg changes

* Fix for coredump debugging and a timing issue (#560)

* Core dump threads start with LWP. Added a target-id parsing for it
* when new threads are created, mark it as state change before thread-info
* which can take a while.

* Fix for threading issue (#561)

* Fix for threading issue

* Issue was timing in that the new thread was being populated in MIEngine
* without the id being added to the threadgroup. Moved the relevant block.
* Also blocked it from requesting thread-info from clrdbg since this
* doesn't work while running in clrdbg

* Pull Request Feedback
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants