Bug 480742

Summary: Wish segfault with gitk
Product: [Fedora] Fedora Reporter: Ralph Loader <suckfish>
Component: tkAssignee: Marcela Mašláňová <mmaslano>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: hdegoede, mfabian, mmaslano, valdis.kletnieks, vinagr3
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-23 15:15:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 492202    

Description Ralph Loader 2009-01-20 08:44:52 UTC
Running gitk segfaults.  Seems to be independent of git data and command line.

==12781== Memcheck, a memory error detector.
==12781== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==12781== Using LibVEX rev 1804, a library for dynamic binary translation.
==12781== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==12781== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==12781== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==12781== For more details, rerun with: -v
==12781== 
==12781== Invalid read of size 8
==12781==    at 0x3311052226: XGetICValues (ICWrap.c:292)
==12781==    by 0x3311C44188: Tk_HandleEvent (tkEvent.c:365)
==12781==    by 0x3311C60125: TkDoConfigureNotify (tkWindow.c:2216)
==12781==    by 0x3311CFA6AF: TkUnixSetMenubar (tkUnixWm.c:6884)
==12781==    by 0x3311C71899: TkSetWindowMenuBar (tkMenu.c:3228)
==12781==    by 0x3311C6A14B: ConfigureFrame (tkFrame.c:951)
==12781==    by 0x3311C6A4AB: FrameWidgetObjCmd (tkFrame.c:798)
==12781==    by 0x3310C2FDCA: TclEvalObjvInternal (tclBasic.c:3690)
==12781==    by 0x3310C78855: TclExecuteByteCode (tclExecute.c:2340)
==12781==    by 0x3310CBA385: TclObjInterpProcCore (tclProc.c:1748)
==12781==    by 0x3310C2FDCA: TclEvalObjvInternal (tclBasic.c:3690)
==12781==    by 0x3310C30813: TclEvalEx (tclBasic.c:4338)
==12781==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
==12781== 
==12781== Process terminating with default action of signal 11 (SIGSEGV)
==12781==  Access not within mapped region at address 0x8
==12781==    at 0x3311052226: XGetICValues (ICWrap.c:292)
==12781==    by 0x3311C44188: Tk_HandleEvent (tkEvent.c:365)
==12781==    by 0x3311C60125: TkDoConfigureNotify (tkWindow.c:2216)
==12781==    by 0x3311CFA6AF: TkUnixSetMenubar (tkUnixWm.c:6884)
==12781==    by 0x3311C71899: TkSetWindowMenuBar (tkMenu.c:3228)
==12781==    by 0x3311C6A14B: ConfigureFrame (tkFrame.c:951)
==12781==    by 0x3311C6A4AB: FrameWidgetObjCmd (tkFrame.c:798)
==12781==    by 0x3310C2FDCA: TclEvalObjvInternal (tclBasic.c:3690)
==12781==    by 0x3310C78855: TclExecuteByteCode (tclExecute.c:2340)
==12781==    by 0x3310CBA385: TclObjInterpProcCore (tclProc.c:1748)
==12781==    by 0x3310C2FDCA: TclEvalObjvInternal (tclBasic.c:3690)
==12781==    by 0x3310C30813: TclEvalEx (tclBasic.c:4338)
==12781== 
==12781== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 1)
==12781== malloc/free: in use at exit: 2,890,427 bytes in 24,151 blocks.
==12781== malloc/free: 92,394 allocs, 68,243 frees, 12,886,543 bytes allocated.
==12781== For counts of detected errors, rerun with: -v
==12781== searching for pointers to 24,151 not-freed blocks.
==12781== checked 2,556,632 bytes.
==12781== 
==12781== LEAK SUMMARY:
==12781==    definitely lost: 13,985 bytes in 195 blocks.
==12781==      possibly lost: 0 bytes in 0 blocks.
==12781==    still reachable: 2,876,442 bytes in 23,956 blocks.
==12781==         suppressed: 0 bytes in 0 blocks.
==12781== Rerun with --leak-check=full to see details of leaked memory.
Segmentation fault

$ rpm -q gitk tk tcl libX11
gitk-1.6.1-2.fc11.x86_64
tk-8.5.5-4.fc11.x86_64
tcl-8.5.5-1.fc11.x86_64
libX11-1.1.99.2-2.fc11.x86_64

Comment 1 Marcela Mašláňová 2009-01-21 15:12:58 UTC
I have the same versions of packages. What should I do to create segfault? I tried gitk on iproute2.git and nothing had happened.

Comment 2 Ralph Loader 2009-01-23 23:34:06 UTC
For me /usr/bin/wish is segfaulting if I just run it from the command line with no arguments:

$ /usr/bin/wish
% Segmentation fault

Similar stack to the one above:

==6392== Invalid read of size 8
==6392==    at 0x3311052226: XGetICValues (ICWrap.c:292)
==6392==    by 0x3D0B444188: Tk_HandleEvent (tkEvent.c:365)
==6392==    by 0x3D0B4446E7: WindowEventProc (tkEvent.c:1804)
==6392==    by 0x3310CAB038: Tcl_ServiceEvent (tclNotify.c:675)
==6392==    by 0x3310CAB3B8: Tcl_DoOneEvent (tclNotify.c:978)
==6392==    by 0x3D0B443A41: Tk_MainLoop (tkEvent.c:2133)
==6392==    by 0x3D0B451BD3: Tk_MainEx (tkMain.c:321)
==6392==    by 0x400A2D: main (tkAppInit.c:68)
==6392==  Address 0x8 is not stack'd, malloc'd or (recently) free'd

Comment 3 Ralph Loader 2009-01-24 01:30:20 UTC
XGetICValues is something to do with input methods; I have the IMs turned off (right click on keyboard icon in panel status area, and select quit).  Maybe that is something to do with it?

Comment 4 Ralph Loader 2009-01-24 04:13:30 UTC
Indeed, the segfault does not happen with the SCIM running.

Comment 5 Marcela Mašláňová 2009-01-26 12:25:29 UTC
Why are you speaking about IM. Does your IM use tk? My wish isn't segfaulting. I try to update but I don't change anything in tk recently. 

Could you try rpm -V tk? And another wild guess: do you use Gnome or KDE or something else?

Comment 6 Ralph Loader 2009-01-28 04:42:19 UTC
No, tk uses SCIM.  The crash is from a XGetICValues, which is involved in SCIM handling.  Looks like something in tk is not correctly handling the lack of SCIM correctly.

$ rpm -V tk

gives no output and a zero exit code.

Desktop environment is gnome.

Comment 7 Marcela Mašláňová 2009-01-28 16:35:17 UTC
As I thought segfault happen only in GNOME. I'll try to find out why.

Comment 8 Marcela Mašláňová 2009-02-13 13:27:07 UTC
Upstream ticket:
https://sourceforge.net/tracker/?func=detail&atid=112997&aid=2593177&group_id=12997

Comment 9 Marcela Mašláňová 2009-02-19 12:24:55 UTC
*** Bug 486323 has been marked as a duplicate of this bug. ***

Comment 10 Valdis Kletnieks 2009-02-20 03:47:01 UTC
Segfault is *NOT* only in Gnome - I'm getting bit by it running the e16 window manager.

Not sure if the problem is in libX11 or libxcb-1.2-1.fc11 - both were updated just a few hours before I hit the issue.

Comment 11 Marcela Mašláňová 2009-02-20 11:50:59 UTC
I found thread about this issue at: http://www.groupsrv.com/computers/about603374-0-asc-15.html

You are right, it's related with libX11. When I was testing whether wish is working, it was ok.

Comment 12 Marcela Mašláňová 2009-02-23 13:35:26 UTC
*** Bug 486949 has been marked as a duplicate of this bug. ***

Comment 13 Hans de Goede 2009-02-23 13:42:10 UTC
Note that koji is back up, so you can do a build with the workaround patch now.

Comment 14 Valdis Kletnieks 2009-02-25 19:22:42 UTC
Confirming this is fixed with libX11.x86_64 0:1.2-1.fc11 libxcb.x86_64 0:1.2-2.fc11  - thanks guys.

Comment 15 Marcela Mašláňová 2009-02-26 07:03:15 UTC
Thanks for validation.