[kde-solaris] Re: KDE 3.2 CVS: starting konqueror via dcop -> core

Guenter Feldmann fld at informatik.uni-bremen.de
Tue Feb 24 20:06:40 CET 2004


On 17 February 2004 16:23, Torsten Kasch wrote:
> * It looks very much like an OS bug (triggered by Qt, probably) to me, 
>   although I've got not evidence right now.

It is 'kdeinit' which crashes *before* it execs konqueror. It crashes in
the library function free() called from the ximcp.so.2, a pluging of XFree86:

	gdb  /usr/local/KDE/3.2.0/bin/kdeinit  core
	[ ... ]
	Loaded symbols for /usr/local/X11/lib/X11/locale/lib/common/ximcp.so.2
	#0  0xfd3e0db8 in free_unlocked () from /usr/lib/libmalloc.so.1
	(gdb) where
	#0  0xfd3e0db8 in free_unlocked () from /usr/lib/libmalloc.so.1
	#1  0xfd3e0ca0 in free () from /usr/lib/libmalloc.so.1
	#2  0xfd3a094c in _XimCheckIfLocalProcessing ()
	  	 from /usr/local/X11/lib/X11/locale/lib/common/ximcp.so.2
	#3  0xfd3a0258 in _XimOpenIM ()
		  from /usr/local/X11/lib/X11/locale/lib/common/ximcp.so.2
	(gdb)

The code in imLcIm.c looks as follows:
		
		name = _XlcFileName(im->core.lcd, COMPOSE_FILE);
		if (name != (char *)NULL) {
			fp = _XFopenFile (name, "r");
			Xfree(name);				<--- crash

It is obviously correct. When I remove this Xfree call, the program crashes
in another free().

To me it looks like the heap structure gets corrupted in another part of
the program and the crash in free() is a late effect.

Could any one explain what makes starting of konqueror so unique for
kdeinit? All the other programs get started by kdeinit without problems.

-- Guenter




More information about the kde-solaris mailing list