Login Page - Create Account

Support Board


Date/Time: Fri, 19 Apr 2024 02:43:16 +0000



UDP RELEASE_DLL Windows error code 10035

View Count: 873

[2019-05-24 20:07:27]
User796776 - Posts: 95
When using the UDP interface RELEASE_DLL--[DLLPathAndFileName] the following entries are posted to the log:

Unloading DLL C:\SierraChart\Data\PSLib_debug_64.dll | 2019-05-24 15:47:21.014
UDPListener (1500). Port 22904 | Error with UDP message peek. Message was not processed. Windows error code 10035: A non-blocking socket operation could not be completed immediately. | 2019-05-24 15:47:21.860 *
Loading DLL C:\SierraChart\Data\PSLib_debug_64.dll | 2019-05-24 15:47:22.030

As a result the script is unable to update the DLL as it is being used by another process.

I had been using the UDP interface successfully in the past, but now cannot solve this issue.
[2019-05-26 03:01:26]
Sierra Chart Engineering - Posts: 104368
Not really sure about this. That is quite unusual. We have not heard of this before. Make sure that command is sent as a single UDP datagram.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-05-26 08:31:39]
binaryduke - Posts: 353
I have been experiencing the exact same issue since v1915 when using the methods described in this thread:

ACSIL: Example build script using udp commands to unload / load dlls
Date Time Of Last Edit: 2019-05-26 08:32:57
[2019-05-26 21:31:14]
User796776 - Posts: 95
The command is sent as a a single datagram.

Based on binaryduke's post, I decided to roll back and test.

I was able to successfully use the UDP interface and overwrite the DLL with v1864.

For v1865 and up, after calling the UDP interface, the dll remains in use and I am unable to overwrite it.
[2019-05-26 22:37:01]
Sierra Chart Engineering - Posts: 104368
Ok we will do some testing and see what the problem is. We do see some work being done in recent months with this area of the program and we will see why this is happening.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-06-07 18:36:08]
User796776 - Posts: 95
Tested with v1931, the UDPListener error is no longer present in the log:

Unloading DLL C:\SierraChart\Data\PSLib_debug_64.dll | 2019-06-06 11:09:40.416
Loading DLL C:\SierraChart\Data\PSLib_debug_64.dll | 2019-06-06 11:09:41.809

However, the lock on the DLL is still in place. Need to close SC to update the DLL.
[2019-06-07 18:37:58]
Sierra Chart Engineering - Posts: 104368
Can you tell us the UDP command you used in this particular case.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-06-07 18:43:17]
User796776 - Posts: 95
RELEASE_DLL--C:\SierraChart\Data\PSLib_debug_64.DLL
[2019-06-09 02:59:28]
Sierra Chart Engineering - Posts: 104368
We cannot reproduce a problem with this. Once the DLL is unloaded it stays unloaded.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-06-09 15:16:48]
User796776 - Posts: 95
Sorry, I may have not been clear.

The issue is that SC keeps the DLL file open after calling the UDP interface and the Unload message appears in the SC log.

Repro:

1. Create a powershell script, UnloadDLL.ps1:

$client = new-object net.sockets.udpclient(0)
$peerIP = "127.0.0.1"
$peerPort = "22904"
$send = [text.encoding]::ascii.getbytes("RELEASE_DLL--PSLib_debug_64.DLL")
[void] $client.send($send, $send.length, $peerIP, $peerPort)
$client.close()

2. Run script: powershell -executionPolicy bypass -file .\UnloadDLL.ps1

3. SC log message is written: Unloading DLL C:\SierraChart\Data\PSLib_debug_64.dll

4. Open windows explorer and delete C:\SierraChart\Data\PSLib_debug_64.DLL

A File In Use Dialog is presented: The action can't be completed because the file is open in SierraChart_64.exe.

Therefore, I am not able to replace the DLL without exiting SC.
[2019-06-09 15:27:08]
binaryduke - Posts: 353
Yes. I am experiencing the same issue described in post #10.
[2019-06-10 02:09:23]
Sierra Chart Engineering - Posts: 104368
We definitely cannot reproduce what is shown in post #10 using that exact script. The DLL unloaded and did not load again and we could successfully delete it. We tested on version 1932.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing
[2019-06-11 21:03:36]
Sierra Chart Engineering - Posts: 104368
One thing we want to add is make sure you specify the complete path and filename when releasing a DLL.
Sierra Chart Support - Engineering Level

Your definitive source for support. Other responses are from users. Try to keep your questions brief and to the point. Be aware of support policy:
https://www.sierrachart.com/index.php?l=PostingInformation.php#GeneralInformation

For the most reliable, advanced, and zero cost futures order routing, *change* to the Teton service:
Sierra Chart Teton Futures Order Routing

To post a message in this thread, you need to log in with your Sierra Chart account:

Login

Login Page - Create Account