Access violation in orageneric9.dll

Ruudbern

Member²
Hi, in our application we sometimes get an "access violation ad adress xxxx in orageneric9.dll Read of adress xxx" . I know orageneric9.dll is an internal oracle dll.

We use delphi7 and doa 4.0.6. Our customer is useing oracle 9 client and server.

Can you give us a hint where to look at and/or what actions to take? Are there know issues? Whe have several programs running at that customer. This is the only application that uses alerts. Can this trigger the problem?
 
Hi Marco,

it took some time but the clients are now replaced with oracle10. We also replaced the server (64 bits oracle 10).

The error changed from orageneric9.dll to orageneric10.dll but it still remains. Any suggestions where to look at?
 
additional info: We have several applications working at that location. Only 1 has this problem. The main difference with the others is that in this app we us alerts to communicate with each other. Maybe this issue is alert related? We have several TOracleEvent listening to different kinds of alerts.
 
I think you will need to trace what action causes the access violation. Maybe it is a tread safety issue?
 
The only thing i do in the alertevent is write the alert to a private string of arrays like this.

alertlist:array[1..100] of string;

procedure TfreDevicepool.oevAlertsEvent(Sender: TOracleEvent;
const ObjectName: String; const Info: Variant);
begin
if VarIsArray(Info) then
begin
writetostack(Info[0]);
end;
end;

procedure TfreDevicepool.writetostack(m_alerttekst:string);
begin
alertlist[alertwritepos]:=m_alerttekst;
alertwritepos:=alertwritepos+1;
if alertwritepos = 101 then
alertwritepos:=1;
end;

 
Hi Marco,

this issue is still haunting us. We are not able to isolate what statement is causing this. Sometimes the program runs the hole day without problems.

We tried some changes on the session like changing the threadsafe property and the OCI7 property but this does not seem to have any effect.

We also sometimes get "ora-03106 Fatal two-task-communicationprotocol error" but this does not seem to be related. But maybe this does ring a bel?

Any sugestions how to tackle this?

kind regards Ruud
 
Last edited:
ORA-03106 is typically caused by a client/server compatibility or network related issue. Can you let me know the NLS_LANG from the client and the NLS_CHARACTERSET and NLS_LANGUAGE from the database (from the NLS_DATABASE_PARAMETERS view)?
 
Hi Marco,

it took me some time to gather the information from our client..

PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P15
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM

PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.4.0

20 rijen zijn geselecteerd.

SQL> HOST ECHO %NLS_LANG%
%NLS_LANG%

SQL> @.[%NLS_LANG%].
SP2-0310: Kan bestand ".[DUTCH_THE NETHERLANDS.WE8ISO8859P15]..sql" niet openen
 
I see that the client and server character set are the same, so this should not be an issue either.

Perhaps you can contact your Oracle Support representative? They may be able to trace the problem.
 
Back
Top