- 3,715,997 Users
- 2,242,925 Discussions
- 7,845,725 Comments
Forum Stats
Discussions
Categories
- 17 Data
- 362.2K Big Data Appliance
- 7 Data Science
- 1.6K Databases
- 476 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 487 MySQL Community Space
- 5 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.8K ORDS, SODA & JSON in the Database
- 417 SQLcl
- 42 SQL Developer Data Modeler
- 184.9K SQL & PL/SQL
- 21K SQL Developer
- 1.9K Development
- 3 Developer Projects
- 32 Programming Languages
- 135.1K Development Tools
- 9 DevOps
- 3K QA/Testing
- 256 Java
- 6 Java Learning Subscription
- 10 Database Connectivity
- 67 Java Community Process
- 1 Java 25
- 9 Java APIs
- 141.1K Java Development Tools
- 6 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 135 Java 8 Questions
- 86.2K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 10 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 125 LiveLabs
- 30 Workshops
- 9 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 11 Español
- 1.9K Japanese
- 2 Portuguese
Unhandled exception at 0x77256214 (ntdll.dll) in My.exe: 0xC0000374: A heap has been corrupted (para

We are using Oracle.DataAccess.dll (ODP.NET) version 4.121.2.0 with System.Transactions (TransactionScope class). Somehow when System.Transacations invoke the callback method inside ODP.NET the process crashed with heap corrupted exception.
I asked the same question on .NET CoreFx repo https://github.com/dotnet/corefx/issues/39892
I have a long-running .NET console application (4.6.1). Suddenly since fews days I am getting this error in Visual Studio,
`Unhandled exception at 0x77256214 (ntdll.dll) in My.exe: 0xC0000374: A heap has been corrupted (parameters: 0x77272378).`
Pressing F5 again, it shows me another stuck and then stuck with the same error,
`Exception thrown at 0x771B234D (ntdll.dll) in My.exe: 0xC0000005: Access violation reading location 0x656C6573.`
I have global try catch which is not triggering in the console application. I have added,
`<legacyCorruptedStateExceptionsPolicy enabled="true" /> ` and `[HandleProcessCorruptedStateExceptionsAttribute]` but still application crashes without hitting the breakpoint. Then I tried WinDBG (`.loadby sos clr` then `!analyze -v` then `!CLRStack -a` then `!dumpstackobjects`),
```
OS Thread Id: 0x3da4 (0)
Child SP IP Call Site
007cea38 771ac33c [GCFrame: 007cea38]
007cea54 771ac33c [HelperMethodFrame_1OBJ: 007cea54] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef)
007cead0 60f98710 System.Collections.Hashtable+SyncHashtable.Remove(System.Object) [f:\dd\ndp\clr\src\BCL\system\collections\hashtable.cs @ 1518]
007ceafc 0db7405f Oracle.DataAccess.Client.OracleResourcePool.RemoveResourceHolder(Oracle.DataAccess.Client.OracleResourceHolder)
007ceb28 0db73ffd Oracle.DataAccess.Client.OracleResourceHolder.Dispose()
007ceb34 0db7386f Oracle.DataAccess.Client.OracleResourceHolder.TransactionCompleted(System.Object, System.Transactions.TransactionEventArgs)
007ceb38 0086e053 [InlinedCallFrame: 007ceb38]
007cebb0 0086e053 [MulticastFrame: 007cebb0] System.Transactions.TransactionCompletedEventHandler.Invoke(System.Object, System.Transactions.TransactionEventArgs)
007cebdc 556cc0fb System.Transactions.InternalTransaction.FireCompletion()
007cebf0 556ea3f2 System.Transactions.TransactionStatePromotedAborted.EnterState(System.Transactions.InternalTransaction)
007cec08 556ed9c0 System.Transactions.TransactionStateDelegatedAborting.ChangeStatePromotedAborted(System.Transactions.InternalTransaction)
007cec14 556ee8ba System.Transactions.DurableEnlistmentDelegated.Aborted(System.Transactions.InternalEnlistment, System.Exception)
007cec24 556e34d6 System.Transactions.SinglePhaseEnlistment.Aborted()
007cec6c 0e36d662 Oracle.DataAccess.Client.PromotableTxnMgr.Rollback(System.Transactions.SinglePhaseEnlistment)
007cec90 556ed922 System.Transactions.TransactionStateDelegatedAborting.EnterState(System.Transactions.InternalTransaction)
007cecd4 556eb8f5 System.Transactions.TransactionStateDelegated.Rollback(System.Transactions.InternalTransaction, System.Exception)
007cece4 556c9c0a System.Transactions.Transaction.Rollback()
007ced18 556f0f43 System.Transactions.TransactionScope.InternalDispose()
007ced50 556f0da7 System.Transactions.TransactionScope.Dispose()
007cee04 0d49f9ae MyApp.Program.method()
```
Clearly, it's related to TransactionScope and Oracle but dunno why its crashing. For now I am just looking for a work around
Answers
-
I would recommend opening up a service request with Oracle Support: https://support.oracle.com/
You will then be able to share your debugger dump with Oracle. We can then take a look.