SEModCommunity / SE-Community-Mod-API

Space Engineers Community Modding API
GNU Lesser General Public License v3.0
60 stars 47 forks source link

Unable to debug SEServerExtender. #87

Closed LordXaosa closed 10 years ago

LordXaosa commented 10 years ago

Hi. I downloaded latest sources of the SESE, also I have latest version of the game (01.040.016 for now). I changed build path to DedicatedServer64 folder. When I'm launching without debugging - all goes perfect. But when I try to debug it - it crashes while loading the world. Here is the error: SEModAPIInternal.API.Server.ServerAssemblyWrapper Line 164 An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll (well... it should be handled, because of try-catch clause, but it's not happened O_o) Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Source: HavokWrapper Stack trace: at hkVector4f.set(hkVector4f* , Single , Single , Single , Single ) at NVector.{ctor}(NVector* , Vector3& vec) at Havok.HkCapsuleShape..ctor(Vector3 vertexA, Vector3 vertexB, Single radius) at 5BCAC68007431E61367F5B2CF24E2D6F.F6DF01EE4159339113BB9650DEEE1913.2CC48FA7DD80E57A4E9278C4001884E1(F0DEDB5DD4F997097FD748440229FC8B 93B2E709A71725FDF0281BEBAF799872, Vector3 6E7E0F83AE907EC79CBE16DF37868152, Vector3 FD6FD041E2857DC47BD2F90808F77E2F, Single 3F800D52F2B0D195377AA5339478F6D4, Single 6B9F8E68D156D651345F5D4CFBC845C4, Single 1CB0FC041551FAF59D03D85D2A77BF93, Single F0CEB8D6903BD666B4C8CB2378891A68, UInt16 96471166783AC330E68FE9D95C2C7A5C, C33CE3B3EC11807CAC778CD171156EB8 437B3EDD492DE44A591908C582C9FBD4) at Sandbox.Game.Weapons.MyAmmoBase.Init(String model, MyAmmoCategoryEnum ammoEnum, Boolean spherePhysics, Boolean capsulePhysics, Boolean bulletType) at Sandbox.Game.Weapons.MyMissile.Init() at Sandbox.Game.Weapons.MyMissiles.LoadData() at AAC05F537A6F0F6775339593FBDFC564.D580AE7552E79DAB03A3D64B1F7B67F9.1C1863C73DA5C53414AE33D204A2578F(C459AAC7B875B1045D26D8E66CB29C4C B94CCC43F36473DF80DBF6F0B1F83A61) at AAC05F537A6F0F6775339593FBDFC564.D580AE7552E79DAB03A3D64B1F7B67F9.C10E03CE0387915E6E403517EFF9270D(String ECB151F3F0B91DE2F6C3F136F40F72FB) at B337879D0C82A5F9C44D51D954769590.B3531963E948FB4FA1D057C4340C61B4.2AA66FBD3F2C5EC250558B3136F3974A() at B337879D0C82A5F9C44D51D954769590.B3531963E948FB4FA1D057C4340C61B4.4E2AA6D6083E86732C5C1CD1D6348375() at B337879D0C82A5F9C44D51D954769590.B3531963E948FB4FA1D057C4340C61B4.246E732EE67F7F6F88C4FF63B3901107() at 83BCBFA49B3A2A6EC1BC99583DA2D399.49BCFF86BA276A9C7C0D269C2924DE2D.523C8831DA5DAB3A19F6D33A2C6437B5() at 83BCBFA49B3A2A6EC1BC99583DA2D399.49BCFF86BA276A9C7C0D269C2924DE2D.26A7ABEA729FAE1F24679E21470F8E98(String 8BF03A34188889479CB413E58490FC37, String 48C45E39212AAA2B19C972DA9195F48A, Boolean 7AC487C1B445CD9F481CF5FE695A7CEA, Boolean 4292A7A4DACAF323E558B7E11DD3CF00)

If I press continue - new error comes: Unhandled Exception: Initializing plugins ... System.AccessViolationException: Attempted to read or write protected memory. Th is is often an indication that other memory is corrupt. at SteamSDK.Peer2Peer.IsPacketAvailable(UInt32& msgSize, Int32 channel) at 36CC7CE820B9BBBE4B3FECFEEFE4AE86.528BEB62E5A068F4ACDD977E391DB0BD.0F1192C5 979DA8DA1C9D860358486BFD() at 36CC7CE820B9BBBE4B3FECFEEFE4AE86.528BEB62E5A068F4ACDD977E391DB0BD.04CAAB1F E4B8FB53D5504DC74DD2F1EB() Finished initializing plugins

This is only when I try to debug... If I run without debugging, wait for world loaded and attach to process - then all will be fine... But it's unusual behavior... Any advice here?

AlienXAXS commented 10 years ago

Disable "Just My Code" in Debugging, works for me. Or, disable that thrown exception in the debug -> exceptions menu.

LordXaosa commented 10 years ago

Disabled "Just My Code", didn't help... Also those exceptions were unchecked in exceptions menu...

chessmaster42 commented 10 years ago

This error sounds like you either already have the server running or are trying to start again after you've hit the stop button. The code in the default server doesn't handle being started up again very well. You need to close the tool and open again when you want to start again.

AlienXAXS commented 10 years ago

Oops, posted as my companies github user there lol.

Okay saying that it's doing it for me again too. Press F5 -> Press Start Server -> Wait for world to start to load -> Get error.

Just My Code and TargetInvocationException exception disabled, still happens.

What version of Visual Studio was this built on anyways, I'm using 2013.

LordXaosa commented 10 years ago

"You need to close the tool and open again when you want to start again." Sorry, doesn't help :( As AlienXAXS said - I'm not alone with this problem :(

AlienXAXS commented 10 years ago

I will see if i can get it to work again later, I am unable to compile the solution currently, but i put that down to Chessmaster still working on it and in the middle of pushing changes.

DraygoKorvan commented 10 years ago

yeah there are several changes to the game that broke the ability of the current build to compile, solution is being worked on.

The previous build seems to be working though YYMV, just don't try to manage any entities right now.

chessmaster42 commented 10 years ago

So are you trying to attach to the process after it is already running? Or are you compiling from source and running straight from VS?

AlienXAXS commented 10 years ago

Attaching to the process to debug after the world has loaded works a treat, however if I were to follow these steps on VS2013 Pro i would get the TargetInvocationException exception on the line of code where the server is started (i forget which one, and am not at my PC right now)

1) Start VS2013 2) Open Project, Press F5 to start the application 3) Press Start Server button on SEServerExtender dialog 4) Wait until server attempts to Init Missiles (as per the servers log, this happens about 4-5 seconds after you see the world is starting to load) 5) Be greeted with a debug catch of TargetInvocationException.

chessmaster42 commented 10 years ago

Aha! Now we're getting somewhere. You need to copy the game's Content folder into /bin/

So the folders should be like this: /bin/Content /bin/Debug /bin/Release

AlienXAXS commented 10 years ago

Already done mate :P

AlienXAXS commented 10 years ago

However I will double check when i get home from work :)

chessmaster42 commented 10 years ago

You have to delete and re-copy the Content folder after every game patch. That's probably what you missed.

AlienXAXS commented 10 years ago

Wait, Should i have copied the whole Game Content folder, or just the Content folder shipped with the DedicatedServer zip? (i did the latter)

chessmaster42 commented 10 years ago

Either one is fine. The Content shipped with the server zip will work just as well as the main game content. You just have to delete and re-copy every time there is a game patch.

AlienXAXS commented 10 years ago

Okay so i have done some work on this for you, here is what i have done: 1) Completely cleared the "Clone To Desktop" of the SEServerExtender and re-cloned it from scratch 2) Copied the Content folder from the DedicatedServer.zip to the Bin sub-folder of the solution 3) Copied the contents of the DedicatedServer64 to the Debug Directory (i skipped any files that already existed) 4) Started the application in debug mode, pressed Start Server 5) Started to load world, got 'An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll' on serverStartupMethod.Invoke(null, methodParams);

I have tried other things too: 1) Copying the whole 600mb+ content folder from the game directory instead of just the ~70mb dedicated server one - Does not help 2) Copying the dedicatedserver64 files from the ZIP over the debug folder, and replacing all files - does not help either.

Exception & Stacktrace: http://pastebin.com/d3CTmsYn

Server Log: http://pastebin.com/0KdKHSxt

SEServerExtender log: http://pastebin.com/4915HFeF

chessmaster42 commented 10 years ago

It has been over a week since there was any activity on this. Can you try again with the latest and let us know if it is still occurring?

AlienXAXS commented 10 years ago

I will try tonight for you.

LordXaosa commented 10 years ago

Tested last version. Same thing. Build path is G:/server/DedicatedServer64. Content path is G:/server/Content, so it has to be ok, but it's not...

DraygoKorvan commented 10 years ago

Remove \content from the game path

chessmaster42 commented 10 years ago

Can you please post links to recent log files? I'd really like to get you guys up and going but I need more info to help out.

LordXaosa commented 10 years ago

Em... Without Content server won't work... Here is the situation on screenshot: https://www.dropbox.com/s/yt0dr6rvz3o8fqj/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%202014-08-13%2019.46.17.png And after continuing it's just stopped. In log there are errors. Here is log: https://www.dropbox.com/s/vri2krqeqmrkreu/SpaceEngineersDedicated_20140813_194510.log

chessmaster42 commented 10 years ago

Any more word on this? I haven't heard anything in well over a week. Also, please don't use dropbox for logs. It is bandwidth restricted and doesn't play well with others. Pastebin and Github's GIST are much better alternatives for posting code and logs.

LordXaosa commented 10 years ago

Problem still present in last build... I can write it every day, if you want...

AlienXAXS commented 10 years ago

Sorry Chessmaster, i will not be able to test this for you until at least Tuesday for a response from me. Extremely busy at work at the moment.

LordXaosa commented 10 years ago

Well... Why close? It still present in actual version...