| View previous topic :: View next topic |
| Author |
Message |
webdaddy Contributor


Joined: 14 Nov 2004 Posts: 151 Location: Raleigh NC
|
Posted: Sun Jul 17, 2005 5:00 pm Post subject: Weird Error |
|
|
Has anybody ever seen an error similar to this. I'm trying to debug this and so far having zero luck figuring out what is causing the issue.
I have not seen this before. But when it occurs during debugging the IDE crashes and I cant get any additional debugging information. _________________ K Wetzel
Programming - Technology - Communications
"The Home of the SLC Security Console"
SLC now available for Linux... |
|
| Back to top |
|
 |
FreezingFire Admin Team

Joined: 23 Jun 2002 Posts: 3508
|
Posted: Sun Jul 17, 2005 11:07 pm Post subject: |
|
|
That error message is an error message from the interpreter. In other
words, it's not necessarily a direct error in your programming. Your
code is doing something to cause the runtime to crash -- this could be
happening if you're using API code or a DLL incorrectly. What version of
VDS is this happening under? _________________ FreezingFire
VDSWORLD.com
Site Admin Team |
|
| Back to top |
|
 |
webdaddy Contributor


Joined: 14 Nov 2004 Posts: 151 Location: Raleigh NC
|
Posted: Tue Jul 19, 2005 1:39 am Post subject: Error |
|
|
This is happening under VDS 5.02 using vdsipp. It's almost as if the messages are hitting my application really fast and vdsipp cannot keep up with it. It only happens during high load and i'm unable to resolve it. I have tried a variety of things such as wait statements, multithreading and still am seeing the same issue.
Basically the code im writing is taking incoming UDP messages and then resending them out through a TCP connection. When a high number of UDP events is met the application crashes with that error.
Maybe I should try and use a different network DLL for this application and see if that helps.
(As he breaks out the CC to purchase the Internet Extension Pack from the folks at CR.)  _________________ K Wetzel
Programming - Technology - Communications
"The Home of the SLC Security Console"
SLC now available for Linux... |
|
| Back to top |
|
 |
PGWARE Web Host

Joined: 29 Dec 2001 Posts: 1565
|
Posted: Tue Jul 19, 2005 6:32 am Post subject: |
|
|
I think someone else did mention this bug to me awhile back and I was unable to replicate this issue.
It seems like with numerous tcp or udp packets eventually the dll crashes and it's very random. I've checked the code 100 times for possible data lists from not closing, memory not being released, variables being reused within the dll, threading not terminating right, etc and never could find the reason for this.
I honestly believe it was within the Indy components that something was causing a buffer overrun and causing the component to crash within the dll. The components the vdsipp are rather old versions of Indy. Recompiling vdsipp with the newer version of Indy would take considerable work with rewritting much of the code to work with the new Indy code base.
One solution we came up with for a temporary fix at that time was to terminate the server/client after a certain number of executions and automatically restarting a new instance immediately. This would prevent the same instance staying in memory and possibly prevent the bug from happening since you would be starting the application fresh.. |
|
| Back to top |
|
 |
Hooligan VDS Developer


Joined: 28 Oct 2003 Posts: 480 Location: California
|
Posted: Tue Jul 19, 2005 3:36 pm Post subject: |
|
|
You might try tweaking your buffer settings for your nic card.
Hooligan _________________ Hooligan
Why be normal? |
|
| Back to top |
|
 |
webdaddy Contributor


Joined: 14 Nov 2004 Posts: 151 Location: Raleigh NC
|
Posted: Thu Jul 21, 2005 4:29 pm Post subject: Solution |
|
|
The solution I found is as follows. I dont know why but it is working.
Basically what I have written is a UDP to TCP message translator. The solution I found was to simply pause for 0.01 seconds between the messages. I think what is happening is that when a large number of UDP messsages come in and the ONMESSAGE function in the DLL is called to send out the same message using VDSIPP TCP function if the UDP packet is not sent out before another UDP packet is received that it causes the error. So making the application wait a very small time allows VDSIPP enough time to get the TCP packet sent before taking action on the next packet that needs to be processed. So in a sense it is network related and seems to point to the threading possibly. The small delay will not effect how im using it in this case so its not that big of deal. Thanks everybody for looking into it. As of now its all good to go. _________________ K Wetzel
Programming - Technology - Communications
"The Home of the SLC Security Console"
SLC now available for Linux... |
|
| Back to top |
|
 |
|