Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

GMLive.gml

Livecoding for GameMaker: Studio / GameMaker Studio 2 · By YellowAfterlife

Uncaught Exception - Mac client

A topic by cidwel created Oct 22, 2018 Views: 12,795 Replies: 7
Viewing posts 1 to 8
(1 edit)

Hi Yal! 
Hope you are doing great!

I migrated from a Windows machine to a Mac and tried to run GMLive server. I followed these steps:

Obtained my code via GIT (as usual)
Deleted GMLive and downloaded a new fresh copy of GMLive
Installed neko via brew install
Copied all the data except ndll files
Ran the game build and the gmLive server

This is what I obtain:

➜  datafiles git:(master) ✗ neko gmlive-server.n
Loading `/Users/josejavier/projects/project-spear/ProjectSpear.yyp`...
Listening on port 5100...
[d104a748|127.0.0.1:55363] ready! 93 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
Called from ? line 1
Called from live/server/GmlLiveServer.hx line 292
Called from C:\Tools\Dev\Haxe\haxe\std/neko/_std/sys/net/Socket.hx line 152
Uncaught exception - Broken pipe

Couldn't try to fund what is on gmLiveServer.hx just for trying to get more debug data.  Since GMLive server crashes, it does not autoupdate the code. Hope you can help me debug this.

Many thanks!

Developer

Does this happen on a smaller project and how long does the server take before printing out "ready!"?

"Broken pipe" means that the remote (in this case, GameMaker runner) closed the connection (in this case, an HTTP request) by the time things were going to get written to it, but I cannot think of any reason for this aside of reaching connection timeout (but even then I'm not sure if network_ connection timeout applies to this)

(1 edit)

Hi!

I've created a simple demo and it works. I can update things and see these changes in the render so far.

I commented all the live calls in my own project and this is what i got (tried again a new fresh copy of gmlive)

➜  datafiles git:(master) ✗ neko gmlive-server.n
Loading `/Users/josejavier/projects/project-spear/ProjectSpear.yyp`...
Listening on port 5100...
[13bce964|127.0.0.1:55625] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[6f137529|127.0.0.1:55626] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[4813b714|127.0.0.1:55627] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[84aeeb50|127.0.0.1:55628] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[b8222cb4|127.0.0.1:55629] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[eb4fc8d6|127.0.0.1:55630] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[3e8e5bb8|127.0.0.1:55631] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[13bce964|127.0.0.1:55625] timed out.
[edf4afbb|127.0.0.1:55632] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[6f137529|127.0.0.1:55626] timed out.
[8f5f13f3|127.0.0.1:55633] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[4813b714|127.0.0.1:55627] timed out.
[06271138|127.0.0.1:55634] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[84aeeb50|127.0.0.1:55628] timed out.
[4ad13a95|127.0.0.1:55635] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[b8222cb4|127.0.0.1:55629] timed out.
[6e5b70fe|127.0.0.1:55636] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[eb4fc8d6|127.0.0.1:55630] timed out.
[d5fbdbbe|127.0.0.1:55637] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[3e8e5bb8|127.0.0.1:55631] timed out.
[7488d985|127.0.0.1:55647] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[edf4afbb|127.0.0.1:55632] timed out.
[f48dd8f0|127.0.0.1:55648] ready! 1 live file, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[8f5f13f3|127.0.0.1:55633] timed out.
[127.0.0.1:55649] preparing...


Then.. i tried to reboot, added the live script in a different object, assured that no pid was using the 5100 port and tried again and this is what i got

➜  datafiles git:(master) ✗ neko gmlive-server.n
Loading `/Users/josejavier/projects/project-spear/ProjectSpear.yyp`...
Listening on port 5100...
[6aa24312|127.0.0.1:55707] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[a230ee08|127.0.0.1:55709] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[a51812ee|127.0.0.1:55710] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[dc841eda|127.0.0.1:55711] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[76ae2e02|127.0.0.1:55712] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[5225dafd|127.0.0.1:55713] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[094edb0c|127.0.0.1:55715] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[6aa24312|127.0.0.1:55707] timed out.
[078a380f|127.0.0.1:55716] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[a230ee08|127.0.0.1:55709] timed out.
[6d6e3dfd|127.0.0.1:55717] ready! 2 live files, 6 globalvars, 1 macro, 584 scripts, 0 enums.
[a51812ee|127.0.0.1:55710] timed out.
[127.0.0.1:55718] preparing...

This is different from what I received in the last time. I supose that my mac cannot manage so many live clients as well as I do in my Windows machine, but it seems weird that even with a single script it is not working anyway.

Any clue about why is constantly saying "Ready!"? 

Many thanks!

Developer

The server says "ready!" after getting the "greeting" HTTP request from the game. The game continuously sends "greetings" until there's a valid response. So it would seem like it still fails to get a reply. See if the game gets blocked by firewall or needs an explicit permit to do anything about connectivity?

Well I'm not using a firewall (also mac firewall is disabled)
Also I have tried to create a new project and, without enabling any kind of of permit GMLive was working. Also this project is still working on gmlive in Windows.

Is really odd. Any clue on where or how I could debug why gmLive is not accepting a response as valid?

Many thanks!

Developer

The game evidently manages to send data to the server [as the server notices it connecting], and the server is evidently responding to it [as it crashes if it cannot], but the game does not notice the response. Therefore you should check in GMS2 output if it's unhappy about anything or try adding an Async HTTP event and logging json_encode(async_load) to see if there's anything unusual (status codes/timeout) there.

I tried to log what async_load brings and this is what I got:


Somehow this remembers to me to be a timeout but dunno who is throwing that

(1 edit)

This is sad, but I'm giving up. I tried deleting objects,sprites and resources and it started to work.
So, it's an issue related with computer resources. Nothing that could be easy to debug and fix via software without giving the entire project to you... 

Back to my beloved Windows machine

Many thanks anyway!