Bug 42707 - Javascript speed problem (http://nagoya.apache.org)
Summary: Javascript speed problem (http://nagoya.apache.org)
Status: RESOLVED DUPLICATE of bug 62785
Alias: None
Product: konqueror
Classification: Applications
Component: kjs (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR wishlist
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-05-17 10:33 UTC by smileyjonathan
Modified: 2005-12-13 09:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description smileyjonathan 2002-05-17 10:27:27 UTC
(*** This bug was imported into bugs.kde.org ***)

Package:           kjs
Version:           konqueror 3.0.0 (using KDE 3.0.0 )
Severity:          normal
Installed from:    SuSE RPMs
Compiler:          Not Specified
OS:                Linux
OS/Compiler notes: SuSE 8.0

konqueror locks up completely on some pages with JavaScript.  The Apache bug database query form is one example.

With Javascript enabled if I go to

http://nagoya.apache.org/bugzilla/query.cgi

scroll down to the "Program:" listbox.  As soon as I click on "Apache httpd 2.0" konqueror stops responding completely (no scrolling no repaints not even in other HTML windows and no response to window manager close actions).  I have to kill konqueror from a shell.  If I turn off Javascript before I go to the page it seems to work just fine.

(Submitted via bugs.kde.org)
Comment 1 David Faure 2002-10-30 14:41:31 UTC
It works. It's just that it's very very slow, because the JS code runs many loops, to     
find out the versions that apply to this program, and its components, etc.    
They should really use a database query instead of doing several O(n^2) loops in    
Javascript....   
   
The bug here might simply be a speed issue.   
With my verbose debug output I can't really check, but the question is how slow   
Konqueror is, compared to other browsers. Someone who has normal binaries of   
Konqueror-3.1-rc1, without debug output, should check and report back. 
 
If there's indeed a speed issue, then the next step is to profile this run and find out 
where most of the time is spent... 
Comment 2 smileyjonathan 2002-10-31 03:35:09 UTC
Warning: I'm only running Konqueror 3.0.4, not 3.1-rc1.    While speed is an issue, there's a more serious problem.  While JavaScript is  running, Konqueror freezes completely.  There's no feedback to tell a user  it's busy doing something.  No menus or buttons work, if other windows are  brought to the front, they are not redrawn, etc.    See my later bug report #42707 on how I think a well-written piece of software  should behave in such circumstances.  Somebody else has the same problem in  bug #36914.  Although #422707 is listed as resolved, I don't believe the  resolution is satisfactory.      If a piece of software isn't responding at all to user input, isn't  redrawing exposed windows and there's no visible sign that something is going  on, most people won't wait 30 seconds before concluding it's broken.  I think  it will be very hard to find a "good" timeout value given the variety of  machine speeds and scripting requirements out there.  The popup is a bandaid solution.     Could you at least spin the toolbar cog image while the interpreter is running and allow the stop button to abort the script?  Can I also suggest you write "JavaScript running" in the status line, but in a way that text (perhaps maliciously) written to Window.status doesn't clobber it?  The area where the download progress bar appears may be a good spot.    Ideally, run the user interface in a spearate thread.  That way the user doesn't have to hunt for the window that is hanging the entire Konqueror application and stop it.  JavaScript that creates new windows can make it hard to find the culprit.     On the speed comaprison, although , Konqueror 3.0.4 takes at least 5 times as long to run the script as Mozilla 1.0 (Mozilla/5.0 (X11; U; Linux i686;  en-US; rv:1.0.0) Gecko/20020529).      Mozilla 1.0: 9 seconds     Konq 3.0.4:  48 seconds (5 times slower)  Sorry, for being so difficult.  I'd like to contribute to actually solving the problem, but I just don't have time (not even to download 3.1-rc1).  Hopefully the detailed bug report and suggestions help in some small way. 
Comment 3 smileyjonathan 2002-10-31 03:41:09 UTC
I think the bugzilla login ate my formatting.  I'll try that again in the hope 
you can read it more easily... 
 
Warning: I'm only running Konqueror 3.0.4, not 3.1-rc1.   
   
While speed is an issue, there's a more serious problem.  While JavaScript is   
running, Konqueror freezes completely.  There's no feedback to tell a user   
it's busy doing something.  No menus or buttons work, if other windows are   
brought to the front, they are not redrawn, etc.   
   
See my later bug report #42707 on how I think a well-written piece of software   
should behave in such circumstances.  Somebody else has the same problem in   
bug #36914.  Although #422707 is listed as resolved, I don't believe the   
resolution is satisfactory.   
   
  If a piece of software isn't responding at all to user input, isn't   
redrawing exposed windows and there's no visible sign that something is going   
on, most people won't wait 30 seconds before concluding it's broken.  I think   
it will be very hard to find a "good" timeout value given the variety of   
machine speeds and scripting requirements out there.  The popup is a bandaid  
solution.  
   
  Could you at least spin the toolbar cog image while the interpreter is  
running and allow the stop button to abort the script?  Can I also suggest you  
write "JavaScript running" in the status line, but in a way that text (perhaps  
maliciously) written to Window.status doesn't clobber it?  The area where the  
download progress bar appears may be a good spot.  
  
  Ideally, run the user interface in a spearate thread.  That way the user  
doesn't have to hunt for the window that is hanging the entire Konqueror  
application and stop it.  JavaScript that creates new windows can make it hard  
to find the culprit.  
   
  On the speed comaprison, although , Konqueror 3.0.4 takes at least 5 times  
as long to run the script as Mozilla 1.0 (Mozilla/5.0 (X11; U; Linux i686;   
en-US; rv:1.0.0) Gecko/20020529).  
  
    Mozilla 1.0: 9 seconds  
    Konq 3.0.4:  48 seconds (5 times slower)  
  
Sorry, for being so difficult.  I'd like to contribute to actually solving the  
problem, but I just don't have time (not even to download 3.1-rc1).  Hopefully  
the detailed bug report and suggestions help in some small way.  
Comment 4 Koos Vriezen 2002-10-31 23:24:33 UTC
KDE 3.1rc1 takes about 7-9 sec on P-IV 2.4 GHz and yes Konquerors javascript runs a lot 
slower than Mozilla's. However KDE3.1 javascipt is some 30% faster than that of 3.0.x. 
 
Javascript doesn't run in a separate thread (don't know David/Harri opinion on this), but it 
does give you a possibility to abort the script after five seconds and repeats it after each 
ten seconds. 
Comment 5 Mathieu Jobin 2004-02-03 01:07:44 UTC
using KDE 3.2 rc1

I got a javascript look warning window.

I've click 3 times on continue,... still hang...

when I click on break, the browser wake up and everything was fine.

maybe somebody would like to run it in a debugger.

Comment 6 Ismail Donmez 2004-12-15 09:57:44 UTC
Using cvs head I see no lag at all. Menu comes instant. P3 703 mhz.
Comment 7 Maksim Orlovich 2005-12-13 09:13:49 UTC

*** This bug has been marked as a duplicate of 62785 ***