Release of G'MIC 3.3

@Reptorian Thanks for fixing the Cascading Self-Glitching filter, it works very well! Much appreciated.
Cheers :+1:

1 Like
  • 2023/03/17: Release of version 3.2.2.

Wow, this might be interesting because it enables game-modding specific G’MIC filters or allow you to compartmentalize filters.

Yes this is a really great new feature introduced in this version, it allows to be very flexible and customize the plug-in to have potentially additional filters created by external people.
Kudos to Sébastien (the plug-in developer) for spending time on this!

gmic_gimp_qt.exe 3.2.2 problem

The gmic_gimp_qt.exe 3.2.2 versions do not work properly: following the application of a filter when you relaunch G’MIC-QT… the window appears for a short time and gives an error.
This is a problem with the versions Index of /files and those compiled with MSYS2 with the latest QT version of March 19.
This problem does not seem to exist on Ubuntu 22.04

What kind of errors?
Is is possible to have a video or screenshot that illustrates the issue?

@David_Tschumperle

Bonjour,
Here is the link to the video showing the error on a Gimp-2.10.34 version of gimp.org:
https://www.aljacom.com/~gmic/Erreur_QT_Gimp-2.10.34.mp4
It’s the same with my compilations: works, error, works, error, etc.
Merci :o)

I’ve tested on a Windows 7 VM, and I’m not able to reproduce the bug :frowning:
I’d be interested by the list of actions that makes the plug-in crash.
Thanks!

@David_Tschumperle

In French

Bonjour,

Pour essayer de déterminer le problème j’ai fait des essais avec la même installation sur 2 ordinateurs : gimp-2.10.34 / gmic-gimp-qt-3.2.1 / gmic-gimp-qt-3.2.2 / Win 64 (versions officielles)

Conclusions :

  • gmic-gimp-qt-3.2.1 fonctionne correctement sur les 2 ordinateurs
  • gmic-gimp-qt-3.2.2 fonctionne correctement sur 1 ordinateur et 1 fois sur 2 sur l’autre ordinateur (y-compris en désactivant toutes les fonctions de l’antivirus). Dans ce dernier cas il y a une erreur lorsqu’un filtre a été activé précédemment et peu importe le filtre (vidéo).

J’ai remarqué que les archives de gmic comportent beaucoup trop de dll qui occasionnent des problèmes. Le fonctionnement est correct sur gimp-2.10.34 avec cette liste de fichiers :

C:.
|   COPYING
|   gmic_cluts.gmz
|   gmic_denoise_cnn.gmz
|   gmic_gimp_qt.exe
|   libcrypto-1_1-x64.dll
|   libdouble-conversion.dll
|   libffi-7.dll
|   libfftw3-3.dll
|   libicudt69.dll
|   libicuin69.dll
|   libicuuc69.dll
|   libmd4c.dll
|   libssl-1_1-x64.dll
|   libunistring-2.dll
|   Qt5Core.dll
|   Qt5Gui.dll
|   Qt5Network.dll
|   Qt5Widgets.dll
|   README
|
+---platforms
|       qdirect2d.dll
|       qminimal.dll
|       qoffscreen.dll
|       qwebgl.dll
|       qwindows.dll
|
\---styles
        qwindowsvistastyle.dll

Je ferai d’autres tests dans les prochains jours.

Merci :o)

@David_Tschumperle

In French

Bonjour,
Voici le résultat de 2 nouveaux essais :
J’ai mis la même installation sur 2 laptops Lenovo (un ancien et un récent) :

  • gmic-gimp-qt-3.2.1 fonctionne correctement sur les 2 laptops
  • gmic-gimp-qt-3.2.2 fonctionne correctement sur le récent et 1 fois sur 2 sur l’ancien.

En conclusion j’ai 2 anciens ordinateurs avec un problème gmic-gimp-qt-3.2.2 et 2 récents ordinateurs sans problème avec ce gmic-gimp-qt-3.2.2.

Hypothèse : Il semble que l’âge des ordinateurs soit lié au problème mais pas le constructeur… L’ancien laptop est avec un processeur Intel, l’ancien desktop avec un processeur AMD et c’est l’inverse pour les ordinateurs récents.

:o)

Could we have a math parser function which generates a vector representation of unordered set of numbers? Just a idea for the future I think.

I think I am experiencing a bug that is similar to the one experienced by @samj. In my case, it’s the gmic-8bf plugin v3.2.2 (SHA256: 63a5fb…) when used within XnView MP v1.4.3.0 (SHA256: f26884…).

For the record, I am on Windows 10 Pro Version 22H2 (OS build 19045.2728). Processor Intel(R) Core™2 Duo CPU T9300 @ 2.50GHz; 8.00 GB RAM.

Here is a way to reproduce my bug:

  1. Open some image in XnView MP (lena.png, for example)
  2. Bring the Adobe Photoshop Plugin by Ctrl+G or from (Menu → Effect)
  3. Double click GMIC → G’MIC-Qt…, or select it and press Start button
  4. Select filter Black & White → Dithering
  5. Click on Cancel
  6. Try to start the plugin again → it will crash with Access Violation error (press OK)
  7. Try to start the plugin again → it opens normally, but without the last filter preselected
  8. Steps 4-7 can be repeated indefinitely

Note: If you press Apply and then Cancel, the result is the same as pressing Cancel directly: the filter isn’t applied. Bug?

To make it crash permanently, at step 5 click on OK insted. Then step 7 is the same as step 6 and it’s not possible to bring back the plugin. Whether the filter is applied to the actual image or not, it all depends on which button (OK or Cancel) I press in the Adobe Plugin menu itself.

What I found is that the crash seems to be related to the Preview. When the last command is stored in the Windows registry along with a checked Preview button, then the plugin may fail to start. The boolean status of the Preview button is stored as PreviewEnabled string value under key

Computer\HKEY_CURRENT_USER\SOFTWARE\GREYC\gmic_qt\Config

Thus, it’s possible to recover from the crash loop by turning off the Preview from the Registry. For example, this git bash command should show the status of the Preview:

reg query 'hkcu\software\greyc\gmic_qt\config' //v PreviewEnabled

And this cmd should turn off the Preview:

reg add 'hkcu\software\greyc\gmic_qt\config' //v PreviewEnabled //d false //f

Also, I can avoid the crash if I uncheck the Preview checkbox (Ctrl+P) before closing the G’MIC-Qt plugin by Cancel or OK!

BTW, some filters appear to crash more often than others. Let me give you some example filters below. Each filter has its FilterPath, FilterHash, Command and Arguments listed as they appear in the Windows Registry.

Always crash:

/Artistic/Aurora
    03b5c42a93022a28a36fd2f5f636145e
    gcd_aurora
    6,1,0
/Black & White/Dithering
    937f2b5659190e4b60ca53cb9db2c1cf
    fx_ditheredbw
    0,0,0,0,0,0,0,50,50
/Patterns/Bayer Filter
    67584217d0dd8897959d05f26b3a8a30
    rgb2bayer
    0,1

Sometimes don’t crash:

/Artistic/Bokeh
    b063aadd53c20f8350e8a9579a4b8835
    fx_bokeh
    3,8,0,30,8,4,0.3,0.2,210,210,80,160,0.7,30,20,20,1,2,170,130,20,110,0.15,0,50,50
/Black & White/Black & White
    0b366cb6ffe09fe38e118f000b6915fb
    fx_blackandwhite
    0.299,0,0.587,0,0.114,0,0,0,0,0,0,0,0,0,2,0,0,0,16,4,0,0,0,50,50
/Rendering/3D Blocks
    a31748a70edc013489afa21fcd302486
    fx_blocks3d
    32,0,4,1.5,30,60,45,50,50,0,-50,-100,0.5,0.7,1,1,0,0,0,128

Never crash:

/Frequencies/Fourier Watermark
    9024a0df0f7478d24445be766b6df58f
    fx_watermark_fourier
    "(c) G'MIC",53
1 Like

That’s really helpful, thanks!
We are still investigating, this seems to be a really weird bug. For instance, we haven’t succeeded in reproducing it so far, on Linux or Windows.
I’m currently setting up a new compilation environment on Win10 to test in a VM. I have a few issues with the MSYS2 g++ version that randomly crashes when compiling G’MIC.
Hard times… :slight_smile:

Finally been able to install everything on my new Win10 VM to compile G’MIC packages for Windows.
I’ve posted them here, for info:

The bug should be still there, but the compiling tools are now up-to-date, so a miracle could happen? (still not been able to reproduce it with GIMP 2.10.34 freshly installed on Win10).

@David_Tschumperle

Bonjour,
Like @skaniol the ‘Fourier watermark’ filter is not a problem on GMIC-GIMP-QT and PDN-GMIC
:o)

I was unable to reproduce the bug on the previous version: gmic-8bf plugin v3.2.1 (SHA256: 8c6700…) from Feb 16. The only 2 different files between the versions are:

GmicPlugin.8bf   3,348,480 23-02-16 09:48:58 ≠ 23-03-19 06:51:13  3,348,480 GmicPlugin.8bf
gmic\
gmic_8bf_qt.exe 13,769,728 23-02-16 08:17:11 ≠ 23-03-19 05:16:16 13,852,160 gmic_8bf_qt.ex

All other dlls are identical. There is no difference in how both versions use the Registry too. All keys and values are the same except the obvious value gmic_version, which changes its data from 321 to 322 under key:

Computer\HKEY_CURRENT_USER\SOFTWARE\GREYC\gmic_qt\LastExecution

This is a video demonstrating the crash described in my previuos post, where I cancel the filter. Notice how the last used filter is reset after the crash.

Here is another video showing what happens if I do the same steps in the older plugin version:

This time there is no crash on the second run, and the plugin starts with the previous filter preselected. I am not sure why, but the start of the plugin is consistently slower (the empty white screen stays for a little longer).

In the next video I show what happens if I try to make the bug permanent by clicking OK in version 3.2.1. The second start should have crashed, but the plugin is working as intended:

@samj, Can you prevent the crash of your plugins by disabling the Preview, or this trick doesn’t work in your case?

Thanks for all these experiments @skaniol , that is really useful.

We have tried a lot of things these last two days (in cooperation with @samj ), but without results. We are still not able to reproduce the bug on our VM, making the debugging very hard to achieve.

Right now, we are a bit desesperate about it :frowning: Is there any developer on Windows that could look at this ? @PDN_GMIC maybe ? Not sure how easy it would be to get the line number where the bug happens.
It’s really frustrating not to be able to find what is going on!

@David_Tschumperle

@skaniol Good idea this essay with or without preview :grinning:

There is no problem when preview is deactivated on GMIC-GIMP-QT and PDN-GMIC.

@skaniol @PDN_GMIC Just to inform you that with the immense help from @samj , we have been able to spot the bug this afternoon.

A (trivial) fix is here:

We are planning to release version 3.2.3 next week with this bugfix + small various improvements.

Thanks again @samj for all the experiments you made, allowing us to finally find what was wrong !

2 Likes

Don’t know if i should post this here but something strange is happening in my gmic_qt 3.2.2, on Ubuntu (arm). The process bar at the bottom resets and freezes when i try to move the preview image while applying a filter:

  • Choose a time consuming filter (like Painting, etc)
  • Click “Apply”
  • While processing, click and drag the preview image (it won’t move), maybe a few times
  • Keep moving while looking at the process bar at the bottom. In my case, it will freeze after a few moves and filter is not applied.App is unresponsive but Cancel will quit the app.