Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 523560

Summary: gnustep-base/gnustep-base-1.24.6-r1 - segmentation fault in GSFromUnicode at Unicode.m:1930
Product: Gentoo Linux Reporter: adr <adr>
Component: Current packagesAssignee: Gentoo Gnustep project <gnustep>
Status: RESOLVED TEST-REQUEST    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 408963    
Attachments: backtrace with CFLAGS="-march=pentium4 -O2 -fno-omit-frame-pointer -g -pipe"

Description adr 2014-09-23 20:52:34 UTC
The plmerge binary segfaults during emerge of GNUstep packages, with gnustep-base/gnustep-base-1.24.6-r1, sys-devel/clang-3.5.0-r100 and gnustep-base/libobjc2-1.7, when gnustep-base is built with -march=pentium4/native -O2.

This bug doesn't occur when -march=pentium4 -O1 or -march=i686 -O2 is used.

I noticed these plmerge segfaults earlier using clang-3.4.2-r100. Maybe a compiler bug?

Only in a few cases the plmerge segfaults cause the emerge process to die. Most of the time though, emerge finishes "successfully" and a core dump is dropped.
From the packages I use, these abort their emerge: gnustep-back-cairo-0.24.0, systempreferences-1.2.0, highlighterkit-0.1.3 and gworkspace-0.9.2. I can lookup the packages that continue despite plmerge segfaults, by comparing the time of the core dumps with /var/log/emerge.log, if that's useful info. :)

All core dumps look the same, so I'll attach one as an example. An example of the build.log etc. (including the error) can be seen here:
https://bugs.gentoo.org/show_bug.cgi?id=366795#c28
(...)
if [ -r "libgnustep-back-024Info.plist" ]; then \
  plmerge libgnustep-back-024.bundle/Resources/Info-gnustep.plist libgnustep-back-024Info.plist; \
fi
/bin/sh: line 2: 28626 Segmentation fault      plmerge libgnustep-back-024.bundle/Resources/Info-gnustep.plist libgnustep-back-024Info.plist
make[3]: *** [libgnustep-back-024.bundle/Resources/Info-gnustep.plist] Error 139
make[3]: *** Deleting file `libgnustep-back-024.bundle/Resources/Info-gnustep.plist'
make[2]: *** [libgnustep-back-024.all.bundle.variables] Error 2
make[1]: *** [internal-all] Error 2
make[1]: Leaving directory `/var/temp/portage/gnustep-base/gnustep-back-cairo-0.24.0/work/gnustep-back-0.24.0/Source'
make: *** [internal-all] Error 2
(...)

Some things worth to note in relation to "unicode":
- I have the C locale is set systemwide
- nl_NL@euro locale and GNUSTEP_STRING_ENCODING="NSISOLatin9StringEncoding" are set on the user level.
- /etc/locale.gen contains: en_US ISO-8859-1, en_US.UTF-8 UTF-8, nl_NL ISO-8859-1 and nl_NL@euro ISO-8859-15

Reproducible: Always
Comment 1 adr 2014-09-23 20:55:55 UTC
Created attachment 385358 [details]
backtrace with CFLAGS="-march=pentium4 -O2 -fno-omit-frame-pointer -g -pipe"
Comment 2 Bernard Cafarelli gentoo-dev 2021-01-02 16:18:48 UTC
Cleaning old bugreports, I think this has been fixed for some time with some newer components (probably clang).
Though if it still fails with current packages, don't hesitate to reopen