pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 'gegl' segfault breaks "gimp" build



On Wed, 23 Mar 2022, John D. Baker wrote:

> Same failure on netbsd-9/i386:

I see the same failure on amd64/9.99.96 w/pkgsrc-2022Q1:

[...]
Making all in Symbolic-High-Contrast
gmake[3]: Entering directory '/tmp/pkgsrc/graphics/gimp/work/gimp-2.10.30/icons/Symbolic-High-Contrast'
cd ../.. && /usr/pkg/bin/gmake  am--refresh
gmake[4]: Entering directory '/tmp/pkgsrc/graphics/gimp/work/gimp-2.10.30'
/bin/sh ./config.status --recheck
gmake[4]: Leaving directory '/tmp/pkgsrc/graphics/gimp/work/gimp-2.10.30'
mkdir -p `dirname 64/gimp-texture.png` && GEGL_USE_OPENCL=no GEGL_SWAP=ram /usr/pkg/bin/gegl ../../icons/Symbolic/64/gimp-texture.png -o 64/gimp-texture.png -- cast-format input-format="R'G'B'A float" output-format="RGBA float" brightness-contrast contrast=1.5 cast-format input-format="RGBA float" output-format="R'G'B'A float"
gmake[3]: *** [Makefile:2433: 64/gimp-texture.png] Segmentation fault (core dumped)
gmake[3]: Leaving directory '/tmp/pkgsrc/graphics/gimp/work/gimp-2.10.30/icons/Symbolic-High-Contrast'
gmake[2]: *** [Makefile:658: all-recursive] Error 1
gmake[2]: Leaving directory '/tmp/pkgsrc/graphics/gimp/work/gimp-2.10.30/icons'
gmake[1]: *** [Makefile:849: all-recursive] Error 1
gmake[1]: Leaving directory '/tmp/pkgsrc/graphics/gimp/work/gimp-2.10.30'
gmake: *** [Makefile:750: all] Error 2
*** Error code 2

Stop.
make[1]: stopped in /x/pkgsrc/graphics/gimp
*** Error code 1

Stop.
make: stopped in /x/pkgsrc/graphics/gimp


Rebuilding "graphics/{bab,geg}l" with debugging yields the same
backtrace as before:

[New process 2446]
[New process 17004]
[New process 10055]
[New process 13634]
[New process 2729]
Core was generated by `gegl'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  _mm_shuffle_epi32 (__mask=0, __A=...) at /usr/include/gcc-10/emmintrin.h:1434
1434	  return (__m128i)__builtin_ia32_pshufd ((__v4si)__A, __mask);
[Current thread is 1 (process 2446)]
#0  _mm_shuffle_epi32 (__mask=0, __A=...) at /usr/include/gcc-10/emmintrin.h:1434
#1  babl_matrix_mul_vectorff_buf4_sse2 (samples=32, v_out=0x7f7fff8360c8, v_in=0x7f7fff8360c8, mat=0x7024273f9030) at ../babl/base/babl-rgb-converter.c:245
#2  universal_nonlinear_rgb_u8_converter_sse2 (conversion=<optimized out>, src_char=0x702427696190 "\343\340\366[\252\326\372\\\240", dst_char=0x7024276960f0 "", samples=32, data=0x7024273f9030) at ../babl/base/babl-rgb-converter.c:318
#3  0x000070242800a92a in _babl_process (n=32, destination=0x702425c0a3c8 <pthread_mutex_unlock+202>, source=0x20, cbabl=<optimized out>) at ../babl/babl-fish-path.c:1323
#4  babl_process (babl=<optimized out>, source=source@entry=0x702427696190, destination=destination@entry=0x7024276960f0, n=n@entry=32) at ../babl/babl-fish-path.c:1333
#5  0x000070242800678c in babl_conversion_error (conversion=0x70242776d7b0) at ../babl/babl-conversion.c:504
#6  0x0000702428009303 in get_conversion_path (pc=pc@entry=0x7f7fff836870, current_format=current_format@entry=0x70242877ea30, current_length=current_length@entry=3, max_length=max_length@entry=3, legal_error=legal_error@entry=4.6999999999999999e-06) at ../babl/babl-fish-path.c:690
#7  0x00007024280092c2 in get_conversion_path (pc=pc@entry=0x7f7fff836870, current_format=current_format@entry=0x702428743530, current_length=current_length@entry=2, max_length=max_length@entry=3, legal_error=legal_error@entry=4.6999999999999999e-06) at ../babl/babl-fish-path.c:749
#8  0x00007024280092c2 in get_conversion_path (pc=pc@entry=0x7f7fff836870, current_format=current_format@entry=0x70242769a870, current_length=current_length@entry=1, max_length=max_length@entry=3, legal_error=legal_error@entry=4.6999999999999999e-06) at ../babl/babl-fish-path.c:749
#9  0x00007024280092c2 in get_conversion_path (pc=pc@entry=0x7f7fff836870, current_format=current_format@entry=0x702428729ff0, current_length=current_length@entry=0, max_length=3, legal_error=legal_error@entry=4.6999999999999999e-06) at ../babl/babl-fish-path.c:749
#10 0x000070242800a53c in babl_fish_path2 (source=source@entry=0x702428729ff0, destination=destination@entry=0x70242877ea30, tolerance=<optimized out>, tolerance@entry=0) at ../babl/babl-fish-path.c:1137
#11 0x000070242800a913 in babl_fish_path (source=source@entry=0x702428729ff0, destination=destination@entry=0x70242877ea30) at ../babl/babl-fish-path.c:1209
#12 0x000070242800f701 in babl_fish (source=<optimized out>, destination=destination@entry=0x70242877ea30) at ../babl/babl-fish.c:304
#13 0x000070242844223e in gegl_buffer_iterate_read_simple (buffer=buffer@entry=0x7024277751a0, roi=roi@entry=0x7f7fff836ee0, buf=buf@entry=0x7024017fe4d0 "", buf_stride=buf_stride@entry=1024, format=format@entry=0x70242877ea30, level=level@entry=0) at ../gegl/buffer/gegl-buffer-access.c:971
#14 0x0000702428443593 in gegl_buffer_iterate_read_dispatch (buffer=buffer@entry=0x7024277751a0, roi=roi@entry=0x7f7fff837020, buf=0x7024017fe4d0 "", rowstride=1024, rowstride@entry=0, format=0x70242877ea30, level=level@entry=0, repeat_mode=repeat_mode@entry=GEGL_ABYSS_NONE) at ../gegl/buffer/gegl-buffer-access.c:1864
#15 0x0000702428445690 in gegl_buffer_copy2 (src=src@entry=0x7024277751a0, repeat_mode=repeat_mode@entry=GEGL_ABYSS_NONE, dst=dst@entry=0x7024276a50d0, dst_rect=dst_rect@entry=0x7f7fff8370e0, src_rect=<optimized out>, src_rect=<optimized out>) at ../gegl/buffer/gegl-buffer-access.c:2374
#16 0x000070242844688f in gegl_buffer_copy (src=0x7024277751a0, src_rect=0x7f7fff8370d0, repeat_mode=GEGL_ABYSS_NONE, dst=0x7024276a50d0, dst_rect=0x7f7fff8370e0) at ../gegl/buffer/gegl-buffer-access.c:2646
#17 0x00007023f2e0563c in process (operation=<optimized out>, context=0x702427f628a0, output_prop=<optimized out>, roi=0x702427f628b0, level=<optimized out>) at ../operations/core/cast-format.c:89
#18 0x000070242847ce18 in gegl_operation_process (operation=0x702427be1990, context=0x702427f628a0, output_pad=<optimized out>, result=0x702427f628b0, level=0) at ../gegl/operation/gegl-operation.c:176
#19 0x000070242847eb87 in gegl_graph_process (path=0x702427f7e9c0, level=level@entry=0) at ../gegl/process/gegl-graph-traversal.c:486
#20 0x000070242847deae in gegl_eval_manager_apply (self=0x702427f63f00, roi=roi@entry=0x7f7fff837350, level=0) at ../gegl/process/gegl-eval-manager.c:128
#21 0x00007024284674f5 in gegl_node_blit_buffer (self=self@entry=0x7024287b6890, buffer=buffer@entry=0x702427775060, roi=roi@entry=0x702427bb85c0, level=level@entry=0, abyss_policy=abyss_policy@entry=GEGL_ABYSS_NONE) at ../gegl/graph/gegl-node.c:1139
#22 0x0000702428467c3d in gegl_node_blit (self=0x7024287b6890, scale=1, roi=0x702427bb85c0, format=0x70242877ea30, destination_buf=0x0, rowstride=1024, flags=<optimized out>) at ../gegl/graph/gegl-node.c:1215
#23 0x000070242847ff4c in render_rectangle (processor=0x702427be9ef0) at ../gegl/process/gegl-processor.c:513
#24 gegl_processor_render (progress=0x0, rectangle=0x702427be9f18, processor=0x702427be9ef0) at ../gegl/process/gegl-processor.c:647
#25 gegl_processor_work (processor=processor@entry=0x702427be9ef0, progress=progress@entry=0x0) at ../gegl/process/gegl-processor.c:781
#26 0x0000702428467702 in gegl_node_process (self=<optimized out>) at ../gegl/graph/gegl-node.c:1861
#27 0x00000000380047a9 in main (argc=<optimized out>, argv=<optimized out>) at ../bin/gegl.c:379


The fix for netbsd-9 checked the GCC version (7.x) but apparently GCC 10.x
has the same problem.

Removing the GCC version check in "graphics/babl/Makefile":

+Index: graphics/babl/Makefile
+===================================================================
+RCS file: /cvsroot/pkgsrc/graphics/babl/Makefile,v
+retrieving revision 1.45
+diff -u -p -r1.45 Makefile
+--- graphics/babl/Makefile      23 Mar 2022 22:27:34 -0000      1.45
++++ graphics/babl/Makefile      10 Apr 2022 00:16:17 -0000
+@@ -39,8 +39,7 @@ PLIST.x86_64=         yes
+ 
+ .include "../../mk/compiler.mk"
+ 
+-.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") && \
+-       !empty(CC_VERSION:Mgcc-7.*)
++.if (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64")
+ MESON_ARGS+=   -Denable-mmx=false
+ .endif

and rebuilding "graphics/babl" allows "graphics/gimp" to build.

-- 
|/"\ John D. Baker, KN5UKS               NetBSD     Darwin/MacOS X
|\ / jdbaker[snail]consolidated[flyspeck]net  OpenBSD            FreeBSD
| X  No HTML/proprietary data in email.   BSD just sits there and works!
|/ \ GPGkeyID:  D703 4A7E 479F 63F8 D3F4  BD99 9572 8F23 E4AD 1645


Home | Main Index | Thread Index | Old Index