Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 41636 - konqueror crashes when dragging a file to another instance
Summary: konqueror crashes when dragging a file to another instance
Status: VERIFIED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-15 01:11 UTC by Wolfgang Thiess
Modified: 2004-08-16 07:53 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Thiess 2004-02-15 01:11:58 UTC
When opening konqueror several times and dragging a file from one window to the others, there is a chance of perhaps 1 percent or slightly less to get one of the destination konquerors crashed.

To reproduce the bug I did like this:
- Open konqueror in filemanagement mode (I call this instance the source).
- Open another konqueror in filemanagement mode (I call this one a destination).
- Change directory (I chose an empty one - not necessary, but maybe helpful).
- Open a third konqueror in filemanagement mode (another destination).
- Change directory (I used the same as the other destination).
- Pick a file from the source using the mouse. Keep the mouse button down all the time while moving the file around on the screen. Move the file from souce to one destination, to the other destination, back to the first destination, back to source. When releasing the mouse button, only in the source, never a destination.
- Moving the file around for maybe a hundred times or a few more, will crash one of the two destinations (I'm not really sure about no chance of crashing the source).

There is no need to use filemanagement mode for the destinations. A konqueror webbrowser will crash as well, even when showing the startup page "Conquer your Desktop!" Introduction - Welcome to Konqueror 3.2.0...

My System is:
Athlon-tbird on EPoX 8KTA3/+  
ATI Xpert@Work (Rage Pro)

My emerge info:
Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.1-gentoo-r1)
=================================================================
System uname: 2.6.1-gentoo-r1 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.4.3.13
Autoconf: sys-devel/autoconf-2.58
Automake: sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -mcpu=athlon-tbird -pipe -fomit-frame-pointer "
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -mcpu=athlon-tbird -pipe -fomit-frame-pointer "
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib alsa apache2 apm arts avi berkdb bonobo cdr crypt cups encode esd foomaticdb gd gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib java jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png postgres ppds python qt quicktime readline scanner sdl slang spell ssl svga tcltk tcpd tiff truetype x86 xml2 xmms xv zlib"

/home/wolle $ emerge -vp xfree kde qt

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] x11-base/xfree-4.3.0-r4  -3dfx -3dnow -cjk -debug -doc -ipv6 -mmx +nls +pam -sdk -sse -static +truetype +xml2  16,984 kB
[ebuild   R   ] kde-base/kde-3.2.0   [empty/missing/bad digest]
[ebuild   R   ] x11-libs/qt-3.3.0  +cups -doc -firebird +gif -icc -ipv6 +mysql -nas -odbc +opengl +postgres -sqlite +zlib  0 kB

Trying to get more useful information I re-emerged use="debug" emerge kdelibs kdebase

This is the backtrace of a crashed destination:
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 2038)]

0x4133f7b8 in waitpid () from /lib/libpthread.so.0
#0  0x4133f7b8 in waitpid () from /lib/libpthread.so.0
#1  0x40935c34 in ?? () from /usr/kde/3.2/lib/libkdecore.so.4
#2  0x4087125e in KCrash::defaultCrashHandler(int) ()
   from /usr/kde/3.2/lib/libkdecore.so.4
#3  0x082c6088 in ?? ()

This is a gdb session of a crashed destination (don't blame me, I did it as root):
bash-2.05b# cp $(which konqueror) .
bash-2.05b# ulimit -c unlimited
bash-2.05b# gdb ./konqueror
GNU gdb 6.0
Copyright 2003 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 "i686-pc-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run --profile filemanagement
Starting program: /root/konqueror --profile filemanagement
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 2301)]
konqueror: WARNING: KGenericFactory: instance requested but no instance name passed to the constructor!
Detaching after fork from child process 2305.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 2301)]
0x40c0dd5b in QFont::QFont(QFont const&) () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) bt
#0  0x40c0dd5b in QFont::QFont(QFont const&) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#1  0x40bb6542 in QPainter::begin(QPaintDevice const*, bool) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#2  0x40e19b07 in QIconView::drawDragShapes(QPoint const&) ()
   from /usr/qt/3/lib/libqt-mt.so.3
#3  0x081f7300 in ?? ()
(gdb) disass $pc-64 $pc+64
Dump of assembler code from 0x40c0dd1b to 0x40c0dd9b:
0x40c0dd1b <_ZN5QFontC1ERK7QStringiib+219>:     nop
0x40c0dd1c <_ZN5QFontC1ERK7QStringiib+220>:     lea    0x0(%esi,1),%esi
0x40c0dd20 <_ZN5QFontC1ERK7QStringiib+224>:     mov    $0xc,%edi
0x40c0dd25 <_ZN5QFontC1ERK7QStringiib+229>:     jmp    0x40c0dcb2 <_ZN5QFontC1ERK7QStringiib+114>
0x40c0dd27 <_ZN5QFontC1ERK7QStringiib+231>:     nop
0x40c0dd28 <_ZN5QFontC1ERK7QStringiib+232>:     nop
0x40c0dd29 <_ZN5QFontC1ERK7QStringiib+233>:     lea    0x0(%esi,1),%esi
0x40c0dd30 <_ZN5QFontC2ERKS_+0>:        push   %ebp
0x40c0dd31 <_ZN5QFontC2ERKS_+1>:        mov    %esp,%ebp
0x40c0dd33 <_ZN5QFontC2ERKS_+3>:        mov    0xc(%ebp),%eax
0x40c0dd36 <_ZN5QFontC2ERKS_+6>:        mov    0x8(%ebp),%edx
0x40c0dd39 <_ZN5QFontC2ERKS_+9>:        mov    (%eax),%eax
0x40c0dd3b <_ZN5QFontC2ERKS_+11>:       incl   (%eax)
0x40c0dd3d <_ZN5QFontC2ERKS_+13>:       mov    %eax,(%edx)
0x40c0dd3f <_ZN5QFontC2ERKS_+15>:       pop    %ebp
0x40c0dd40 <_ZN5QFontC2ERKS_+16>:       ret
0x40c0dd41 <_ZN5QFontC2ERKS_+17>:       nop
0x40c0dd42 <_ZN5QFontC2ERKS_+18>:       lea    0x0(%esi,1),%esi
0x40c0dd49 <_ZN5QFontC2ERKS_+25>:       lea    0x0(%edi,1),%edi
0x40c0dd50 <_ZN5QFontC1ERKS_+0>:        push   %ebp
0x40c0dd51 <_ZN5QFontC1ERKS_+1>:        mov    %esp,%ebp
---Type <return> to continue, or q <return> to quit---
0x40c0dd53 <_ZN5QFontC1ERKS_+3>:        mov    0xc(%ebp),%eax
0x40c0dd56 <_ZN5QFontC1ERKS_+6>:        mov    0x8(%ebp),%edx
0x40c0dd59 <_ZN5QFontC1ERKS_+9>:        mov    (%eax),%eax
0x40c0dd5b <_ZN5QFontC1ERKS_+11>:       incl   (%eax)
0x40c0dd5d <_ZN5QFontC1ERKS_+13>:       mov    %eax,(%edx)
0x40c0dd5f <_ZN5QFontC1ERKS_+15>:       pop    %ebp
0x40c0dd60 <_ZN5QFontC1ERKS_+16>:       ret
0x40c0dd61 <_ZN5QFontC1ERKS_+17>:       nop
0x40c0dd62 <_ZN5QFontC1ERKS_+18>:       lea    0x0(%esi,1),%esi
0x40c0dd69 <_ZN5QFontC1ERKS_+25>:       lea    0x0(%edi,1),%edi
0x40c0dd70 <_ZN5QFontD2Ev+0>:   push   %ebp
0x40c0dd71 <_ZN5QFontD2Ev+1>:   mov    %esp,%ebp
0x40c0dd73 <_ZN5QFontD2Ev+3>:   sub    $0x18,%esp
0x40c0dd76 <_ZN5QFontD2Ev+6>:   mov    %edi,0xfffffffc(%ebp)
0x40c0dd79 <_ZN5QFontD2Ev+9>:   mov    0x8(%ebp),%edi
0x40c0dd7c <_ZN5QFontD2Ev+12>:  mov    %ebx,0xfffffff4(%ebp)
0x40c0dd7f <_ZN5QFontD2Ev+15>:  mov    %esi,0xfffffff8(%ebp)
0x40c0dd82 <_ZN5QFontD2Ev+18>:  mov    (%edi),%esi
0x40c0dd84 <_ZN5QFontD2Ev+20>:  call   0x40b854f0 <__i686.get_pc_thunk.bx>
0x40c0dd89 <_ZN5QFontD2Ev+25>:  add    $0x49fa7b,%ebx
0x40c0dd8f <_ZN5QFontD2Ev+31>:  mov    (%esi),%eax
0x40c0dd91 <_ZN5QFontD2Ev+33>:  dec    %eax
0x40c0dd92 <_ZN5QFontD2Ev+34>:  test   %eax,%eax
---Type <return> to continue, or q <return> to quit---
0x40c0dd94 <_ZN5QFontD2Ev+36>:  mov    %eax,(%esi)
0x40c0dd96 <_ZN5QFontD2Ev+38>:  je     0x40c0ddb0 <_ZN5QFontD2Ev+64>
0x40c0dd98 <_ZN5QFontD2Ev+40>:  movl   $0x0,(%edi)
End of assembler dump.
(gdb) info all-registers
eax            0x0      0
ecx            0x81f7300        136278784
edx            0xbfffe340       -1073749184
ebx            0x410ad804       1091229700
esp            0xbfffe298       0xbfffe298
ebp            0xbfffe298       0xbfffe298
esi            0xbfffe340       -1073749184
edi            0xbfffe430       -1073748944
eip            0x40c0dd5b       0x40c0dd5b
eflags         0x10212  66066
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x0      0
gs             0x33     51
st0            0        (raw 0x00000000000000000000)
st1            1        (raw 0x3fff8000000000000000)
st2            0        (raw 0x00000000000000000000)
st3            0        (raw 0x00000000000000000000)
st4            0        (raw 0x00000000000000000000)
st5            0        (raw 0x00000000000000000000)
st6            0        (raw 0x00000000000000000000)
---Type <return> to continue, or q <return> to quit---
st7            0        (raw 0x00000000000000000000)
fctrl          0x37f    895
fstat          0x4020   16416
ftag           0xffff   65535
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
---Type <return> to continue, or q <return> to quit---
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
---Type <return> to continue, or q <return> to quit---
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
    0x8000000000000000, 0x8000000000000000}, v16_int8 = {
    0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
    0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
    0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
    0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
mxcsr          0x1f80   8064
mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
  v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x80}}
mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
---Type <return> to continue, or q <return> to quit---
mm5            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
    0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb)
Comment 1 Wolfgang Thiess 2004-03-27 08:55:08 UTC
Still buggy in KDE 3.2.1 (Konqueror 3.2.1, qt-3.3.0-r1)
Comment 2 Caleb Tennis (RETIRED) gentoo-dev 2004-05-26 08:58:11 UTC
if this persists in 3.2.2, you should file a bug at bugs.kde.org so that they konqueror devs can fix it.
Comment 3 Wolfgang Thiess 2004-08-16 07:20:55 UTC
This bug doesn't exist in KDE-3.2.3 any more. It may be closed.
Comment 4 Caleb Tennis (RETIRED) gentoo-dev 2004-08-16 07:53:15 UTC
per above comment