Repeatable Random Freezing
Repeatable Random Freezing
During execution of code, the code gets stuck and does not return from the Devart library.
This can occur during SubmitChanges, DeleteOnSubmit, DeleteAllOnSubmit, as well as general code that requires a SELECT to be executed.
When this occurs, the process starts using 100% of one CPU core.
I reported this issue on the 12 May 2020, and I haven't received any form of advice or resolution.
All the following call stacks were generated by the same code. No changes were made to the code, but the execution appears to get stuck in different places.
Call Stack Example 1
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.MeterReading, long>.a(long A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.do<System.__Canon, long>.a(object A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a(Devart.Data.Linq.Mapping.MetaDataMember A_0, object A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.i()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Call Stack Example 2
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.Meter, int>.a(int A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.do<System.__Canon, int>.a(object A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a(Devart.Data.Linq.Mapping.MetaDataMember A_0, object A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.i()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Call Stack Example 3
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.Vatrate, int>.a(int A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.do<System.__Canon, int>.a(object A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a(Devart.Data.Linq.Mapping.MetaDataMember A_0, object A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.i()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Call Stack Example 4
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.Transaction, long>.b(Devart.Data.Linq.Engine.IObjectEntry A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
This can occur during SubmitChanges, DeleteOnSubmit, DeleteAllOnSubmit, as well as general code that requires a SELECT to be executed.
When this occurs, the process starts using 100% of one CPU core.
I reported this issue on the 12 May 2020, and I haven't received any form of advice or resolution.
All the following call stacks were generated by the same code. No changes were made to the code, but the execution appears to get stuck in different places.
Call Stack Example 1
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.MeterReading, long>.a(long A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.do<System.__Canon, long>.a(object A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a(Devart.Data.Linq.Mapping.MetaDataMember A_0, object A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.i()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Call Stack Example 2
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.Meter, int>.a(int A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.do<System.__Canon, int>.a(object A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a(Devart.Data.Linq.Mapping.MetaDataMember A_0, object A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.i()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Call Stack Example 3
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.Vatrate, int>.a(int A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.do<System.__Canon, int>.a(object A_0, out Devart.Data.Linq.Engine.IObjectEntry A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a(Devart.Data.Linq.Mapping.MetaDataMember A_0, object A_1)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.i()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Call Stack Example 4
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.dq<Company.DataClasses.Transaction, long>.b(Devart.Data.Linq.Engine.IObjectEntry A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.h()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.b1.a.d()
Devart.Data.Linq.dll!Devart.Data.Linq.Engine.by.a(Devart.Data.Linq.ConflictMode A_0)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges(Devart.Data.Linq.ConflictMode failureMode)
Devart.Data.Linq.dll!Devart.Data.Linq.DataContext.SubmitChanges()
Test.exe!Company.Module1.ReverseCoT(Integer TenancyIDToReverse, Integer PreviousTenancyID) Line 319
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(319)
Test.exe!Company.Module1.Main() Line 24
at C:\Company Files\Software\VS\PP Server Software\Test\Module1.vb(24)
Re: Repeatable Random Freezing
We cannot identify the reason for the issue at the moment. The investigation is in progress.
Re: Repeatable Random Freezing
If you can somehow supply source code or debug symbols, I can then test with them included which could assist with the investigation.
This is extremely critical as it's occuring on production systems and has been an issue for almost a month now.
This is extremely critical as it's occuring on production systems and has been an issue for almost a month now.
Re: Repeatable Random Freezing
Another working week has passed with no sign of a resolution.
Beginning the search for a new solution as DevArt is not capable of providing the appropriate level of support for critical systems.
No reply to this suggestion either.If you can somehow supply source code or debug symbols, I can then test with them included which could assist with the investigation.
Beginning the search for a new solution as DevArt is not capable of providing the appropriate level of support for critical systems.
Re: Repeatable Random Freezing
1. We still cannot reproduce the problem in our environment. There were no similar reports from other customers, so probably it occurs very rarely. A test project that reproduces freezing at least once in several hours would be much appreciated. Could you please provide it?
2. Important question: have you tried setting EntityCachingMode to StrongReference? Does the process get stuck in this case or not?
Thank you for your collaboration in problem-solving.
2. Important question: have you tried setting EntityCachingMode to StrongReference? Does the process get stuck in this case or not?
Code: Select all
context.EntityCachingMode = EntityCachingMode.StrongReference;
RESOLVED: Repeatable Random Freezing
It's difficult to provide a sample due to the complexity of the overall project and data schema.
Populating the data set with dummy data is also not simple.
However, I am happy to report that since adding this line, we have had no further issue.
Populating the data set with dummy data is also not simple.
However, I am happy to report that since adding this line, we have had no further issue.
Code: Select all
context.EntityCachingMode = EntityCachingMode.StrongReference;
Re: RESOLVED: Repeatable Random Freezing
Thank you for letting us know.dan_j wrote: ↑Fri 17 Jul 2020 17:45I am happy to report that since adding this line, we have had no further issue.
Code: Select all
context.EntityCachingMode = EntityCachingMode.StrongReference;
JIC: our product line includes MySQL Data Generator.