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.
Precision Conversion Dithering and Triangular wave gradient issues | Elle Stone | 02 Sep 15:54 |
Precision Conversion Dithering and Triangular wave gradient issues | Michael Henning | 02 Sep 16:49 |
Precision Conversion Dithering and Triangular wave gradient issues | Elle Stone | 02 Sep 17:35 |
Precision Conversion Dithering and Triangular wave gradient issues | Simon Budig | 02 Sep 17:48 |
Precision Conversion Dithering and Triangular wave gradient issues | Elle Stone | 02 Sep 18:22 |
Precision Conversion Dithering and Triangular wave gradient issues | Michael Henning | 02 Sep 23:00 |
Precision Conversion Dithering and Triangular wave gradient issues | Elle Stone | 03 Sep 10:19 |
Precision Conversion Dithering and Triangular wave gradient issues | Elle Stone | 03 Sep 10:42 |
Precision Conversion Dithering and Triangular wave gradient issues | Michael Natterer | 03 Sep 23:56 |
Precision Conversion Dithering and Triangular wave gradient issues | Elle Stone | 06 Sep 18:24 |
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
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
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)
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/
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
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
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 -0400app: 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!
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 -0400app: 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!
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
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.