DOA in thread

Jens Fudickar

Member³
Using Doa in Thread i've got the following error sometimes, and i don't know why.

Access violation at address 600BDBDC in module 'orageneric8.dll'. Read of address 00000098

I can't say anythin about it. Sometimes the error occures after 5 Minutes, sometimes after hours.

We are using 8.1.6 ans NT SP 6a.

Greetings
Jens Fudickar
 
I am having a problem with DOA in a thread as well. I'm running 8.15 (client on Win2K, server is Solaris 7).

My problem: "Access violation at address 0146E91B in module 'oan8.dll'. Read of address 00000000."

This happens as soon as a second thread tries to connect to the database.

Any thoughts?
 
It looks similar.

I'm not connecting with two thread to the same database, but there are two or three parallel threads which are connecting to different databases.

Sometimes it works, and sometimes not.

Greetings
Jens
 
Are you both using separate sessions (and other Direct Oracle Access components) for each thread? If so, could you check if there are any related user trace files on the server?

------------------
Marco Kalter
Allround Automations
 
I am getting the save set of errors; exceptions in oran8.dll, orageneric8.dll and ntdll.dll when I startup a second 'SQL' thread. The thread code is the same and therefore each has its own TOracleSession. There are no trace files on the server or on the client.
 
The same like me.

Now i have changed the application to work with only one thread, and now, it seemed to be no errors.

Greetings
Jens
 
If anybody can send me a small demo project to reproduce this, I will take a look.

------------------
Marco Kalter
Allround Automations
 
Hello, Marco Kalter!
What's new about it.

This problem very important for me and for project of my company.

Really IMPORTANT!!!

May be version 3.4.3 can help me.

P.S. I learned English by error messages on pascal compiler.

---------------
Serge Isaev
OAS Programmer

[This message has been edited by SIsaev (edited 22 November 2000).]
 
I still haven't received a demo project that would allow me to reproduce the problem.

I noticed that there are some problem reports about multi-threaded applications when Oracle Trace is being used. Could it be that you are using Oracle Trace?

------------------
Marco Kalter
Allround Automations
 
Maybe this helps:

I got similar problems with a application using threadpool. Every thread had its own session. I had to put a global critical section around the LogOn() and LogOff() procedure to get rid of exceptions.

Bye

Juergen
 
Originally posted by mkalter:
I still haven't received a demo project that would allow me to reproduce the problem.

I noticed that there are some problem reports about multi-threaded applications when Oracle Trace is being used. Could it be that you are using Oracle Trace?


I can't send an example project, as we use DOA in CWEB cartridges of Oracle Application Server. Oracle Application Server itself organizes multi-threads executing of cartridges, unknown to me by an image.

We don't use Oracle Trace and I know about this problem.

At first we used trial (MSDN) version Enterprise Edition Server NT 4.0 and the mistakes were not observed. Now we use the production version and these mistakes have appear. Now we test more carefully our project, but it yet fact.

What do you think about it?

---------------
Serge Isaev
OAS Programmer
 
Originally posted by jschmied:
I got similar problems with a application using threadpool. Every thread had its own session. I had to put a global critical section around the LogOn() and LogOff() procedure to get rid of exceptions.

We do not use threadpool and, as it seems (by the documentation OAS), we for each thread organize connect to database.

[This message has been edited by SIsaev (edited 27 November 2000).]
 
I have also very special error (Access Violation in NLSRTL31.DLL). It occurs when these conditions are true at a time:

1) Several OracleSessions are logging in several threads in the same time.
2) The calling of the OracleSession.LogOn method is in the "try-except" block.
3) The "except" part of this block handles all exceptions (the error doesn't occur, if EOracleError is only handled).

The error doesn't occur in Windows95.
 
Like I said before, if someone can provide me with an example project that reproduces the problem, I would be glad to help. We have several multi-threaded applications ourselves, and we have never had such a problem. Our PL/SQL Developer always uses multi-threaded database access, and we have never had such an access violation report from the many, many users that it has.

In other words: there is probably some application specific condition that produces this problem, and we need to know what that is before we can fix it.

------------------
Marco Kalter
Allround Automations
 
Hello Marco,

i have initiated this thread, but i have changed my project to work with one session, and there is no problem.

Allways like you i have no problems writing a multithreaded application like your pl/sql-developer. The problem is to write a multithreaded "SERVICE". In this case you will get the problems.

I have no time in this moment, but you only had to create a little service application with to different sessions, which are working in different threads and which will connect to an database periodicly to output someting to an log-file. After a short time, you will get yout problems.

Greetings
Jens

------------------
 
It seems everyone has lost interest in this thread. I forwarded a sample delphi pgm which was 1) a service, 2) multi thread, 3) multi session which chocked to death around 40 sessions about once a day.

Has any progress been made? Any new ideas?
thanks
doug
 
Back
Top