YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
21 stars 8 forks source link

Licensing: Failure to get a session token can cause GM to repeatedly log "Device Manager Load Failed: file not found" errors and require force-closing #7389

Open gm-bug-reporter[bot] opened 3 weeks ago

gm-bug-reporter[bot] commented 3 weeks ago

Description

Logging in spams popups and the program has to be force closed. I was going to report anothe bug, but I can't log in

Steps To Reproduce

No idea what causes this

Which version of GameMaker are you reporting this issue for?

IDE v2024.6.1.160 Runtime v2024.6.1.208

Which operating system(s) are you seeing the problem on?

Windows 10.0.19045.0

4aae1f9a-ccb4-4230-98a4-57e2c43ccf9b

YYDan commented 3 weeks ago

Looking through your log, I am guessing you're using a proxy server or possibly a VPN in order to connect to the internet, as you went for quite a while with this 400 or a 401 error when trying to reach our licensing server:

[21:09:42:138(52c5)] SSO_CheckSubscription: Logging out due to StatusCode=BadRequest
[21:09:42:138(52c5)] SSO_CheckSubscription : Web Exception : System.Net.WebException: The remote server returned an error: (400) Bad Request.
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
   at System.Net.WebRequest.GetResponseAsync()
   at A.d.Q()
[21:09:42:611(52c5)] SSO_FetchSubscriptionLicense: System.Net.WebException: The remote server returned an error: (400) Bad Request.
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
   at System.Net.WebRequest.GetResponseAsync()
   at A.d.R()

In the more recent GameMaker sessions in your log, something about your networking or protection software setup must have changed, as you no longer get the error trying to connect to our server, but you are still showing signs of not being able to receive the traffic coming back and so therefore you're not able to download your licence or session files off the server:

[15:46:53:1(a291)] Licence file is older than the updated one on the server so fetch the new one
[15:46:53:109(a291)] Licence file is older than the updated one on the server so fetch the new one

and

[15:28:33:406(a3bd)] GetExpiryFromToken exception: :length ('-1') must be a non-negative value. (Parameter 'length')
Actual value was -1.

This last bit might be due to an antivirus client intercepting the files as GameMaker tries to update them, rather than a firewall/proxy/VPN, but I will have to ask you to determine the cause as I do not have access to your machine.

It's possible you have already seen this guide, given the change that I talked about above, but ultimately this one is still a networking issue that's beyond our ability to resolve for you, and so I will link you to the usual permissions guide just now anyway.

You need to review our Permissions FAQ and follow the steps there. Note that we always link to this guide on the release notes page, as many users need to review their protection settings every time they install a new version of GameMaker, so this may be something you need to do also in future.

I suspect this will then allow you to fix your machine and stop seeing the blocking error that I can also see in your log (I think), so you wouldn't need to wait for us to fix anything.

YYDan commented 3 weeks ago

In terms of a bug for us to fix, I can see from the log that each time you get that token error above, the IDE then goes into a loop of trying to find the devices file for your non-existent GameMaker user - e.g.:

[15:23:03:992(b3a4)] Device Manager Load Failed: file not found
[15:23:04:183(b3a4)] Device Manager Load Failed: file not found
[15:23:04:359(b3a4)] Device Manager Load Failed: file not found

And these lines continue repeatedly being logged until I can see you close the IDE, so I am guessing this is actually the error you're seeing spammed also.

We will need to prevent session failures from triggering this and causing GM to lock up, but as I said above, if you fix your networking issue then you will not hit this second error anyway.