G'MIC Gimp Plugin Favorites disabled

Have been using gimp gmic all day today, and then out of nowhere my favorites were missing from the GUI. I also noticed that the favorites buttons were greyed out as well.

Not aware of any other issues with my system. I also did not add or adjust any favorites today.

Here is the log file.

Would appreciate any help.

@akovia, could you please send us (or copy/paste) the content of your Fave file (file %APPDATA%/gmic/gmic_qt_faves.json, or ~/.config/gmic/gmic_qt_faves.json) ?

That was the clue I needed.

I was looking in the old gmic_faves file instead of gmic_qt_faves.json file.

When I looked in that file it was empty. I just restored it from the gmic_qt_faves.json.bak file and all is working again.

Still doesn’t explain why it apparently got corrupted, but all is right in the universe again for now. If it happens again I’ll report back here.

Thanks!

1 Like

mine dissapeared as well but I am able to add them occasionally and they might stay as favorites for a couple of sessions

That’s annoying. How many sessions does this last ?

Only a couple and I don’t turn it off either. Only put my pc to sleep now. Anyway I will find out for sure. Just saw there were none in it and I populated my list again. Will let you know when it goes again.
BTW I am not using the latest vs. the 2.9.3 pre # 201009

Odd, they are still there over a dozen sessions later. They have disappeared on me a couple times though. This time I also shut the computer down, shut Gimp down, opened new pictures etc and checked each time.

Well it happened again, but this time my backup file was emptied as well. sigh

Never really understood what happened the first time, but forgot about it since I had a backup. This time it happened when updating.

This is beyond frustrating.

[gmic_gimp_qt]./preview/ v 3 fx_smooth_diffusion_preview 0.7,0.3,0.6,1.1,15,4,0,0,24,0,50,50
[gmic]-1./ Start G'MIC interpreter.
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/ Import custom commands from expression '_split_preview : fx_smooth_diffusion 0.7,0.3,0.6,1.1,15,4,0,0,24,0,50,50 k[0]' (1 new, total: 4371).
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/ Set local variable 'is_movable=1'.
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/ Set multiple variables 'posx=50', 'posy=50'.
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/ Set multiple variables 'pw=431', 'ph=1196'.
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/*repeat/*local/ Set local variable 'is_failed=0'.
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/*repeat/*local/*local/ Apply command '_split_preview' on image [0], with a timeout of 015 seconds.
[gmic]-2./fx_smooth_diffusion_preview/gui_split_preview/*repeat/*local/*if/ Keep image [1] (1 image left).
[gmic]-1./fx_smooth_diffusion_preview/gui_split_preview/ Discard definition of custom command '_split_preview' (1 found, 4370 commands left).
[gmic]-1./ End G'MIC interpreter.
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./gui_filter_sources/ Skip argument '1,1'.
[gmic]-0./gui_filter_sources/*if/ Start 'if...endif' block -> condition '1' holds.
[gmic]-0./gui_filter_sources/*if/ Set local variable 'local=/home/akovia/.config/gmic/update294.gmic'.
[gmic]-0./gui_filter_sources/*if/*if/ Start 'if...endif' block -> condition 'isfile(['/home/akovia/.config/gmic/update294.gmic'])' holds.
[gmic]-0./gui_filter_sources/*if/*if/ Import commands from file '/home/akovia/.config/gmic/update294.gmic' (2167 new, 2180 replaced, total: 4370).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/ Input image at position 0, with values (104,116,116,112,115,58,47,47,103,109,(...)116,101,50,57,52,46,103,109,105,99,1) (1 image 31x1x1x1).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Input file '_gui_filter_sources' at position 0
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43570) *** Unknown command or filename '_gui_filter_sources'; did you mean 'gui_filter_sources'?e[0;0;0m
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Remove image [] (0 images left).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43571/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43571) *** Unknown filename '/home/akovia/.config/gmic/gui_filter_sources'.e[0;0;0m (1 image 18x1x1x1).
[gmic]-2./gui_filter_sources/*if/*if/ Return.
[gmic]-2./ End G'MIC interpreter.
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./gui_filter_sources/ Skip argument '1,1'.
[gmic]-0./gui_filter_sources/*if/ Start 'if...endif' block -> condition '1' holds.
[gmic]-0./gui_filter_sources/*if/ Set local variable 'local=/home/akovia/.config/gmic/update294.gmic'.
[gmic]-0./gui_filter_sources/*if/*if/ Start 'if...endif' block -> condition 'isfile(['/home/akovia/.config/gmic/update294.gmic'])' holds.
[gmic]-0./gui_filter_sources/*if/*if/ Import commands from file '/home/akovia/.config/gmic/update294.gmic' (2167 new, 2180 replaced, total: 4370).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/ Input image at position 0, with values (104,116,116,112,115,58,47,47,103,109,(...)116,101,50,57,52,46,103,109,105,99,1) (1 image 31x1x1x1).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Input file '_gui_filter_sources' at position 0
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43570) *** Unknown command or filename '_gui_filter_sources'; did you mean 'gui_filter_sources'?e[0;0;0m
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Remove image [] (0 images left).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43571/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43571) *** Unknown filename '/home/akovia/.config/gmic/gui_filter_sources'.e[0;0;0m (1 image 18x1x1x1).
[gmic]-2./gui_filter_sources/*if/*if/ Return.
[gmic]-2./ End G'MIC interpreter.
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./gui_filter_sources/ Skip argument '1,1'.
[gmic]-0./gui_filter_sources/*if/ Start 'if...endif' block -> condition '1' holds.
[gmic]-0./gui_filter_sources/*if/ Set local variable 'local=/home/akovia/.config/gmic/update294.gmic'.
[gmic]-0./gui_filter_sources/*if/*if/ Start 'if...endif' block -> condition 'isfile(['/home/akovia/.config/gmic/update294.gmic'])' holds.
[gmic]-0./gui_filter_sources/*if/*if/ Import commands from file '/home/akovia/.config/gmic/update294.gmic' (2167 new, 2180 replaced, total: 4370).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/ Input image at position 0, with values (104,116,116,112,115,58,47,47,103,109,(...)116,101,50,57,52,46,103,109,105,99,1) (1 image 31x1x1x1).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Input file '_gui_filter_sources' at position 0
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43570) *** Unknown command or filename '_gui_filter_sources'; did you mean 'gui_filter_sources'?e[0;0;0m
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Remove image [] (0 images left).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43571/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43571) *** Unknown filename '/home/akovia/.config/gmic/gui_filter_sources'.e[0;0;0m (1 image 18x1x1x1).
[gmic]-2./gui_filter_sources/*if/*if/ Return.
[gmic]-2./ End G'MIC interpreter.
[gmic_gimp_qt]./error/ Update failed
[gmic_gimp_qt]./note/ Error string: Operation canceled
[gmic_gimp_qt]./note/ ******* Full reply contents ******
[gmic_gimp_qt]./note/ 
[gmic_gimp_qt]./note/ ******** HTTP Status: 0
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./gui_filter_sources/ Skip argument '1,1'.
[gmic]-0./gui_filter_sources/*if/ Start 'if...endif' block -> condition '1' holds.
[gmic]-0./gui_filter_sources/*if/ Set local variable 'local=/home/akovia/.config/gmic/update294.gmic'.
[gmic]-0./gui_filter_sources/*if/*if/ Start 'if...endif' block -> condition 'isfile(['/home/akovia/.config/gmic/update294.gmic'])' holds.
[gmic]-0./gui_filter_sources/*if/*if/ Import commands from file '/home/akovia/.config/gmic/update294.gmic' (2167 new, 2180 replaced, total: 4370).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/ Input image at position 0, with values (104,116,116,112,115,58,47,47,103,109,(...)116,101,50,57,52,46,103,109,105,99,1) (1 image 31x1x1x1).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Input file '_gui_filter_sources' at position 0
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43570) *** Unknown command or filename '_gui_filter_sources'; did you mean 'gui_filter_sources'?e[0;0;0m
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Remove image [] (0 images left).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43571/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43571) *** Unknown filename '/home/akovia/.config/gmic/gui_filter_sources'.e[0;0;0m (1 image 18x1x1x1).
[gmic]-2./gui_filter_sources/*if/*if/ Return.
[gmic]-2./ End G'MIC interpreter.
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./gui_filter_sources/ Skip argument '1,1'.
[gmic]-0./gui_filter_sources/*if/ Start 'if...endif' block -> condition '1' holds.
[gmic]-0./gui_filter_sources/*if/ Set local variable 'local=/home/akovia/.config/gmic/update294.gmic'.
[gmic]-0./gui_filter_sources/*if/*if/ Start 'if...endif' block -> condition 'isfile(['/home/akovia/.config/gmic/update294.gmic'])' holds.
[gmic]-0./gui_filter_sources/*if/*if/ Import commands from file '/home/akovia/.config/gmic/update294.gmic' (2167 new, 2180 replaced, total: 4370).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/ Input image at position 0, with values (104,116,116,112,115,58,47,47,103,109,(...)116,101,50,57,52,46,103,109,105,99,1) (1 image 31x1x1x1).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Input file '_gui_filter_sources' at position 0
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43570) *** Unknown command or filename '_gui_filter_sources'; did you mean 'gui_filter_sources'?e[0;0;0m
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43570/ Remove image [] (0 images left).
[gmic]-0./gui_filter_sources/*if/*if/gui_filter_sources/*local#43571/ e[0;31;59me[1m*** Error (file '/home/akovia/.config/gmic/update294.gmic', line #43571) *** Unknown filename '/home/akovia/.config/gmic/gui_filter_sources'.e[0;0;0m (1 image 18x1x1x1).
[gmic]-2./gui_filter_sources/*if/*if/ Return.
[gmic]-2./ End G'MIC interpreter.

…and here I am again.

All my faves are gone again out of nowhere. I keep multiple backups so I was able to easily restore, but still jarring each time it happens. Won’t post the log as I didn’t get any bites last time.

The removal of faves json happened to me too. A lot of potential equations in my filters lost. I think mine got deleted because of incompatible filters due to changes.

Something is very fragile for sure.

I keep backups in multiple places now. Would be nice if gmic would incorporate some sort of builtin fail-safe backup system.

I have favorites that just stop working consistently and I have to recreate them, but it’s easy enough when I can copy the settings from the broken one to the new one. Losing everything though is scary.

Get git. For Windows Or for whatever else. Seriously. Yes, it is a source control system. But it is also a save-your-arse solution for directories (folders) that are subject to unexplained volatility, which happens in a lot of ways in a lot of places for a lot of OS’s. Put the volatile directory/folder under version control. Then, whenever it gets whacked, just go into the folder and restore. Done. Peace of mind. Oh, from time to time, go into the folder and do a status check. Just in case you’ve Changed What Gets Regularly Whacked. Then do an add and commit. If you hate/fear shells, the Windows version has a GUI. For Pete’s Sake, don’t tell me You-Are-Not-A-Programmer or This-Sounds-Too-Complicated-For-Me! Some things Are Just Worth Knowing, like knowing how to use a fire extinguisher.

In this case, the directory/folder you want to put under git version control is %APPDATA%/gmic (Windows) or ~/.config/gmic/ (Unix like). Specifically add gmic_qt_faves.json. The day your faves gets wiped, do a git restore gmic_qt_faves.json or some such. You can also zip up your .config and then proceed to forget to refresh the zip or forget where you put it.

1 Like

For Pete’s Sake, don’t tell me You-Are-Not-A-Programmer or This-Sounds-Too-Complicated-For-Me! Some things Are Just Worth Knowing, like knowing how to use a fire extinguisher.

Wow really? Nice diversion.
I supposed you glossed over the fact I said I keep multiple backups. (twice)

I love gmic and have even donated, but that doesn’t mean what I said isn’t true. Any software should no be wiping out your favorites or any user config files without backing them up first so they could be restored.

If reporting these issues are going to get people upset, I won’t bother posting the next time it happens. I’ve just found that most developers like the feedback.

The thing that you quoted is really meant to be treated as a figure of speech. He’s not telling you to do this. No one is upset, don’t worry about that.

The tongue in cheek is okay but I agree that this issue still stands. I wonder if we could do something about it? @akovia @Reptorian, have you attempted to file a bug report?

I agree that this seems to be a bug and it’s really annoying.
I’d really like to fix that ASAP.

But, in this case, this seems a bit hard to track. We don’t have enough information at this point to reproduce the bug (which is the first step for a fix!).
I’ve already reported this to the G’MIC-Qt developer in the past, and I will tell him again.
But unless we can reproduce the bug from our side, the chances the bug can be fixed easily are quite low.

I have not filed a bug report. I had no way to reliably reproduce it, and the reports I’ve made here never got much traction so I figured it was more of an edge case.

I always keep the debug option on verbose, but I really wish it would time stamp the entries as well. There are always errors in the log, but I have no idea which are relevant or innocuous. I don’t know if this is platform dependent, but I’m on Arch Linux.

Once I realized this was an ongoing problem I just made sure to account for it with backups. I don’t know if the ongoing issue with some favorites that just stop working is related, but that happens more often than the favorites disappearing. I’ve just learned to recreate those and move on and stopped reporting that.

So while these are annoyances, they are no longer show stoppers for me. I’m certainly not on a crusade to get them fixed, but I thought that reporting when it happens might be useful in some way.

I’ve uploaded my log, but to me it doesn’t appear too different than the last one I posted.

gmic_qt_log.txt (20.8 KB)

Thanks for trying. I get quite a few mysterious bugs with G’MIC proper. I still try to describe them in vague terms in hopes that David and team would catch them eventually. :slight_smile:

Thanks for the log.
I don’t really something strange here.
Maybe one question : when you lose your faves, do you know what happens to the files $HOME/.config/gmic/gmic_qt_faves.json and $HOME/.config/gmic/gmic_qt_faves.json.bak ?
Are they deleted or saved as 0-bytes files ?
This could help us understanding what is going on here.

I wish I could tell you with 100% accuracy, but I’m usually right in the middle of something when it happens of course and just try and fix it immediately and circle back to troubleshoot.

Best I can remember is the sometimes like in my first report, only the faves were emptied and I was able to restore from the .bak file. As I stated in my January report, the .bak was emptied as well. I restored from my “Back in Time” backup and eventually got it back running. So now I keep a backup of the entire config folder right beside it.

So it has done both. Emptied only the gmic_qt_faves.json file sometimes, and also emptied the gmic_qt_faves.json.bak with it other times.

Sorry if that’s not much help, but I will stop what I’m doing the next time it happens and try to document everything I can at that moment.

1 Like