Error selecting xmltype columns

JamesNK

Member
When selecting results that include an xmltype column we are getting this error:

Access violation at address 0294E7C1 in module 'orageneric10.dll'. Write of address 00000000

The first time xmltype columns are selected it works but the second time this error message is displayed, with the PL/SQL developer window hanging showing only the first row. We then have to use task manager to terminate PL/SQL developer as the window says it is still in progress which is extremely annoying.

This error occurs on both version 6 and the trial of version 7. The database is 10g R1 and we have ODP.NET 10.1.0.3 on our desktops.
 
Can you go to Help > About, press the 'Info' button, press the 'Copy all pages' button on this info screen, and paste this text into an e-mail reply?
 
I emailed the info details to support@allroundautomations.com a couple of days ago and haven't had a reply.

Did you receive my email? Do you have any idea when you'll be able to fix this bug?
 
That is what I have been doing but sometimes you just forget or do a select * on a table which you didn't realise had an xmltype column on it, and PL/SQL Developer breaks.

Could you at least make it so that you can close a window that is hung while in progress?
 
Hi!

That will be really nice...
Every time I do "Query Data", I have to think over if the table has a XMLType column...

Regards,

Michael
 
Hi,

I found a solution that worked for me. I Changed the Oracle Home from 10i back to 9i. (Database is 9i, but I need also 10i environment for other project.)

Maybe it helps to find a solution for other users. This "bug" is really annoying.

Regards,

Michael

These are the only changes in the "Suport Info..." page of PL/SQL Developer:

WORKING:
--------

DLLs
c:\ora9i\bin\oci.dll
Using
Home: ORA9i
DLL: c:\ora9i\bin\oci.dll
OCI: version 9.2
Oracle9i Release 9.2.0.3.0
Character size: 1 byte(s)

NOT WORKING:
------------
DLLs
D:\ora10i_dev\bin\oci.dll

Using
Home: ora10i_dev
DLL: D:\ora10i_dev\bin\oci.dll
OCI: version 9.2
Oracle9i Release 9.2.0.3.0
Character size: 1 byte(s)
 
This problem seems restricted to specific client/server/plaform versions, so it also seems like an Oracle bug. We'll try to find a workaround though.
 
I think that is not only a oracle bug. The same select that don't work with PlSqlDeveloper work ok with SQLNavigator 4.5 (trial)
 
Originally posted by JamesNK:
Is there any update to this?
...

Could you at the very least give the option to close the SQL window where the exception occured so you don't have to kill the entire application?
 
With "C:\oracle\product\11.2.0\client_1\oci.dll" is the problem still there...
Any update on this?

EDIT: I am using Version 9.0.0.1601 on Windows 7 6.1 Build 7601 (Service Pack 1)
 
To obtain some more diagnostic information, can you modify the shortcut and add the DebugSQL parameter? For example:

"C:\Program Files\PLSQL Developer\plsqldev.exe" DebugSQL

Reproduce the problem and send me the debug.txt file that is generated in the PL/SQL Developer directory or in the %APPDATA%\PLSQL Developer directory (e.g. C:\Users\\AppData\Roaming\PLSQL Developer).
 
Boy, am I really pissed. As I see in this forum, the related problems are reported for years and you and Oracle still can't fix it for good. :( I wasted many hours because of these bugs. The base Oracle Bug 12397694 (https://support.oracle.com/CSP/main/article?cmd=show&type=BUG&id=12397694&productFamily=Oracle
) I made open at Oracle is neglected. Could anybody escalate it, please?

But you don't seem to care either. :( I sent you the following in March, and got no reply.
"There may be an Oracle bug, but you should handle it better.
1. You call OCIAttrGet (with OCI_ATTR_REF_TDO) that fails.
2. You call OCIErrorGet that gets ORA-21527 (whatever that means).
3. You call OCIDescribeAny with NULL pointer.

Please have your developers check this code. As long as I can't figure out how to get to the 1st step above, I can't report this problem to Oracle, because they will claim it's an application error: it works from Sql*Plus.

OTOH, raising the exception in step 2 would be much better then crashing the application with that null pointer."

Please do fix at least that NULL pointer reference. It's only one additional "if" statement in your code (that should be there anyway!) that would prevent crashing your program. It's a five minute work for a competent programmer.
1. Find the string "OCI_ATTR_REF_TDO" in the source code.
2. Insert the if statement.
 
This seems to be fixed in 9.0.2.1621.

The "ORA-21527: internal OMS driver error" is handled correcty finally. (Now that we get rid of those buggy databases anyway...) But we still don't buy this version until the 100 rows of XmlType bug is fixed.
 
I have a similar problem (9.0.2.1621). At the beginning querying a table with XMLType columns broke the connection with ORA-3137. This happened for 11.1.0.6, 11.1.0.7 and 11.2.0.1 clients. Fortunately 11.2.0.2 fixed it. However only the first query works now. The next query in the same session hangs. What can be done now?

The trace file (DebugSQL) does not show any error. I can send it if it helps. It ends with:

11/11/2011 3:45:33 PM TSQLThread SQLThread loop start
11/11/2011 3:45:33 PM TOracleQuery Query Start Query.Execute
SQL = begin :id := sys.dbms_transaction.local_transaction_id; end;
:ID = Null
11/11/2011 3:47:27 PM NavigationBookmarks.EnableButtons(Rebuild)
11/11/2011 3:47:27 PM NavigationBookmarks: Backward=0, Forward=0
11/11/2011 3:48:36 PM NavigationBookmarks.EnableButtons(Rebuild)
11/11/2011 3:48:36 PM NavigationBookmarks: Backward=0, Forward=0
11/11/2011 3:48:39 PM NavigationBookmarks.EnableButtons(Rebuild)
11/11/2011 3:48:39 PM NavigationBookmarks: Backward=0, Forward=0
11/11/2011 3:52:28 PM NavigationBookmarks.EnableButtons(Rebuild)
11/11/2011 3:52:28 PM NavigationBookmarks: Backward=0, Forward=0
11/12/2011 8:23:47 PM NavigationBookmarks.EnableButtons(Rebuild)
11/12/2011 8:23:47 PM NavigationBookmarks: Backward=0, Forward=0
 
Hi,

with the PL/SQL Developer version 9.0.3.1641 (Oracle 11.2.0.2) I still have the problem. I just mailed my Debug.txt to the support. I hope for a quick response.

Making a simple select query causes PL/SQL to crash:
"select a.* from auftrag a" One of the columns is of XMLType.

After an error message "Access violation..." with 2 buttons (OK, Cancel) does not matter which one I press. Both cause PL/SQL to hang...

Regards,

m.
 
Last edited:
We have received your file and will check it out. It seems that an Access Violation occurs for row 101. The SQL Window fetches 100 rows per client/server roundtrip. Can you confirm that queries work okay when you fetch less than 101 rows?
 
Hi!

Thanks for a quick response. This thread is more than 5 years old.
I hope this time will someone finally take care of it and will not let go until solved ;)

This one works fine:

SQL:
select a.* from auftrag a where rownum<100

Either one of these two leads to Access violation and crash:

SQL:
select a.* from auftrag a where rownum<=100
select a.* from auftrag a where rownum<101

In "Preferences/SQL Window/Records per Page" I have "Fixed 200".

I have tried also other WHERE conditions to make sure the 100th record is different one, but no difference.

One more thing:

After "select a.* from auftrag a where rownum
 
Last edited:
When are you going to fix this long-standing critical bug, please? Our development team will get new machines shortly, so we could buy new licenses, install the fixed version, and everybody would be happy.
 
I think this 9 year old bug is still alive and kicking!

Is it ever going to be solved?

Version 11.0.0.1752 Beta 2
 
Marco, will this be fixed in version 11? Is there a workaround for previous versions?
This really is critical for those working extensively with XMLType data.

Thanks,
Zev Katz
IDT Corporation
Newark NJ, USA
 
We had the ORA-03137 error with database 11.2.0.3.0 using OCI client 11.1.0.6.0 (Instant Client). But no error with same client against another 11.2.0.1.0 database. Upgrading the client to 11.2.0.4.0 removed the problem.

See document 752297.1 and note 8625762.8. Oracle error reported to be caused by "SQL which uses user binds due to bind data being left unread on the Net connection"
 
Back
Top