GNOME Bugzilla – Bug 711491
Python plug-ins are queried on every launch
Last modified: 2013-12-30 22:41:06 UTC
Created attachment 259017 [details] Output of gimp-2.8.exe --verbose Forwarded from bug #703113. The official GIMP 2.8.8 build for Windows still queries some plug-ins at startup. The most of it is gone, but the following plug-ins are queried: text-brush.py, python-eval.py, python-console.py, py-slice.py, palette-to-gradient.py, palette-sort.py, palette-offset.py, gradients-save-as-css.py, foggify.py, file-openraster.py and colorxhtml.py. O a WinXP/32 machine it runs through very fast and is almost not noticeable. On my Win7/32 machine the effect is clearly visible. It happens between the 'Tool Options' and 'extension-script-fu'. If needed I can post a short video. In GIMP 2.8.4 on Win7/32 only the item 'pyconsole.py' is shown for a short time. In GIMP 2.8.6 on Win7/32 the aforementioned Python scripts are among all other plug-ins that are re-queried on startup. The error cannot be reproduced with the stable nightly builds for Windows from 2.11. and 5.11.2013, because they don't contain the Python scripts.
Created attachment 259018 [details] Pluginrc
Here are slightly modified versions of gimp-2.8.exe, which print some additional info when querying plug-ins. If you have the problem with GIMP constantly querying Python scripts at startup, replace C:\Program Files\GIMP 2\bin\gimp-2.8.exe with the file from URL below, run it with --verbose parameter, and paste the output. http://eternallybored.org/misc/gimp/gimp-2.8.8-plugindebug-32.zip (32-bit version) http://eternallybored.org/misc/gimp/gimp-2.8.8-plugindebug-64.zip (64-bit version)
(In reply to comment #2) > Here are slightly modified versions of gimp-2.8.exe, which print some > additional info when querying plug-ins. If you have the problem with GIMP > constantly querying Python scripts at startup, replace C:\Program Files\GIMP > 2\bin\gimp-2.8.exe with the file from URL below, run it with --verbose > parameter, and paste the output. > > http://eternallybored.org/misc/gimp/gimp-2.8.8-plugindebug-32.zip (32-bit > version) > http://eternallybored.org/misc/gimp/gimp-2.8.8-plugindebug-64.zip (64-bit > version) I uninstalled GIMP 2.8.8, deleted the left over folders in Program Files, renamed the Users/.../.gimp-2.8, ran a registry cleaner, shut down & restart, and re-installed GIMP 2.8.8. I then followed the instructions above, and I get the following: return value 7 from opening C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\pyconsole.py executable: C:\Program files\GIMP 2\Python\pythonw.exe (gimp-console-2.8.exe:3016): LibGimpBase-WARNING **: gimp-console-2.8.exe: gimp_wire_read(): error return value 7 from opening C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\script-fu.exe executable: C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\script-fu.exe I'm a novice, so I don't know what this actually means. But this install was as clean as I know how to do.
Thanks, that looks like only pyconsole.py is queried on each start, which is another bug and unrelated to this issue. Seems this bug escapes being observed, or is at least not deterministic.
Created attachment 259451 [details] Verbose output with the new binaries I've run GIMP again with the modified executables and the verbose parameter. The attachment contains the results on Windows 7 (32 bit), XP (32 bit) and Windows 8 (64 bit).
Created attachment 260009 [details] Vebose output on Windows Vista 32-bit I've just seen this mentioned on the mailing lists. Attached verbose output from the modified version in gimp-2.8.8-plugindebug-32.zip on Windows Vista 32-bit in case the information is useful. It appears to show the following plug-ins being queried: C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\text-brush.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\python-eval.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\python-console.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\pyconsole.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\py-slice.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\palette-to-gradient.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\palette-sort.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\palette-offset.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\gradients-save-as-css.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\foggify.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\file-openraster.py C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\colorxhtml.py My original GIMP 2.8.8 installation (before replacing gimp-2.8.exe and gimp-console-2.8.exe with the modified versions) was Jernej Simončič's build linked from http://www.gimp.org/downloads/
mbourne, thanks. This looks like there is some environment missing because it doesn't find gimpfu.py. The right python exacutable is used tho. Sven, some of these look like normal queries with no error messages, are the python plugins available, and are they really queried again on each start?
Yes, the Python plugins are available. I tried with a fresh 2.8.8. install and Jernejs patches on W7. I can confirm, that only pyconsole is queried at launch now.
Created attachment 263162 [details] Vebose output, after creating pygimp.env, on Windows Vista 32-bit Michael - gimpfu.py exists at <C:\Program Files\GIMP 2\lib\gimp\2.0\python\gimpfu.py>. You mention a possible missing environment. Could be related to bug 711718 "no pygimp.env file"? I took a bit of a flyer and created <C:\Program Files\GIMP 2\lib\gimp\2.0\environ\pygimp.env> with a single line: PYTHONPATH=${gimp_installation_dir}\lib\gimp\2.0\python Started GIMP again and there were no "No module named gimpfu" errors. Ran it few times, and the only plug-in queried every time now is: C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins\pyconsole.py You mention in Comment 4 that that's another unrelated bug? (Apologies for the delay replying; I'd expected to get emails if this bug was updated, but it seems adding an attachment didn't add me to the CC list. Think I've added myself now.)
Yes, the pyconsole.py querying is a different problem, it is indeed queried on each start, independently of this bug. If you get only this one, you are not affected by this issue here any longer.
Fixed in 2.8.10 (except for pyconsole.py).
*** Bug 711718 has been marked as a duplicate of this bug. ***