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

[interpreter]Debugging sample crashes when interpreter is enabled #5381

Closed
GouriKumari opened this issue Jan 11, 2019 · 2 comments · Fixed by dotnet/android#2729
Closed

[interpreter]Debugging sample crashes when interpreter is enabled #5381

GouriKumari opened this issue Jan 11, 2019 · 2 comments · Fixed by dotnet/android#2729
Assignees
Labels
bug If an issue is a bug or a pull request a bug fix iOS Issues affecting Xamarin.iOS
Projects
Milestone

Comments

@GouriKumari
Copy link
Contributor

Steps to Reproduce

  1. Install Xamarin.iOS master, Version: 12.7.0.35 (Visual Studio Enterprise) 327c0a8
  2. Set a breakpoint against Line7 in ClassesUnderTest/SimpleBreakpoints.cs
  3. Build and deploy cross platform debugging app on device with interpreter enabled for iOS.Debugging.
  4. GoTo SimpleBreakPoint and click Start

Expected Behavior

Breakpoint should get hit and user must able to debug app successfully.

Actual Behavior

Connection to the debugger is lost and app crashes with an error, 2019-01-11 10:27:16.744 XiOSDebugging[2297:333230] error: * Assertion at /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/external/mono/mono/mini/debugger-engine.c:359, condition `ji' not met

Environment

=== Visual Studio Enterprise 2017 for Mac (Preview) ===

Version 7.8 Preview (7.8 build 1487)
Installation UUID: fe2e3011-6fdf-476f-9a39-d7d6b435ddd1
	GTK+ 2.24.23 (Raleigh theme)
	Xamarin.Mac 5.6.0.1 (d16-0 / 2e9867a4)

	Package version: 518000225

=== Mono Framework MDK ===

Runtime:
	Mono 5.18.0.225 (2018-08/bac9fc1f889) (64-bit)
	Package version: 518000225

=== NuGet ===

Version: 4.8.0.5385

=== .NET Core ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Version: 2.1.2
SDK: /usr/local/share/dotnet/sdk/2.1.302/Sdks
SDK Version: 2.1.302
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.18.0/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Profiler ===

Version: 1.6.4
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 10.1 (14460.46)
Build 10B61

=== Xamarin.Mac ===

Version: 5.2.1.12 (Visual Studio Enterprise)
Hash: 65ec520f
Branch: 
Build date: 2018-12-05 12:06:09-0500

=== Xamarin.iOS ===

Version: 12.7.0.35 (Visual Studio Enterprise)
Hash: 327c0a8d
Branch: master
Build date: 2019-01-08 23:25:33-0800

=== Xamarin.Android ===

Not Installed

=== Microsoft Mobile OpenJDK ===

Java SDK: Not Found

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android Device Manager ===

Version: 7.8.1.0
Hash: 06ceaea1

=== Xamarin Inspector ===

Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 708001487
Git revision: 0311f28ad5352750c02c4854a36587e47f4806be
Build date: 2018-12-19 18:37:11+00
Build branch: release-7.8
Xamarin extensions: 1de2700808f1ef0e06199d64e043bc2ae523d700

=== Operating System ===

Mac OS X 10.14.1
Darwin 18.2.0 Darwin Kernel Version 18.2.0
    Fri Oct  5 19:41:49 PDT 2018
    root:xnu-4903.221.2~2/RELEASE_X86_64 x86_64

Build Logs

Build Log: https://gist.github.com/GouriKumari/26eafacbd0e746e405b0807adc71efe0
Application Output: https://gist.github.com/GouriKumari/edfe0fde10ce6a745fa0c25644e17f89
Crash Log: https://gist.github.com/GouriKumari/8037dc279a34dfcf408e1e728743f5a7

Example Project (If Possible)

https://www.dropbox.com/s/zabk8nwa3bvjzsr/CrossPlatformDebugging.zip?dl=0

Additional Info:

This works when interpreter is disabled.

@spouliot spouliot added this to the Future milestone Jan 11, 2019
@spouliot spouliot added this to Inbox in Interpreter via automation Jan 11, 2019
@spouliot spouliot added bug If an issue is a bug or a pull request a bug fix iOS Issues affecting Xamarin.iOS labels Jan 11, 2019
@spouliot
Copy link
Contributor

Side note: the debugger (and breakpoints) works in other conditions (I've been using them)

@GouriKumari
Copy link
Contributor Author

GouriKumari commented Jan 11, 2019

I was testing the various scenarios:
Failed Scenarios include:
Simple BreakPoints
MultiThreaded BreakPoints
Shared BreakPoints
Delegate Breakpoints
PCL Breakpoints
Regular Exception
PCL in PCL Nested Library breakpoints
PCL in iOS Class Library Nested Class Libraries
Net Standard in NetStandard Nested Libraries
NetStandard in iOS Class Libraries in NetStandard Nested Libraries
All these scenarios fail with the same assertion mentioned in initial test report. Debugging works with basic template projects, tested with single view and master detail template projects.

BrzVlad added a commit to BrzVlad/mono that referenced this issue Feb 8, 2019
When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381
luhenry pushed a commit to mono/mono that referenced this issue Feb 8, 2019
#12902)

* [interp] Add method to seq_points table after we finish registering it

When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381

* [interp] Move profiler callback when we are actually done

Just in case.
monojenkins pushed a commit to monojenkins/mono that referenced this issue Feb 8, 2019
When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381
monojenkins pushed a commit to monojenkins/mono that referenced this issue Feb 8, 2019
When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381
monojenkins pushed a commit to monojenkins/mono that referenced this issue Feb 8, 2019
When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381
monojenkins pushed a commit to monojenkins/mono that referenced this issue Feb 8, 2019
When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381
lewurm pushed a commit to mono/mono that referenced this issue Feb 11, 2019
…istering it (#12905)

* [interp] Add method to seq_points table after we finish registering it

When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381

* [interp] Move profiler callback when we are actually done

Just in case.
monojenkins added a commit to mono/mono that referenced this issue Feb 11, 2019
…istering it (#12908)

[2019-02] [interp] Add method to seq_points table after we finish registering it

When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381


Backport of #12902.

/cc @luhenry @BrzVlad
luhenry pushed a commit to mono/mono that referenced this issue Feb 11, 2019
…istering it (#12906)

* [interp] Add method to seq_points table after we finish registering it

When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381

* [interp] Move profiler callback when we are actually done

Just in case.
luhenry pushed a commit to mono/mono that referenced this issue Feb 11, 2019
…istering it (#12907)

* [interp] Add method to seq_points table after we finish registering it

When adding a breakpoint (mono_de_set_breakpoint) we search in this table for seq_point information for the method. If we find the information we expect that the method is already compiled and has the metadata initialized when actually adding the breakpoint (set_bp_in_method). We were crashing if the jinfo field of the interp method was not yet initialized.

Fixes xamarin/xamarin-macios#5381

* [interp] Move profiler callback when we are actually done

Just in case.
jonpryor added a commit to jonpryor/xamarin-android that referenced this issue Feb 12, 2019
jonpryor added a commit to jonpryor/xamarin-android that referenced this issue Feb 13, 2019
Fixes: mono/mono#11965
Fixes: mono/mono#12831
Fixes: xamarin/xamarin-macios#5363
Fixes: xamarin/xamarin-macios#5381

Bumps to mono/corert@e229c944

Add back missing stack frames in MERP reports.

Fix building older runtimes with newer system Mono.
(Perhaps this will fix our Linux builds?)
jonpryor added a commit to dotnet/android that referenced this issue Feb 13, 2019
Fixes: mono/mono#11965
Fixes: mono/mono#12831
Fixes: xamarin/xamarin-macios#5363
Fixes: xamarin/xamarin-macios#5381

Bumps to mono/corert@e229c944

Add back missing stack frames in MERP reports.

Fix building older runtimes with newer system Mono.
(Perhaps this will fix our Linux builds?)
@spouliot spouliot moved this from Inbox to Fixed in Interpreter Mar 6, 2019
jonpryor pushed a commit to dotnet/android that referenced this issue Apr 24, 2019
Bumps to mono/api-snapshot@ae01378
Bumps to mono/reference-assemblies@e5173a5
Bumps to mono/bockbuild@d30329d
Bumps to mono/boringssl@3d87996
Bumps to mono/corefx@72f7d76
Bumps to mono/corert@1b7d4a1
Bumps to mono/helix-binaries@7e893ea
Bumps to mono/illinker-test-assets@f21ff68
Bumps to dotnet/linker@13d864e
Bumps to mono/llvm@1aaaaa5 [mono]
Bumps to mono/llvm@2c2cffe [xamarin-android]
Bumps to mono/NUnitLite@0029561
Bumps to mono/roslyn-binaries@0bbc9b4
Bumps to mono/xunit-binaries@8f6e62e

	$ git diff --shortstat 886c4901..e66c7667      # mono
        3597 files changed, 350850 insertions(+), 91128 deletions(-)
	$ git diff --shortstat 349752c464c5fc93b32e7d45825f2890c85c8b7d..2c2cffedf01e0fe266b9aaad2c2563e05b750ff4
	 240 files changed, 18562 insertions(+), 6581 deletions(-)

Context: https://github.com/dotnet/coreclr/issues/22046

Fixes: CVE 2018-8292 on macOS
Fixes: http://work.devdiv.io/737323
Fixes: https://github.com/dotnet/corefx/issues/33965
Fixes: dotnet/standard#642
Fixes: mono/mono#6997
Fixes: mono/mono#7326
Fixes: mono/mono#7517
Fixes: mono/mono#7750
Fixes: mono/mono#7859
Fixes: mono/mono#8360
Fixes: mono/mono#8460
Fixes: mono/mono#8766
Fixes: mono/mono#8922
Fixes: mono/mono#9418
Fixes: mono/mono#9507
Fixes: mono/mono#9951
Fixes: mono/mono#10024
Fixes: mono/mono#10030
Fixes: mono/mono#10038
Fixes: mono/mono#10448
Fixes: mono/mono#10735
Fixes: mono/mono#10735
Fixes: mono/mono#10737
Fixes: mono/mono#10743
Fixes: mono/mono#10834
Fixes: mono/mono#10837
Fixes: mono/mono#10838
Fixes: mono/mono#10863
Fixes: mono/mono#10945
Fixes: mono/mono#11020
Fixes: mono/mono#11021
Fixes: mono/mono#11021
Fixes: mono/mono#11049
Fixes: mono/mono#11091
Fixes: mono/mono#11095
Fixes: mono/mono#11123
Fixes: mono/mono#11138
Fixes: mono/mono#11146
Fixes: mono/mono#11202
Fixes: mono/mono#11214
Fixes: mono/mono#11317
Fixes: mono/mono#11326
Fixes: mono/mono#11378
Fixes: mono/mono#11385
Fixes: mono/mono#11478
Fixes: mono/mono#11479
Fixes: mono/mono#11488
Fixes: mono/mono#11489
Fixes: mono/mono#11527
Fixes: mono/mono#11529
Fixes: mono/mono#11596
Fixes: mono/mono#11603
Fixes: mono/mono#11613
Fixes: mono/mono#11623
Fixes: mono/mono#11663
Fixes: mono/mono#11681
Fixes: mono/mono#11684
Fixes: mono/mono#11693
Fixes: mono/mono#11697
Fixes: mono/mono#11779
Fixes: mono/mono#11809
Fixes: mono/mono#11858
Fixes: mono/mono#11895
Fixes: mono/mono#11898
Fixes: mono/mono#11898
Fixes: mono/mono#11965
Fixes: mono/mono#12182
Fixes: mono/mono#12193
Fixes: mono/mono#12218
Fixes: mono/mono#12235
Fixes: mono/mono#12263
Fixes: mono/mono#12307
Fixes: mono/mono#12331
Fixes: mono/mono#12362
Fixes: mono/mono#12374
Fixes: mono/mono#12402
Fixes: mono/mono#12421
Fixes: mono/mono#12461
Fixes: mono/mono#12479
Fixes: mono/mono#12479
Fixes: mono/mono#12552
Fixes: mono/mono#12603
Fixes: mono/mono#12747
Fixes: mono/mono#12831
Fixes: mono/mono#12843
Fixes: mono/mono#12881
Fixes: mono/mono#13030
Fixes: mono/mono#13284
Fixes: mono/mono#13297
Fixes: mono/mono#13455
Fixes: mono/mono#13460
Fixes: mono/mono#13478
Fixes: mono/mono#13479
Fixes: mono/mono#13522
Fixes: mono/mono#13607
Fixes: mono/mono#13610
Fixes: mono/mono#13610
Fixes: mono/mono#13639
Fixes: mono/mono#13672
Fixes: mono/mono#13834
Fixes: mono/mono#13878
Fixes: mono/mono#6352
Fixes: mono/monodevelop#6898
Fixes: xamarin/maccore#1069
Fixes: xamarin/maccore#1407
Fixes: xamarin/maccore#604
Fixes: xamarin/xamarin-macios#4984
Fixes: xamarin/xamarin-macios#5289
Fixes: xamarin/xamarin-macios#5363
Fixes: xamarin/xamarin-macios#5381
Fixes: https://issuetracker.unity3d.com/issues/editor-crashes-with-g-logv-when-entering-play-mode-with-active-flowcanvas-script
@ghost ghost locked as resolved and limited conversation to collaborators May 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug If an issue is a bug or a pull request a bug fix iOS Issues affecting Xamarin.iOS
Projects
No open projects
Interpreter
  
Fixed
Development

Successfully merging a pull request may close this issue.

3 participants