--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: gtk-engines-xenophilia: assertion failures in g_mem_chunk_alloc
- From: Marius Gedminas <mgedmin@codeworks.lt>
- Date: Tue, 12 Nov 2002 17:39:41 +0200
- Message-id: <20021112153941.GA29458@codeworks.lt>
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 ---
- To: 168798-done@bugs.debian.org
- Subject: xenophilia has been removed from Debian, closing #168798
- From: Marco Rodrigues <gothicx@sapo.pt>
- Date: Thu, 29 May 2008 14:50:16 +0100
- Message-id: <200805291350.m4TDoGw3010738@kmos.homeip.net>
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 ---