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: 18
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: 9543
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: 18
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: 152
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: 39
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: 152
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: 152
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: 5
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: 152
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: 152
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: 152
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$

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

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

Post by DannyHilfiger » Mon 12 Jul 2021 07:38

Devart & Community,

Sorry for delay. These are values of props from our database Oracle 12.2.0.1.

NAME VALUE$ COMMENT$
---------------------------------------
DICT.BASE 2 dictionary base tables version #
DEFAULT_TEMP_TABLESPACE TEMP Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE SYSTEM Name of default permanent tablespace
DEFAULT_EDITION ORA$BASE Name of the database default edition
Flashback Timestamp TimeZone GMT Flashback timestamp created in GMT
TDE_MASTER_KEY_ID
DBTIMEZONE +01:00 DB time zone
DST_UPGRADE_STATE NONE State of Day Light Saving Time Upgrade
DST_PRIMARY_TT_VERSION 26 Version of primary timezone data file
DST_SECONDARY_TT_VERSION 0 Version of secondary timezone data file
DEFAULT_TBS_TYPE SMALLFILE Default tablespace type
NLS_LANGUAGE POLISH Language
NLS_TERRITORY POLAND Territory
NLS_CURRENCY zl Local currency
NLS_ISO_CURRENCY POLAND ISO currency
NLS_NUMERIC_CHARACTERS , Numeric characters
NLS_CHARACTERSET EE8MSWIN1250 Character set
NLS_CALENDAR GREGORIAN Calendar system
NLS_DATE_FORMAT RR/MM/DD Date format
NLS_DATE_LANGUAGE POLISH Date language
NLS_SORT POLISH Linguistic definition
NLS_TIME_FORMAT HH24:MI:SSXFF Time format
NLS_TIMESTAMP_FORMAT RR/MM/DD HH24:MI:SSXFF Time stamp format
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR Time with timezone format
NLS_TIMESTAMP_TZ_FORMAT RR/MM/DD HH24:MI:SSXFF TZR Timestamp with timezone format
NLS_DUAL_CURRENCY zl Dual currency symbol
NLS_COMP BINARY NLS comparison
NLS_LENGTH_SEMANTICS BYTE NLS length semantics
NLS_NCHAR_CONV_EXCP FALSE NLS conversion exception
NLS_NCHAR_CHARACTERSET AL16UTF16 NCHAR Character set
NLS_RDBMS_VERSION 12.2.0.1.0 RDBMS version for NLS parameters
EXPORT_VIEWS_VERSION 8 Export views revision #
WORKLOAD_CAPTURE_MODE CAPTURE implies workload capture is in progress
WORKLOAD_REPLAY_MODE PREPARE implies external replay clients can connect; REPLAY implies workload replay is in progress
MAX_STRING_SIZE STANDARD MAX_STRING_SIZE parameter used for dictionary metadata
DICTIONARY_ENDIAN_TYPE LITTLE Endian type of the data dictionary

I hope it will help You to reproduce the ORA-03120 error on this version of oracle.
Please, try to fix it as soon as possible.

Thanks!

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

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

Post by DmitryGm » Tue 13 Jul 2021 16:22

We couldn't reproduce such error in our environment with such conditions, that’s why I requested:

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).

Post Reply