Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> SQL*Net 2.x overwrites low memory on Macs

SQL*Net 2.x overwrites low memory on Macs

From: Adam Wildavsky <adamw_at_panix.com>
Date: 1997/07/08
Message-ID: <AFE85212966816C50@adamw.dialup.access.net>#1/1

I reported this problem to Oracle months ago but have not received any useful response. I'm continuing to pursue it with Oracle tech support and I'm mentioning it here in case it may help anyone else, or in case anyone knows of specific ill effects due to the bug.

Problem description:

The Oracle SQL*Net 2.x libraries on the Mac overwrite low memory location 32 (0x20). They also write to location 0.

Background:

The first 64 words of memory on the Mac belong to the OS and are used for the processor vector table. No application or driver is supposed to modify them, though writing to location 0 is harmless. The harm done by writing to other locations depends on the particular vector overwritten. If the vector is one seldom or never used then little harm may be done, but the fact that it's overwritten at all is a sign that there may be other problems with the software. I don't know offhand what location 32 is used for.

The bug is automatically spotted by "The Debugger" from Jasik Designs, but it can be identified using any Macintosh debugger such as Apple's "MacsBug". The easiest way to see it is to install an extension called DavesBetterBusError which is available from

http://ng.netgate.net/~tilde/mechanic/DavesBetterBusError.hqx

Here's the log output produced by The Debugger:

addr Expected Current
 20 02B85370 FFC55370 The bug is 100% reproducible on my PowerMac 7500/100 and on other Macs where I've tried it. It occurs both when running my client's internal applications developed using Pro*C and when using Oracle's "NetTest" application. I get the same problem with all the SQL*Net 2.x libraries I've tried.

The earliest versions I tried were

SQL*Net version: 2.1.4.0.4
TCP/IP Adapter: 2.1.4.0.2

The latest versions I've tried were

SQL*Net version: 2.3.2.0.0
TCP/IP Adapter: 2.3.2.0.0

The problem does not occur when using the SQL*Net 1.x drivers. The MacOS version does not seem relevant - right now I'm using 7.6.1.

As far as I know the bug has no symptoms which are visible to users. The SQL*Net 2.x libraries seem to work with no trouble in that they do allow us to access the Oracle DB. All the same this behavior worries me, since the code that's writing to low memory likely intended to write elsewhere and is failing to do so. It may well have manifestations that we haven't yet seen.

-- 
Adam Wildavsky          Partner        
adam_at_visalia.com   Visalia, LLC
+1 (212) 426-6511       NYC, NY
Received on Tue Jul 08 1997 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US