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

Bug#168798: marked as done (gtk-engines-xenophilia: assertion failures in g_mem_chunk_alloc)



Your message dated Thu, 29 May 2008 14:50:16 +0100
with message-id <200805291350.m4TDoGw3010738@kmos.homeip.net>
and subject line xenophilia has been removed from Debian, closing #168798
has caused the Debian Bug report #168798,
regarding gtk-engines-xenophilia: assertion failures in g_mem_chunk_alloc
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
168798: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=168798
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gtk-engines-xenophilia
Version: 0.8-1
Severity: normal
Tags: patch

When I select 3000_xeno as a Gtk theme, applications (at least GVIM) start
spewing following error message:

  GLib-CRITICAL **: file gmem.c: line 563 (g_mem_chunk_alloc): assertion `mem_chunk != NULL' failed.

This is caused by the call to g_mem_chunk_alloc from in
xeno_style_fill.c line 748 (function xeno_gradient_get) because
xeno_gradient_chunk == NULL.  The code tries to prevent this situation
in line 700 by allocating xeno_gradient_chunk, but it is destroyed (in
line 724 I think) and set to NULL before reaching line 748.

The reference counting of xeno_gradient_ref_count also seems fishy to me
-- it is incremented within an #if XENO_CONFIG_DIRTY_GRADIENTS, but the
decrement in xeno_gradient_destroy is not conditional.

The following patch removes the error messages, but I cannot vouch for
its correctness.

diff -ru xenophilia-0.8.old/gtk-src/xeno_style_fill.c xenophilia-0.8.new/gtk-src/xeno_style_fill.c
--- xenophilia-0.8.old/gtk-src/xeno_style_fill.c        Sat May  4 00:02:59 2002
+++ xenophilia-0.8.new/gtk-src/xeno_style_fill.c        Tue Nov 12 17:06:30 2002
@@ -697,8 +697,6 @@
                xeno_gradient_app_chunk = g_mem_chunk_create (XenoGradientApp, 32, G_ALLOC_AND_FREE);
        
   #endif
-       if (xeno_gradient_chunk == NULL)
-               xeno_gradient_chunk = g_mem_chunk_create (XenoGradient, 8, G_ALLOC_AND_FREE);
        
        /* Lookup gradient attached to widget */
   #if XENO_CONFIG_DIRTY_GRADIENTS
@@ -745,6 +743,9 @@
        }
        
        /* Create new gradient */
+       if (xeno_gradient_chunk == NULL) {
+               xeno_gradient_chunk = g_mem_chunk_create (XenoGradient, 8, G_ALLOC_AND_FREE);
+       }
        if ((gradient = g_mem_chunk_alloc (xeno_gradient_chunk)) == NULL) {
          #if !XENO_CONFIG_DIRTY_GRADIENTS
                g_mem_chunk_free (xeno_gradient_app_chunk, app);
@@ -769,10 +770,10 @@
        
   #if XENO_CONFIG_DIRTY_GRADIENTS
        gradient->ref_count = 0;
-       xeno_gradient_ref_count += 1;
   #else
        gradient->apps = NULL;
   #endif
+       xeno_gradient_ref_count += 1;
        
   attach:
        /* Attach gradient to widget */


-- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux zeta 2.4.19 #1 Fri Aug 30 13:15:28 EET 2002 i686
Locale: LANG=C, LC_CTYPE=lt_LT.ISO-8859-13

Versions of packages gtk-engines-xenophilia depends on:
ii  libc6                         2.3.1-3    GNU C Library: Shared libraries an
ii  libglib1.2                    1.2.10-4   The GLib library of C routines
ii  libgtk1.2                     1.2.10-11  The GIMP Toolkit set of widgets fo
ii  xlibs                         4.1.0-16   X Window System client libraries
ii  xutils                        4.1.0-16   X Window System utility programs

Marius Gedminas
-- 
Windows 98: Not Plug & Play, but Bug & Pay!


--- End Message ---
--- Begin Message ---
Version: 0.8-3+rm

The xenophilia package has been removed from Debian testing, unstable and
experimental, so I am now closing the bugs that were still opened
against it.

For more information about this package's removal, read
http://bugs.debian.org/352593 . That bug might give the reasons why
this package was removed, and suggestions of possible replacements.

Don't hesitate to reply to this mail if you have any question.

Thank you for your contribution to Debian.

--
Marco Rodrigues
http://Marco.Tondela.org


--- End Message ---

Reply to: