ID:2745034
 
BYOND Version:514
Operating System:Windows server 2012
Web Browser:Chrome 95.0.4638.69
Applies to:Dream Daemon
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
My space station server is having issue because of the "Encountered an improper argument" when this is happening everyone getting kick from server but server is still on. But we cant join. To fix this i have to restart dream deamon. But this is happening 8-9 in day and im sick of this thing. Is there any way to fix this ?

Numbered Steps to Reproduce Problem:

Code Snippet (if applicable) to Reproduce Problem:


Expected Results:

Actual Results:

Does the problem occur:
Every time? Or how often? 9-10 in d ay
In other games? Space station
In other user accounts?
On other computers?

When does the problem NOT occur?
One TG coder said this is maybe happening because of language because my server computer is turkish. I have two server one server is english another one is turkish. And in english server this error happened only one time but still happened so

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
it happen in earlier versions.
Workarounds:

this is the screenshot
https://cdn.discordapp.com/attachments/913857603606577163/ 915660838851993671/unknown.png
hello both server locale is turkish i just saw that.
Unfortunately this is an unhelpful error message spit out by the library BYOND uses for Windows. I wish it gave some useful info but it doesn't, so there's no way for me to know what's going on without reproducing it. If you can figure out a reliable way to reproduce it, that might help lead me in the right direction.
Hello i changed to english and same thing happened again 3 times.

this was the last thing in server console
"
[04:50:23] Runtime in atoms.dm,1667: Cannot execute null.log message().
usr: Sipsaknecmi/(Commander Beep O'sky)
usr.loc: (Medbay Lobby (141,127,4))
[04:50:38] Runtime in atoms.dm,1667: Cannot execute null.log message().
usr: Sipsaknecmi/(Commander Beep O'sky)
usr.loc: (Medbay Lobby (141,127,4))
[04:51:05] Runtime in atoms.dm,1667: Cannot execute null.log message().
usr: Sipsaknecmi/(Commander Beep O'sky)
usr.loc: (Starboard Primary Hallway (136,128,4))
[04:51:18] Runtime in atoms.dm,1667: Cannot execute null.log message().
usr: Sipsaknecmi/(Commander Beep O'sky)
usr.loc: (Starboard Primary Hallway (136,130,4))
[04:52:17] Runtime in weapons.dm,39: Cannot create objects of type null.
usr: Eloniaxe/(UYUZ)
usr.loc: (Starboard Primary Hallway (136,129,4))
[04:52:52] Runtime in stack_trace.dm,3: addtimer called with a callback assigned to a qdeleted object. In the future such timers will not be supported and may refuse to run or run with a 0 wait
usr: Alesdor/(Default Cyborg-381)
usr.loc: (Central Primary Hallway (122,112,4))
"

I really need help about this
In response to Lummox JR
is there any chance to fix this if i change windows version?
Without finding something more concrete to narrow down what events happen when this message occurs, there's nothing I can do.
In response to Lummox JR
its suck dude.... my server crashing more than 10 times in a day and there is nothing i can do :/
The only hope here is to figure out if there's any particular thing that causes it. Trying to host other games and seeing if they have the same issue could help.

Either that, or maybe trying to catch the Windows API MessageBoxA() function in a debugger and using that to get a minidump file with a stack trace.

Edit: Actually, if this is causing your server to crash, you should be able to enable minidumps and get that file.
To help you with getting minidump info, this is a .reg file I downloaded at one point that will help, with minor modifications.

Create a file called enable_mini_crash_dumps.reg and open it in a text editor like Notepad. Copy and paste this into the file:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpFolder"=hex(2):25,00,50,00,55,00,42,00,4c,00,49,00,43,00,25,00,5c,00,43,\
00,72,00,61,00,73,00,68,00,44,00,75,00,6d,00,70,00,73,00,00,00
"DumpType"=dword:00000001
"DumpCount"=dword:0000000A

If you run this file, Windows will ask you if you want to allow the registry editor to make changes to your computer (say yes), then if you want to import the contents of that file (say yes). After that, minidumps should be created whenever you have a crash.

To explain the lines in that file:

DumpFolder is the location where crash dumps will be saved. hex(2) means this is a REG_EXPAND_SZ entry, and it says "%PUBLIC%\CrashDumps". This means you should expect, on most computers, to find your crash dump files in C:\Users\Public\CrashDumps after they're created.

DumpType is set to 1, which means Windows will create minidumps by default.

DumpCount is set to 10, so it Windows will save only the 10 most recent minidumps there.

So if you install that registry file, the next time you get a crash:

1) Open C:\Users\Public\CrashDumps.
2) Find the most recent crash file for Dream Daemon or Dream Seeker (whichever crashed).
3) Upload that file to someplace easily accessible like DropBox, Google Drive, or BYOND Member storage.
4) Send me a link to the file and info about what happened during the crash.

If I have a minidump there's a pretty good chance I can get to the bottom of what went wrong.
In response to Lummox JR
Hello
https://drive.google.com/file/d/ 1AFZIHj4FedvQLxnWU7FXbl--JyNzBpb7/view?usp=sharing

I checked little bit and i guess i have to download wmvcore.dll right?
there is a some problem. When i did what you say server didnt get the "encountered an improper argument" error so im not sure thats the thing you want.
Hello server is just crashed and there was a no dump in crashdump folder. After that i close the dreamdeamon and i open server back. Then the old dreamdeamon give "dreamdeamon is not responding" error when i choose close one dump spawned in folder. But i think thats "not responding" error dump's not the improper argument. So should i still send you ? its almost same with yesterday.
It sounds like what you had here was a hang, not a crash, which is a totally different situation.

With a hang, you have to open up a debugger (download Windows debugging tools from Microsoft and run WinDbg x86, which is the 32-bit version), and attach it to the hanging process. After that you should be able to generate a minidump.

However, since you forcefully shut down the hanging process and it created a dump, I think it might be possible that it would have some useful info.

For the .dmp file you posted, is that for BYOND 514.1571 or a different version? I need to know the exact build.

[edit]
I took a look but the .dmp file doesn't have any stack trace information besides showing a forced shutdown. It won't help determine what's causing a hang.
So here's a bit of followup information. After you've downloaded Microsoft's debugging tools for Windows, do the following the next time Dream Daemon hangs:

1) Open WinDbg x86.
2) Go to File | Attach to a Process.
3) Select your dreamdaemon.exe process.
4) Enter the command ".dump /ma" ".dump /m" followed by a filename to create a minidump file.
In response to Lummox JR
hello im using the 514.1571 byond and i cant download windbg to server machine because of windows version. So is there anything i can do ? if you have discord or something i can give you the server machine password if this can help you.
I don't understand what you mean about not being able to download WinDbg. All you have to do is go to Microsoft's website and download and install the Windows debugging tools.
In response to Lummox JR
hello i did what you say and it created 800 mb file. I hope this is the thing you want. https://drive.google.com/file/d/ 1jlKmzAXyVuEIzTFUJinHZUTsmmDYjAx0/view?usp=sharing
i guess this is not too the thing you want. When i choose "Attach to a Process" server is closing. I guess i have to do that when improper argument happen.

Also i can tell you this. When improper argument happen server is not closing. Its still open but kicking everyone and dont let them in server. If they can join server back that wont be problem actually.
https://drive.google.com/file/d/ 1rHCnlK1knf3io1NsOhbybUYMQL-JC98z/view?usp=sharing
i get dump when improper argument happen. Its 2gb i dont know why that much but that might the thing you want.
2 GB is too big. So is 800 MB. That's a full dump, not a minidump. I can't use that.
Page: 1 2