Re: gtk+ on linux/ia64



On Thu, Jan 03, 2002 at 07:55:03PM -0500, Havoc Pennington wrote:
> Karl Koehler <koehler or uni-bonn de> writes:
> > - Has anybody else encountered this ?
> >   ( Is it worthwile to check out the cvs version or will there
> >   be no noticable difference ? )
> 
> A while ago, but it was theoretically patched before 1.3.12. I think a
> recent snapshot worked on Alpha, which would cover most 64-bit issues
> you'd expect on ia64, though it may not. The betas aren't tested in
> any rigorous way.

It seems to work on the alpha so we may be either encountering something
that's different on the architectures, different compiler behaviour, or
perhaps something that I have by some chance not seen.

> > - How do I go about debugging this ? The backtrace does not give me
> >   any clues to me:
> > #0  g_type_check_is_value_type (type=6917529027641348864) at gtype.c:263
> > #1  0x200000000098f3f0 in g_signal_newv (signal_name=0x0, 
> >     itype=6917529027641364432,  signal_flags=G_SIGNAL_RUN_FIRST, 
> >     class_closure=0x6000000000047ee0, accumulator=0, accu_data=0x0, 
> >     c_marshaller=0x2000000000e54af0, return_type=4, n_params=1, 
> >     param_types=0x6000000000047f30) at gsignal.c:1196
> > #2  0x2000000000990040 in g_signal_new_valist 
> >     (signal_name=0x20000000005d1038 "size_request", 
> >      itype=6917529027641364432, signal_flags=G_SIGNAL_RUN_FIRST,  
> >      class_closure=0x6000000000047ee0, accumulator=0, 
> >      accu_data=0x0, c_marshaller=0x2000000000e54af0, return_type=4, 
> >      n_params=1, args=0x80000fffffffb0b0) at gsignal.c:1322
> 
> 64 bit issues are really common when using varargs functions like
> g_signal_new(). Look at the call and see if you are getting a
> different number of bits going in than coming out.
> 
> Here is the call in question:
> 
>   widget_signals[SIZE_REQUEST] =
>     g_signal_new ("size_request",
>                    G_OBJECT_CLASS_TYPE (object_class),
>                    G_SIGNAL_RUN_FIRST,
>                    G_STRUCT_OFFSET (GtkWidgetClass, size_request),
>                    NULL, NULL,
>                    _gtk_marshal_VOID__BOXED,
>                    GTK_TYPE_NONE, 1,
>                    GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE);
> 
> So I wonder if "GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE"
> ends up with type "int" instead of "GType" as intended, though if so
> I'm surprised no one has noticed before now.

My alpha is not on right now, but GTK_TYPE_REQUISITION seems to be of type
GType.  Perhaps the compiler trims the whole thing because
G_SIGNAL_TYPE_STATIC_SCOPE is an int?  Or perhaps the or doesn't work as
expected.  Perhaps try casting both to (gsize) before oring them together and
see if that helps.  If not, the problem must be elsewhere.  I'll test how
this is coming out on the alpha after dinner.

> > - Where do I report it in http://bugzilla.gnome.org/ ? i.e. I believe it
> >   to be a glib or gtk+-bug, but which ( lesstif and tcl/tk work, so
> >   I believe the setup to be ok ) ?
> 
> Yes, bugzilla is the right place. However the GTK maintainers don't
> have easy access to 64-bit hardware, or non-Linux platforms, so for
> those kind of bugs it will speed response time immensely if you can
> figure out the problem.

I have 64 bit hardware so I can help out with these issues.  While it is not
ia64 (alphas are cooler:), issues should be similar.

George

-- 
George <jirka 5z com>
   Religion is what keeps the poor from murdering the rich.
                       -- Napoleon



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]