Issue with cBot using target framework .NET 6

Created at 17 Apr 2022, 15:40
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
CT

ctid2032775

Joined 03.05.2020

Issue with cBot using target framework .NET 6
17 Apr 2022, 15:40


Dear all,

being curious I just wanted to play around with the new beta version cTrader 4.2 to decide it I should go with it but ran into an issue.

Environment (running in a virtual machine with VirtualBox):

  • Windows 10 with latest updates
  • .NET SDK 6.0.202 (latest version)
  • Visual Studio 2022 17.1.4 (latest version)
  • cTrader 4.2.1 (latest version)

When I create a new cBot - and without changing anything of the automatically created code - it behaves as follows:

  • Target framework 4 (embedded)
    • Working as expected and printing the "Hello World!" message
  • Target framework 6.0 (embedded)
    • Does not print the message!
  • Target framework 6.0 (SDK; as mentioned above)
    • Does not print the message!

In addition to that it does not make any difference if the cBot is directly compiled in cTrader or using Visual Studio.

A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

To guarantee that it does not be caused by my development machine I installed a complete new and clean virtual machine with the same environment as mentioned above and faced exactly the same issue as described above...

Please keep me updated if you were able to reproduce this issue and how to fix it.

Many thanks and regards,
Christian

 

 


@ctid2032775
Replies

amusleh
18 Apr 2022, 10:12

Hi,

I just tested and it worked fine, with both .NET 6 and .NET framework targets and embedded/SDK compilation.


@amusleh

ctid2032775
24 Apr 2022, 12:08

RE:

amusleh said:

Hi,

I just tested and it worked fine, with both .NET 6 and .NET framework targets and embedded/SDK compilation.

Hi,

just to eliminate that this is caused by the virtual machine I installed the same version on a dedicated Windows 10 Pro notebook and had exactly the same issue...

So just a few question:

  • What are the "minimum requirements" to run cBots compiled with .NET 6 on a "clean" Windows 10 installation?
  • Are there logs available to find out the reason of this behavior? (keep in mind that in my case the log tab doesn't show any information)
  • What could be the reason that the frondend can be closed after a cBot compiled with .NET 6 was started but the process itself isn't terminated?
  • How can I provide you with more detailed information to reproduce the issue and find a fix?
  • And finally, does this mean that the current beta version was deployed to be tested by the users and only the "official" broker version will be stable and fully functioning?

Many thanks and regards,
Christian


@ctid2032775

amusleh
26 Apr 2022, 10:35

RE: RE:

ctid2032775 said:

Hi,

just to eliminate that this is caused by the virtual machine I installed the same version on a dedicated Windows 10 Pro notebook and had exactly the same issue...

So just a few question:

  • What are the "minimum requirements" to run cBots compiled with .NET 6 on a "clean" Windows 10 installation?
  • Are there logs available to find out the reason of this behavior? (keep in mind that in my case the log tab doesn't show any information)
  • What could be the reason that the frondend can be closed after a cBot compiled with .NET 6 was started but the process itself isn't terminated?
  • How can I provide you with more detailed information to reproduce the issue and find a fix?
  • And finally, does this mean that the current beta version was deployed to be tested by the users and only the "official" broker version will be stable and fully functioning?

Many thanks and regards,
Christian

Hi,

There is no minimum requirements for running or compiling a cBot, as long as cTrader desktop works on your system you should be able to compile and run cBots.

The beta version is for testing, cTrader 4.2 stable version is not released yet for brokers.

Regarding your issue:

1. Which edition of Windows you are using? x64/x86?

2. Rebuild, and run the cBot instance, then submit a troubleshoot report by pressing Ctrl+Alt+Shift+T and paste the forum thread URL on the report text box.


@amusleh

ctid2032775
28 Apr 2022, 13:18

RE: RE: RE:

amusleh said:

ctid2032775 said:

Hi,

just to eliminate that this is caused by the virtual machine I installed the same version on a dedicated Windows 10 Pro notebook and had exactly the same issue...

So just a few question:

  • What are the "minimum requirements" to run cBots compiled with .NET 6 on a "clean" Windows 10 installation?
  • Are there logs available to find out the reason of this behavior? (keep in mind that in my case the log tab doesn't show any information)
  • What could be the reason that the frondend can be closed after a cBot compiled with .NET 6 was started but the process itself isn't terminated?
  • How can I provide you with more detailed information to reproduce the issue and find a fix?
  • And finally, does this mean that the current beta version was deployed to be tested by the users and only the "official" broker version will be stable and fully functioning?

Many thanks and regards,
Christian

Hi,

There is no minimum requirements for running or compiling a cBot, as long as cTrader desktop works on your system you should be able to compile and run cBots.

The beta version is for testing, cTrader 4.2 stable version is not released yet for brokers.

Regarding your issue:

1. Which edition of Windows you are using? x64/x86?

2. Rebuild, and run the cBot instance, then submit a troubleshoot report by pressing Ctrl+Alt+Shift+T and paste the forum thread URL on the report text box.

Hi,

ad 1. - I am using Windows 10 Enterprise x64

ad 2. - done

BR
Christian


@ctid2032775

amusleh
29 Apr 2022, 08:54

Hi,

Thanks for providing the details, we are investigating the issue now and if we were able to replicate it we will fix it.


@amusleh

ctid2032775
07 May 2022, 08:32

RE:

amusleh said:

Hi,

Thanks for providing the details, we are investigating the issue now and if we were able to replicate it we will fix it.

Hi,

any news regarding this issue?

Thx & BR
Christian


@ctid2032775

amusleh
11 May 2022, 14:50

RE: RE:

ctid2032775 said:

amusleh said:

Hi,

Thanks for providing the details, we are investigating the issue now and if we were able to replicate it we will fix it.

Hi,

any news regarding this issue?

Thx & BR
Christian

Hi,

We tried everything to reproduce the issue you are facing but we couldn't.


@amusleh

ctid2032775
20 May 2022, 16:27

RE: RE: RE:

amusleh said:

ctid2032775 said:

amusleh said:

Hi,

Thanks for providing the details, we are investigating the issue now and if we were able to replicate it we will fix it.

Hi,

any news regarding this issue?

Thx & BR
Christian

Hi,

We tried everything to reproduce the issue you are facing but we couldn't.

Hi,

did you at least find something in the logs that helps to find the reason of the issue?

Thx & BR
Christian


@ctid2032775

amusleh
23 May 2022, 08:36

Hi,

We checked and tested everything, we tried on Windows 10 Enterprise x64, but we were not able to reproduce the issue.


@amusleh

genappsforex
23 May 2022, 12:27

RE:

ctid2032775 said:

 A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

I noticed that too, This behaviour eats Memory and CPU . Think they're forgetting to clean up/Close old threads.


@genappsforex

amusleh
24 May 2022, 08:44

RE: RE:

genappsforex said:

ctid2032775 said:

 A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

I noticed that too, This behaviour eats Memory and CPU . Think they're forgetting to clean up/Close old threads.

Hi,

We can only help you if we were able to reproduce the issues you are facing, if we can't then there is no way for us to know what's going wrong.

 


@amusleh

ctid2032775
25 Jun 2022, 11:10

RE: RE: RE:

amusleh said:

genappsforex said:

ctid2032775 said:

 A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

I noticed that too, This behaviour eats Memory and CPU . Think they're forgetting to clean up/Close old threads.

Hi,

We can only help you if we were able to reproduce the issues you are facing, if we can't then there is no way for us to know what's going wrong.

 

Hi,

after quite a frustrating time I stopped development in ctrader and migrated the project to MetaTrader 5. The trading part is written in MQL, the machine learning part was developed as an external library in C# and there everything is working as expected (on the same environment (!)).

As this part is now finished I got curious and did some further investigation...

What I found out is that it's working in any Windows 10 Home environment (both on an Acer gaming notebook and in a virtual environment (VirtualBox)) but I never got it to work on Windows 10 Professional or Enterprise (both x64 clean installations)!

The problem is that the bot needs to run on a Minix Neo with Windows 10 Pro installed where it's not possible to "downgrade" to home edition (and even if it would be possible I wouldn't do this...).

Accordingly, I kindly ask you to verify possible reasons and keep me updated about the solution.

Many thanks and regards,
Christian


@ctid2032775

firemyst
25 Jun 2022, 17:34

RE: RE: RE: RE:

ctid2032775 said:

amusleh said:

genappsforex said:

ctid2032775 said:

 A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

I noticed that too, This behaviour eats Memory and CPU . Think they're forgetting to clean up/Close old threads.

Hi,

We can only help you if we were able to reproduce the issues you are facing, if we can't then there is no way for us to know what's going wrong.

 

Hi,

after quite a frustrating time I stopped development in ctrader and migrated the project to MetaTrader 5. The trading part is written in MQL, the machine learning part was developed as an external library in C# and there everything is working as expected (on the same environment (!)).

As this part is now finished I got curious and did some further investigation...

What I found out is that it's working in any Windows 10 Home environment (both on an Acer gaming notebook and in a virtual environment (VirtualBox)) but I never got it to work on Windows 10 Professional or Enterprise (both x64 clean installations)!

The problem is that the bot needs to run on a Minix Neo with Windows 10 Pro installed where it's not possible to "downgrade" to home edition (and even if it would be possible I wouldn't do this...).

Accordingly, I kindly ask you to verify possible reasons and keep me updated about the solution.

Many thanks and regards,
Christian

I think what would help the @Spotware crew is if you can record your desktop (or whatever) while reproducing the cTrader issue. This way, their team can see it actually happening.


@firemyst

genappsforex
26 Jun 2022, 11:48

RE: RE: RE: RE: RE:

firemyst said:

I think what would help the @Spotware crew is if you can record your desktop (or whatever) while reproducing the cTrader issue. This way, their team can see it actually happening.

I think the Christian gave a lot of info.
The only thing you can see looking at a screenrecording is that it realy happens; So do you think this guy is doing al that work to tell cTrader what is wrong when it does not happen? What would be the fun there?
Why are they always asking for tons of info while most of the times looking into their source would show them the problem.
urthermore: It's their product as they've stated many times before, so they should do thourough investigation when someone point them at failures, it's their lifelyhood.
Christian even switched over to MT5 of all places because of it.
Spotware should treasure any developer that shows them a flaw. it enables them to make their product less buggy.
Here we've diverted our development away from cTrader too. Since over a year I'm the only 'cTrader person' in the company. Reasons: Sticking to old /net versions way too long, not thread safe, Buginess and, Badly accessible/searchable/usable forum, No real acknowledgement of the added value of developers for the platform.


@genappsforex

ctid2032775
26 Jun 2022, 17:38

RE: RE: RE: RE: RE: RE:

genappsforex said:

firemyst said:

I think what would help the @Spotware crew is if you can record your desktop (or whatever) while reproducing the cTrader issue. This way, their team can see it actually happening.

I think the Christian gave a lot of info.
The only thing you can see looking at a screenrecording is that it realy happens; So do you think this guy is doing al that work to tell cTrader what is wrong when it does not happen? What would be the fun there?
Why are they always asking for tons of info while most of the times looking into their source would show them the problem.
urthermore: It's their product as they've stated many times before, so they should do thourough investigation when someone point them at failures, it's their lifelyhood.
Christian even switched over to MT5 of all places because of it.
Spotware should treasure any developer that shows them a flaw. it enables them to make their product less buggy.
Here we've diverted our development away from cTrader too. Since over a year I'm the only 'cTrader person' in the company. Reasons: Sticking to old /net versions way too long, not thread safe, Buginess and, Badly accessible/searchable/usable forum, No real acknowledgement of the added value of developers for the platform.

I couldn't have written it better...


@ctid2032775

ctid2032775
10 Dec 2022, 15:26

RE:

ctid2032775 said:

Dear all,

being curious I just wanted to play around with the new beta version cTrader 4.2 to decide it I should go with it but ran into an issue.

Environment (running in a virtual machine with VirtualBox):

  • Windows 10 with latest updates
  • .NET SDK 6.0.202 (latest version)
  • Visual Studio 2022 17.1.4 (latest version)
  • cTrader 4.2.1 (latest version)

When I create a new cBot - and without changing anything of the automatically created code - it behaves as follows:

  • Target framework 4 (embedded)
    • Working as expected and printing the "Hello World!" message
  • Target framework 6.0 (embedded)
    • Does not print the message!
  • Target framework 6.0 (SDK; as mentioned above)
    • Does not print the message!

In addition to that it does not make any difference if the cBot is directly compiled in cTrader or using Visual Studio.

A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

To guarantee that it does not be caused by my development machine I installed a complete new and clean virtual machine with the same environment as mentioned above and faced exactly the same issue as described above...

Please keep me updated if you were able to reproduce this issue and how to fix it.

Many thanks and regards,
Christian

 

 

Dear all,

just to keep you updated and deliver good news - with the currently latest version (4.5.1) it's working for me in Windows 10 Professional, as well!

Many thanks and regards,
Christian


@ctid2032775

ctid3999979
10 Dec 2022, 22:51

RE: RE:

ctid2032775 said:

ctid2032775 said:

Dear all,

being curious I just wanted to play around with the new beta version cTrader 4.2 to decide it I should go with it but ran into an issue.

Environment (running in a virtual machine with VirtualBox):

  • Windows 10 with latest updates
  • .NET SDK 6.0.202 (latest version)
  • Visual Studio 2022 17.1.4 (latest version)
  • cTrader 4.2.1 (latest version)

When I create a new cBot - and without changing anything of the automatically created code - it behaves as follows:

  • Target framework 4 (embedded)
    • Working as expected and printing the "Hello World!" message
  • Target framework 6.0 (embedded)
    • Does not print the message!
  • Target framework 6.0 (SDK; as mentioned above)
    • Does not print the message!

In addition to that it does not make any difference if the cBot is directly compiled in cTrader or using Visual Studio.

A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

To guarantee that it does not be caused by my development machine I installed a complete new and clean virtual machine with the same environment as mentioned above and faced exactly the same issue as described above...

Please keep me updated if you were able to reproduce this issue and how to fix it.

Many thanks and regards,
Christian

 

 

Dear all,

just to keep you updated and deliver good news - with the currently latest version (4.5.1) it's working for me in Windows 10 Professional, as well!

Many thanks and regards,
Christian

Hi Christian.

The problem you have sounds very similar to a problem I have. Did yuo do anything else other than install 4.5.1?

https://ctrader.com/forum/calgo-support/39363

I'm having the above issue, although now even with .NET 4, I can see the Price level moving but the candles don't update on the chart unless I right-click. I reimaged my Surface twice today and freshly installed everything but I still get the same problem.

I even installed cTrader 4.5.1 and nothing else after installing Windows and still the same problem.

Running Windows 11 Ent x64 22H2

Even though I'm not a professional developer, I'm a Network Engineer by trade with multiple Cisco certs including their new DevNet cert dealing with network automation with Python so I have troubleshooting skills.


@ctid3999979

ctid2032775
11 Dec 2022, 11:50

RE: RE: RE:

ctid3999979 said:

ctid2032775 said:

ctid2032775 said:

Dear all,

being curious I just wanted to play around with the new beta version cTrader 4.2 to decide it I should go with it but ran into an issue.

Environment (running in a virtual machine with VirtualBox):

  • Windows 10 with latest updates
  • .NET SDK 6.0.202 (latest version)
  • Visual Studio 2022 17.1.4 (latest version)
  • cTrader 4.2.1 (latest version)

When I create a new cBot - and without changing anything of the automatically created code - it behaves as follows:

  • Target framework 4 (embedded)
    • Working as expected and printing the "Hello World!" message
  • Target framework 6.0 (embedded)
    • Does not print the message!
  • Target framework 6.0 (SDK; as mentioned above)
    • Does not print the message!

In addition to that it does not make any difference if the cBot is directly compiled in cTrader or using Visual Studio.

A little bit strange is that as soon as I switch to .NET 6, run any bot and close the cTrader application the cTrader process is not terminated, as well.

To guarantee that it does not be caused by my development machine I installed a complete new and clean virtual machine with the same environment as mentioned above and faced exactly the same issue as described above...

Please keep me updated if you were able to reproduce this issue and how to fix it.

Many thanks and regards,
Christian

 

 

Dear all,

just to keep you updated and deliver good news - with the currently latest version (4.5.1) it's working for me in Windows 10 Professional, as well!

Many thanks and regards,
Christian

Hi Christian.

The problem you have sounds very similar to a problem I have. Did yuo do anything else other than install 4.5.1?

https://ctrader.com/forum/calgo-support/39363

I'm having the above issue, although now even with .NET 4, I can see the Price level moving but the candles don't update on the chart unless I right-click. I reimaged my Surface twice today and freshly installed everything but I still get the same problem.

I even installed cTrader 4.5.1 and nothing else after installing Windows and still the same problem.

Running Windows 11 Ent x64 22H2

Even though I'm not a professional developer, I'm a Network Engineer by trade with multiple Cisco certs including their new DevNet cert dealing with network automation with Python so I have troubleshooting skills.

Hi,

I'm not sure if this is the same issue (but maybe the same reason)...

In my case not a single cBot was executing with .NET6 and after closing the UI the (background) process was not automatically terminated. This issue only happened on all my Windows 10 Professional machines - both physical and virtual and on different hardware - but always worked in any Windows 10 Home environment and in all mentioned environments when switching to .NET 4.8.

But to answer your question - on my trading machine (i. e. minix neo with Windows 10 Pro) I just installed all Windows 10 Professional updates and the latest cTrader version (4.5.1) but didn't change anything else and now it's working as expected.

BR,
Christian


@ctid2032775