Hi,

thanks to Carlo letting me use his machine, I got this figured out. It
is indeed a problem in the C library (despite my failed attempt at a
minimal test case at first, which mislead me into thinking it was
not).

here is my minimal test case:

r...@powerpc:/tmp/libglib-perl-1.214# cat glog.c
#include <glib.h>

int main() {
    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, "%s", "o hai 
ther");
    g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, "%s", "whee log 
warning");
}

r...@powerpc:/tmp/libglib-perl-1.214# gcc `pkg-config --cflags --libs glib-2.0` 
glog.c
r...@powerpc:/tmp/libglib-perl-1.214# ./a.out

on my i386 machine:
$ ./a.out
** (process:6821): DEBUG: o hai ther
** INFO: o hai ther
** (process:6821): DEBUG: whee log warning
** INFO: whee log warning

everything works as is expected.

on the powerpc machine:
r...@powerpc:/tmp/libglib-perl-1.214# ./a.out
** (process:1659): DEBUG: o hai ther
** INFO:
** (process:1659): DEBUG: whee log warning
Segmentation fault
r...@powerpc:/tmp/libglib-perl-1.214# ./a.out
** (process:1660): DEBUG: o hai ther
** INFO:
** (process:1660): DEBUG: whee log warning
** INFO: L\xa3
r...@powerpc:/tmp/libglib-perl-1.214# ./a.out
** (process:1661): DEBUG: o hai ther
** INFO:
** (process:1661): DEBUG: whee log warning
Segmentation fault
r...@powerpc:/tmp/libglib-perl-1.214#

info is messed up. on longer messages, it causes segfaults sometimes.
also, this apparently only happens when using %s in the format
string. If I put a really long message for the message arguement, it
is displayed for info fine.
the tests in libglib-perl that detected this bug only fail on powerpc
and s930.
I have reproduced it with this test case on powerpc, but am assuming
that the same happens on s930.

Thanks,
Ryan

-- 
_________________________
Ryan Niebur
ryanrya...@gmail.com

Attachment: signature.asc
Description: Digital signature

Reply via email to