Bug 4519 - Assertion at debugger-agent.c:2863, condition `seq_points' not met
Summary: Assertion at debugger-agent.c:2863, condition `seq_points' not met
Status: RESOLVED DUPLICATE of bug 4549
Alias: None
Product: Compilers
Classification: Mono
Component: C# ()
Version: unspecified
Hardware: PC Linux
: High major
Target Milestone: ---
Assignee: Marek Safar
URL:
Depends on:
Blocks:
 
Reported: 2012-04-19 10:30 UTC by Marek Safar
Modified: 2012-04-25 05:56 UTC (History)
5 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
repro (38.28 KB, application/x-7z-compressed)
2012-04-23 14:37 UTC, Marek Safar
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED DUPLICATE of bug 4549

Description Marek Safar 2012-04-19 10:30:08 UTC
Unable to find seq points for method 'System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)'.
* Assertion at debugger-agent.c:2863, condition `seq_points' not met

Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <IL 0x0001c, 0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x000d5] in /home/marek/git/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:229
  at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /home/marek/git/mono/mcs/class/corlib/System.Reflection/MethodBase.cs:101
  at NUnit.Core.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) <IL 0x0000e, 0x000c3>
  at NUnit.Core.TestMethod.RunTestMethod (NUnit.Core.TestResult) <IL 0x00025, 0x000c7>
  at NUnit.Core.TestMethod.RunTestCase (NUnit.Core.TestResult) <IL 0x00004, 0x0006b>
  at NUnit.Core.TestMethod.RunTest () <IL 0x0002c, 0x0019f>
  at NUnit.Core.NUnitTestMethod.RunTest () <IL 0x00002, 0x00053>
  at NUnit.Core.TestMethod.RunRepeatedTest () <IL 0x0003a, 0x00158>
  at NUnit.Core.TestMethod.RunTestInContext () <IL 0x0014c, 0x0063f>
  at NUnit.Core.TestMethod.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00058, 0x001e7>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000ef, 0x004df>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000dd, 0x00477>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00013, 0x000ab>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0003c, 0x0018f>
  at NUnit.Core.TestFixture.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0001b, 0x000cb>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000ef, 0x004df>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000dd, 0x00477>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00013, 0x000ab>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0003c, 0x0018f>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000ef, 0x004df>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000dd, 0x00477>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00013, 0x000ab>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0003c, 0x0018f>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000ef, 0x004df>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000dd, 0x00477>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00013, 0x000ab>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0003c, 0x0018f>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000ef, 0x004df>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000dd, 0x00477>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00013, 0x000ab>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0003c, 0x0018f>
  at NUnit.Core.TestSuite.RunAllTests (NUnit.Core.TestResult,NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000ef, 0x004df>
  at NUnit.Core.TestSuite.RunSuite (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x000dd, 0x00477>
  at NUnit.Core.TestSuite.RunSuiteInContext (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x00013, 0x000ab>
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter) <IL 0x0003c, 0x0018f>
  at NUnit.Core.SimpleTestRunner.Run (NUnit.Core.EventListener,NUnit.Core.ITestFilter,bool,NUnit.Core.LoggingThreshold) <IL 0x00049, 0x00169>
  at NUnit.Core.TestRunnerThread.TestRunnerThreadProc () <IL 0x0002a, 0x000b6>
  at System.Threading.Thread.StartInternal () [0x00016] in /home/marek/git/mono/mcs/class/corlib/System.Threading/Thread.cs:780
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <IL 0x0004e, 0xffffffff>

Native stacktrace:

	/home/marek/mono/bin/mono() [0x498447]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0xfc60) [0x2b8533057c60]
	/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x2b8533299d05]
	/lib/x86_64-linux-gnu/libc.so.6(abort+0x186) [0x2b853329dab6]
	/home/marek/mono/bin/mono() [0x5dcb8b]
	/home/marek/mono/bin/mono() [0x5dccc3]
	/home/marek/mono/bin/mono() [0x4b555c]
	/home/marek/mono/bin/mono() [0x4b55e0]
	/home/marek/mono/bin/mono() [0x4b7d5b]
	/home/marek/mono/bin/mono() [0x4c11d9]
	/home/marek/mono/bin/mono() [0x4b5e13]
	[0x402bc25c]

Debug info from gdb:

Could not attach to process.  If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
Comment 1 Marek Safar 2012-04-19 10:30:51 UTC
This was while stepping into

other.Headers.Expires = new DateTimeOffset (2020, 11, 30, 19, 55, 22, TimeSpan.Zero);
Comment 2 Zoltan Varga 2012-04-23 14:05:26 UTC
Do you have a full testcase ?
Comment 3 Marek Safar 2012-04-23 14:37:46 UTC
Created attachment 1731 [details]
repro
Comment 4 Marek Safar 2012-04-23 14:38:55 UTC
Repro project attached.

Try to debug the single test and Step Into at line 15
Comment 5 Zoltan Varga 2012-04-23 17:03:15 UTC
Can't repro this with mono master and md 2.8.8.4 on osx 32bit.
Comment 6 Marek Safar 2012-04-23 17:22:47 UTC
I am hitting this with Mono master, MD master on x86-64.

How can I help you to reproduce it, I am hitting this daily.
Comment 7 Zoltan Varga 2012-04-24 04:23:19 UTC
Fixed in master.
Comment 8 Marek Safar 2012-04-24 05:20:49 UTC
It no longer aborts but I still cannot step into it.
Comment 9 Zoltan Varga 2012-04-24 05:24:31 UTC
Thats because md issues a 'step into' which steps into get_Headers, then it issues  a 'step out' to skip the property getter, which stops after the call at line 17, since there is no sequence point during the whole call.
Comment 10 Marek Safar 2012-04-24 05:37:04 UTC
OK, moving it to MD
Comment 11 Zoltan Varga 2012-04-24 07:04:38 UTC
This isn't an md specific problem, but the usual problem of not having sequence points between calls.
Comment 12 Miguel de Icaza [MSFT] 2012-04-24 09:07:40 UTC
Could we make it so the debugger does not assert in these cases?

Since we know that this scenario happens frequently, is there another option beyond asserting that we could use?
Comment 13 Jeffrey Stedfast 2012-04-24 13:36:15 UTC
From what I gather, Zoltan already fixed the assert issue.

THe remaining bug, if I understand correctly, is that the compiler needs to insert sequence points between calls.
Comment 14 Marek Safar 2012-04-25 05:56:18 UTC

*** This bug has been marked as a duplicate of bug 4549 ***