GMX + Crashdetect + YSI 4.0 + Emmet's PVars.
#1

One second it was fine, the next it wasn't. Now every time I GMX crashdetect gives me a load of shit.

Info: It's just a test script so it doesn't really affect me much, but I'd like to know why this is happening. Crashdetect seems to point the problem to YSI and Emmet's PVar saving and loading system. When I said "One second it was fine, the next it wasn't," I wasn't lying. It was literally going fine, I changed one small thing and restarted the server and got the crashdetect shit below. Then I tried reverting the script to before I changed that one thing (Ctrl+Z like 6 times), it didn't fix! I'm not using much from YSI, just the following: y_commands, y_iterate, y_inline, y_dialog, and y_timers.



First, debug compiler output (I find the 17039360 strange):
Код:
Header size:           7056 bytes
Code size:           360704 bytes
Data size:           938540 bytes
Stack/heap size:   17039360 bytes; estimated max. usage: unknown, due to recursion
Total requirements:18345660 bytes
Second, crashdetect's log after GMX'ing:
Код:
[debug] Run time error 5: "Invalid memory access"
[debug] AMX backtrace:
[debug] #0 0003f74c in Alloc:Malloc_Allocate (size=268, bool:clear=true) at F:\Program Files\Pawno\include\YSI\..\YSI_Coding\y_malloc/funcs.inc:789
[debug] #1 00041270 in bool:Callback_Get (callback_tag:name[]=@000e2e70, ret[E_CALLBACK_DATA:5]=@01124bf8, expect[]=@0003d8bc "iiiis", bool:remote=false) at F:\Program Files\Pawno\include\YSI\..\YSI_Coding\y_inline/impl.inc:417
[debug] #2 000485ac in Dialog_ShowCallback (playerid=0, callback_tag:callback[]=@000e2e70, style=1, title[]=@000e32e4 "Login Dialog", caption[]=@000e3318 "Enter the password of your account.", button1[]=@000e33a8 "Enter", button2[]=@000e33c0 "", dialog=-1) at F:\Program Files\Pawno\include\YSI\..\YSI_Visual\y_dialog.inc:222
[debug] #3 0004ed14 in public OnPVarsLoaded (playerid=0, count=11) at F:\Program Files\Rockstar Games\CATest\gamemodes\test.pwn:360
[debug] #4 native CallLocalFunction () from samp-server.exe
[debug] #5 0004b15c in LoadPVarsForPlayer (playerid=0) at F:\Program Files\Pawno\include\userpvars.inc:186
[debug] #6 0004b29c in public _y_utils_OnPlayerConnect (playerid=0) at F:\Program Files\Pawno\include\userpvars.inc:206
[debug] #7 0000c6a8 in public SSCANF_OnPlayerConnect (playerid=0) at F:\Program Files\Pawno\include\YSI\..\YSI_Visual\..\YSI_Core\..\YSI_Coding\..\YSI_Core\y_utils.inc:234
[debug] #8 0000120c in OnPlayerConnect (playerid=0, ... <1073741822 arguments>) at F:\Program Files\Pawno\include\sscanf2.inc:210
[debug] #9 0000d990 in public OnPlayerConnect (... <1 argument>) at F:\Program Files\Pawno\include\YSI\..\YSI_Visual\..\YSI_Core\..\YSI_Coding\..\YSI_Internal\y_cgen.inc:30

If you really need to see the script I'd rather screenshare on Skype or TV (preferably Skype).

Please help!
Reply
#2

It seems to probably be an issue with y_malloc, try including the YSI libraries you need and not the whole library.
Reply
#3

did you compile with -d3 ?
Reply
#4

Quote:
Originally Posted by Abagail
Посмотреть сообщение
As it says, you are attempting to access an invalid memory. It actually seems to possibly be an issue with y_malloc, not properly being able to work with the machine memory. If you are only using a few YSI includes, try to just include them singular instead of including the whole YSI library.
I am including them singularly. If you insist:
Код:
#include <a_samp>
#include <sscanf2>
#include <strlib>
#include <noclass>
#include <screentoworld>
#include <YSI\y_commands>
#include <YSI\y_iterate>
#include <YSI\y_inline>
#include <YSI\y_dialog>
#include <YSI\y_timers>
#include <colandreas>
#include <vehsize>
#include <userpvars>
#include <timestamp>
Quote:
Originally Posted by PT
Посмотреть сообщение
did you compile with -d3 ?
Of course, how else would I get all of that debug info from crashdetect or the output of the compiler?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)