
On Fri, Aug 06, 2004 at 10:00:56AM -0700, Ted Gould wrote:
On Fri, 2004-08-06 at 04:38, Wolfram Quester wrote:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 11392)] 0x0000020000a3cba8 in g_type_is_a (type=540847136, iface_type=4835814432)
Hmmm, I'm guessing someone cast a pointer to an integer somewhere. This is the most common problem with programs not working on Alpha (remember 64-bit address and 32-bit ints). And judging that: 540847136 == 0x203CAC20 and the rest of the address in the backtrace have 0x00000001 in the upper four bytes...
I thought that there was a warning that was spit out when you compiled on Alpha? Wolfi, is it possible to get an Alpha build log?
The build-log of the debian package is available at http://buildd.debian.org/fetch.php?&pkg=inkscape&ver=0.39-1&arch... There are warnings like if alpha-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT interface.o -Molekular-Dynamik -MP -MF ".deps/interface.Tpo" \ -c -o interface.o `test -f 'interface.cpp' || echo './'`interface.cpp; \ then mv -f ".deps/interface.Tpo" ".deps/interface.Po"; \ else rm -f ".deps/interface.Tpo"; exit 1; \ fi interface.cpp: In function `void sp_ui_menu_key_press(GtkMenuItem*, GdkEventKey*, void*)': interface.cpp:323: warning: cast from pointer to integer of different size interface.cpp: In function `GtkWidget* sp_ui_menu_append_item_from_verb(GtkMenu*, int, SPView*)': interface.cpp:444: warning: cast to pointer from integer of different size
[...snip...]
if alpha-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT seltrans.o -Molekular-Dynamik -MP -MF ".deps/seltrans.Tpo" \ -c -o seltrans.o `test -f 'seltrans.cpp' || echo './'`seltrans.cpp; \ then mv -f ".deps/seltrans.Tpo" ".deps/seltrans.Po"; \ else rm -f ".deps/seltrans.Tpo"; exit 1; \ fi seltrans.cpp: In function `gboolean sp_sel_trans_handle_request(SPKnot*, NR::Point*, unsigned int, gboolean*)': seltrans.cpp:634: warning: cast from `gboolean*' to `const SPSelTransHandle*' increases required alignment of target type
[...snip...]
if alpha-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT sp-ellipse.o -Molekular-Dynamik -MP -MF ".deps/sp-ellipse.Tpo" \ -c -o sp-ellipse.o `test -f 'sp-ellipse.cpp' || echo './'`sp-ellipse.cpp; \ then mv -f ".deps/sp-ellipse.Tpo" ".deps/sp-ellipse.Po"; \ else rm -f ".deps/sp-ellipse.Tpo"; exit 1; \ fi sp-ellipse.cpp: In function `void sp_genericellipse_update(SPObject*, SPCtx*, unsigned int)': sp-ellipse.cpp:142: warning: cast from `SPCtx*' to `SPItemCtx*' increases required alignment of target type sp-ellipse.cpp:142: warning: cast from `SPCtx*' to `SPItemCtx*' increases required alignment of target type sp-ellipse.cpp:142: warning: cast from `SPCtx*' to `SPItemCtx*' increases required alignment of target type sp-ellipse.cpp:142: warning: cast from `SPCtx*' to `SPItemCtx*' increases required alignment of target type
and such. Another warning which is probaly unrelated to this problem is if alpha-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -Wall -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -MT spiral-context.o -Molekular-Dynamik -MP -MF ".deps/spiral-context.Tpo" \ -c -o spiral-context.o `test -f 'spiral-context.cpp' || echo './'`spiral-context.cpp; \ then mv -f ".deps/spiral-context.Tpo" ".deps/spiral-context.Po"; \ else rm -f ".deps/spiral-context.Tpo"; exit 1; \ fi spiral-context.cpp: In function `void sp_spiral_drag(SPSpiralContext*, NR::Point, unsigned int)': spiral-context.cpp:440: warning: `sp_view_set_status' is deprecated (declared at view.h:194)
It looks like we should get rid of this, too.
--Ted
With best regards and thanks for the help,
Wolfi