Am Samstag, den 25.10.2014, 11:40 +0200 schrieb Joël Krähemann:
> Am Samstag, den 25.10.2014, 11:07 +0200 schrieb Joël Krähemann:
> > Am Freitag, den 24.10.2014, 23:16 +0200 schrieb Marcus Karlsson:
> > > On Fri, Oct 24, 2014 at 04:02:01PM +0200, Joël Krähemann wrote:
> > > > Hi
> > > 
> > > Hi.
> > > 
> > > > Gtk+-2.0 leaks memory, please take a look at: http://ags.sourceforge.net
> > > > 
> > > > Is Gtk+-2.0 still maintained?
> > > 
> > > Yes it is. The latest point release happened just two weeks ago.
> > > 
> > > > Or is migrating to Gtk+-3.0 the only choice? Or may someone could
> > > > explain me what's wrong about:
> > > > 
> > > > AgsAudioLoop *audio_loop;
> > > > AgsGuiThread *gui_thread;
> > > > 
> > > > auto void ags_gui_thread_do_gtk_iteration();
> > > > 
> > > > void ags_gui_thread_do_gtk_iteration(){
> > > >   if(!g_main_context_acquire(main_context)){
> > > >     gboolean got_ownership = FALSE;
> > > > 
> > > >     while(!got_ownership){
> > > >       got_ownership = g_main_context_wait(main_context,
> > > >                                           &(gui_thread->cond),
> > > >                                           &(gui_thread->mutex));
> > > >     }
> > > >   }
> > > > 
> > > >   /*  */
> > > >   gdk_threads_enter();
> > > >   gdk_threads_leave();
> > > > 
> > > >   g_main_context_iteration(main_context, FALSE);
> > > >   g_main_context_release(main_context);
> > > > }
> > > > 
> > > > gui_thread = AGS_GUI_THREAD(thread);
> > > > 
> > > > /*  */
> > > > main_context = g_main_context_default();
> > > > 
> > > > ags_gui_thread_do_gtk_iteration();
> > > 
> > > Can you explain what the problem is and why you think that GTK+ leaks
> > > memory? It's not apparent from the code snippet alone what you're having
> > > problem with.
> > > 
> > >           Marcus
> > 
> > Hi, the problematic part of my application is probably there's no
> > GMainLoop ...
> > How ever recent subversion tree uses GMainLoop and AgsGuiThread has a
> > GThread. 
> > 
> > But I get the following errors:
> > 
> > Gdk:ERROR:/tmp/buildd/gtk
> > +2.0-2.24.10/gdk/gdkregion-generic.c:1306:miSubtractNonO1: assertion
> > failed: (y1<y2)
> > 
> > or
> > 
> > Gdk:ERROR:/tmp/buildd/gtk
> > +2.0-2.24.10/gdk/gdkregion-generic.c:1189:miUnionO: assertion failed:
> > (pNextRect[-1].x1<pNextRect[-1].x2)
> > 
> > or something like:
> > 
> > *** glibc detected *** ./ags: invalid fastbin entry (free):
> > 0x0000000002872350 ***
> > ======= Backtrace: =========
> > /lib/x86_64-linux-gnu/libc.so.6(+0x76a16)[0x7f230b3e5a16]
> > /lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7f230b3ea7bc]
> > /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(gdk_region_destroy
> > +0x1b)[0x7f230cfdac5b]
> > /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x3f9b8)[0x7f230cfe49b8]
> > /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x3fc83)[0x7f230cfe4c83]
> > /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0xccf99)[0x7f230d324f99]
> > /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0(+0x20327)[0x7f230cfc5327]
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch
> > +0x135)[0x7f230e408355]
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a688)[0x7f230e408688]
> > /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run
> > +0x72)[0x7f230e408a82]
> > /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x118db)[0x7f230e92e8db]
> > /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist
> > +0x6f6)[0x7f230e947006]
> > /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit
> > +0x82)[0x7f230e947852]
> > ./ags(ags_thread_start+0x86)[0x4dfac6]
> > /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x119a7)[0x7f230e92e9a7]
> > /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist
> > +0x6f6)[0x7f230e947006]
> > /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit
> > +0x82)[0x7f230e947852]
> > ./ags(ags_thread_start+0x86)[0x4dfac6]
> > ./ags(main+0x396)[0x44ea56]
> > /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f230b38dead]
> > ./ags[0x44eca9]
> > 
> > 
> > regards
> > Joël
> > 
> > 
> 
> Someone implementing g_main_context_get_owner() would be great.
> 

No need for it ...

I'm just freeing stack pointer of AgsReturnableThread further there was
a leak while calculating ags-peak. For now all was fixed but you may
experience GNU/Linux hanging up.




_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to