mdoland
asked on
Failing to connect to nother server
I have written a server module in our application server solution that uses JBoss. My module is sending transactions to another server X. The module is doing so by connecting to an API (a local dll that is provided by the party that has the server X. To be able to connect to this dll, I have written an own JNI-bridge dll in C. Got it?
My Server module -> my bridge JNI dll -> client dll from X ------------- (network) ----------> server X
Suddenly the "client dll from X" starts to reply fail on all transactions by claiming that server X is down. No network traffic is sent (so it is lying ;-) ). After a restart of JBoss, it works for awhile, sometimes many hours and sometimes the first transaction goes into fail mode, which means that the rest of the transactions will get the "X is down return code" back.
What could be wrong here? Are there any security things that could lock up the network connection suddenly. That would sort of fit the error code, it can't reach the server.
Could it be a JNI issue?
My Server module -> my bridge JNI dll -> client dll from X ------------- (network) ----------> server X
Suddenly the "client dll from X" starts to reply fail on all transactions by claiming that server X is down. No network traffic is sent (so it is lying ;-) ). After a restart of JBoss, it works for awhile, sometimes many hours and sometimes the first transaction goes into fail mode, which means that the rest of the transactions will get the "X is down return code" back.
What could be wrong here? Are there any security things that could lock up the network connection suddenly. That would sort of fit the error code, it can't reach the server.
Could it be a JNI issue?
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
>>that is in my Java code.
Ah well, that's different ;-)
You need to interpret the return code properly
Ah well, that's different ;-)
You need to interpret the return code properly
SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER
> > In the stack trace I can see that the return code is "server down", however, that is in my Java code.
> what is your code setting that return code based on.
Well, I call the x client API and receive the particular error code from it saying server down. I log it and can clearly see where it happens through a stack trace in the log, so I can follow whap happens "on my side".
What about the symptoms. Pretend that some memory thing get it to behave in this way. What would have happended. Why do I get a return value at all? Is it that I get the last error code sent over and over again?
Another weired thing, that gives the memory related thing some credit is that this has only been reproduced in the production, never in the test system.
> what is your code setting that return code based on.
Well, I call the x client API and receive the particular error code from it saying server down. I log it and can clearly see where it happens through a stack trace in the log, so I can follow whap happens "on my side".
What about the symptoms. Pretend that some memory thing get it to behave in this way. What would have happended. Why do I get a return value at all? Is it that I get the last error code sent over and over again?
Another weired thing, that gives the memory related thing some credit is that this has only been reproduced in the production, never in the test system.
I'd be talking to the owners of the server and who supplied the api. Hopefully they can shed some light on things that could possibly trigger that error.
The point is that, according to you, the server is clearly *not* down, so if that's what their error code is saying, that's a bug is it not?
ASKER
Finally solved! DLL hell. The API had some DLL:s that collided with DLLs provided by another supplier.
ASKER
Of course, it could be bugs in the X client API, but it is very unlikely. It is used by many. Are there any possibilities that some security issue could be the case?