Release of G'MIC 3.4

@prawnsushi My system is so underpowered I stopped scripting all together. :dotted_line_face: @Reptorian sure loves to optimize. :wink:

1 Like

Why don’t you just upgrade or borrow someone else’s PC? :frowning:

Upgrading needs $$$. Borrowing needs people willing to give it to him. Plus, with that much hiatus, he will need to take his time to recover to then have the mindset to code. Even I’m struggling with that as I been G’MICing a little less.

Well, i’m using my work laptop for G’mic. That’s why it’s a " mac " Linux.

blah blah

But it’s a bit faster that my pseudo gaming tower. And i can G’mic anywhere.
But i’m tempted to get something else with more ram, but i fear it might be slower than the M1 chip. Maybe i’ll just try to switch kde to lxde or something else.

Well, a potato pc wouldn’t stop me from making crappy filters anyway. I’d just “unsafely reboot” more often :slight_smile:

Looks like something went wrong with rotate_tileable :

<gmic>./rotate_tileable/*foreach/ Enter scope '*foreach/'.
<gmic>./rotate_tileable/*foreach/ Item[41]: 'theta:=atan2($p,$q)' -> 'theta:=atan2(1,1)', selection [].
[gmic]./rotate_tileable/*foreach/ Set local variable 'theta:=atan2(1,1)'->'0.78539816339744828'.
<gmic>./rotate_tileable/*foreach/ Item[42]: 'gcd:=gcd(h*$q,w*$p)' -> 'gcd:=gcd(h*1,w*1)', selection [].
[gmic]./rotate_tileable/*foreach/ Set local variable 'gcd:=gcd(h*1,w*1)'->'32'.
<gmic>./rotate_tileable/*foreach/ Item[43]: 'pw:=h*$q/$gcd' -> 'pw:=h*1/32', selection [].
[gmic]./rotate_tileable/*foreach/ Set local variable 'pw:=h*1/32'->'16'.
<gmic>./rotate_tileable/*foreach/ Item[44]: 'nw:=round($pw*w/cos($theta))' -> 'nw:=round(16*w/cos(0.78539816339744828))', selection [].
[gmic]./rotate_tileable/*foreach/ Set local variable 'nw:=round(16*w/cos(0.78539816339744828))'->'18102'.
<gmic>./rotate_tileable/*foreach/ Item[45]: 'gcd!=gcd(h*$p,w*$q)' -> 'gcd!=gcd(h*1,w*1)', selection [].
<gmic>./rotate_tileable/*foreach/ Command 'input': arguments = 'gcd!=gcd(h*1,w*1)'.
[gmic]./rotate_tileable/*foreach/ Input file 'gcd!=gcd(h*1' at position 1
[gmic]./rotate_tileable/*foreach/ *** Error *** Command 'input': File 'gcd!=gcd(h*1', format does not take any input options (options 'w*1)' specified).
[gmic] *** Error in ./rotate_tileable/*foreach/ *** Command 'input': File 'gcd!=gcd(h*1', format does not take any input options (options 'w*1)' specified).

gcd!=gcd(h*$p,w*$q) << “!=” looks suspicious ?

Is there an issue with https://gmicol.greyc.fr/? I recall there being more, including the ability to choose a sample image. Could be something being blocked from my end. It has been a while since I visited, so perhaps I am misremembering.

image

  • 2024/03/12: Release of G’MIC 3.3.5.
2 Likes

Spurious gmic update error that is not reproducing. This gmic was built ~15 minutes ago, from the develop branch, commit: d56391e307de 2024-03-15 17:08:14.

FYI. Maybe no actions are needed. Details:

gosgood@bertha ~ $ gmic version

  gmic: GREYC's Magic for Image Computing: command-line interface
        Version 3.3.6 (pre-release #24031608)
        (https://gmic.eu)

        Copyright (c) Since 2008, David Tschumperlé / GREYC / CNRS.
        (https://www.greyc.fr)

gosgood@bertha ~ $ gmic update
[gmic]./ Start G'MIC interpreter (v.3.3.6).
[gmic]./ Update command definition file '/home/gosgood/.config/gmic/update336.gmic' from the G'MIC server.free(): double free detected in tcache 2
Aborted
gosgood@bertha ~ $ ls -l ~/.config/gmic
total 0

gosgood@bertha ~ $ gmic update
[gmic]./ Start G'MIC interpreter (v.3.3.6).
[gmic]./ Update command definition file '/home/gosgood/.config/gmic/update336.gmic' from the G'MIC server.
[gmic]./ End G'MIC interpreter.

gosgood@bertha ~ $ ls -l ~/.config/gmic
total 5764
-rw-r--r-- 1 gosgood gosgood 5899433 Mar 16 09:04 update336.gmic

gosgood@bertha ~ $ sha256sum ~/.config/gmic
sha256sum: /home/gosgood/.config/gmic: Is a directory
gosgood@bertha ~ $ sha256sum ~/.config/gmic/update336.gmic
bd3b4517dfda3a49523cd6c49fde9bc89b446289b6d91c60a0c5e2817f0c71db  /home/gosgood/.config/gmic/update336.gmic

No follow-on misbehavings with gmic. :thinking:

I’m interested by this @grosgood . A bug is a bug, whatever it can be reproduced easily or not :slight_smile:
Is it possible you compile with make valgrind and do $ valgrind gmic update to see what happens?
Alternately, make debug , then $ gmic update is another hope to make the bug appear !

1 Like

Yes, but not right now. In the midst of domestic chores. But a Sunday Morning After Breakfast debug session is in the offing. Let’s see if a decent stack trace can be had…

Stay tuned.

2 Likes

Haven’t broken gmic as I did early this AM. That remains the single failure. Have tried ten or so times now using a generic gmic and one built through the valgrind Makefile target. These have all been unexceptional; they fetched their respective update files and installed them in $HOME/.config/gmic.

The following is a canonical run. gmic is /usr/bin/gmic, a v. 3.2.4 that (I think) came from a generic gmic.eu debian binary install package some time ago. ./gmic (in the local build directory) was built with the valgrind Makefile target against commit d56391e307de. TLDR; Identical behavior. The warning, per StackOverflow, is not something that an end-user needs to care about: Warning: set address range perms:.

gosgood@Alice ~/gmic/src $ valgrind --leak-check=full gmic update
==2710== Memcheck, a memory error detector
==2710== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==2710== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==2710== Command: gmic update
==2710== 
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Update command definition file '/home/gosgood/.config/gmic/update324.gmic' from the G'MIC server.==2710== Warning: set address range perms: large range [0x25328040, 0x35328048) (undefined)
==2710== Warning: set address range perms: large range [0x25328028, 0x35328060) (noaccess)
==2710== Warning: set address range perms: large range [0x4785e040, 0x5785e048) (undefined)
==2710== Warning: set address range perms: large range [0x4785e028, 0x5785e060) (noaccess)

[gmic]-0./ End G'MIC interpreter.
==2710== 
==2710== HEAP SUMMARY:
==2710==     in use at exit: 122,304 bytes in 1,378 blocks
==2710==   total heap usage: 11,933,262 allocs, 11,931,884 frees, 2,281,102,963 bytes allocated
==2710== 
==2710== LEAK SUMMARY:
==2710==    definitely lost: 0 bytes in 0 blocks
==2710==    indirectly lost: 0 bytes in 0 blocks
==2710==      possibly lost: 0 bytes in 0 blocks
==2710==    still reachable: 122,304 bytes in 1,378 blocks
==2710==         suppressed: 0 bytes in 0 blocks
==2710== Reachable blocks (those to which a pointer was found) are not shown.
==2710== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==2710== 
==2710== For lists of detected and suppressed errors, rerun with: -s
==2710== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
gosgood@Alice ~/gmic/src $ valgrind --leak-check=full ./gmic update
==2713== Memcheck, a memory error detector
==2713== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==2713== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==2713== Command: ./gmic update
==2713== 
[gmic]./ Start G'MIC interpreter (v.3.3.6).
[gmic]./ Update command definition file '/home/gosgood/.config/gmic/update336.gmic' from the G'MIC server.==2713== Warning: set address range perms: large range [0x25bbd040, 0x35bbd048) (undefined)
==2713== Warning: set address range perms: large range [0x25bbd028, 0x35bbd060) (noaccess)
==2713== Warning: set address range perms: large range [0x59c8e040, 0x69c8e048) (undefined)
==2713== Warning: set address range perms: large range [0x59c8e028, 0x69c8e060) (noaccess)

[gmic]./ End G'MIC interpreter.
==2713== 
==2713== HEAP SUMMARY:
==2713==     in use at exit: 122,304 bytes in 1,378 blocks
==2713==   total heap usage: 12,704,383 allocs, 12,703,005 frees, 2,546,625,336 bytes allocated
==2713== 
==2713== LEAK SUMMARY:
==2713==    definitely lost: 0 bytes in 0 blocks
==2713==    indirectly lost: 0 bytes in 0 blocks
==2713==      possibly lost: 0 bytes in 0 blocks
==2713==    still reachable: 122,304 bytes in 1,378 blocks
==2713==         suppressed: 0 bytes in 0 blocks
==2713== Reachable blocks (those to which a pointer was found) are not shown.
==2713== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==2713== 
==2713== For lists of detected and suppressed errors, rerun with: -s
==2713== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

So, whistling a little tune… :kissing:

1 Like

Built against 49f7a42cb45f (develop branch) this AM.

gosgood@bertha ~ $ gmic update
[gmic]./ Start G'MIC interpreter (v.3.3.6).
[gmic]./ Update command definition file '/home/gosgood/.config/gmic/update336.gmic' from the G'MIC server.
[gmic]./ End G'MIC interpreter.

All is well. All is good. No further comment unless it happens again. Got documentation to do…

1 Like

Thanks Garry.
I’ve worked a bit on the interpreter source code this week-end, so maybe you found a “temporary” bug that was unfortunately pushed.
I think I’ll write a post about what I made. This has absolutely no interest except for people following the advances of the G’MIC interpreter, but I’m quite happy about how it turned out.

Nice feature of git is that every commit is a snapshot. Can always establish a local branch, anytime, at d56391e307de ( call the branch mysterybug), build a debug gmic from that snapshot, run it under gdb with do { up x "rm -f $HOME/.config/gmic/update*.gmic"} while 1 pipeline or some such, and let it run and run and run in an otherwise idle virtual. Maybe eventually gdb will catch the oh-so-occasional ABORT and dump a stack. Have to snapshot the prevailing CImg.h at mysterybug too. Maybe the next Sunday Morning After Breakfast.

been watching the diffs from time to time…

1 Like

I have this error with Warp Test

Will Gmic 3.3.6 be avaiable for Gimp 2.99 after the 3.3.6 released ?

  • 2024/05/14: Release of version 3.3.6.
4 Likes

2024/06/14: Release of G’MIC v.3.4.0. Time for vacations !

Need help for writting the news, see : Getting closer to version 3.4.0 - #13 by David_Tschumperle

1 Like

The new version of our “G’MIC Online” web service is now up and running! Hundreds of image processing filters ready to apply, directly from a web browser : https://gmicol.greyc.fr/

3 Likes