When copying a certain amount of pixels, or perhaps in an area without pixel depth precision (i.e. outside of a layer or picture's bounds), The GIMP will crash completely. The crash dialog didn't show enough information. Running GIMP from a terminal gave me error information, in Actual Results below. I am not sure how to share the file I am working on since it's a Work in Progress that's not meant to be published yet, and an XCF file which tends to be huge. Would screenshots be enough to illustrate? I can share some that have sensitive layers toggled invisible, and confirmed the bug still happens even with other layers invisible. The portion of the file I was copying was a layer with a body of black, containing noise-like pixels of transparency inside it, with the layer itself having an opacity of around 92%. The precise selection that I discovered it at is at 6,248, and it is 394x24 pixels in size. Reproducible: Always Steps to Reproduce: 1. Select a specific portion of my document 2. Attempt to copy its contents with Ctrl+C. 3. Crash I have recovered the image after a crash and altered the width I was selecting to try and isolate the bounds creating the issue. If I recover and attempt to copy the same region of the image, it will crash again. It stops happening when the width of the selection hits 384 pixels, suggesting that this happens only with certain buffer dimensions. Actual Results: After the crash, I see this output in the terminal: GIMP-Message: Some fonts failed to load: - /usr/share/gimp/2.0/fonts/ gimp: Gimp-Core-CRITICAL: gimp_temp_buf_new: assertion 'width > 0 && height > 0 && bpp > 0' failed gimp: fatal error: Segmentation fault (gimp-org-script-fu:22848): LibGimpBase-WARNING **: 16:48:21.580: gimp-org-script-fu: gimp_wire_read(): error --- This points to an issue somewhere in the buffer handling code (or outside-layer or outside-image stuff) where empty data is being fed to it when it shouldn't, or should be ignored or skipped during buffer fill. Expected Results: The pixel data should be stored in the clipboard and editing should continue. The only thing "custom" about this GIMP install is a set of pixel art brushes I made myself. It's running inside Fluxbox on standard Xorg. emerge --info: Portage 3.0.65 (python 3.12.3-final-0, default/linux/amd64/23.0, gcc-13, glibc-2.39-r6, 6.6.21-gentoo-x86_64 x86_64) ================================================================= System uname: Linux-6.6.21-gentoo-x86_64-x86_64-Intel-R-_Core-TM-_i7-10710U_CPU_@_1.10GHz-with-glibc2.39 KiB Mem: 16235936 total, 11948284 free KiB Swap: 16777212 total, 16777212 free Timestamp of repository gentoo: Tue, 06 Aug 2024 22:30:00 +0000 Head commit of repository gentoo: 0714ba7e3ab40f1ede2848a25541a0c91e3d19b6 Timestamp of repository steam-overlay: Tue, 06 Aug 2024 09:07:46 +0000 Head commit of repository steam-overlay: 9de7ade2f76ca6fc3b6238840bb94b01dda6ea04 sh bash 5.2_p26-r6 ld GNU ld (Gentoo 2.42 p3) 2.42.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p26-r6::gentoo dev-build/autoconf: 2.71-r7::gentoo dev-build/automake: 1.16.5-r2::gentoo dev-build/cmake: 3.28.5::gentoo dev-build/libtool: 2.4.7-r4::gentoo dev-build/make: 4.4.1-r1::gentoo dev-build/meson: 1.4.1::gentoo dev-lang/perl: 5.38.2-r3::gentoo dev-lang/python: 3.11.9-r1::gentoo, 3.12.3-r1::gentoo dev-lang/rust-bin: 1.79.0::gentoo sys-apps/baselayout: 2.15::gentoo sys-apps/openrc: 0.54.2::gentoo sys-apps/sandbox: 2.38::gentoo sys-devel/binutils: 2.42-r1::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/clang: 17.0.6::gentoo, 18.1.8::gentoo sys-devel/gcc: 13.3.1_p20240614::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/llvm: 17.0.6::gentoo, 18.1.8-r1::gentoo sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.39-r6::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: False sync-rsync-extra-opts: sync-rsync-verify-max-age: 3 sync-rsync-verify-jobs: 1 sync-rsync-verify-metamanifest: yes steam-overlay location: /var/db/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/steam-overlay.git masters: gentoo volatile: False zlg-overlay location: /home/zlg/me/projects/overlay masters: gentoo volatile: True Binary Repositories: gentoobinhost priority: 1 sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64 Installed sets: @base, @dev, @gaming, @hw_support, @main, @nonfree ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=skylake -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d" CXXFLAGS="-march=skylake -O2 -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-march=skylake -O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=skylake -O2 -pipe" GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo rsync://rsync.gtlib.gatech.edu/gentoo https://gentoo.osuosl.org/ http://gentoo.osuosl.org/ http://gentoo-mirror.flux.utah.edu/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j6 -l6" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="X acl alsa amd64 bzip2 cet crypt ffmpeg ffmpegthumbnailer flac gdbm iconv icu id3tag ipv6 jack jpeg libtirpc mp3 mpg123 multilib ncurses nls ogg openal opengl openmp pam pcre pdf png pulseaudio readline sdl seccomp ssl test-rust truetype unicode vim-syntax vorbis vulkan webp xattr xft xinerama xpm zlib" ABI_X86="64 32" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="coreboot pc" INPUT_DEVICES="synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_11 python3_12" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Created attachment 899488 [details] GIMP crash tool paste
I took the opportunity to build 2.10.38 (~amd64) and can confirm the problem is fixed with 2.10.38. I'll temporarily keyword it on my machine so I can continue doin' art. But, that also means the patch to fix it should be somewhere between 2.10.36 and 2.10.38. Not sure if Gentoo policy considers it worth backporting since 2.10.36 has already stabilized.
Yes, the was an issue in 2.10.36 that was fixed in 2.10.38 as reported in release notes about fixed bugs: ''' Two commonly reported crashes have now been corrected... Another crash that some users encountered when making very small selections was also fixed. ''' Actually there is no sence of backporting fix patch to 2.10.36 as 2.10.38 is already in portage tree and new patched revision of 2.10.36 will require to be stabilized too. The only current problem that 2.10.38 and 2.10.36-r2 arbitrary fail one of test. But I assume this issue could be stay opened until gimp 2.10.38 will be stabilized. Thank you for report!