Hi!
Can anyone tell me why the init() message and subsequent handleEvent() messages (can say for sure for the EVENT_MESSAGE) come from different threads?
This have great side effect to my dotNET interface.
Thanks.
AI Dlls and threads
Moderators: hoijui, Moderators
Re: AI Dlls and threads
i just tested here in gdb, and it seems to always be the same thread. i also can not imagine how it could be different ones.
Re: AI Dlls and threads
Let me just show you some images:hoijui wrote:i just tested here in gdb, and it seems to always be the same thread. i also can not imagine how it could be different ones.
- Attachments
-
- handleEvent.jpg
- handleEvent
- (423.81 KiB) Downloaded 3 times
-
- init.jpg
- init();
- (413.5 KiB) Downloaded 3 times
Re: AI Dlls and threads
Could you try with a non-GML Spring binary?
Re: AI Dlls and threads
Hi!Tobi wrote:Could you try with a non-GML Spring binary?
Thanks for reply!
Indeed I can perform a test with nonGML spring (later in the evening), but what is wrong with GML one?
P.S. My sources are not very recent, because every time I'm updating the sources from git I have to change lots of code to make it compatible with MSVC. Could I somehow commit these changes to main branch (All of the changes could be done with #ifdefs #endifs)?
P.S.S. Do you have a maintainer for MSVC spring?
P.S.S.2 Have anyone performed comprehensive tests to find out if MSVC and MinGW builds compatible at binary level?
Re: AI Dlls and threads
yeah, i am using non GML build, so i guess that is making the difference.
btw.. are you using GML only, or also GML_SIM?
anyway.. by current definitions of the AI Interface, and how things currently look to me, this seems like a bug; would need more investigation though, maybe zerver can say something, before we start this.
if you want changes in spring source, you have to fork spring on github, and commit your changes to your fork. then ask one of the devs to have a look at it, and if its fine, he will move it to the main repo of spring.
we have one or two devs that use MSVC too, but it can easily happen that spring does not compile fine for weeks on MSVC.
MSVC and MinGW builds of spring do not sync, but AI Interfaces and Skirmish AI plugins should be binary compatible, and they are not synced. There have been tests by some AI devs, and i have no negative report from them, plus i put a lot of work into this compatibility already. it should work fine by now, though if you want to have extensive test results, you had to collect them yourself.
btw.. are you using GML only, or also GML_SIM?
anyway.. by current definitions of the AI Interface, and how things currently look to me, this seems like a bug; would need more investigation though, maybe zerver can say something, before we start this.
if you want changes in spring source, you have to fork spring on github, and commit your changes to your fork. then ask one of the devs to have a look at it, and if its fine, he will move it to the main repo of spring.
we have one or two devs that use MSVC too, but it can easily happen that spring does not compile fine for weeks on MSVC.
MSVC and MinGW builds of spring do not sync, but AI Interfaces and Skirmish AI plugins should be binary compatible, and they are not synced. There have been tests by some AI devs, and i have no negative report from them, plus i put a lot of work into this compatibility already. it should work fine by now, though if you want to have extensive test results, you had to collect them yourself.
Re: AI Dlls and threads
Hi, guys!
Tobi, thank you very much for your advise. Now my interface seems to work fine. At least it doesn't throw weird error from dotNET internals which I tried to fix for 2 or 3 weeks.
hoijui, I use USE_GML and USE_GML_SIM flags.
P.S. Something inside the GML-flagged binary breaks dotNET, I'm pretty sure it's not only dotNET issue, cause I tried to create simple application which reproduce an error, but none of my efforts were successful. I still don't know what's wrong in GMLed spring.exe
P.S.S. Thanks for the info about MSVC, branch, etc. Will do the fork when i have spare time.
Tobi, thank you very much for your advise. Now my interface seems to work fine. At least it doesn't throw weird error from dotNET internals which I tried to fix for 2 or 3 weeks.
hoijui, I use USE_GML and USE_GML_SIM flags.
P.S. Something inside the GML-flagged binary breaks dotNET, I'm pretty sure it's not only dotNET issue, cause I tried to create simple application which reproduce an error, but none of my efforts were successful. I still don't know what's wrong in GMLed spring.exe
P.S.S. Thanks for the info about MSVC, branch, etc. Will do the fork when i have spare time.