Bug 172453 - gok tries to free an invalid pointer on startup
Summary: gok tries to free an invalid pointer on startup
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gok
Version: 4
Hardware: i386
OS: Linux
medium
high
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-11-04 18:36 UTC by Tethys
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-11-22 04:23:45 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tethys 2005-11-04 18:36:15 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050923 Fedora/1.7.12-1.5.1

Description of problem:
leto:~% gok
*** glibc detected *** gok: free(): invalid pointer: 0x0809de71 ***
======= Backtrace: =========
/lib/libc.so.6[0x740124]
/lib/libc.so.6(__libc_free+0x77)[0x74065f]
/usr/lib/libglib-2.0.so.0(g_free+0x22)[0x12ac24]
gok(gok_data_read_settings+0x20c)[0x8062a26]
gok(gok_data_initialize+0xa1)[0x8062e07]
gok(gok_main_open+0x35c)[0x807dfae]
gok(main+0x67)[0x807ef06]
/lib/libc.so.6(__libc_start_main+0xdf)[0x6f1d5f]
gok[0x805ced1]
======= Memory map: ========
00101000-00185000 r-xp 00000000 fd:04 817481     /usr/lib/libglib-2.0.so.0.600.6
00185000-0018a000 rwxp 00084000 fd:04 817481     /usr/lib/libglib-2.0.so.0.600.6
0018c000-001bc000 r-xp 00000000 fd:04 817547     /usr/lib/libgconf-2.so.4.1.0
001bc000-001c1000 rwxp 0002f000 fd:04 817547     /usr/lib/libgconf-2.so.4.1.0
001c3000-0020f000 r-xp 00000000 fd:04 817552     /usr/lib/libbonobo-2.so.0.0.0
0020f000-00219000 rwxp 0004b000 fd:04 817552     /usr/lib/libbonobo-2.so.0.0.0
0021b000-00223000 r-xp 00000000 fd:00 29308      /lib/librt-2.3.5.so
00223000-00224000 r-xp 00007000 fd:00 29308      /lib/librt-2.3.5.so
00224000-00225000 rwxp 00008000 fd:00 29308      /lib/librt-2.3.5.so
00225000-0022f000 rwxp 00225000 00:00 0 
00283000-002a9000 r-xp 00000000 fd:04 817532     /usr/lib/libgnomecanvas-2.so.0.1000.0
002a9000-002ac000 rwxp 00025000 fd:04 817532     /usr/lib/libgnomecanvas-2.so.0.1000.0
002ae000-002c1000 r-xp 00000000 fd:04 818215     /usr/lib/libgnome-2.so.0.1000.0
002c1000-002c2000 rwxp 00013000 fd:04 818215     /usr/lib/libgnome-2.so.0.1000.0
0030c000-00314000 r-xp 00000000 fd:04 817564     /usr/lib/libgnome-keyring.so.0.0.1
00314000-00315000 rwxp 00007000 fd:04 817564     /usr/lib/libgnome-keyring.so.0.0.1
0035a000-0035e000 r-xp 00000000 fd:04 817538     /usr/lib/libgthread-2.0.so.0.600.6
0035e000-0035f000 rwxp 00003000 fd:04 817538     /usr/lib/libgthread-2.0.so.0.600.6
00361000-003ac000 r-xp 00000000 fd:04 817539     /usr/lib/libORBit-2.so.0.0.0
003ac000-003b9000 rwxp 0004a000 fd:04 817539     /usr/lib/libORBit-2.so.0.0.0
003bb000-003cc000 r-xp 00000000 fd:04 817551     /usr/lib/libbonobo-activation.so.4.0.0
003cc000-003cf000 rwxp 00010000 fd:04 817551     /usr/lib/libbonobo-activation.so.4.0.0
003d1000-003d5000 r-xp 00000000 fd:04 817548     /usr/lib/libORBitCosNaming-2.so.0.0.0
003d5000-003d6000 rwxp 00004000 fd:04 817548     /usr/lib/libORBitCosNaming-2.so.0.0.0
003d8000-003de000 r-xp 00000000 fd:04 817597     /usr/lib/libgailutil.so.17.0.2
003de000-003df000 rwxp 00006000 fd:04 817597     /usr/lib/libgailutil.so.17.0.2
003fa000-004f2000 r-xp 00000000 fd:00 29435      /lib/libcrypto.so.0.9.7f
004f2000-00504000 rwxp 000f8000 fd:00 29435      /lib/libcrypto.so.0.9.7f
00504000-00507000 rwxp 00504000 00:00 0 
00509000-00578000 r-xp 00000000 fd:04 818076     /usr/lib/libkrb5.so.3.2
00578000-0057b000 rwxp 0006e000 fd:04 818076     /usr/lib/libkrb5.so.3.2
0066a000-0069f000 r-xp 00000000 fd:00 29442      /lib/libssl.so.0.9.7f
0069f000-006a2000 rwxp 00035000 fd:00 29442      /lib/libssl.so.0.9.7f
006a4000-006b6000 r-xp 00000000 fd:00 29423      /lib/libnsl-2.3.5.so
006b6000-006b7000 r-xp 00011000 fd:00 29423      /lib/libnsl-2.3.5.so
006b7000-006b8000 rwxp 00012000 fd:00 29423      /lib/libnsl-2.3.5.so
006b8000-006ba000 rwxp 006b8000 00:00 0 
006bf000-006d9000 r-xp 00000000 fd:00 29284      /lib/ld-2.3.5.so
006d9000-006da000 r-xp 00019000 fd:00 29284      /lib/ld-2.3.5.so
006da000-006db000 rwxp 0001a000 fd:00 29284      /lib/ld-2.3.5.so
006dd000-00800000 r-xp 00000000 fd:00 29349      /lib/libc-2.3.5.so
00800000-00802000 r-xp 00123000 fd:00 29349      /lib/libc-2.3.5.so
00802000-00804000 rwxp 00125000 fd:00 29349      /lib/libc-2.3.5.so
00804000-00806000 rwxp 00804000 00:00 0 
00808000-0082b000 r-xp 00000000 fd:00 29377      /lib/libm-2.3.5.so
0082b000-0082c000 r-xp 00022000 fd:00 29377      /lib/libm-2.3.5.so
0082c000-0082d000 rwxp 00023000 fd:00 29377      /lib/libm-2.3.5.so
0082f000-00831000 r-xp 00000000 fd:00 29394      /lib/libdl-2.3.5.so
00831000-00832000 r-xp 00001000 fd:00 29394      /lib/libdl-2.3.5.so
00832000-00833000 rwxp 00002000 fd:00 29394      /lib/libdl-2.3.5.so
00835000-00847000 r-xp 00000000 fd:04 817928     /usr/lib/libz.so.1.2.2.2
00847000-00848000 rwxp 00011000 fd:04 817928     /usr/lib/libz.so.1.2.2.2
0084a000-0091a000 r-xp 00000000 fd:04 261007     /usr/X11R6/lib/libX11.so.6.2
0091a000-0091e000 rwxp 000cf000 fd:04 261007     /usr/X11R6/lib/libX11.so.6.2
0092b000-00930000 r-xp 00000000 fd:04 818245     /usr/lib/libpangoxft-1.0.so.0.800.1
0093000Aborted


Version-Release number of selected component (if applicable):
gok-1.0.3-1

How reproducible:
Always

Steps to Reproduce:
1. Type "gok" at a shell prompt
2.
3.
  

Actual Results:  No attempt to do anything. Just an immediate failure with the error message shown.

Additional info:

System is completely up to date as of today (2005.11.04)

Comment 1 Matthias Clasen 2005-11-08 13:21:15 UTC
Can you still reproduce this crash ?

If yes, can you please install

http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/debug/gok-debuginfo-1.0.3-1.i386.rpm

to get a more detailed stacktrace ?

Comment 2 Matthias Clasen 2005-11-08 13:34:57 UTC
It would also be helpful if you could provide the output of 

 gconftool-2 --dump /apps/gok


Comment 3 Tethys 2005-11-08 14:04:43 UTC
It no longer produces the backtrace when run normally, just segfaulting
immediately. Run uder gdb:

leto:~% gdb gok
GNU gdb Red Hat Linux (6.3.0.0-1.84rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db lib
rary "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/gok 
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xb7f42000
[Thread debugging using libthread_db enabled]
[New Thread -1208850752 (LWP 32061)]
Detaching after fork from child process 32064.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208850752 (LWP 32061)]
0x080629e9 in gok_data_read_settings () at gok-data.c:138
138             if (!strcmp (string, "top")) {
(gdb) bt
#0  0x080629e9 in gok_data_read_settings () at gok-data.c:138
#1  0x08062e07 in gok_data_initialize () at gok-data.c:119
#2  0x0807dfae in gok_main_open (argc=1, argv=0xbfe3fce4) at main.c:626
#3  0x0807ef06 in main (argc=116, argv=0x74) at main.c:450


leto:~% gconftool-2 --dump /apps/gok
<gconfentryfile>
  <entrylist base="/apps/gok">
    <entry>
      <key>access_method_settings/workaround</key>
      <value>
        <string>GConf seems to have problems accessing directories who do not ha
ve any siblings who are keys.  This key exists to ensure that the subdirectories
 in this directory do have a sibling who is a key - this key.</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/cycles</key>
      <value>
        <int>3</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/feedbackmovement</key>
      <value>
        <string></string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/feedbackselection</key>
      <value>
        <string>key_flashing</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/movehighlighter</key>
      <value>
        <string>switch1</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/repeatrate</key>
      <value>
        <int>30</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/scanspeed</key>
      <value>
        <int>100</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/select</key>
      <value>
        <string>switch3</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/automaticscanning/wrap</key>
      <value>
        <int>1</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/directselection/feedbackmovement</key>
      <value>
        <string></string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/directselection/feedbackselection</key>
      <value>
        <string>key_flashing</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/directselection/keyenter</key>
      <value>
        <string>mousepointer</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/directselection/keyleave</key>
      <value>
        <string>mousepointer</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/directselection/outputselected</key>
      <value>
        <string>mousebutton1</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/directselection/repeatrate</key>
      <value>
        <int>30</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/dwellselection/feedbackmovement</key>
      <value>
        <string></string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/dwellselection/feedbackselection</key>
      <value>
        <string>key_flashing</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/dwellselection/keyenter</key>
      <value>
        <string>mousepointer</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/dwellselection/keyleave</key>
      <value>
        <string>mousepointer</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/dwellselection/outputselected</key>
      <value>
        <string>dwell</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/dwellselection/repeatrate</key>
      <value>
        <int>30</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/cycles</key>
      <value>
        <int>3</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/feedbackmovement</key>
      <value>
        <string></string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/feedbackselection</key>
      <value>
        <string>key_flashing</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/movehighlighter</key>
      <value>
        <string>switch1</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/repeatrate</key>
      <value>
        <int>30</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/scanspeed</key>
      <value>
        <int>100</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/select</key>
      <value>
        <string>switch3</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/inversescanning/wrap</key>
      <value>
        <int>1</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/cycles</key>
      <value>
        <int>3</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/feedbackmovement</key>
      <value>
        <string></string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/feedbackselection</key>
      <value>
        <string>key_flashing</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/movehighlighter</key>
      <value>
        <string>switch1</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/repeatrate</key>
      <value>
        <int>30</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/scanspeed</key>
      <value>
        <int>100</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/select</key>
      <value>
        <string>switch3</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyautoscanning/wrap</key>
      <value>
        <int>1</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/cycles</key>
      <value>
        <int>3</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/feedbackmovement</key>
      <value>
        <string></string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/feedbackselection</key>
      <value>
        <string>key_flashing</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/movehighlighter</key>
      <value>
        <string>switch1</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/repeatrate</key>
      <value>
        <int>30</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/scanspeed</key>
      <value>
        <int>100</int>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/select</key>
      <value>
        <string>switch3</string>
      </value>
    </entry>
    <entry>
      <key>access_method_settings/keyinversescanning/wrap</key>
      <value>
        <int>1</int>
      </value>
    </entry>
    <entry>
      <key>layout/keyboard_x</key>
      <value>
        <int>691</int>
      </value>
    </entry>
    <entry>
      <key>layout/keyboard_y</key>
      <value>
        <int>339</int>
      </value>
    </entry>
  </entrylist>
</gconfentryfile>


Comment 4 Matthias Clasen 2005-11-22 04:23:45 UTC
Should be fixed in gok-1.0.5-6.

Bug filed upstream as http://bugzilla.gnome.org/show_bug.cgi?id=322094


Note You need to log in before you can comment on or make changes to this bug.