-
Posts
199 -
Joined
-
Last visited
-
Days Won
1 -
Feedback
100%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Amun
-
-
Search for that string in the source and remove the check.
-
Just because you didn't get errors compiling it, it doesn't mean you installed it properly.
Look for syserr everywhere(client, client src, server src). If there's nothing there, add logs to everything to see where it breaks.
-
10 hours ago, kenoZ said:
https://metin2.download/picture/kttrjLsZAt95Ldo86WEcpOa54bAVQCE8/.png
can someone tell me why comes this error?
That's part of MFC(Microsoft Foundation Class library). Honestly, you can remove 90%(or more) of what's in UserInterface.rc anyway.
So, you can either:
1. Install MFC
2. Remove what's not used in UserInterface.rc
3. Replace afxres.h with Windows.h
3 hours ago, burakhangunduz66 said:How can we remove the given warning?
I don't think anyone around here can give you any input on that. I've looked a bit around and couldn't find much, only some error reported on Microsoft's docs and this:
https://www.geoffchappell.com/studies/msvc/language/predefined/
You have bigger fish to catch. You're complaining about these info messages because these are the ones you see(typical), but I don't see you saying anything about the hundreds of warnings you get when opening and scanning a cpp file.
TMP4 told you earlier - as long as it's compiling and doesn't interfere with the end result, you're free to solve the actual problems.
Good day
- 1
-
compile BattleArena.cpp
gmake: clang++-devel: No such file or directoryHave you installed clang?
-
3 minutes ago, pbugyon said:
oh ok thanks! I misunderstood the explanation, now I understand. I prefer your suggestion. also because I would not know how to create a website shop. but in reality I don't even know how to create a shop in game...
I've added more details, in case you want options.
Edit:
There's lots of websites that are already made, you can just pick one..
Good luck
-
5 hours ago, Marcos17 said:
Don't give the error anymore, but the 7 bonus just fails, it doesn't add at all
Yeah, I wanted to mention previously. That vector(array) of bonuses shouldn't be empty, since there's about 90 of them and it's impossible for all of them to fail the if statement in the previous for loop. If I were you, I would actually add some logs to see why no bonus is passed to the vector.
In short - there's work to be done and I don't have the time to hunt the errors for you, so you'll have to do it yourself, unfortunately. It shouldn't be hard to do, but you never know, maybe there's a big problem.
Cheers!
-
2 hours ago, pbugyon said:
already been inserted previously : CHANNEL: 1
HOSTNAME: first
PORT: 13000
P2P_PORT: 14000
DB_ADDR: 127.0.0.1
DB_PORT: 15000
MAP_ALLOW: 1 4 5 6 3 23 43 112 107 67 68 72 208 302 304
PLAYER_SQL: 127.0.0.1 metin2 password player
COMMON_SQL: 127.0.0.1 metin2 password common
LOG_SQL: 127.0.0.1 metin2 password log
TABLE_POSTFIX:
PASSES_PER_SEC: 25
SAVE_EVENT_SECOND_CYCLE: 180
PING_EVENT_SECOND_CYCLE: 180
VIEW_RANGE: 8000
CHECK_MULTIHACK: 0
ADMINPAGE_PASSWORD: metin2adminpass
ADMINPAGE_IP: 127.0.0.1
SPEEDHACK_LIMIT_COUNT: 300
SPEEDHACK_LIMIT_BONUS: 80
PK_PROTECT_LEVEL: 15
MALL_URL: google.com
TRAFFIC_PROFILE:
TEST_SERVER: 0
MAX_LEVEL: 105
#BIND_IP: Your Private/Internal IPv4 address
#PROXY_IP: Your Public/External IPv4 address
What he means is that the MALL_URL should be changed with the URL of you website's item shop. I'm not quite fond of the current item shop(through an integrated web browser) so, if I were you, I would find some in-game item shop system. But that's just me, you do what you want, obviously.
Cheers!
Edit:
I've looked a bit around. I think the URL is actually coming from cmd.
In game/src/cmd_general.cpp you will find:
snprintf(buf, sizeof(buf), "mall http://%s/ishop?pid=%u&c=%s&sid=%d&sas=%s", g_strWebMallURL.c_str(), ch->GetPlayerID(), country_code, g_server_id, sas);
Where g_strWebMallURL is a constant holding the TLD.
That constant can be found in game/src/config.cpp
string g_strWebMallURL = "www.metin2.de";
Now, you have a few choices:
1.You can replace the TLD with your domain and keep everything else as is, but that would mean that your backend is actually compatible with all the query parameters.
2.You can just get rid of everything in ACMD(do_in_game_mall) and replace it's content with this(don't forget to change the constant with your TLD):
char buf[128]; snprintf(buf, sizeof(buf), "mall http://%s/ishop", g_strWebMallURL.c_str()); ch->ChatPacket(CHAT_TYPE_COMMAND, buf); OR you can remove the constant and write it straight in here: char buf[128]; snprintf(buf, sizeof(buf), "mall http://YOUR_TLD/YOUR_ITEM_SHOP_PAGE"); ch->ChatPacket(CHAT_TYPE_COMMAND, buf);
3. You can remove everything about mall and implement an in-game item shop.
Anyhow.. you'll figure it out
Cheers!
- 1
-
You're getting that error because the size of avail is 0.
Something like this should suffice:
Before const TItemAttrTable& r = g_map_itemRare[avail[number(0, avail.size() - 1)]]; Add: if (!avail.size()) { // add some error here about the size, if you want to know when it happens. return false; }
Cheers!
-
4 minutes ago, Debloat said:
Unfortunately, no luck with this... Still crashing without any errors. Same as before, the last thing in the log is
0224 20:38:12373 :: PointWindow: BackGround 0224 20:38:12688 :: 0224 20:38:12689 :: ## Network - Loading Phase ## 0224 20:38:12690 ::
Man, I swear it doesn't make any sense.. Run it in debug again and see if there's any changes in the breakpoints
-
From what I see, VS doesn't complain about it anymore(the warning) when I add the if statement so, maybe the destination is null?
Try it like this:
if (!pbDest || !m_pbCompBufferByLevels[miplevel]) { return false; }
-
-
I'm still here.
I've started rewriting the functions and following the exact docs from:
https://docs.python.org/3/extending/extending.html
I'll keep you posted if anything changes and again.. if anyone has any ideas, please let me know.
- 1
-
I don't have time look around and find out if miplevel can be 0(maybe I'll do it later, if it's not fixed), but you could try something like this:
if (!m_pbCompBufferByLevels[miplevel]) { TraceError("No m_pbCompBufferByLevels[miplevel]"); // return false; } memcpy(pbDest, m_pbCompBufferByLevels[miplevel], m_lPitch >> (miplevel * 2));
If that's the last message you see in syserr, just uncomment return false and it should be ok.
Let me know if that works,
Cheers!
- 1
-
I see the title is marked as fixed, but I'll leave this here, in case someone else is looking for it.
You're not looking for escaping, you're looking for string concatenation, which can be done with two dots.
ex:
"some string" .. some_var .. "some other string"You can read more here:
-
NULL is basically 0. You can try changing it to:
if (!aItemPoses) { return false; }
It's still checking for falsy, but maybe the warning's going to go away.
Cheers!
-
On 2/17/2022 at 1:31 PM, duwen123 said:
UP!
I may be too late here, but yes. All sources have an .sln which can be opened with Visual Studio.
Here's a pic:
After you open the solution for the first time, visual studio will ask if you want to upgrade the projects. You can choose whatever you want, but I recommend you upgrade them.
If you choose to upgrade, a `Backup` folder will be created with your old files, which you can remove, if you want.
I know you said you don't want to compile them with VS, but here's a topic I made on 22nd, this month(Feb) if you do decide to compile them on windows.
Cheers!
Edit:
If you don't have a .sln file, you can just create a new solution, then create the projects for each folder and just drag and drop the files in visual studio(in each project's source).
If you already have a .vcproj or .vcxproj file but don't have the .sln, you can just create a new solution(project) and then load them by clicking right click on the solution and `add existing project`.
A third option would be to use cmake, but that's more complicated, so I won't get into it.
Spoiler- 1
-
14 minutes ago, matyasvane said:
@Amun
Thank you very much, in terms of the listed ones, who would you personally choose to have some working AntiDDOS protection?Honestly, I believe DDoS protection is just a marketing shit. They all need strong infrastructures and bot protections are becoming better and better, so you should be good with any of them. If anyone's flooding your server, they'd have to find a way to bypass all of that.
Yet, if anyone manages to do it, (from my experience)the company won't do shit, because the infrastructure can handle it, so the problem is your server's capacity of handling concurrent requests.
Also.. do people still do that? It's 2022, for fuck's sake :)).
- 1
-
11 minutes ago, matyasvane said:
Full answer. Thank you..the problem is that OVH does not offer dedicated servers with less RAM than those mentioned. It offers VPS, but it is not possible to install FreeBSD
I would go with the one that's easiest for you to set up.
There's lots and lots of options, like:
Linode:
https://www.linode.com/docs/guides/install-freebsd-on-linode/
Digital Ocean:
https://www.digitalocean.com/community/tutorials/how-to-get-started-with-freebsd
https://www.digitalocean.com/community/tags/freebsd?language=en
Vultr:
https://www.vultr.com/servers/freebsd/
And these are just a few. There's also Google cloud and AWS, but these are painful to set up and quite expensive.
And all of them give 100-300$ free credit for 3 months(or more) to get started.
However, remember what I said earlier: Always choose the option that's easiest to set up and get started.
Hope it helps, I'm looking forward to seeing your server!
Cheers!
-
I've had a similar problem in the past and it was because of a window that wasn't working properly(Either from some shop system or the inventory, I think). I can't remember exactly what I've done to fix it(because it was years ago), but you could take a look at this:
However, be mindful about it and test it thoroughly.
Edit:
Now that I see the function, yes, I don't really understand why the loop is there, since vector.clear() should reset its size to 0, thus deleting everything(maybe for debugging?).
What I would do is this:
void CWindowManager::__ClearReserveDeleteWindowList() { for (TWindowContainer::iterator itor = m_ReserveDeleteWindowList.begin(); itor != m_ReserveDeleteWindowList.end(); ++itor) { CWindow* pWin = *itor; #ifdef __WINDOW_LEAK_CHECK__ gs_kSet_pkWnd.erase(pWin); #endif if (pWin->GetName()) { TraceError("Attempting to delete %s", pWin->GetName()); } else { auto parentName = pWin->GetParent() ? pWin->GetParent()->GetName() : 0; if (parentName) { TraceError("Attempting to delete unnamed window. Parent: %s, parent name: %s", pWin->GetParent(), parentName); } else { TraceError("Attempting to delete unnamed window. No parent. Any children? %i", pWin->GetChildCount()); } } delete pWin; TraceError("Window deleted."); } m_ReserveDeleteWindowList.clear(); }
And then you'll know exactly if the problem is coming from a window or not, since you'll never see "Window deleted" after the window's(or parent's) name.
Note: I have not tested the code, but it should work fine. Also, you can replace TraceError with Trancefn, if you want to use log.txt instead of syserr.txt
Good luck!
- 1
- 1
-
3 hours ago, pbugyon said:
hello, I have a problem, I can not configure the server for Hamachi ip. any advice? I have no experience all this
EDIT : i try sysinstall but command don't exist.
Open the virtual machine and write this in the console
ee /etc/rc.conf
Then delete everything and write this in the file(press ctrl+k to remove line by line, if you want):
hostname=".localhost" keymap="us.kbd" ifconfig_em0="192.168.1.119 netmask 0xffffff00" defaultrouter="192.168.1.1" sshd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" mysql_enable="yes" ifconfig_em0="inet 25.26.45.100 netmask 255.0.0.0" defaultrouter="25.26.45.233"
Replace 25.26.45.233 with your IP from hamachi.
Where it says 25.26.45.100 write your IP from hamachi, but instead of the last 3 numbers, write 100.
To make it simpler, what you need is the ifconfig_em0 and defaultrouter, but I just copy pasted everything from mine..
Press esc, leave editor and save changes.
After that, restart the network interface(write it in the console):
/etc/rc.d/netif restart
If it doesn't refresh automatically, give it a reboot.
Also, make sure your VM's Network configuration is set to Bridged Adapter and name LogMeIn Hamachi.
Here's a couple of pictures:
Something for the other users:
If it takes a while to connect to your VM from SSH or WinSCP, just delete `resolv.conf` from etc.
OR, just edit it and put your IP there. In my case, I would be able to do this:
ee /etc/resolv.conf nameserver 25.26.45.100 Esc, exit and save changes. Then run /etc/rc.d/netif restart You're good to go.
Or delete it:
rm -rf /etc/resolv.conf
Good luck!
Spoiler- 1
-
On 2/21/2022 at 9:11 PM, matyasvane said:
Okay, its good for host server GAME Plan by OVH? Or this i dont need?
Specification:
Plan: Rise-1
CPU: Intel Xeon-E 2136 - 6c/12t - 3.3GHz/4.5GHz
RAM: 32GB DDR4 ECC 2666MHz
DISK: 2x SSD NVMe 512GB Enterprise Class Soft RAID
NET: Unlimited traffic - 500Mbps bandwidth
Its okay for MT2 server? How many players i can get on this server?I don't know if I'm late to the party or not, but 32GB ram is useless if you're just getting started. I would advise to do the math for about 5mb ram per player.. and even that is probably way more than needed.
If you estimate 5-600 players online, just get one with 4 or 8 GB ram.
Edit: Also, get your players first, don't worry about getting your server closed, that can be solved by getting another VPS or changing the company, which wouldn't take more than a couple hours anyway.
- 1
-
Give us the code, man.. The error is pretty self explanatory, but we don't know what you have in there..
item_attribute.cpp 485
- 1
- 1
-
Hello everyone,
I'm trying to move Tmp4's(or Mali's?) client source to python 3.
Basically, I replaced the include and lib and just followed the error trail. The client compiles with no errors, but whenever I try to start it, it throws this shit:
Fatal Python error: the function must be called with the GIL held, but the GIL is released (the current Python thread state is NULL) Metin2Debug.exe has triggered a breakpoint.
Which basically comes when the app is instantiated in UserInterface.cpp, here:
Tracen("Instantiating cPythonApplication"); CPythonApplication* app = new CPythonApplication; // right here // and it never gets to the next line Tracen("Initializing app"); app->Initialize(hInstance);
Here's the output, if you want to see it:
Spoiler'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\Metin2Debug.exe'. Module was built without symbols.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d8.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imagehlp.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\python310_d.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\granny2.dll'.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\devil.dll'. Module was built without symbols.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\MSS32.DLL'. Module was built without symbols.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dinput8.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ddraw.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d8thk.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dxgi.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\SpeedTreeRT.dll'. Module was built without symbols.
'Metin2Debug.exe' (Win32): Unloaded 'D:\tmp4\Client\SpeedTreeRT.dll'
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dciman32.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\ucrtbased.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\ucrtbased.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Unloaded 'D:\tmp4\Client\ucrtbased.dll'
'Metin2Debug.exe' (Win32): Loaded 'D:\tmp4\Client\SpeedTreeRT.dll'. Module was built without symbols.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp60.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\InputHost.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\propsys.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreUIComponents.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreMessaging.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreMessaging.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\CoreMessaging.dll'
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntmarta.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Symbols loaded.
Open console
Open log file
Initializing pack
Initializing locale
Instantiating cPythonApplication
Fatal Python error: the function must be called with the GIL held, but the GIL is released (the current Python thread state is NULL)
Metin2Debug.exe has triggered a breakpoint.Debug Error!
Program: D:\tmp4\Client\Metin2Debug.exe
abort() has been called
(Press Retry to debug the application)
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\TextShaping.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded.
'Metin2Debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\TextInputFramework.dll'. Symbols loaded.
The thread 0x1b74 has exited with code 3 (0x3).
The thread 0xe0 has exited with code 3 (0x3).
The thread 0x18f8 has exited with code 3 (0x3).
The thread 0x263c has exited with code 3 (0x3).
The thread 0x1094 has exited with code 3 (0x3).
The thread 0xc48 has exited with code 3 (0x3).
The thread 0x253c has exited with code 3 (0x3).
The thread 0x1a04 has exited with code 3 (0x3).
The program '[6464] Metin2Debug.exe' has exited with code 3 (0x3).
Call Stack:
Spoiler> KernelBase.dll!wil::details::DebugBreak(void) Unknown
python310_d.dll!fatal_error_exit(int status) Line 2553 C
python310_d.dll!fatal_error(int fd, int header, const char * prefix, const char * msg, int status) Line 2735 C
python310_d.dll!_Py_FatalErrorFunc(const char * func, const char * msg) Line 2751 C
python310_d.dll!_Py_FatalError_TstateNULL(const char * func) Line 271 C
python310_d.dll!_PyInterpreterState_GET() Line 117 C
python310_d.dll!get_tuple_state() Line 22 C
python310_d.dll!tuple_get_empty() Line 131 C
python310_d.dll!PyTuple_New(int size) Line 154 C
python310_d.dll!do_mktuple(const char * * p_format, char * * p_va, char endchar, int n, int flags) Line 259 C
python310_d.dll!do_mkvalue(const char * * p_format, char * * p_va, int flags) Line 296 C
python310_d.dll!va_build_value(const char * format, char * va, int flags) Line 565 C
python310_d.dll!Py_BuildValue(const char * format, ...) Line 522 C
[External Code]
Metin2Debug.exe![Frames below may be incorrect and/or missing, no symbols loaded for Metin2Debug.exe] Unknown
And the threads:
SpoilerNot Flagged > 7732 0 Main Thread Main Thread python310_d.dll!fatal_error_exit
Not Flagged 10460 0 Worker Thread ntdll.dll!TppWorkerThread ntdll.dll!_NtWaitForWorkViaWorkerFactory@20
Not Flagged 10316 0 Worker Thread ntdll.dll!TppWorkerThread ntdll.dll!_NtWaitForWorkViaWorkerFactory@20
Not Flagged 10284 0 Worker Thread ntdll.dll!TppWorkerThread ntdll.dll!_NtWaitForWorkViaWorkerFactory@20
Not Flagged 11128 0 Worker Thread ntdll.dll!TppWorkerThread ntdll.dll!_NtWaitForWorkViaWorkerFactory@20
Not Flagged 10400 0 Worker Thread InputHost.dll!<lambda_52549c42edc0789d5b8e6fe768050260>::<lambda_invoker_stdcall> CoreMessaging.dll!Microsoft::CoreUI::Dispatch::WaitAdapter::Callback_WaitAnySo, because of this
python310_d.dll!_Py_FatalError_TstateNULL(const char * func) Line 271 C python310_d.dll!_PyInterpreterState_GET() Line 117 C
I would assume it's because the interpreter is not loaded.
Also, just in case, here's how the modules are created:
Spoilerstatic struct PyModuleDef cAppModule =
{
PyModuleDef_HEAD_INIT,
"cAppModule", /* name of module */
"", /* module documentation, may be NULL */
-1, /* size of per-interpreter state of the module, or -1 if the module keeps state in global variables. */
s_methods
};PyObject* poModule = PyModule_Create(&cAppModule);
I don't think it's because of this, since we never get to load the modules with RunMainScript:
CPythonLauncher pyLauncher; CPythonExceptionSender pyExceptionSender; SetExceptionSender(&pyExceptionSender); if (pyLauncher.Create()) { ret = RunMainScript(pyLauncher, lpCmdLine); }
Does anyone have any clue?
Here's some pics:
- 1
- 1
-
1 hour ago, TMP4 said:
Thank you! And many thanks to @ Mali as well!
He saved me from having to dig out and compile MySql connector and DevIL. I just "stole" them from a source he posted on GitHub xD
Fast sit on mount
in Community Support - Questions & Answers
Posted
I just told you to search it in the source(server source).
Use n++ with global search. If you can't find it, it might be because it's in korean, so you have to open locale_string.txt and find the korean string matching this, then search that.
I tried looking for it in my source, but I don't have it, so it has to be something changed in your source.
Good luck