Version: (using KDE KDE 3.4.90) Installed from: Debian testing/unstable Packages OS: Linux KDE 3.4.91, from Kubuntu Hoary packages. KHTML freezes on loading the attached page, which is part of a 'Django' admin screen. Konqueror popped up with the 'KHTML is freezed, Abort/Continue' dialog after about 5 seconds, and if I pressed Continue, Konqueror would immediately unfreeze, which I thought strange. Since then, I checked the "Don't ask again" and pressed "Continue" and now when I load the page it freezes permanently, and I have to kill Konqueror. I also can't work out how to undo the "Don't ask again" option (so it does ask me again), which is rather annoying, but another story! This definitely worked in KDE 3.4.0 I have tried to cut out as much irrelevant stuff from the code as possible, but have run out of energy and expertise. So far I have traced the freeze to: addEvent() -> DateTimeShortcuts.init() -> DateTimeShortcuts.addCalendar() -> DateTimeShortcuts.calendars[num].drawCurrent() This makes it impossible to use the admin screens of the new web framework 'Django', wherever the admin screens have datetime fields and calendars (other screens still work fine). Cheers.
Created attachment 12680 [details] Test page - KHTML freezes on loading
As an interim measure, can anyone please tell me how to get Konqueror's automatic detection of KHTML freezing to turned back on? It would make my life much better at the moment... I've searched and grepped to no avail. Thanks!
Google+KDE SVN+KDE docs and I eventually found the answer to my last query, no need to answer it: In ~/.kde/share/config/konquerorrc, under [Notification Messages], set kjscupguard_alarmhandler=yes
Updated report on the original bug: if you have javascript error reporting turned on, the behaviour reported doesn't occur. Instead, I get a few seconds of 100% CPU activity, followed by a series of error message like this: An error occurred while attempting to run a script on this page. file:///home/luke/Desktop/django_konq_freeze.html line 210: Error: Error Also errors on line 283 and 264.
the regression is my fault,so I better fix it...
testcase: <script type="text/javascript"> function freeze() { tableRow = document.createElement("tr"); // Draw blanks after end of month (optional, but makes for valid code) while (tableRow.childNodes.length < 7) { child = document.createElement('td'); tableRow.appendChild(child); } } </script> </head> <body onload="freeze()"> </body> </html>
Created attachment 13451 [details] patch
SVN commit 484463 by orlovich: Don't forget to invalidate iteration caches when non-visible elements get shuffled. Fixes #113181 BUG:113181 M +1 -0 dom_nodeimpl.cpp --- branches/KDE/3.5/kdelibs/khtml/xml/dom_nodeimpl.cpp #484462:484463 @@ -624,6 +624,7 @@ void NodeImpl::dispatchSubtreeModifiedEvent() { childrenChanged(); + getDocument()->incDOMTreeVersion(); if (!getDocument()->hasListenerType(DocumentImpl::DOMSUBTREEMODIFIED_LISTENER)) return; int exceptioncode = 0;
SVN commit 484464 by orlovich: Regression test for 113181 CCBUG:113181 A baseline/dom/113181.html-dom A baseline/dom/113181.html-render A tests/dom/113181.html
*** Bug 119347 has been marked as a duplicate of this bug. ***