since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
Jan Zimmermann
Posts: 17
Joined: Mon 25 Mar 2013 10:29

since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by Jan Zimmermann » Fri 12 Feb 2021 08:06

Hello Devart & COmmunity,

i have an ORA-03120: two-task conversion routine: integer overflow since 9.14.1150.
Oracle Version: "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.9.0.0.0" multitenant
.net core 3.1
If i change the devart Version to 9.13.1127 my Unit Test runs again.

sql:

Code: Select all

INSERT  INTO T2003_PROCESS  
                                     (T2003_ID,
                                      T2003_T2000_ID,
                                      T2003_QUEUE,
                                      T2003_SUBSCRIBER,
                                      T2003_PRIO,
                                      T2003_CONTENT,
                                      T2003_COMPRESSED,
                                      T2003_STATUS_ID,
                                      T2003_LOOP,
                                      T2003_CREATED_AT,
                                      T2003_CREATED_BY,
                                      T2003_MOD_AT,
                                      T2003_MOD_BY)
                              VALUES (:T2003_ID,
                                      :T2003_T2000_ID,
                                      :T2003_QUEUE,
                                      :T2003_SUBSCRIBER,
                                      :T2003_PRIO,
                                      :T2003_CONTENT,
                                      :T2003_COMPRESSED,
                                       1,
                                      0,
                                      SYSDATE,                                      
                                      USER,
                                      SYSDATE,
                                      USER)
DDL:

Code: Select all

CREATE TABLE "T2003_PROCESS" 
   (	"T2003_ID" NUMBER, 
	"T2003_T2000_ID" NUMBER, 
	"T2003_QUEUE" VARCHAR2(100 CHAR), 
	"T2003_SUBSCRIBER" VARCHAR2(100 CHAR), 
	"T2003_PRIO" NUMBER, 
	"T2003_CONTENT" BLOB, 
	"T2003_COMPRESSED" NUMBER(1,0), 
	"T2003_LOOP" NUMBER, 
	"T2003_MAINTENANCE_LOOP" NUMBER, 
	"T2003_STATUS_ID" NUMBER DEFAULT 0, 
	"T2003_STATUS_MSG" VARCHAR2(4000 CHAR), 
	"T2003_CREATED_AT" DATE DEFAULT sysdate, 
	"T2003_CREATED_BY" VARCHAR2(100 CHAR) DEFAULT user, 
	"T2003_MOD_AT" DATE DEFAULT sysdate, 
	"T2003_MOD_BY" VARCHAR2(100 CHAR) DEFAULT user)
VALUES: (Inserted with Dapper)

Code: Select all

		T2003_COMPRESSED			false		bool?
		T2003_CONTENT				{byte[66]}	byte[]
		T2003_CREATED_AT			null			System.DateTime?
		T2003_CREATED_BY			null			string
		T2003_ID					381837		decimal
		T2003_LOOP					null			decimal?
		T2003_MAINTENANCE_LOOP	null			decimal?
		T2003_MOD_AT				null			System.DateTime?
		T2003_MOD_BY				null			string
		T2003_PRIO					100			decimal?
		T2003_QUEUE				null			string
		T2003_STATUS_ID				null			decimal?
		T2003_STATUS_MSG			null			string
		T2003_SUBSCRIBER			"Test"		string
		T2003_T2000_ID				29765457	decimal?
Any Ideas?

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

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by Shalex » Sat 13 Feb 2021 12:54

Could you please send us a small complete test project so that we can reproduce the error in our environment?

Jan Zimmermann
Posts: 17
Joined: Mon 25 Mar 2013 10:29

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by Jan Zimmermann » Sat 13 Feb 2021 14:26

test project send.

interresting fact: if i comment out the T2003_SUBSCRIBER = "Test" (VARCHAR2) the failure is gone. Integer overflow..?!?

DmitryGm
Devart Team
Posts: 42
Joined: Fri 11 Dec 2020 10:27

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DmitryGm » Mon 22 Feb 2021 14:40

Thanks for your test project, but we are unable to reproduce the error in our environment with dotConnect for Oracle of version 9.14.1180 as well as with the previous version.

We can include the string T2003_SUBSCRIBER = "Test", and the program still works well.

Please send us the exact text of the error with its full stack trace.

hansjoergp
Posts: 28
Joined: Wed 31 May 2017 14:33

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by hansjoergp » Tue 23 Feb 2021 07:35

We have the same error described in the post "ORA-01483 and ORA-03120 with newest version". There are also examples.
It seems that the error happens only with Oracle 18 and 19 and maybe it depends also with the charset (in our case NLS_CHARACTERSET = WE8MSWIN1252)

DmitryGm
Devart Team
Posts: 42
Joined: Fri 11 Dec 2020 10:27

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DmitryGm » Mon 15 Mar 2021 17:36

Thank you for your report.
We have fixed the issue.
The fix will be available in the next release.

DmitryGm
Devart Team
Posts: 42
Joined: Fri 11 Dec 2020 10:27

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DmitryGm » Fri 02 Apr 2021 13:36

New version of dotConnect for Oracle (9.14.1228 01-Apr-21) is available for download:
https://www.devart.com/dotconnect/oracle/download.html

The ORA-01483 and ORA-03120 errors on a server with NLS_CHARACTERSET=WE8MSWIN1252 are fixed (Direct mode)

DannyHilfiger
Posts: 1
Joined: Thu 13 May 2021 14:14

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DannyHilfiger » Thu 13 May 2021 14:53

Devart & Community,

We still have this error for Oracle 12.2.0.1 using the newest dotConnect for Oracle version 9.14.1234.

I'm inserting to temporary table and one of parameters has a CLOB type and this is a type for which problem appears.
The error occures when I'm using parameterized query (using devart OracleParameter).
I executed same query for Oracle 11c and it works correctly.

On both databases NLS_CHARACTERSET = EE8MSWIN1250. I cannot change it because of customer requirements.

Please fix this bug for Oracle version 12.2.0.1.

DmitryGm
Devart Team
Posts: 42
Joined: Fri 11 Dec 2020 10:27

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DmitryGm » Wed 19 May 2021 15:50

The investigation of the issue ORA-03120: two-task conversion routine is in progress.
We shall inform you as soon as we have any results.

DmitryGm
Devart Team
Posts: 42
Joined: Fri 11 Dec 2020 10:27

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DmitryGm » Fri 21 May 2021 07:36

As for now we cannot reproduce such error in our environment like yours:
  • Oracle Server version 12.2.0.1
  • NLS_CHARACTERSET = EE8MSWIN1250
  • dotConnect for Oracle 9.14.1234
  • Inserting a parameter of the Clob type to a CLOB field
Please send us a full test project (not only a bit of code) with test data you use and DDL for the Oracle table. Also show the Connection String (without private data).

DmitryGm
Devart Team
Posts: 42
Joined: Fri 11 Dec 2020 10:27

Re: since 9.14.1150: ORA-03120: two-task conversion routine: integer overflow

Post by DmitryGm » Mon 24 May 2021 07:44

Note that we set NLS_NCHAR_CHARACTERSET=AL16UTF16 - the same as you have, but the error isn't reproduced.
Besides, it may be useful to see a full set of your Oracle server properties:

Code: Select all

select * from props$

Post Reply