RSS/Atom feed Twitter
Site is read-only, email is disabled

Precision Conversion Dithering and Triangular wave gradient issues

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

Elle Stone
2014-09-02 15:54:36 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

Precision Conversion Dithering and Triangular wave gradient both fail:

1. The Precision Conversion Dithering doesn't seem to work at 32- and 64-bit precision, at least not on my computer (lower precisions work). If I say "yes, dither", one CPU runs at 100% forever, even with a very small image, accomplishing nothing at all. The only way to make it stop is to kill the GIMP process from the command line. The terminal output looks like this:

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'red-bits' of type 'gint'

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'green-bits' of type 'gint'

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'blue-bits' of type 'gint'

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'alpha-bits' of type 'gint'

2. The "Triangular wave" gradient repeat sometimes (not always) causes a segmentaton fault, perhaps related to trying to adjust an already drawn gradient before committing the gradient and also when drawing a second, new gradient after the first gradient is drawn:

/home/elle/code/gimpdefault/run/bin/gimp-2.9: fatal error: Segmentation fault
/home/elle/code/gimpdefault/run/bin/gimp-2.9 (pid:10351): [E]xit, [H]alt, show [S]tack trace or [P]roceed: p (script-fu:10356): LibGimpBase-WARNING **: script-fu: gimp_wire_read(): error

Michael Henning
2014-09-02 16:49:28 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

I tried playing around with the triangular wave gradients, and I can't make the second segfault happen. Do you think you could run gimp in gdb and generate a backtrace? Thanks.

-- drawoc

On Tue, Sep 2, 2014 at 11:54 AM, Elle Stone wrote:

Precision Conversion Dithering and Triangular wave gradient both fail:

1. The Precision Conversion Dithering doesn't seem to work at 32- and 64-bit precision, at least not on my computer (lower precisions work). If I say "yes, dither", one CPU runs at 100% forever, even with a very small image, accomplishing nothing at all. The only way to make it stop is to kill the GIMP process from the command line. The terminal output looks like this:

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'red-bits' of type 'gint'

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'green-bits' of type 'gint'

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'blue-bits' of type 'gint'

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'alpha-bits' of type 'gint'

2. The "Triangular wave" gradient repeat sometimes (not always) causes a segmentaton fault, perhaps related to trying to adjust an already drawn gradient before committing the gradient and also when drawing a second, new gradient after the first gradient is drawn:

/home/elle/code/gimpdefault/run/bin/gimp-2.9: fatal error: Segmentation fault
/home/elle/code/gimpdefault/run/bin/gimp-2.9 (pid:10351): [E]xit, [H]alt, show [S]tack trace or [P]roceed: p
(script-fu:10356): LibGimpBase-WARNING **: script-fu: gimp_wire_read(): error

_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

Elle Stone
2014-09-02 17:35:37 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

On 09/02/2014 12:49 PM, Michael Henning wrote:

I tried playing around with the triangular wave gradients, and I can't make the second segfault happen. Do you think you could run gimp in gdb and generate a backtrace? Thanks.

-- drawoc

Not sure if I did this right. I usually start GIMP using a script that specifies where all the libraries are, but gdb said the script wasn't a proper executable, so I just ran bin/gimp-2.9:

gdb gimp-2.9 GNU gdb (Gentoo 7.6.2 p1) 7.6.2
Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu". For bug reporting instructions, please see: ...
Reading symbols from /home/elle/code/gimpdefault/run/bin/gimp-2.9...done. (gdb) break fpc_raiseexception
Function "fpc_raiseexception" not defined. Make breakpoint pending on future shared library load? (y or [n]) n (gdb) run
Starting program: /home/elle/code/gimpdefault/run/bin/gimp-2.9 warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffeaea8700 (LWP 3186)] This is a development version of GIMP. Debug messages may appear here.

[New Thread 0x7fffc96d5700 (LWP 3188)] [New Thread 0x7fffc8ed4700 (LWP 3189)] [Thread 0x7fffc96d5700 (LWP 3188) exited] [New Thread 0x7fffc96d5700 (LWP 3197)] gradient_fill_region: gradient_fill_region took 0.1054 seconds gradient_fill_region: gradient_fill_region took 0.1032 seconds gradient_fill_region: gradient_fill_region took 0.1111 seconds gradient_fill_region: gradient_fill_region took 0.1057 seconds gradient_fill_region: gradient_fill_region took 3.9845 seconds

Program received signal SIGSEGV, Segmentation fault. 0x00000000004e7b7f in gimp_blend_tool_motion (tool=0x33f3370, coords=, time=, state=GDK_BUTTON1_MASK, display=0xe58180)
at gimpblendtool.c:450
450 if (GIMP_IS_CANVAS_LINE (blend_tool->line)) (gdb)

Simon Budig
2014-09-02 17:48:14 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

Elle Stone (ellestone@ninedegreesbelow.com) wrote:

Program received signal SIGSEGV, Segmentation fault. 0x00000000004e7b7f in gimp_blend_tool_motion (tool=0x33f3370, coords=, time=, state=GDK_BUTTON1_MASK, display=0xe58180)
at gimpblendtool.c:450
450 if (GIMP_IS_CANVAS_LINE (blend_tool->line)) (gdb)

At that point please enter "bt" (for backtrace) and post the result.

Also a "print blend_tool" and a "print blend_tool->line" would be helpful.

Thanks,
Simon

simon@budig.de              http://simon.budig.de/
Elle Stone
2014-09-02 18:22:28 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

On 09/02/2014 01:48 PM, Simon Budig wrote:

Elle Stone (ellestone@ninedegreesbelow.com) wrote:

Program received signal SIGSEGV, Segmentation fault. 0x00000000004e7b7f in gimp_blend_tool_motion (tool=0x33f3370, coords=, time=, state=GDK_BUTTON1_MASK, display=0xe58180)
at gimpblendtool.c:450
450 if (GIMP_IS_CANVAS_LINE (blend_tool->line)) (gdb)

At that point please enter "bt" (for backtrace) and post the result.

Typing "bt" is the same as typing "backtrace", yes? Once GIMP segfaults, I can't type anything into the terminal where gdb is running. Fortunately I can open a new tab (tabbed terminal) and close the whole window using "File/Close Window". Otherwise nothing much works correctly until gdb is shut down.

Also a "print blend_tool" and a "print blend_tool->line" would be helpful.

gdb said there wasn't such a thing available. Should I recompile GIMP using different options more suited for debugging? I'm not sure what those options would be, so a list would help.

Thanks,
Simon

Michael Henning
2014-09-02 23:00:29 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

I think I might have fixed the segfault. Could you pull and test again? Thanks.

-- drawoc

commit 36d719c9862892ec64383699e7778264f06dd4be Author: Michael Henning
Date: Tue Sep 2 18:49:41 2014 -0400

app: In GimpBlendTool, don't start the draw tool too early.

Also simplify some related logic and rename related functions to be clearer.

On Tue, Sep 2, 2014 at 2:22 PM, Elle Stone wrote:

On 09/02/2014 01:48 PM, Simon Budig wrote:

Elle Stone (ellestone@ninedegreesbelow.com) wrote:

Program received signal SIGSEGV, Segmentation fault. 0x00000000004e7b7f in gimp_blend_tool_motion (tool=0x33f3370, coords=, time=, state=GDK_BUTTON1_MASK, display=0xe58180)
at gimpblendtool.c:450
450 if (GIMP_IS_CANVAS_LINE (blend_tool->line)) (gdb)

At that point please enter "bt" (for backtrace) and post the result.

Typing "bt" is the same as typing "backtrace", yes? Once GIMP segfaults, I can't type anything into the terminal where gdb is running. Fortunately I can open a new tab (tabbed terminal) and close the whole window using "File/Close Window". Otherwise nothing much works correctly until gdb is shut down.

Also a "print blend_tool" and a "print blend_tool->line" would be helpful.

gdb said there wasn't such a thing available. Should I recompile GIMP using different options more suited for debugging? I'm not sure what those options would be, so a list would help.

Thanks,
Simon

_______________________________________________ gimp-developer-list mailing list
List address: gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list

Elle Stone
2014-09-03 10:19:59 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

On 09/02/2014 07:00 PM, Michael Henning wrote:

I think I might have fixed the segfault. Could you pull and test again? Thanks.

-- drawoc

commit 36d719c9862892ec64383699e7778264f06dd4be Author: Michael Henning
Date: Tue Sep 2 18:49:41 2014 -0400

app: In GimpBlendTool, don't start the draw tool too early.

Also simplify some related logic and rename related functions to be clearer.

That did fix the segfault. Thanks!

Elle Stone
2014-09-03 10:42:06 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

On 09/03/2014 06:19 AM, Elle Stone wrote:

On 09/02/2014 07:00 PM, Michael Henning wrote:

I think I might have fixed the segfault. Could you pull and test again? Thanks.

-- drawoc

commit 36d719c9862892ec64383699e7778264f06dd4be Author: Michael Henning
Date: Tue Sep 2 18:49:41 2014 -0400

app: In GimpBlendTool, don't start the draw tool too early.

Also simplify some related logic and rename related functions to be clearer.

That did fix the segfault. Thanks!

Sorry! Sent to the wrong list!

Michael Natterer
2014-09-03 23:56:45 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

On Tue, 2014-09-02 at 11:54 -0400, Elle Stone wrote:

Precision Conversion Dithering and Triangular wave gradient both fail:

1. The Precision Conversion Dithering doesn't seem to work at 32- and 64-bit precision, at least not on my computer (lower precisions work). If I say "yes, dither", one CPU runs at 100% forever, even with a very small image, accomplishing nothing at all. The only way to make it stop is to kill the GIMP process from the command line. The terminal output looks like this:

(gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'red-bits' of type 'gint'

Indeed, it seems the color-reduction GEGL op we use for dithering only handles up to 16 bit of precision. I think you should file a bug against the GEGL op so we can track the issue.

For the time being, I'll change the GIMP code not to run into that case by not allowing to choose dithering for > 16 bit.

Regards, --Mitch

Elle Stone
2014-09-06 18:24:14 UTC (over 9 years ago)

Precision Conversion Dithering and Triangular wave gradient issues

On 09/03/2014 07:56 PM, Michael Natterer wrote:

Indeed, it seems the color-reduction GEGL op we use for dithering only handles up to 16 bit of precision. I think you should file a bug against the GEGL op so we can track the issue.

https://bugzilla.gnome.org/show_bug.cgi?id=736199