Tk-desktop >= v2.5.0 breaks behind proxy

(There is a support ticket for this, but I’m posting here for more insight)

Yesterday, we updated some projects to tk-desktop v2.5.0, and Desktop broke when used behind our proxy.

Desktop would start up and allow login, but opening a project (any project, upgraded or not) would hang indefinitely, and nothing showed up in the details field at the bottom.
The logs simply stopped at some point, before loading the project config. No errors.
It seems like it was waiting on some connection that was not hitting the proxy.

With an internet connection and no proxy, it worked.

The proxy is normally set in the Windows registry (i.e. through the Proxy dialog), and in environment variables http_proxy and https_proxy.

We use centralized configs, with a config directory per project, on shared storage, and in git.

The breakage probably coincided with the release of tk-config-basic.
That sets tk-destkop v2.5.0 as the default.
This turned out to be significant, since rolling back only tk-desktop inside tk-config-basic in the bundle cache fixed it.
The projects could have 2.5.0 or 2.5.1 and that would not cause problems if the bundle cache had the old version. The about tab was still showing 2.4.14 inside projects, though.

We would have to change the version in $AppData/Shotgun/bundle_cache/app_store/tk-config-basic/v1.3.6/.../engines.yml to get it to work.
This is obviously not the right way, but our toolkit knowledge had already reached its limit, and deadlines are tight :slight_smile:

So… did we do anything wrong? Did we hit a bug in tk-desktop? Or does our proxy need reconfiguration? Certificates?

Things we tried unsuccessfully

  • Remove site configuration and most parts of bundle cache in AppData.
  • Reinstall Shotgun Desktop, after removal.
  • Set http_proxy and app_store_http_proxy in shotgun.yml and in toolkit.ini, config.ini (tried various permutations).
  • Change engine versions in centralized project config (e.g. in env/project.yml)

Remarks

  • I have read through the initialization doc, but sadly have not processed all of it. It doesn’t appear to fill in all the gaps, though.
  • Maybe there are different ways to go about it, but if I found that a version of tk-basic-config in the bundle cache is not working, how would I downgrade it? Would a descriptor affect the bundle cache version?
  • The docs are not very clear on how to roll back a tank upgrade. If our config is in git, can we just check out an older revision? Do we also need to invoke tank to perform some initialization?
  • Should we move to distributed configurations? I love git, so managing the live projects with it was somewhat logical.
  • Did tk-basic-config upgrade after we upgraded the projects, or did it upgrade by itself?
  • Just while writing this, I found the variable SHOTGUN_DISABLE_APPSTORE_ACCESS, which may have helped in this situation.
  • After about a couple of years of customizing Shotgun/toolkit, the bundle cache seems to be what I understand the least. That said, it’s supposed to be this internal and transparent thing that shouldn’t be touched (unless you’re customizing it).
  • Any deeper insights into toolkit are welcome!

Cheers,

Mois

6 Likes

Hi Mois,

Sorry, you’ve hit an issue.
We just released a new version of our configs, v1.3.7, that rolled back tk-desktop to v2.4.14.

Can you please tell us if that fix your issue?

Thanks,
Francis

2 Likes

Hey Francis, Jean-François just responded on the support ticket also and gave me some tips to diagnose further.
It was not clear to me - how do I force the version in bundle cache to update? Do I just load a project that references it? Or would it update unconditionally?

Thank you,
Mois

1 Like

Hi Mois,

you just need to restart Shotgun Desktop and it should get the update automatically.

Cheers,
Francis

1 Like

Thanks, yeah that worked, tk-config-basic and tk-desktop are the expected versions!
Now have to research further why tk-desktop 2.5.0 wasn’t working with the proxy.

1 Like