[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep-corebase to be released next week
From: |
Sebastian Reitenbach |
Subject: |
Re: GNUstep-corebase to be released next week |
Date: |
Tue, 17 Jul 2012 19:35:28 +0200 |
User-agent: |
SOGoMail 1.3.16 |
On Tuesday, July 17, 2012 16:34 CEST, "Sebastian Reitenbach"
<sebastia@l00-bugdead-prods.de> wrote:
> Hi Stefan,
> On Tuesday, July 17, 2012 05:26 CEST, Stefan Bidi <stefanbidi@gmail.com>
> wrote:
>
> > All,
> > I've been quite busy over the last few weeks and just now got around
> > to tying all the loose ends for a release of -corebase. For those of
> > you unfamiliar with the project, GNUstep-corebase is a free
> > implementation of the CoreFoundation framework.
> >
> > I believe I have fixed all problems reported to me last time. I was
> > not able to reproduce everybody's specific issue so please run the
> > test suite one last time to check if your problem has, in fact, been
> > resolved.
> >
> > This version will be release as 0.1 and is to be considered an alpha
> > release. It requires GNUstep-make, -base and the ICU library. The
> > release will be licensed under the LGPL v3.
>
> I ran the test suite on OpenBSD 5.1 i386 and amd64, with objc from gcc 4.2.1.
> GNUstep base last release.
>
> when compiling on i386, I get this warning:
> cc CFStringFormat.c -c \
> -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1
> -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -pthread -pthread -fPIC -DDEBUG
> -fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -O2 -pipe -g
> -DBUILDING_SELF -DMAC_OS_X_VERSION_MAX_ALLOWED=100700
> -I/usr/local/include/ObjectiveC2 -I../Headers -I. -I/usr/local/include
> -I/corebase-0.1_writes_to_HOME/GNUstep/Library/Headers -I/usr/local/include \
> -o obj/libgnustep-corebase.obj/CFStringFormat.c.o
> CFStringFormat.c: In function '_CFStringAppendFormatAndArgumentsAux':
> CFStringFormat.c:1057: warning: comparison is always false due to limited
> range of data type
>
> other warnings ar only:
> warning: no newline at end of file
>
> one failed files, and one dashed hope.
>
> the backtrace from the failed file (which just segfaulted)
> (gdb) bt
> #0 0x0591d82d in kill () from /usr/lib/libc.so.62.0
> #1 0x0595e3f3 in __stack_smash_handler (func=0x26bf0b08
> "CFLocaleCopyCalendar", damaged=2124485768) at
> /usr/src/lib/libc/sys/stack_protector.c:89
> #2 0x06c0ac0d in CFLocaleCopyCalendar (loc=Variable "loc" is not available.
> ) at CFLocale.c:326
> #3 0x06c0ad22 in CFLocaleCopyKeyword (loc=0x83bd79a8, context=0x26bf004c) at
> CFLocale.c:341
> #4 0x06c0a97f in CFLocaleGetValue (locale=0x83bd79a8, key=0x26bf47e0) at
> CFLocale.c:743
> #5 0x1c00263d in gnustep_base_user_main () at values.m:36
> #6 0x02dd9b2e in main (argc=1, argv=0x0, env=0x0) at NSProcessInfo.m:989
> #7 0x1c001117 in ___start ()
> #8 0x1c001092 in _start ()
>
> here on amd64:
> (gdb) bt
> #0 0x00000002082e67aa in kill () from /usr/lib/libc.so.62.0
> #1 0x000000020832568d in __stack_smash_handler (func=0x207900880
> "CFLocaleCopyCalendar", damaged=Variable "damaged" is not available.
> ) at /usr/src/lib/libc/sys/stack_protector.c:89
> #2 0x00000002077e9f65 in CFLocaleCopyCalendar (loc=Variable "loc" is not
> available.
> ) at CFLocale.c:326
> #3 0x00000002077ea028 in CFLocaleCopyKeyword (loc=Variable "loc" is not
> available.
> ) at CFLocale.c:341
> #4 0x00000002077e9d0c in CFLocaleGetValue (locale=0x20900e550,
> key=0x207a060a0) at CFLocale.c:743
> #5 0x0000000000402b05 in gnustep_base_user_main () at values.m:36
> #6 0x0000000000401791 in ___start ()
> #7 0x0000000000000001 in ?? ()
> #8 0x00007f7ffffe0a18 in ?? ()
> #9 0x0000000000000000 in ?? ()
>
>
> It seems, something is overwriting the stack canary.
>
> icu4c-4.8.1.1 International Components for Unicode
The patch below fixes the problem for me, because a few lines later the
following happens, which I guess causes the problem:
cLocale = CFLocaleGetCStringIdentifier (loc, buffer, ULOC_FULLNAME_CAPACITY);
--- Source/CFLocale.c.orig Tue Jul 17 19:23:00 2012
+++ Source/CFLocale.c Tue Jul 17 19:30:40 2012
@@ -307,7 +307,7 @@ CFLocaleCopyCalendar (CFLocaleRef loc, const void *con
CFAllocatorRef allocator = CFGetAllocator (loc);
int len;
const char *cLocale;
- char buffer[ULOC_KEYWORDS_CAPACITY];
+ char buffer[ULOC_FULLNAME_CAPACITY];
char cal[ULOC_KEYWORDS_CAPACITY];
UErrorCode err = U_ZERO_ERROR;
cheers,
Sebastian
- GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/16
- Re: GNUstep-corebase to be released next week, Sebastian Reitenbach, 2012/07/17
- Re: GNUstep-corebase to be released next week,
Sebastian Reitenbach <=
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/17
- Re: GNUstep-corebase to be released next week, Sebastian Reitenbach, 2012/07/17
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/17
- Re: GNUstep-corebase to be released next week, Sebastian Reitenbach, 2012/07/17
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/17
- Re: GNUstep-corebase to be released next week, Gregory Casamento, 2012/07/17
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/17
- Re: GNUstep-corebase to be released next week, Gregory Casamento, 2012/07/18
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/18
- Re: GNUstep-corebase to be released next week, Gregory Casamento, 2012/07/18