| Summary: | konqueror consumes all memory when printing specific web page | ||
|---|---|---|---|
| Product: | [Applications] konqueror | Reporter: | mathpup |
| Component: | khtml printing | Assignee: | Allan Sandfeld <kde> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | andihartmann, avs, chatnick-spirou, glaurent, johann-nikolaus, krieger, rjwysocki, sts, thorsten.schnebeck |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
mathpup
2005-11-22 09:56:25 UTC
SVN -r 460545 crashes (3.5rc1 too).
khtml (render): Widows: 1
khtml (render): Widows: 1
khtml (render): Widows: 1
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208084096 (LWP 20859)]
0x087b5e9f in _int_malloc () from /lib/tls/libc.so.6
(gdb) bt
#0 0x087b5e9f in _int_malloc () from /lib/tls/libc.so.6
#1 0x087b7f01 in malloc () from /lib/tls/libc.so.6
#2 0x00d23357 in operator new () from /usr/lib/libstdc++.so.6
#3 0x0560ac0e in QGArray::newData () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#4 0x0560ad2b in QGArray::QGArray$base ()
from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#5 0x055fd4fe in QCString::QCString () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#6 0x002fdece in KEntry (this=0xbf4001b0) at ../../kdecore/kconfigdata.h:36
#7 0x00f85816 in KConfig::lookupData (this=0x8dfec18, _key=@0xbf4001c0)
at kconfig.cpp:250
#8 0x00f7e3a3 in KConfigBase::readEntryUtf8 (this=0x8dfec18,
pKey=0x92e3200 "InfoOutput") at kconfigbase.cpp:324
#9 0x00f7f740 in KConfigBase::readNumEntry (this=0x8dfec18,
pKey=0x92e3200 "InfoOutput", nDefault=2) at kconfigbase.cpp:586
#10 0x00f7f6fc in KConfigBase::readNumEntry (this=0x8dfec18, pKey=@0xbf401300,
nDefault=2) at kconfigbase.cpp:581
#11 0x00f6ebd3 in kDebugBackend (nLevel=0, nArea=6040,
data=0x92e3188 "Widows: 1\n") at kdebug.cpp:241
#12 0x00f6f418 in kdbgstream::flush (this=0xbf4014c0) at kdebug.cpp:336
#13 0x009abd87 in kdbgstream::operator<< (this=0xbf4014c0,
string=0x9cef29 "\n") at /opt/kde35b1/include/kdebug.h:232
#14 0x009abdc1 in endl (s=@0xbf4014c0) at /opt/kde35b1/include/kdebug.h:430
#15 0x009abbfe in kdbgstream::operator<< (this=0xbf4014c0,
f=0x9abd9c <endl(kdbgstream&)>) at /opt/kde35b1/include/kdebug.h:260
#16 0x05c7e471 in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1559
#17 0x05c7e54d in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1571
#18 0x05c7e54d in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1571
#19 0x05c7e54d in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1571
#20 0x05c7e54d in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1571
#21 0x05c7e54d in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1571
#22 0x05c7e54d in khtml::RenderBlock::layoutInlineChildren (this=0x92354ec,
relayoutChildren=true, breakBeforeLine=0) at bidi.cpp:1571
It runs out of stack space here, dumping out "Widows:1"... Reporter: I guess you don't have any ulimit on stack size? *** Bug 116881 has been marked as a duplicate of this bug. *** I did not have any ulimit set. When I do restrict the process virtual memory size, I get a segfault. So I think that the same thing is happening. It's just that in your system it terminated after running out of stack space, whereas on mine it just kept consuming system memory. *** Bug 116949 has been marked as a duplicate of this bug. *** *** Bug 87008 has been marked as a duplicate of this bug. *** *** Bug 118198 has been marked as a duplicate of this bug. *** *** Bug 118630 has been marked as a duplicate of this bug. *** *** Bug 119016 has been marked as a duplicate of this bug. *** *** Bug 119551 has been marked as a duplicate of this bug. *** Here's another case. This one's a very simple page. http://llvm.cs.uiuc.edu/docs/Stacker.html I was able to print two very similar documents from the same documentation set even though they were longer. Same problem occurs on http://www.rtd-denver.com/Routes/Route16/016Weekdays.html (kde 3.5.0 on i386 centos 3.6) SVN commit 497616 by carewolf:
Don't attempt to break before the first line in a text-run
BUG:116861
M +7 -2 bidi.cpp
--- branches/KDE/3.5/kdelibs/khtml/rendering/bidi.cpp #497615:497616
@@ -834,7 +834,11 @@
box = box->prevLineBox();
}
- if (orphans < style()->orphans()) {
+ if (orphans == 0) {
+ setNeedsPageClear(true);
+ doPageBreak = false;
+ } else
+ if (orphans < style()->orphans() ) {
#ifdef PAGE_DEBUG
kdDebug(6040) << "Orphans: " << orphans << endl;
#endif
@@ -1555,7 +1559,8 @@
widows++;
lineBox = lineBox->nextLineBox();
}
- if (widows < style()->widows()) {
+ // Widows rule broken and more orphans left to use
+ if (widows < style()->widows() && orphans > 0) {
kdDebug( 6040 ) << "Widows: " << widows << endl;
// Check if we have enough orphans after respecting widows count
int newOrphans = orphans - (style()->widows() - widows);
*** Bug 120230 has been marked as a duplicate of this bug. *** *** Bug 120879 has been marked as a duplicate of this bug. *** |