Package: konqueror Version: 4:4.2.2-1 When I tried to open a web page in the Konqueror, it often stopped working for a while (didn't respond to actions, redraw window, etc). The same happened sometimes when I was closing the browser. And the overall performance was very low.
I strace'd an instance of the browser to find out what did it wait for: xima...@agavrichen2#9:~$ type watch-trace-for-waits watch-trace-for-waits is a function watch-trace-for-waits () { local DELAY=1 PRINTED=false LN=$(cat "$1" | wc -l); local SECCNT=$DELAY; while true; do if ! { ps -ef | grep -q "$2" }; then $PRINTED && echo $SECCNT; return; fi; local NEWLN=$(cat "$1" | wc -l); if [ "$NEWLN" == "$LN" ]; then if $PRINTED; then SECCNT=$(($SECCNT+$DELAY)); else echo -n "Trace line #"$(($LN+1))": "; PRINTED=true; fi; else if $PRINTED; then echo $SECCNT" seconds"; PRINTED=false; SECCNT=$DELAY; else LN="$NEWLN"; fi; fi; sleep $DELAY; done } xima...@agavrichen2#9:~$ strace konqueror 'http://google.com' 2>konq.strace & time watch-trace-for-waits konq.strace $! [1] 30964 Trace line #13901: 14 seconds Trace line #15903: 13 seconds Trace line #16708: 13 seconds Trace line #17311: 13 seconds Trace line #18362: 13 seconds Trace line #18848: 2 seconds Trace line #18856: 9 seconds Trace line #19860: 13 seconds <-- Soon after that, the page had been loaded <-- and I tried to close the window Trace line #21607: 4 seconds Trace line #21615: 5 seconds Trace line #21638: [1]+ Done strace konqueror 'http://google.com' 2> konq.strace 14 seconds Trace line #23669: 2 real 2m25.351s user 0m2.432s sys 0m3.660s xima...@agavrichen2#9:~$ cat konq.strace | lines 13901 15903 16708 17311 18362 18848 18856 19860 21607 21615 21638 13901: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 15903: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 16708: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 17311: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 18362: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 18848: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 18856: poll([{fd=8, events=POLLIN}], 1, 20512) = 1 ([{fd=8, revents=POLLIN}]) 19860: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 21607: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) 21615: poll([{fd=8, events=POLLIN}], 1, 19156) = 1 ([{fd=8, revents=POLLIN}]) 21638: poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) xima...@agavrichen2#9:~$ head -13901 konq.strace | egrep -n '^open.* = 8$' | tail -1 2571:open("/usr/lib/libdbus-1.so.3", O_RDONLY) = 8 xima...@agavrichen2#9:~$ head -21638 konq.strace | egrep -n '^open.* = 8$' | tail -1 2571:open("/usr/lib/libdbus-1.so.3", O_RDONLY) = 8 xima...@agavrichen2#9:~$ As you see, it took more than two minutes to show up the Google's main page, making web-surfing in Konqueror impossible. One and a half minute of these two was spent waiting for libdbus. After tracing Konqueror again with the strace string size set to a bigger value than the default one I've found that before poll()ing the DBus, the browser sends it a message containing words "modules/proxyscout: writev(8, [{"l\1\0\1\0\0\0I\0\0\0w\0\0\0\1\1o\0\23\0\0\0/modules/proxyscout\0\0\0\0\0\6\1s\0\f\0\0\0org.kde.kded\0\0\0\0\2\1s\0\27\0\0\0org.kde.KPAC.ProxyScout\0\3\1s\0\v\0\0\0proxyForUrl\0\0\0\0\0\10\1g\0\1s\0\0"..., 136}, {"6\0\0\0http://www.google.ru/intl/en_com/images/logo_plain.png\0"..., 59 }], 2) = 195 gettimeofday({1247848875, 377033}, NULL) = 0 poll([{fd=8, events=POLLIN}], 1, 25000) = 1 ([{fd=8, revents=POLLIN}]) I'm using proxy server autoconfiguration. Seems like Konqueror is not caching the autoconfiguration and every time you need to view a page, it sends a new query to the proxy configuration URL. If this is intended, it is a -- really -- bad idea. Two or five minutes per any single web page exceed much anyone's expectations. I'm using Debian GNU/Linux Testing/Squeeze: - kernel 2.6.26-2-686 (2.6.26-17) - libc6 2.9-12 -- Artyom Gavrichenkov | Engineer, HP Global Delivery Russia Center | Mailto: xima...@hp.com | Tel. No: +7 916 515 49 58 -- To UNSUBSCRIBE, email to debian-qt-kde-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org