Open Fiurgeist opened 3 years ago
fyi: I put some logging at the first line of the main-method in plugin.py, it doesn't even reach that point.
Strange. My guess is that some dependencies causes crash on load time.
What OS do you use, which version?
cd %LocalAppData%\GOG.com\Galaxy\plugins\installed\humble-...
"C:\Program Files (x86)\GOG Galaxy\python\python.exe" -c "import sys; sys.path.append('.'); import plugin; plugin.main()""
paste here what you see
yea Win10 (last line of the log was the crash report)
--
I got:
...\humble_f0ca3d80-a432-4d35-a9e3-60f27161ac3a>"D:\Program Files (x86)\GOG Galaxy\python\python.exe"
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
>>> import sys
>>> sys.path.append('.')
>>> import plugin
System.IO.FileLoadException: Could not load file or assembly "file:///<...>\humble_f0ca3d80-a432-4d35-a9e3-60f27161ac3a\modules\Python.Runtime.dll" or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515) ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
As a quick-fix I've added an python.exe.config
in D:\Program Files (x86)\GOG Galaxy\python
with
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>
and the plugin works again.
--
The question would now be: Why is the humblebundle plugin the only plugin which needs to load a python dll?
Oh, so you have your user directory in shared network drive? Not strange that OS is scared to execute remote code.
Python.Runtime.dll
is added by toga
(gui framework) that probably uses pythonnet
(C# port) for handling native windows in Windows.
GUI in this plugin is extraordinary utility, so it should not crash like that (at least not on start).
Could you check if the issue persist if remove gui import in plugin.py
? So change this
from gui.options import OPTIONS_MODE
to e.g. this:
OPTIONS_MODE = 'mock'
?
shared network drive?
nope, D:
is my regular old second hard drive
--
yes, removing the import prevents the crash
nope,
D:
is my regular old second hard drive
What about %localappdata%, where it is placed? Plugin lives there and the error message say
"file:///<...>\humble_f0ca3d80-a432-4d35-a9e3-60f27161ac3a\modules\Python.Runtime.dll" or one of its dependencies.
have you edited this msg? What is under <...> ?
If this is local drive then maybe or one of its dependencies
may be the real culprit? I don't know .NET internals to guess what happened.
%localappdata% is under C:
, and C and D are both local drives (I do not have any network drives)
I'm getting a similar error. I was on 0.7, and just tried to update to 0.9.4, but got the same "plugin has crashed" error.
However, that was with the version I downloaded from GitHub. I removed the plugin and downloaded it from inside the Galaxy UI, and even though it's the same version, it connected fine.
I suspect the plugin was flagged by Windows as from an "internet source" and blocked it. Windows 10 likes to do that now I've noticed.
It might be a different error, but I wanted to mention it anyway.
FIX: Go to %LocalAppData%\GOG.com\Galaxy\plugins\installed\humble-...\modules
, find the Python.Runtime.dll
file, right click and choose Properties. At the bottom, tick the "Unblock" tickbox, click OK.
Works absolutely fine after that :)
Describe the bug I'm unable to connect using any newer version of this plugin, just getting the message 'Plugin has crashed. Retry.'.
Expected behavior Plugin does not crash. Version 0.6.0 of this plugin is the last version were the connect works, showing me the Humble Bundle login mask (but that version is of course useless since the API changed).
Plugin installed I tried both ways, installed it directly from Galaxy as well as manually testing every release from 0.7.0 till 0.9.4.
Provide logs