Hello,
Long time between messages from me, sorry about that.
I have the autobuilder up and running on Ubuntu now and have been
able to compile the project I was working on. So far so good.
However, testing my program, it crashes when running some stuff in
glib. There were 2 quite different crashes I found, which both seem
to be the exact same problem:
Fatal signal received: Segmentation fault
Stack backtrace:
Running thread 0x3cf52c
( 7d7f38) pc: 34fbf4 lr: 350200 sp: 7d7f3c __write_backtrace()
( 7d7fa0) pc: 34fdac lr: 33afe4 sp: 7d7fa4 __unixlib_raise_signal()
( 7d7fb0) pc: 33aeec lr: 2e83a0 sp: 7d6e60 __h_cback()
Register dump at 007d7fb4:
a1: 0 a2: 1 a3: 0 a4: 55
v1: 3cdf47 v2: 1c1aa94 v3: 0 v4: 0
v5: e59ff400 v6: 7d6e78 sl: 7d6210 fp: 7d6e98
ip: ba4dbf sp: 7d6e60 lr: 2e83a0 pc: 80345fa4
Mode USR, flags set: Nzcvif
00345f90 : ..àc : 63e00000 : MVNVS R0,#0
00345f94 : .ð á : e1a0f00e : MOV PC,R14
00345f98 : __os : 736f5f5f : Undefined instruction
00345f9c : _vdu : 7564765f : STRVCB R7,[R4,#-1631]!
00345fa0 : .... : 00000000 : ANDEQ R0,R0,R0
00345fa4 : ...ÿ : ff00000c : SWINV OS_GBPB ; *** Use of NV
00345fa8 : ...ï : ef020000 : SWI XOS_WriteC
00345fac : .. s : 73a00000 : MOVVC R0,#0
00345fb0 : ..àc : 63e00000 : MVNVS R0,#0
( 7d6e98) pc: 2e8310 lr: 2bcca8 sp: 7d6e9c IA__g_get_charset()
( 7d6ec0) pc: 2bcbd0 lr: 2bf020 sp: 7d6ed4 IA__g_print()
( 7d6ef4) pc: 2befe8 lr: 2c1118 sp: 7d6ef8 ^print_help()
( 7d6f94) pc: 2c0e6c lr: ab40 sp: 7d6f98
IA__g_option_context_parse()
( 7d6fd8) pc: aae0 lr: ad9c sp: 7d6fdc ^vala_compiler_main()
( 7d6ff4) pc: ad7c lr: 34570c sp: 7d6ff8 main()
The line where it seems to fail is this one:
raw = _g_locale_charset_raw ();
(line 531 in glib/gutf8.c)
I put a debug message just before, which gets printed out. After
that, I put a debug message just displaying the result of this
function, but this then gives this this segfault. So it does not
appear to have anything to do with the value of the 'raw'-variable.
I also put a debug message as the very first statement in this
procedure, but that is apparantly never executed (which the
stacktrace seems to confirm).
After that I made my own little program that uses glib and runs
g_get_charset (I think the _g_locale_charset_raw is an internal
function which is not available outside of glib).
This is that program:
#include <glib.h>
#include <stdio.h>
int main()
{
const char *charset;
gboolean blah = g_get_charset (&charset);
printf("Charset: %s\n", charset);
}
However, this seems to work just fine?!
Can anyone shine some light on this?
Cheers,
Jan-Jaap
_______________________________________________
GCCSDK mailing list [email protected]
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK