Re: Strange glibc detected invalid pointer with gtk_entry
- From: zz excite it
- To: gtk-app-devel-list gnome org
- Subject: Re: Strange glibc detected invalid pointer with gtk_entry
- Date: Tue, 5 Jul 2011 15:05:20 +0200
On Tuesday 05 July 2011 14:24:48 Herbert Gasiorowski wrote:
I have an issue with nearly all gtk+ programs: since about one week the programs
crash at startup with some fault like this:
*** glibc detected *** ./gtk-tab2: munmap_chunk(): invalid pointer:
0x0000000001aa8eb0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x365a47703a]
/lib64/libglib-2.0.so.0(g_free+0x23)[0x365c449743]
But if I start the program via ssh it runs as expected:
ssh -X $HOSTNAME myprogram
AND if I link without -lmcheck it is ok too ...
I deleted all code which did not affect this issue:
It is not much more than another Hello World example but using gtk_entry to
display the text (#if 1):
Fedora 15 and gtk3-3.0.11-1.fc15.x86_64
(gtk2 will fail too)
Can someone tell me what I should do next?
==================================================================================
/* test with
* gcc -Wall -g -o gtk-tab gtk-tab.c -lmcheck `pkg-config --cflags --libs
gtk+-3.0` && ./gtk-tab
*/
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#define SUMMARY "gtk test"
#define TRACE(l,fmt,args...) fprintf(stderr,"#%03d#%9.9s:%3d# "
fmt"\n",l,__FILE__,__LINE__,##args)
int main( int argc, char **argv ) {
GtkWidget *window;
GtkWidget *value;
TRACE(9,"gtk init");
gtk_init (&argc, &argv);
TRACE(12,"gtk create a new window");
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), SUMMARY);
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
TRACE(12,"Create the text");
#if 1
value = gtk_entry_new();
gtk_entry_set_text( GTK_ENTRY(value), "test 123" );
#else
value = gtk_label_new("test 123");
#endif
gtk_container_add (GTK_CONTAINER (window), value);
TRACE(12,"gtk show all");
gtk_widget_show_all (window);
TRACE(11,"gtk loop: start");
gtk_main ();
TRACE(11,"gtk loop: done");
return 0;
}
==================================================================================
I in the past used this function this insert text in entry widgets, don't know if it helps in your case:
void my_gtk_entry_set_text(GtkEntry *entry, char *data)
{
char *tmp;
if (!data) data = "";
if (g_utf8_validate(data, -1, NULL) != TRUE) {
tmp = g_locale_to_utf8(data, -1, NULL, NULL, NULL);
gtk_entry_set_text(entry, tmp);
xfree(&tmp);
} else {
gtk_entry_set_text(entry, data);
}
}
Hope this helps.
ZZ
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]