Repeatable Random Freezing

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for MySQL
Post Reply
dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Repeatable Random Freezing

Post by dan_j » Wed 20 May 2020 15:27

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)

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: Repeatable Random Freezing

Post by Shalex » Thu 28 May 2020 19:56

We cannot identify the reason for the issue at the moment. The investigation is in progress.

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Sun 31 May 2020 14:09

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.

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Fri 05 Jun 2020 17:04

Another working week has passed with no sign of a resolution.
If you can somehow supply source code or debug symbols, I can then test with them included which could assist with the investigation.
No reply to this suggestion either.

Beginning the search for a new solution as DevArt is not capable of providing the appropriate level of support for critical systems.

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Wed 17 Jun 2020 15:03

Hello?

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Fri 19 Jun 2020 17:34

?

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Sun 21 Jun 2020 18:09

?

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Fri 26 Jun 2020 17:04

?

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

Re: Repeatable Random Freezing

Post by dan_j » Mon 06 Jul 2020 15:23

?

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: Repeatable Random Freezing

Post by Shalex » Wed 08 Jul 2020 12:21

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?

Code: Select all

    context.EntityCachingMode = EntityCachingMode.StrongReference;
Thank you for your collaboration in problem-solving.

dan_j
Posts: 11
Joined: Wed 28 Jun 2017 14:06

RESOLVED: Repeatable Random Freezing

Post by dan_j » Fri 17 Jul 2020 17:45

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.

Code: Select all

    context.EntityCachingMode = EntityCachingMode.StrongReference;

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: RESOLVED: Repeatable Random Freezing

Post by Shalex » Sat 18 Jul 2020 15:28

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;
Thank you for letting us know.
dan_j wrote: Fri 17 Jul 2020 17:45 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.
JIC: our product line includes MySQL Data Generator.

Post Reply