[Gtk-sharp-list] Debugging binding issues (managed-unmanaged interface problems)

Peter Johanson latexer@gentoo.org
Sat, 15 May 2004 12:06:21 -0400


--a2FkP9tdjPU2nyhF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hey all,

I've been trying for the past 24 hours to get at this bug involving a
glib signal, and have had no luck actually managing to get anything even
close to a backtrace so i can see what's going on. Here's the deal:

I've come across what is probably the biggest showstopper with Gst# at
this point, which is a problem with the "eos" signal sent out when the
end of a stream is reached. Here's the last bit after doing "mono --debug
--trace test-gst-backend.exe ~/foo.ogg:

=2E . . LEAVE: Gst.Element:SetState (Gst.ElementState)result=3D1
=2E . LEAVE: GstBackend:Play ()
=2E . ENTER: (wrapper native-to-managed)
GstSharp.voidObjectSignal:voidObjectCallback (intptr,int)(0x8196e08, 0,
)
Segmentation fault

The segfault happens when the end of the song is reached, I've tried
inserting WriteLines at the earliest point possible in the signal
handling for end of stream, and it never gets there. This leads me to
think that something at the managed-unmanaged interface level is screwy.
I've tried my best at using gdb on mono, then setting the args, etc. But
never get anywhere. Trying to just run it after setting the args yields
this:

<snip>
peter@gonzo src $ gdb /usr/bin/mono
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i486-pc-linux-gnu"...(no debugging symbols
found)...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r --debug test-gst-backend.exe
~/audio/emoish/modest_mouse/modest_mouse-01-horn_intro.ogg=20
Starting program: /usr/bin/mono --debug test-gst-backend.exe
~/audio/emoish/modest_mouse/modest_mouse-01-horn_intro.ogg
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...Detaching
after fork from child process 3212.

Program terminated with signal SIGTRAP, Trace/breakpoint trap.
The program no longer exists.
(gdb)=20
</snip>

Trying to do a backtrace on all the threads yields nothing. nada.

So... how do i actually get some meaningful info so i can even start to
try to debug this? Any suggestions are welcome.

-pete

PS - the system is using glibc-2.3.2 with NPTL enabled on a 2.6 kernel.
Everything is beta1 release stuff except the gst-sharp from CVS
(obviously).

--=20
Peter Johanson
<latexer@gentoo.org>

Key ID =3D 0x6EFA3917
Key fingerprint =3D A90A 2518 57B1 9D20 9B71  A2FF 8649 439B 6EFA 3917

--a2FkP9tdjPU2nyhF
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFApj/9hklDm276ORcRAkUSAJ0TgQWdxUqGPLjwQ+WgCIjSK97xOgCgxxJZ
RCuBJrKcL/ImKWgQX/OArEg=
=KRTT
-----END PGP SIGNATURE-----

--a2FkP9tdjPU2nyhF--