Re: g_str_hash() problem
- From: Brandon Corey <brandon blackboxcentral com>
- To: Owen Taylor <otaylor redhat com>
- Cc: gtk-list gnome org
- Subject: Re: g_str_hash() problem
- Date: Tue, 26 Nov 2002 16:45:00 -0800
Brandon Corey <brandon blackboxcentral com> writes:
> I'm having a problem while running a program named pan. It uses the
> entire gtk kit, and crashes while trying to read a null pointer in
> g_str_hash().
>
> I'm running glib 2.0.6, atk 1.0.3, pango 1.0.4, and gtk 2.0.6. Here
> is the output from purify:
>
> **** Purify instrumented ./pan.pure (pid 17201) ****
> ZPR: Zero page read:
> * This is occurring while in thread 65536:
> g_str_hash [gstring.c:75]
> g_hash_table_lookup [ghash.c:192]
> pango_x_list_subfonts [pangox.c:1116]
> find_char [basic-x.c:254]
> basic_engine_get_coverage [basic-x.c:694]
> pango_x_face_get_coverage [pangox-fontmap.c:1535]
> pango_x_font_get_coverage [pangox.c:1371]
> pango_font_get_coverage [fonts.c:1043]
> pango_fontset_simple_get_font [pango-fontset.c:364]
> pango_fontset_get_font [pango-fontset.c:86]
> * Reading 1 byte from 0x1
>
> The actual call that causes the crash is:
> g_str_hash (gconstpointer key)
> {
> const char *p = key;
> guint h = *p;
>
> Where the above *p (key) is a NULL pointer.
> So it tries to read the value at the location of NULL pointer p.
>
> I looked at all of the functions mentioned, and it uses a lot of
> function pointers which purify can't handle.. If anyone could give me
> an idea of what's going on here, I'd definitely appreciate it.
> g_str_hash() obviously doesn't expect the key to be a null pointer
> (since it doesn't check for it)..
Things went wrong long before the call to g_str_hash() - probably
in find_char() call. This is almost certianly the same crash as:
http://bugzilla.gnome.org/show_bug.cgi?id=91658
My guess on the bug (at the bottom) is that it is some sort
of threading problem in Pan.
Well, after checking the bug link you provided.. I found out that people
were only getting the problem on other systems when they were using
--dynamic-export.. which on Linux, is not the default.. However, on
Solaris and Irix, the linker's equivalent form of --dynamic-export is set
by default.
After adding the equivalent to the linkline of the Makefile, everything
seems to work..
That being said, it seems like the problem is a symbol conflict between Pan
and one of the gtk libraries (most people from the bug report seem to think
Pango).
Brandon
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]