Bug 523022 - Qt4 App (kVIRC) crashes in QFont::resolve
Qt4 App (kVIRC) crashes in QFont::resolve
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: qt (Show other bugs)
10
All Linux
low Severity medium
: ---
: ---
Assigned To: Ngo Than
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-09-13 08:02 EDT by Tobias Mueller
Modified: 2009-09-13 20:04 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-09-13 15:56:20 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Valgrind log (56.75 KB, text/plain)
2009-09-13 15:21 EDT, Tobias Mueller
no flags Details
valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log /opt/kvirc/bin/kvirc4 (333.40 KB, text/plain)
2009-09-13 15:25 EDT, Tobias Mueller
no flags Details

  None (edit)
Description Tobias Mueller 2009-09-13 08:02:39 EDT
Description of problem:
kVIRC (written against Qt4) crashes suddenly, but always in QFont::resolve

Version-Release number of selected component (if applicable):
muelli@bigbox /dev/shm $ yum info qt
Loaded plugins: priorities, refresh-packagekit
adobe                                                    |  951 B     00:00     
fedora                                                   | 2.8 kB     00:00     
fedora-debuginfo                                         | 2.2 kB     00:00     
freshrpms                                                | 2.0 kB     00:00     
kde-redhat                                               | 2.1 kB     00:00     
kde-redhat-all                                           | 1.9 kB     00:00     
livna                                                    | 2.4 kB     00:00     
planetccrma                                              | 1.9 kB     00:00     
planetcore                                               | 1.9 kB     00:00     
rpmfusion-free                                           | 2.7 kB     00:00     
rpmfusion-free-updates                                   | 2.8 kB     00:00     
rpmfusion-nonfree                                        | 2.7 kB     00:00     
rpmfusion-nonfree-updates                                | 2.8 kB     00:00     
updates                                                  | 3.4 kB     00:00     
161 packages excluded due to repository priority protections
Installed Packages
Name       : qt
Arch       : x86_64
Epoch      : 1
Version    : 4.5.2
Release    : 3.fc10
Size       : 11 M
Repo       : installed
From repo  : updates
Summary    : Qt toolkit
URL        : http://www.qtsoftware.com/
License    : LGPLv2 with exceptions or GPLv3 with exceptions
Description: Qt is a software toolkit for developing applications.
           : 
           : This package contains base tools, like string, xml, and network
           : handling.

Available Packages
Name       : qt
Arch       : i386
Epoch      : 1
Version    : 4.5.2
Release    : 3.fc10
Size       : 3.8 M
Repo       : updates
Summary    : Qt toolkit
URL        : http://www.qtsoftware.com/
License    : LGPLv2 with exceptions or GPLv3 with exceptions
Description: Qt is a software toolkit for developing applications.
           : 
           : This package contains base tools, like string, xml, and network
           : handling.

muelli@bigbox /dev/shm $ 


How reproducible:
Just start kVIRC and wait.

Steps to Reproduce:
1. Compile kVIRC (r3496 from https://svn.kvirc.de/svn/trunk/kvirc)
2. run
3. wait
  
Actual results:
Crashes in QFont::resolve

Expected results:
I expected Qt not to crash whatsoever

Additional info:

[Thread debugging using libthread_db enabled]
[New Thread 0x7fa21d1a4810 (LWP 13466)]
0x0000003fb500ec2f in __libc_waitpid (pid=13752, stat_loc=0x7fff07fb30e0, 
    options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41
41	  int result = INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL);
#0  0x0000003fb500ec2f in __libc_waitpid (pid=13752, stat_loc=0x7fff07fb30e0, 
    options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41
#1  0x0000003d2ae6f169 in IA__g_spawn_sync (
    working_directory=<value optimized out>, argv=<value optimized out>, 
    envp=<value optimized out>, flags=<value optimized out>, 
    child_setup=<value optimized out>, user_data=<value optimized out>, 
    standard_output=0x0, standard_error=0x0, exit_status=0x0, 
    error=0x7fff07fb3218) at gspawn.c:382
#2  0x0000003d2ae6f478 in IA__g_spawn_command_line_sync (
    command_line=<value optimized out>, standard_output=0x0, 
    standard_error=0x0, exit_status=0x0, error=0x7fff07fb3218) at gspawn.c:694
#3  0x00007fa217a2f6ae in run_bug_buddy () at gnome-breakpad.cc:223
#4  check_if_gdb () at gnome-breakpad.cc:292
#5  0x00007fa217a2f759 in bugbuddy_segv_handle (signum=13752)
    at gnome-breakpad.cc:84
#6  <signal handler called>
#7  QBasicAtomicInt::ref () at ../../src/corelib/arch/qatomic_x86_64.h:121
#8  QFont (this=0x7fff07fb3810, font=@0x9683a8) at text/qfont.cpp:815
#9  0x00000037f35688e3 in QFont::resolve (this=0x9683a8, other=@0x7fff07fb3870)
    at text/qfont.cpp:1714
#10 0x00000037f33e196d in QWidget::setFont (this=0x359ef40, font=@0x9683a8)
    at kernel/qwidget.cpp:4371
#11 0x00007fa20c9acfb6 in KviNotifierWindow::updateGui (this=0x359ef40)
    at /home/muelli/svn/kvirc/src/modules/notifier/notifierwindow.cpp:167
#12 0x00007fa20c9adc0b in KviNotifierWindow (this=0x359ef40)
    at /home/muelli/svn/kvirc/src/modules/notifier/notifierwindow.cpp:141
#13 0x00007fa20c9a7f5a in notifier_module_ctrl (
    operation=0x6d8877 "notifier::message", param=0x7fff07fb3b00)
    at /home/muelli/svn/kvirc/src/modules/notifier/libkvinotifier.cpp:303
#14 0x00000000006441fe in KviApp::notifierMessage ()
#15 0x00000000004cbd5d in KviConsole::outputPrivmsg ()
#16 0x000000000056c23b in KviServerParser::parseLiteralPrivmsg ()
#17 0x000000000057f522 in KviServerParser::parseMessage ()
#18 0x000000000067a3ca in KviIrcLink::processData ()
#19 0x000000000067c56e in KviIrcSocket::readData ()
#20 0x00000000006b611e in KviIrcSocket::qt_metacall ()
#21 0x00000037f1d58f52 in QMetaObject::activate (sender=0x1eea140, 
    from_signal_index=<value optimized out>, to_signal_index=4, argv=0x359f040)
    at kernel/qobject.cpp:3113
#22 0x00000037f1d90c4e in QSocketNotifier::activated (this=0x7fff07fb3810, 
    _t1=21) at .moc/release-shared/moc_qsocketnotifier.cpp:83
#23 0x00000037f1d5e573 in QSocketNotifier::event (this=0x1eea140, 
    e=0x7fff07fb4ba0) at kernel/qsocketnotifier.cpp:316
#24 0x00000037f339008d in QApplicationPrivate::notify_helper (this=0x1c96280, 
    receiver=0x1eea140, e=0x7fff07fb4ba0) at kernel/qapplication.cpp:4056
#25 0x00000037f33982ca in QApplication::notify (this=0x1c961e0, 
    receiver=0x1eea140, e=0x7fff07fb4ba0) at kernel/qapplication.cpp:4021
#26 0x00000037f1d4407c in QCoreApplication::notifyInternal (this=0x1c961e0, 
    receiver=0x1eea140, event=0x7fff07fb4ba0)
    at kernel/qcoreapplication.cpp:610
#27 0x00000037f1d6d809 in QCoreApplication::sendEvent ()
    at kernel/qcoreapplication.h:213
#28 socketNotifierSourceDispatch (source=0x1c9c4e0)
    at kernel/qeventdispatcher_glib.cpp:110
#29 0x0000003d2ae377bb in g_main_dispatch () at gmain.c:2144
#30 IA__g_main_context_dispatch (context=0x1c9b920) at gmain.c:2697
#31 0x0000003d2ae3af8d in g_main_context_iterate (context=0x1c9b920, block=1, 
    dispatch=1, self=<value optimized out>) at gmain.c:2778
#32 0x0000003d2ae3b14b in IA__g_main_context_iteration (context=0x1c9b920, 
    may_block=1) at gmain.c:2841
#33 0x00000037f1d6d58f in QEventDispatcherGlib::processEvents (this=0x1c98f70, 
    flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#34 0x00000037f34274cf in QGuiEventDispatcherGlib::processEvents (
    this=0x7fff07fb3810, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:202
#35 0x00000037f1d42912 in QEventLoop::processEvents (
    this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#36 0x00000037f1d42ce4 in QEventLoop::exec (this=0x7fff07fb4e00, flags=)
    at kernel/qeventloop.cpp:201
#37 0x00000037f1d44fb4 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:888
#38 0x000000000068439d in main ()

Thread 1 (Thread 0x7fa21d1a4810 (LWP 13466)):
#0  0x0000003fb500ec2f in __libc_waitpid (pid=13752, stat_loc=0x7fff07fb30e0, 
    options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41
	oldtype = 0
	result = <value optimized out>
#1  0x0000003d2ae6f169 in IA__g_spawn_sync (
    working_directory=<value optimized out>, argv=<value optimized out>, 
    envp=<value optimized out>, flags=<value optimized out>, 
    child_setup=<value optimized out>, user_data=<value optimized out>, 
    standard_output=0x0, standard_error=0x0, exit_status=0x0, 
    error=0x7fff07fb3218) at gspawn.c:382
	outpipe = -1
	errpipe = -1
	pid = 13752
	fds = {__fds_bits = {53819744, 8, 16, 16, 56134944, 0, 16, 0, 
    56134968, 45318336, 56134944, 140733327290904, 3, 262712670422, 
    140733327290600, 140733327290712}}
	ret = <value optimized out>
	outstr = (GString *) 0x0
	errstr = (GString *) 0x0
	failed = 0
	status = <value optimized out>
	__PRETTY_FUNCTION__ = "IA__g_spawn_sync"
#2  0x0000003d2ae6f478 in IA__g_spawn_command_line_sync (
    command_line=<value optimized out>, standard_output=0x0, 
    standard_error=0x0, exit_status=0x0, error=0x7fff07fb3218) at gspawn.c:694
	retval = 0
	argv = (gchar **) 0x3588d20
	__PRETTY_FUNCTION__ = "IA__g_spawn_command_line_sync"
#3  0x00007fa217a2f6ae in run_bug_buddy () at gnome-breakpad.cc:223
	res = <value optimized out>
	error = (GError *) 0x0
#4  check_if_gdb () at gnome-breakpad.cc:292
	mypath = "/opt/kvirc/bin/kvirc4", '\0' <repeats 233 times>
	gdb = (gchar *) 0x3381a20 "/usr/bin/gdb"
	appname = (gchar *) 0x1cfdd70 "<unknown>"
	pid = 13466
#5  0x00007fa217a2f759 in bugbuddy_segv_handle (signum=13752)
    at gnome-breakpad.cc:84
	in_segv = 1
#6  <signal handler called>
No locals.
#7  QBasicAtomicInt::ref () at ../../src/corelib/arch/qatomic_x86_64.h:121
	ret = 112 'p'
#8  QFont (this=0x7fff07fb3810, font=@0x9683a8) at text/qfont.cpp:815
No locals.
#9  0x00000037f35688e3 in QFont::resolve (this=0x9683a8, other=@0x7fff07fb3870)
    at text/qfont.cpp:1714
	font = {static staticMetaObject = {d = {superdata = 0x0, 
      stringdata = 0x37f3a0ca60 "QFont", data = 0x37f3a0cb20, 
      extradata = 0x0}}, d = 0x6e28f7, resolve_mask = 3003180442}
#10 0x00000037f33e196d in QWidget::setFont (this=0x359ef40, font=@0x9683a8)
    at kernel/qwidget.cpp:4371
	d = (QWidgetPrivate * const) 0x359f040
	naturalFont = {static staticMetaObject = {d = {superdata = 0x0, 
      stringdata = 0x37f3a0ca60 "QFont", data = 0x37f3a0cb20, 
      extradata = 0x0}}, d = 0x1f0f8b0, resolve_mask = 0}
	resolvedFont = {static staticMetaObject = {d = {superdata = 0x0, 
      stringdata = 0x37f3a0ca60 "QFont", data = 0x37f3a0cb20, 
      extradata = 0x0}}, d = 0x9682a0, resolve_mask = 1}
#11 0x00007fa20c9acfb6 in KviNotifierWindow::updateGui (this=0x359ef40)
    at /home/muelli/svn/kvirc/src/modules/notifier/notifierwindow.cpp:167
	pal = {static staticMetaObject = {d = {superdata = 0x0, 
      stringdata = 0x37f3a0b980 "QPalette", data = 0x37f3a0bac0, 
      extradata = 0x0}}, d = 0x359ef40, current_group = 0, 
  resolve_mask = 3496328}
	palette = {static staticMetaObject = {d = {superdata = 0x0, 
      stringdata = 0x37f3a0b980 "QPalette", data = 0x37f3a0bac0, 
      extradata = 0x0}}, d = 0x1, current_group = 0, resolve_mask = 13219374}
#12 0x00007fa20c9adc0b in KviNotifierWindow (this=0x359ef40)
    at /home/muelli/svn/kvirc/src/modules/notifier/notifierwindow.cpp:141
No locals.
#13 0x00007fa20c9a7f5a in notifier_module_ctrl (
    operation=0x6d8877 "notifier::message", param=0x7fff07fb3b00)
    at /home/muelli/svn/kvirc/src/modules/notifier/libkvinotifier.cpp:303
	p = (NotifierMessageSupaDupaParameterStruct *) 0x7fff07fb3b00
#14 0x00000000006441fe in KviApp::notifierMessage ()
No symbol table info available.
#15 0x00000000004cbd5d in KviConsole::outputPrivmsg ()
No symbol table info available.
#16 0x000000000056c23b in KviServerParser::parseLiteralPrivmsg ()
No symbol table info available.
#17 0x000000000057f522 in KviServerParser::parseMessage ()
No symbol table info available.
#18 0x000000000067a3ca in KviIrcLink::processData ()
No symbol table info available.
#19 0x000000000067c56e in KviIrcSocket::readData ()
No symbol table info available.
#20 0x00000000006b611e in KviIrcSocket::qt_metacall ()
No symbol table info available.
#21 0x00000037f1d58f52 in QMetaObject::activate (sender=0x1eea140, 
    from_signal_index=<value optimized out>, to_signal_index=4, argv=0x359f040)
    at kernel/qobject.cpp:3113
	method = 6
	currentSender = {sender = 0x1eea140, signal = 4, ref = 1}
	previousSender = (QObjectPrivate::Sender *) 0x0
	count = 1
	signal = 4
	empty_argv = {0x0}
	locker = {{mtx = 0x1c96428, val = 29975592}}
	currentThreadData = (QThreadData *) 0x1c963d0
	connectionLists = (QObjectConnectionListVector *) 0x2c3f320
#22 0x00000037f1d90c4e in QSocketNotifier::activated (this=0x7fff07fb3810, 
    _t1=21) at .moc/release-shared/moc_qsocketnotifier.cpp:83
	_a = {0x0, 0x7fff07fb461c}
#23 0x00000037f1d5e573 in QSocketNotifier::event (this=0x1eea140, 
    e=0x7fff07fb4ba0) at kernel/qsocketnotifier.cpp:316
No locals.
#24 0x00000037f339008d in QApplicationPrivate::notify_helper (this=0x1c96280, 
    receiver=0x1eea140, e=0x7fff07fb4ba0) at kernel/qapplication.cpp:4056
	consumed = <value optimized out>
#25 0x00000037f33982ca in QApplication::notify (this=0x1c961e0, 
    receiver=0x1eea140, e=0x7fff07fb4ba0) at kernel/qapplication.cpp:4021
	res = true
#26 0x00000037f1d4407c in QCoreApplication::notifyInternal (this=0x1c961e0, 
    receiver=0x1eea140, event=0x7fff07fb4ba0)
    at kernel/qcoreapplication.cpp:610
	result = false
	cbdata = {0x1eea140, 0x7fff07fb4ba0, 0x7fff07fb4b6f}
	threadData = (QThreadData *) 0x1c963d0
	returnValue = <value optimized out>
#27 0x00000037f1d6d809 in QCoreApplication::sendEvent ()
    at kernel/qcoreapplication.h:213
No locals.
#28 socketNotifierSourceDispatch (source=0x1c9c4e0)
    at kernel/qeventdispatcher_glib.cpp:110
	p = (GPollFDWithQSocketNotifier *) 0x359f040
	i = <value optimized out>
	event = {_vptr.QEvent = 0x9635f0, d = 0x0, t = 50, posted = 0, 
  spont = 0, m_accept = 1, reserved = 1377}
#29 0x0000003d2ae377bb in g_main_dispatch () at gmain.c:2144
No locals.
#30 IA__g_main_context_dispatch (context=0x1c9b920) at gmain.c:2697
No locals.
#31 0x0000003d2ae3af8d in g_main_context_iterate (context=0x1c9b920, block=1, 
    dispatch=1, self=<value optimized out>) at gmain.c:2778
	max_priority = 2147483647
	timeout = 652
	some_ready = 1
	nfds = 13
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x22d37e0
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#32 0x0000003d2ae3b14b in IA__g_main_context_iteration (context=0x1c9b920, 
    may_block=1) at gmain.c:2841
	retval = <value optimized out>
#33 0x00000037f1d6d58f in QEventDispatcherGlib::processEvents (this=0x1c98f70, 
    flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
	d = (QEventDispatcherGlibPrivate * const) 0x1c98f90
	canWait = true
	result = <value optimized out>
#34 0x00000037f34274cf in QGuiEventDispatcherGlib::processEvents (
    this=0x7fff07fb3810, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:202
	d = (QGuiEventDispatcherGlibPrivate * const) 0x1c98f90
	returnValue = 247
#35 0x00000037f1d42912 in QEventLoop::processEvents (
    this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
	d = (QEventLoopPrivate * const) 0x206cd20
#36 0x00000037f1d42ce4 in QEventLoop::exec (this=0x7fff07fb4e00, flags=)
    at kernel/qeventloop.cpp:201
	d = (QEventLoopPrivate * const) 0x206cd20
	app = (class QCoreApplication *) 0x1c961e0
#37 0x00000037f1d44fb4 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:888
	threadData = (QThreadData *) 0x1c963d0
	eventLoop = {<QObject> = {_vptr.QObject = 0x37f2036030, 
    static staticMetaObject = {d = {superdata = 0x0, 
        stringdata = 0x37f1dda440 "QObject", data = 0x37f1dda4e0, 
        extradata = 0x37f202f0c0}}, d_ptr = 0x206cd20, 
    static staticQtMetaObject = {d = {superdata = 0x0, 
        stringdata = 0x37f1de3cc0 "Qt", data = 0x37f1de7040, 
        extradata = 0x0}}}, static staticMetaObject = {d = {
      superdata = 0x963b00, stringdata = 0x37f1dec140 "QEventLoop", 
      data = 0x37f1dec160, extradata = 0x0}}}
	returnCode = -1
#38 0x000000000068439d in main ()
No symbol table info available.
The program is running.  Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Comment 1 Kevin Kofler 2009-09-13 13:46:39 EDT
Are you using the same Qt to build against and to run? If you're unsure, the following commands might help to debug this:
rpm -q qt-devel
ldd /opt/kvirc/bin/kvirc4
ld --verbose -lQtGui -lQtCore ; rm -f a.out

A log from Valgrind would probably also be helpful. Something appears to corrupt the QFont's reference count, so copying the font crashes. Or it may be a use-after-free. Both are classes of bugs Valgrind should help figuring out. So can you please run:
valgrind /opt/kvirc/bin/kvirc4 2>kvirc4-valgrind.log
and attach the resulting kvirc4-valgrind.log file?
Comment 2 Tobias Mueller 2009-09-13 15:20:33 EDT
I don't remember having Qt installed myself.


muelli@bigbox ~/svn/kvirc $ rpm -q qt-devel
qt-devel-4.5.2-3.fc10.x86_64
muelli@bigbox ~/svn/kvirc $ ldd /opt/kvirc/bin/kvirc4
	linux-vdso.so.1 =>  (0x00007fffa44fe000)
	libperl.so => not found
	libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003fbee00000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003fbf600000)
	libdl.so.2 => /lib64/libdl.so.2 (0x0000003fb4c00000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003fc3600000)
	libutil.so.1 => /lib64/libutil.so.1 (0x0000003fb3400000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003fb5000000)
	libm.so.6 => /lib64/libm.so.6 (0x0000003fb4800000)
	libpython2.5.so.1.0 => /usr/lib64/libpython2.5.so.1.0 (0x0000003fcd600000)
	libkvilib4.so.4 => not found
	libz.so.1 => /lib64/libz.so.1 (0x0000003fb5400000)
	libQtWebKit.so.4 => /usr/lib64/libQtWebKit.so.4 (0x00000037f7600000)
	libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x00000037f3200000)
	libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00000034c6800000)
	libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003e23600000)
	libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003fbfe00000)
	libXi.so.6 => /usr/lib64/libXi.so.6 (0x000000333b400000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000333ac00000)
	libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000333c000000)
	libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x000000333bc00000)
	libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x000000333b000000)
	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000333b800000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00000030a6a00000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00000030a6e00000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x000000333a800000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000003339c00000)
	libQtDBus.so.4 => /usr/lib64/libQtDBus.so.4 (0x00000037f2e00000)
	libQtXml.so.4 => /usr/lib64/libQtXml.so.4 (0x00000037f2200000)
	libQtSql.so.4 => /usr/lib64/libQtSql.so.4 (0x00000037f5a00000)
	libQtNetwork.so.4 => /usr/lib64/libQtNetwork.so.4 (0x00000037f2a00000)
	libssl.so.7 => /lib64/libssl.so.7 (0x0000003e24200000)
	libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x00000037f1c00000)
	libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003d2b600000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003d2ae00000)
	librt.so.1 => /lib64/librt.so.1 (0x0000003fb6000000)
	libesd.so.0 => /usr/lib64/libesd.so.0 (0x0000003691800000)
	libaudiofile.so.0 => /usr/lib64/libaudiofile.so.0 (0x0000003fc3a00000)
	libcrypto.so.7 => /lib64/libcrypto.so.7 (0x00000034c8200000)
	libc.so.6 => /lib64/libc.so.6 (0x0000003fb4400000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003fbfa00000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003fbe600000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003fb3000000)
	libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x0000003251400000)
	libphonon.so.4 => /usr/lib64/libphonon.so.4 (0x00000037f6600000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x000000333de00000)
	libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003d2b200000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003e22e00000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003fb8000000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003fb6c00000)
	libxcb-xlib.so.0 => /usr/lib64/libxcb-xlib.so.0 (0x000000333a000000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000333a400000)
	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x0000003e23a00000)
	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000003e23e00000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003e23200000)
	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x0000003508800000)
	libasound.so.2 => /lib64/libasound.so.2 (0x0000003691400000)
	libcap.so.2 => /lib64/libcap.so.2 (0x0000003fbd600000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000003fb7400000)
	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x0000003508400000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003fc0a00000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003840600000)
muelli@bigbox ~/svn/kvirc $ ld --verbose -lQtGui -lQtCore ; rm -f a.out
GNU ld version 2.18.50.0.9-8.fc10 20080822
  Supported emulations:
   elf_x86_64
   elf_i386
   i386linux
using internal linker script:
==================================================
/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64"); SEARCH_DIR("/usr/local/lib64"); SEARCH_DIR("/lib64"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/x86_64-redhat-linux/lib"); SEARCH_DIR("/usr/lib64"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = 0x400000); . = 0x400000 + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rel.dyn        :
    {
      *(.rel.init)
      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
      *(.rel.fini)
      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
      *(.rel.ctors)
      *(.rel.dtors)
      *(.rel.got)
      *(.rel.sharable_data .rel.sharable_data.* .rel.gnu.linkonce.shrd.*)
      *(.rel.sharable_bss .rel.sharable_bss.* .rel.gnu.linkonce.shrb.*)
      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
      *(.rel.ldata .rel.ldata.* .rel.gnu.linkonce.l.*)
      *(.rel.lbss .rel.lbss.* .rel.gnu.linkonce.lb.*)
      *(.rel.lrodata .rel.lrodata.* .rel.gnu.linkonce.lr.*)
    }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.sharable_data .rela.sharable_data.* .rela.gnu.linkonce.shrd.*)
      *(.rela.sharable_bss .rela.sharable_bss.* .rela.gnu.linkonce.shrb.*)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
    }
  .rel.plt        : { *(.rel.plt) }
  .rela.plt       : { *(.rela.plt) }
  .init           :
  {
    KEEP (*(.init))
  } =0x90909090
  .plt            : { *(.plt) }
  .text           :
  {
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  } =0x90909090
  .fini           :
  {
    KEEP (*(.fini))
  } =0x90909090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
     PROVIDE_HIDDEN (__init_array_start = .);
     KEEP (*(SORT(.init_array.*)))
     KEEP (*(.init_array))
     PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(.fini_array))
    KEEP (*(SORT(.fini_array.*)))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) }
  . = DATA_SEGMENT_RELRO_END (24, .);
  .got.plt        : { *(.got.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  /* Sharable data sections.  */
  .sharable_data   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_data_start = .);
    *(.sharable_data .sharable_data.* .gnu.linkonce.shrd.*)
    /* Align here to ensure that the sharable data section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_data_end = .);
  }
  _edata = .; PROVIDE (edata = .);
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  /* Sharable bss sections  */
  .sharable_bss   : ALIGN(CONSTANT (MAXPAGESIZE))
  {
    PROVIDE_HIDDEN (__sharable_bss_start = .);
    *(.dynsharablebss)
    *(.sharable_bss .sharable_bss.* .gnu.linkonce.shrb.*)
    *(SHARABLE_COMMON)
    /* Align here to ensure that the sharable bss section ends at the
       page boundary.  */
    . = ALIGN(. != 0 ? CONSTANT (MAXPAGESIZE) : 1);
    PROVIDE_HIDDEN (__sharable_bss_end = .);
  }
  . = ALIGN(64 / 8);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) }
}


==================================================
attempt to open /usr/x86_64-redhat-linux/lib64/libQtGui.so failed
attempt to open /usr/x86_64-redhat-linux/lib64/libQtGui.a failed
attempt to open /usr/local/lib64/libQtGui.so failed
attempt to open /usr/local/lib64/libQtGui.a failed
attempt to open /lib64/libQtGui.so failed
attempt to open /lib64/libQtGui.a failed
attempt to open /usr/lib64/libQtGui.so succeeded
-lQtGui (/usr/lib64/libQtGui.so)
attempt to open /usr/x86_64-redhat-linux/lib64/libQtCore.so failed
attempt to open /usr/x86_64-redhat-linux/lib64/libQtCore.a failed
attempt to open /usr/local/lib64/libQtCore.so failed
attempt to open /usr/local/lib64/libQtCore.a failed
attempt to open /lib64/libQtCore.so failed
attempt to open /lib64/libQtCore.a failed
attempt to open /usr/lib64/libQtCore.so succeeded
-lQtCore (/usr/lib64/libQtCore.so)
libpng12.so.0 needed by /usr/lib64/libQtGui.so
found libpng12.so.0 at /usr/lib64/libpng12.so.0
libfreetype.so.6 needed by /usr/lib64/libQtGui.so
found libfreetype.so.6 at /usr/lib64/libfreetype.so.6
libgobject-2.0.so.0 needed by /usr/lib64/libQtGui.so
found libgobject-2.0.so.0 at /lib64/libgobject-2.0.so.0
libSM.so.6 needed by /usr/lib64/libQtGui.so
found libSM.so.6 at /usr/lib64/libSM.so.6
libICE.so.6 needed by /usr/lib64/libQtGui.so
found libICE.so.6 at /usr/lib64/libICE.so.6
libz.so.1 needed by /usr/lib64/libQtGui.so
found libz.so.1 at /lib64/libz.so.1
libgthread-2.0.so.0 needed by /usr/lib64/libQtGui.so
found libgthread-2.0.so.0 at /lib64/libgthread-2.0.so.0
librt.so.1 needed by /usr/lib64/libQtGui.so
found librt.so.1 at /lib64/librt.so.1
libglib-2.0.so.0 needed by /usr/lib64/libQtGui.so
found libglib-2.0.so.0 at /lib64/libglib-2.0.so.0
libpthread.so.0 needed by /usr/lib64/libQtGui.so
found libpthread.so.0 at /lib64/libpthread.so.0
libXi.so.6 needed by /usr/lib64/libQtGui.so
found libXi.so.6 at /usr/lib64/libXi.so.6
libXrender.so.1 needed by /usr/lib64/libQtGui.so
found libXrender.so.1 at /usr/lib64/libXrender.so.1
libXrandr.so.2 needed by /usr/lib64/libQtGui.so
found libXrandr.so.2 at /usr/lib64/libXrandr.so.2
libXfixes.so.3 needed by /usr/lib64/libQtGui.so
found libXfixes.so.3 at /usr/lib64/libXfixes.so.3
libXcursor.so.1 needed by /usr/lib64/libQtGui.so
found libXcursor.so.1 at /usr/lib64/libXcursor.so.1
libXinerama.so.1 needed by /usr/lib64/libQtGui.so
found libXinerama.so.1 at /usr/lib64/libXinerama.so.1
libfontconfig.so.1 needed by /usr/lib64/libQtGui.so
found libfontconfig.so.1 at /usr/lib64/libfontconfig.so.1
libXext.so.6 needed by /usr/lib64/libQtGui.so
found libXext.so.6 at /usr/lib64/libXext.so.6
libX11.so.6 needed by /usr/lib64/libQtGui.so
found libX11.so.6 at /usr/lib64/libX11.so.6
libdl.so.2 needed by /usr/lib64/libQtGui.so
found libdl.so.2 at /lib64/libdl.so.2
libstdc++.so.6 needed by /usr/lib64/libQtGui.so
found libstdc++.so.6 at /usr/lib64/libstdc++.so.6
libm.so.6 needed by /usr/lib64/libQtGui.so
found libm.so.6 at /lib64/libm.so.6
libgcc_s.so.1 needed by /usr/lib64/libQtGui.so
found libgcc_s.so.1 at /lib64/libgcc_s.so.1
libc.so.6 needed by /usr/lib64/libQtGui.so
found libc.so.6 at /lib64/libc.so.6
libuuid.so.1 needed by /usr/lib64/libSM.so.6
found libuuid.so.1 at /lib64/libuuid.so.1
ld-linux-x86-64.so.2 needed by /lib64/librt.so.1
found ld-linux-x86-64.so.2 at /lib64/ld-linux-x86-64.so.2
libexpat.so.1 needed by /usr/lib64/libfontconfig.so.1
found libexpat.so.1 at /lib64/libexpat.so.1
libXau.so.6 needed by /usr/lib64/libXext.so.6
found libXau.so.6 at /usr/lib64/libXau.so.6
libxcb-xlib.so.0 needed by /usr/lib64/libX11.so.6
found libxcb-xlib.so.0 at /usr/lib64/libxcb-xlib.so.0
libxcb.so.1 needed by /usr/lib64/libX11.so.6
found libxcb.so.1 at /usr/lib64/libxcb.so.1
libXdmcp.so.6 needed by /usr/lib64/libxcb.so.1
found libXdmcp.so.6 at /usr/lib64/libXdmcp.so.6
ld: warning: cannot find entry symbol _start; not setting start address
muelli@bigbox ~/svn/kvirc $ 









muelli@bigbox ~/svn/kvirc $ valgrind /opt/kvirc/bin/kvirc4 2>kvirc4-valgrind.log 
Segmentation fault
muelli@bigbox ~/svn/kvirc $ some excerpts from logfile:
==943== Syscall param writev(vector[...]) points to uninitialised byte(s)
==943==    at 0x3FB44DE4F3: writev (writev.c:46)
==943==    by 0x333A408BB0: _xcb_conn_wait (xcb_conn.c:170)
==943==    by 0x333A409178: _xcb_out_send (xcb_out.c:279)
==943==    by 0x333A409653: xcb_send_request (xcb_out.c:55)
==943==    by 0x4F6E116: _XPutXCBBuffer (xcb_lock.c:148)
==943==    by 0x4F6E43C: _XCBUnlockDisplay (xcb_lock.c:31)
==943==    by 0x333AC045E1: XRenderAddGlyphs (Glyph.c:111)
==943==    by 0x37F362F5A3: QFontEngineX11FT::uploadGlyphToServer(QFontEngineFT:
:QGlyphSet*, unsigned, QFontEngineFT::Glyph*, _XGlyphInfo*, int) const (qfonteng
ine_x11.cpp:1167)
==943==    by 0x37F363A20F: QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*, 
unsigned, QFontEngineFT::GlyphFormat, bool) const (qfontengine_ft.cpp:1141)
==943==    by 0x37F363B5A4: QFontEngineFT::recalcAdvances(QGlyphLayout*, QFlags<
QTextEngine::ShaperFlag>) const (qfontengine_ft_p.h:247)
==943==    by 0x37F36364D7: QFontEngineFT::stringToCMap(QChar const*, int, QGlyp
hLayout*, int*, QFlags<QTextEngine::ShaperFlag>) const (qfontengine_ft.cpp:1610)
==943==    by 0x37F3573083: QFontEngineMulti::stringToCMap(QChar const*, int, QG
lyphLayout*, int*, QFlags<QTextEngine::ShaperFlag>) const (qfontengine.cpp:1334)
==943==  Address 0x526179d is 7,765 bytes inside a block of size 8,680 alloc'd
==943==    at 0x4A05174: calloc (vg_replace_malloc.c:397)
==943==    by 0x333A408E2E: xcb_connect_to_fd (xcb_conn.c:224)
==943==    by 0x333A40B7F6: xcb_connect (xcb_util.c:332)
==943==    by 0x4F6E731: _XConnectXCB (xcb_disp.c:87)
==943==    by 0x4F5639C: XOpenDisplay (OpenDis.c:168)
==943==    by 0x6840DE: main (in /opt/kvirc/bin/kvirc4)
==943== 
==943== Invalid read of size 1
==943==    at 0xF357BDA: KviIrcView::haveUnreadedHighlightedMessages() (kvi_ircv
iew.h:150)
==943==    by 0xF352250: KviTrayIcon::grabActivityInfo() (libkvitrayicon.cpp:464
)
[...]
==943== ERROR SUMMARY: 9045 errors from 33 contexts (suppressed: 4 from 1)
==943== malloc/free: in use at exit: 24,427,666 bytes in 179,761 blocks.
==943== malloc/free: 2,553,601 allocs, 2,373,840 frees, 680,307,389 bytes alloca
ted.
==943== For counts of detected errors, rerun with: -v
==943== searching for pointers to 179,761 not-freed blocks.
==943== checked 23,399,520 bytes.
==943== 
==943== LEAK SUMMARY:
==943==    definitely lost: 197,826 bytes in 4,580 blocks.
==943==      possibly lost: 195,571 bytes in 695 blocks.
==943==    still reachable: 24,034,269 bytes in 174,486 blocks.
==943==         suppressed: 0 bytes in 0 blocks.

I'm attaching the full log.

I made it crash by clicking my own name in a channel widget...
Comment 3 Tobias Mueller 2009-09-13 15:21:55 EDT
Created attachment 360851 [details]
Valgrind log
Comment 4 Tobias Mueller 2009-09-13 15:25:51 EDT
Created attachment 360852 [details]
 valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log /opt/kvirc/bin/kvirc4

muelli@bigbox ~/svn/kvirc $ valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=valgrind.log /opt/kvirc/bin/kvirc4
X Error: BadMatch (invalid parameter attributes) 8
  Major opcode: 2 (X_ChangeWindowAttributes)
  Resource id:  0x86005a9
Segmentation fault
muelli@bigbox ~/svn/kvirc $ 

Again, it didn't crash itself (I probably didn't wait long enough), and I provoked it by clicking my nick in a channel widget.
Comment 5 Kevin Kofler 2009-09-13 15:56:20 EDT
So your Qt is consistently 4.5.2, no surprises there.

The Valgrind log shows a lot of invalid reads/writes in kvirc code and I'm fairly sure the corrupt QFont is also coming from those. I'm going to close this as not a Fedora/Qt bug, please report this (with the full Valgrind log) to kvirc upstream.
Comment 6 Tobias Mueller 2009-09-13 20:04:08 EDT
Thank you Kevin for your quick support!
I have opened a ticket here: https://svn.kvirc.de/kvirc/ticket/565

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