• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
2

How to fix the arraycopy out of bound error

Participant ,
Jul 23, 2024 Jul 23, 2024

Copy link to clipboard

Copied

Hello,

has anyone experienced this error before?

We are getting this error after we patched the Oracle server to 19.23 -> 19.24. In both Coldfusion 2021u12 (java 11.0.7) and 2023u8 (java 17.0.11) in the datasources with "Oracle" client we get this error in CFadmin:

 

Connection verification failed for data source: DATASOURCE_A
java.sql.SQLException: [DataDirect][Oracle JDBC Driver]arraycopy: destination index -1 out of bounds for byte[128]

 

The exceptions.log show more details:

 

"Error","http-nio-8500-exec-9","07/23/24","09:36:08","user1","[DataDirect][Oracle JDBC Driver]arraycopy: destination index -1 out of bounds for byte[128]"
java.sql.SQLException: [DataDirect][Oracle JDBC Driver]arraycopy: destination index -1 out of bounds for byte[128]
at macromedia.jdbc.oracle.base.BaseExceptions.b(|Oracle|6.0.0.1051|:1102)
at macromedia.jdbc.oracle.base.BaseExceptions.a(|Oracle|6.0.0.1051|:976)
at macromedia.jdbc.oracle.base.BaseExceptions.b(|Oracle|6.0.0.1051|:1128)
at macromedia.jdbc.oracle.base.BaseExceptions.b(|Oracle|6.0.0.1051|:796)
at macromedia.jdbc.oracle.OracleImplConnection.open(|Oracle|6.0.0.1051|:2602)
at macromedia.jdbc.oracle.base.BaseConnection.c(|Oracle|6.0.0.1051|:5063)
at macromedia.jdbc.oracle.base.BaseConnection.dQ(|Oracle|6.0.0.1051|:1539)
at macromedia.jdbc.oracle.base.BaseConnection.i(|Oracle|6.0.0.1051|:1461)
at macromedia.jdbc.oracle.base.BaseConnection.a(|Oracle|6.0.0.1051|:989)
at macromedia.jdbc.oracle.base.BaseDriver.connect(|Oracle|6.0.0.1051|:331)
at macromedia.jdbc.MacromediaDriver.connect(MacromediaDriver.java:256)
at coldfusion.server.j2ee.sql.pool.JDBCPool.createPhysicalConnection(JDBCPool.java:667)
at coldfusion.server.j2ee.sql.pool.ConnectionRunner$RunnableConnection.run(ConnectionRunner.java:67)
at java.base/java.lang.Thread.run(Thread.java:842)

 

Thanks

 

 

 

Views

3.3K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , Aug 23, 2024 Aug 23, 2024

Hi All,

 

We have a fix available to address this issue. Please contact the support team at cf.install@adobe.com for the fix. 

 

Thanks,

Vikram

 

Votes

Translate

Translate
Community Expert ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

Yes, as noted before getting Adobe to provide the updated DataDirect drivers will be the best solution. No word yet from them on that (other than their saying here they're aware of the problem and seemingly working on it).

 

And sorry, I missed that your point was that you'd gotten the ref cursor problem on switching TO the "other" driver, which is one of the options proposed here.

 

Another option some might consider is turning off Oracle's NNE feature ("Native Network Encryption"), which seems at the root of the incompatibility for the DataDirect driver. I shared more in the cf bug tracker ticket on this issue, pointed to above. I just didn't think to copy the NNE info here. I acknowledge there it may not suit some...and it may not address this new ref cursor issue.

 

Hoping to see all this go away in time. I realize it's far worse for those in the quagmire. Get your votes on that tracker ticket. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

Quick question - I noticed the CF bug tracker ticket had the problem identified in version 2023, but I'm also finding the errors in CF 2021.  Do you know whether there is a separate ticket for 2021?  Or will Adobe be creating a fix for CF 2021 and 2023?

 

Unfortunately, disabling NNE is not currently an option.  I tried ojdbc10.jar, but we still experienced intermittent errors.  

 

Thanks!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

Hi,

Its for both, I put it in the bug description.

The form did not allow me to put for both versions so I just selected 2023.

 

dejank52055655_0-1724364048616.png

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

@EvanSinceCF31Just out of the curiosity, what is the error you were getting when you did the following?

quote

Hi @Charlie Arehart 

...

I also found that a custom Java class that connects to Oracle called from CF using the CF data source started failing with the change to ojdbc11.jar, apparently because the auto-commit setting is different than the DataDirect drivers.  I was able to update the Java class to explicitly disable auto-commit to resolve that issue.  Alternatively I could have added -Doracle.jdbc.autoCommitSpecCompliant=false to my CF JVM arguments.

...
By @EvanSinceCF31

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

@dejank52055655  

 

I was seeing 

ORA-17273: Could not commit with auto-commit enabled.

https://docs.oracle.com/error-help/db/ora-17273/

 

My custom Java class opens a connection using the data source passed by ColdFusion then does a series of inserts, then explicitly commits, then closes the connection.  I probably should have been explicitly disabling auto-commit but I didn't know it was needed because until I changed the underlying driver it just worked 😉 

 

To be clear - this particular problem was my issue in my code when running with the Oracle ojdbc11.jar - not related to anything Adobe or Oracle.  I'm assuming the default behaviour in the embedded DataDirect driver is slightly different from the downloaded Oracle driver but it has me wondering whether swapping drivers is going to raise some other issues (like the <cfprocresult> difference)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

It seems you should probably create a new, separate thread on this auto-commit issue. As your last comment suggests, it seems unrelated to the subject of this thread. Just saying you may help yourself and others if you do that.  🙂 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

Hello,

On august 20nd a coldfusion2021 hotfix 15 has been released. Is there perhaps a patch for the Oracle access problem?

Regards Kalle

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 22, 2024 Aug 22, 2024

Copy link to clipboard

Copied

Kalle, in short: no. The ONLY change in the update released this week was an upgrade of the Tomcat within cf. No changes to drivers or to cf itself. I have more details in a post here :

https://www.carehart.org/blog/client/index.cfm/2024/8/20/ColdFusion_updates_released_Aug_20_2024_off... 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 14, 2024 Aug 14, 2024

Copy link to clipboard

Copied

Does anyone know how do we find information (version etc) about the built-in "Oracle" driver Adobe Coldfusion is using?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 19, 2024 Aug 19, 2024

Copy link to clipboard

Copied

Going back to Dejan's question of a few days ago:

 


@dejank52055655 wrote:

Does anyone know how do we find information (version etc) about the built-in "Oracle" driver Adobe Coldfusion is using?



It's a bit complicated.

 

First, know that the built-in driver for Oracle IS NOT a driver FROM Oracle. That's important if you or anyone may want to compare what it is to some known version of Oracle's jdbc driver. 

 

Instead, as you may know, the built-in Oracle driver for CF is licensed by Adobe from Progress (aka DataDirect). So the version would be as reported for that. (And as for this bug, it seems we need to await Adobe getting and offering a new DataDirect driver, whether implemented as an update, or as a hotfix in advance of that.) 

 

Second, since cf2021 Adobe now uses packages/modules for most features of cf--especially db drivers. As such, there's a version reported for THAT which is yet a different number. You can find that using the CF admin package manager page or the command line cfpm tool, new with cf2021. Indeed, that version may change in the life of a given cf version (there have been a few oracle package versions in the 14 updates to cf2021 so far, for instance). 

 

Third, as for finding the specific driver version reported for a given cf driver, there are both code and command line ways to get that. I did a blog post on that many (many) years ago, which was mostly still working when I tried it relatively recently. Let me know how it goes. I'd be open to reprising and updating it.

 

Then, too, in my hidden gems talks each release I show a table where I've dug in to find the various embedded library version numbers, including jdbc driver version numbers. Those are at carehart.org/presentations. But I also did a blog post where I elaborated a bit more on how to find such things, at https://www.carehart.org/blog/2021/1/3/what_are_cf2021_embedded_library_version_numbers

 

Let us know what you find, as I'm sure others here may appreciate it.. (I'm writing from a phone, so can't find my current values to offer as of update 14.) 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 19, 2024 Aug 19, 2024

Copy link to clipboard

Copied

quote

Does anyone know how do we find information (version etc) about the built-in "Oracle" driver Adobe Coldfusion is using?


By @dejank52055655

That is difficult to find out because the built-in drivers that ColdFusion uses are not individually exposed as Java classes. They are collectively bundled together as the class macromedia.jdbc.MacromediaDriver.

You can see that by running this code:

 

<cfscript>
MacromediaDriverClass="macromedia.jdbc.MacromediaDriver";
MacromediaDriverObject=createobject("java", MacromediaDriverClass);
writeoutput("<p>Macromedia driver class: " & MacromediaDriverClass & "<br>");	
writedump(var=MacromediaDriverObject.driverNamesMapping, label="Driver Names in Macromedia Driver");
</cfscript>

 

On the other hand, if you happen to know the driver class (for example, I happen to know that my application uses MySQL inported through a Jar file), then you can determine the driver's  major and minor version as follows:

 

<cfscript>
MySQLDriverClass="com.mysql.cj.jdbc.Driver";
MySQLdriverObject=createobject("java", mySQLDriverClass);
writeoutput("<p>MySQL driver class: " & mySQLDriverClass & "<br>");	
writeoutput("Driver major version: " & MySQLdriverObject.getMajorVersion() & "<br>");	
writeoutput("Driver minor version: " & MySQLdriverObject.getMinorVersion() & "<br>");	
</cfscript>

 

To see all the database drivers available in ColdFusion, run the following code:

<!--- Login into Coldfusion Administrator. --->
 <cfset  createObject("component","cfide.adminapi.administrator").login("your_CFAdmin_password")>

<!--- Instantiate the data source object. --->
 <cfset  datasourceObject = createObject("component","cfide.adminapi.datasource")>

 <!--- Get a structure containing all the database drivers and dump it--->
 <cfset databaseDrivers = datasourceObject.getDriverDetails()>
 <cfdump var="#databaseDrivers#">

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

Hi All,

 

We have a fix available to address this issue. Please contact the support team at cf.install@adobe.com for the fix. 

 

Thanks,

Vikram

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

Vikram has been very helpful in debugging the issue. I implemented the fix yesterday and am happy to say it works well for the internal Macromedia driver.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

Great to hear, Vikram, and thanks. There was no mention (yet) of this in the bug report (CF-4222965), so I've added a comment pointing to yours here.


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

Thanks @Vikram_Kumar_M , does the fix require customers to have active maintenance support contract to get it implemented?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

@dejank52055655 It is not required since this is impacting all the users. 

 

Thanks,

Vikram

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

@Vikram_Kumar_M I tried going to the link indicated in the CF tracker, but it just comes up with a blank page and no download.  I suspect security may be blocking?  I sent email to the support team for the hotfix, but have not had a response.  Is there anything else I can do to get this fix?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

Bell, I can confirm that the link works for me. Can you try I as I have just offered it here?

 

I can confirm that it doesn't require any login (not even to the Adobe site), as I just ran it in a private/incognito window. I even ran it from a browser in a new VM (so it had never been to that URL or site before). So I'd not think that you should need to "try it from another browser", but you might want to.


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

@Charlie Arehart Thanks, I was finally able to get the download. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

I just thought I'd create a new top-level note: folks here should note that Vikram (from Adobe) has now posted publicly the link to obtain and the steps to follow to solve this problem. The info (the link and the steps) is offered as a comment in the tracker ticket for this issue (CF-4222965). 

 

BTW, folks shouldn't just download the file as offered in the link (which was discussed elsewhere here): you need to ALSO follow the specific steps to USE what's in that donwload file, and those are (for now) listed only there in that ticket.

 

Finally, I've just asked there if the fix applies equally to cf2023 and 2021, as that was unclear. Perhaps Vikram or folks testing the different versions may clarify for us in reply to this. Hopefully this problem will finally be resolved for everyone suffering it.


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

I found the download page very slow, I refreshed a couple of times and then I got multiple downloads, so it does work! (from Canada)

 

Tested lightly here on CF2021 Windows and on CF2021 on Redhat Linux and so far so good 🙂

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Aug 23, 2024 Aug 23, 2024

Copy link to clipboard

Copied

@Charlie Arehart  Yes, the fix works for the CF2021 and CF2023 editions.

 

Thanks,

Vikram

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 27, 2024 Aug 27, 2024

Copy link to clipboard

Copied

@Vikram_Kumar_Mthanks for the fix. We tested this successfully in CF2021/2023 connecting to Oracle 19.24, so far no issues.  However, we have second enviroment Cf2021/2023 connecting to Oracle 19.23. If I apply this fix today (in preparation to upgrading Oracle to 19.24 in few weeks) to the second enviroment is this fix going to interfere with with Oracle 19.23? Please advise.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Aug 29, 2024 Aug 29, 2024

Copy link to clipboard

Copied

@dejank52055655  Yes, it should work. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 30, 2024 Aug 30, 2024

Copy link to clipboard

Copied

LATEST

Thanks. We tested the CF driver fix with Oracle 19.23 and so far no issues.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation