Crash while trying to print a page with SVG image

RESOLVED DUPLICATE of bug 297977

Status

()

--
critical
RESOLVED DUPLICATE of bug 297977
17 years ago
13 years ago

People

(Reporter: roland.mainz, Unassigned)

Tracking

({crash})

Trunk
Sun
Solaris
crash
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

17 years ago
2002-05-31-08-trunk build on Solaris 2.7/SPARC using Sun Workshop 7FCS; an
attempt to print http://www.skeeter-s.com/svg/new-lion.xhtml with Xprint module
ends like this:
-- snip --
t@1 (l@1) signal SEGV (no mapping at the fault address) in
nsUnicodeEncodeHelper::ConvertByTable at line 83 in file
"nsUnicodeEncodeHelper.cpp"
   83       if (!uMapCode((uTable*) aMappingTable, NS_STATIC_CAST(PRUnichar,
*(src++)), NS_REINTERPRET_CAST(PRUint16*, &med))) {
(dbx) where
current thread: t@1
=>[1] nsUnicodeEncodeHelper::ConvertByTable(this = 0x8347e0, aSrc = 0x2800,
aSrcLength = 0xffbed648, aDest = 0xffbed7dc "", aDestLength = 0xffbed644,
aShiftTable = 0xfe33f340, aMappingTable = 0xfe33f34c), line 83 in
"nsUnicodeEncodeHelper.cpp"
  [2] nsTableEncoderSupport::ConvertNoBuffNoErr(this = 0xa2c930, aSrc = 0x2800,
aSrcLength = 0xffbed648, aDest = 0xffbed7dc "", aDestLength = 0xffbed644), line
673 in "nsUCvMinSupport.cpp"
  [3] nsEncoderSupport::ConvertNoBuff(this = 0xa2c930, aSrc = 0x2800, aSrcLength
= 0xffbed6d8, aDest = 0xffbed7dc "", aDestLength = 0xffbed6d4), line 451 in
"nsUCvMinSupport.cpp"
  [4] nsEncoderSupport::Convert(this = 0xa2c930, aSrc = 0x2800, aSrcLength =
0xffbed7b0, aDest = 0xffbed7dc "", aDestLength = 0xffbed7b8), line 534 in
"nsUCvMinSupport.cpp"
  [5] SingleByteConvert(aSelf = 0xfce7ed08, aFont = 0x8bf128, aSrcBuf = 0x2800,
aSrcLen = -86102276, aDestBuf = 0xffbed7dc "", aDestLen = 1024), line 2041 in
"nsFontMetricsXlib.cpp"
  [6] nsFontXlibNormal::DrawString(this = 0xa3a370, aContext = 0xffbede58,
aSurface = 0x15, aX = -15905140, aY = -15339288, aString = 0x2800, aLength =
4208865020U), line 2667 in "nsFontMetricsXlib.cpp"
  [7] nsRenderingContextGTK::GetWidth(this = 0x8e19e0, aString = 0xffbede58,
aLength = 21U, aWidth = 0, aFontID = (nil)), line 1381 in
"nsRenderingContextGTK.cpp"
  [8] BinarySearchForPosition(acx = 0x8e19e0, aText = 0xffbede58, aBaseWidth =
0, aBaseInx = 0, aStartInx = 0, aEndInx = 43, aCursorPos = 5592, aIndex =
-77368212, aTextWidth = 0), line 3327 in "nsTextFrame.cpp"
  [9] nsPageFrame::DrawHeaderFooter(this = 0x886000, aPresContext = 0x88e7f8,
aRenderingContext = CLASS, aFrame = 0x886000, aHeaderFooter = eHeader, aJust =
2, aStr = CLASS, aRect = STRUCT, aAscent = 177, aHeight = 220, aWidth = 5592),
line 536 in "nsPageFrame.cpp"
  [10] nsPageFrame::DrawHeaderFooter(this = 0x886000, aPresContext = 0x88e7f8,
aRenderingContext = CLASS, aFrame = 0x886000, aHeaderFooter = eHeader, aJust =
0, aStr1 = CLASS, aStr2 = CLASS, aStr3 = CLASS, aRect = STRUCT, aAscent = 177,
aHeight = 220), line 491 in "nsPageFrame.cpp"
  [11] nsPageFrame::Paint(this = 0x886000, aPresContext = 0x88e7f8,
aRenderingContext = CLASS, aDirtyRect = STRUCT, aWhichLayer =
eFramePaintLayer_Overlay, aFlags = 0), line 715 in "nsPageFrame.cpp"
  [12] PresShell::Paint(this = 0x86e0a0, aView = 0x8d8e08, aRenderingContext =
CLASS, aDirtyRect = STRUCT), line 5819 in "nsPresShell.cpp"
  [13] nsView::Paint(this = 0x8d8e08, rc = CLASS, rect = STRUCT, aPaintFlags =
0, aResult = 1), line 278 in "nsView.cpp"
  [14] nsViewManager::PaintView(this = ???, aView = ???, aRC = CLASS, x = ???, y
= ???, aDamageRect = STRUCT) (optimized), at 0xfcad32cc (line ~1270) in
"nsViewManager.cpp"
  [15] nsViewManager::RenderDisplayListElement(this = ???, element = ???, aRC =
CLASS) (optimized), at 0xfcad3278 (line ~1258) in "nsViewManager.cpp"
  [16] nsViewManager::RenderViews(this = ???, aRootView = ???, aRC = CLASS,
aRect = STRUCT, aResult = ???) (optimized), at 0xfcad2e84 (line ~1138) in
"nsViewManager.cpp"
  [17] nsViewManager::Display(this = ???, aView = ???, aX = ???, aY = ???,
aClipRect = STRUCT) (optimized), at 0xfcad70a8 (line ~3066) in
"nsViewManager.cpp"
  [18] nsSimplePageSequenceFrame::PrintNextPage(this = 0x885ea8, aPresContext =
0x88e7f8), line 972 in "nsSimplePageSequence.cpp"
  [19] DocumentViewerImpl::PrintPage(this = 0x6cd300, aPresContext = 0x88e7f8,
aPrintSettings = 0x6bb3a0, aPO = 0x8b2890, aInRange = 1), line 3177 in
"nsDocumentViewer.cpp"
  [20] nsPagePrintTimer::Notify(this = 0x84d250, timer = 0xa35748), line 806 in
"nsDocumentViewer.cpp"
dbx: warning: can't find file
"/shared/bigtmp2/mozilla/2002-05-31-08-trunk/objdir_ws7ea2_gtk_svg/xpcom/build/nsTimerImpl.o"
dbx: warning: see `help finding-files'
  [21] nsTimerImpl::Fire(0xa35748, 0x2c9c, 0x1, 0xff16d1b8, 0xff15f0e8, 0x2c00),
at 0xff07dd40
  [22] handleTimerEvent(0x764ef0, 0xff16d1b0, 0xe12c8, 0xfef3d4a8, 0x0,
0xff15f0e8), at 0xff07dfac
dbx: warning: can't find file
"/shared/bigtmp2/mozilla/2002-05-31-08-trunk/objdir_ws7ea2_gtk_svg/xpcom/build/plevent.o"
  [23] PL_HandleEvent(0x764ef0, 0xff07de14, 0xa52d4, 0x1, 0x0, 0x764ef0), at
0xff073a80
  [24] PL_ProcessPendingEvents(0xa52d0, 0x162d60, 0x4, 0xff14a810, 0xff14a7f8,
0xff16ce60), at 0xff0738b8
dbx: warning: can't find file
"/shared/bigtmp2/mozilla/2002-05-31-08-trunk/objdir_ws7ea2_gtk_svg/xpcom/build/nsEventQueue.o"
  [25] nsEventQueueImpl::ProcessPendingEvents(0xac0e8, 0x0, 0xe95bc, 0x0, 0x0,
0x80004000), at 0xff075b8c
  [26] event_processor_callback(data = ???, source = ???, condition = ???)
(optimized), at 0xfc9a64c8 (line ~184) in "nsAppShell.cpp"
  [27] our_gdk_io_invoke(source = ???, condition = ???, data = ???) (optimized),
at 0xfc9a6088 (line ~76) in "nsAppShell.cpp"
dbx: warning: can't find file
"/home/gisburn/package-builds/glib/glib-1.2.8/objdir/giounix.lo"
  [28] g_io_unix_dispatch(0x2b47d8, 0xffbeeee8, 0x16d000, 0x0, 0x0, 0xffbeee50),
at 0xfe9b2dc8
dbx: warning: can't find file
"/home/gisburn/package-builds/glib/glib-1.2.8/objdir/gmain.lo"
  [29] g_main_dispatch(0xffbeeee8, 0xf28b0, 0x1, 0x0, 0xfeb5155b, 0x378), at
0xfe9b6dc8
  [30] g_main_iterate(0x1, 0x1, 0x5, 0xff3e4270, 0xfc997803, 0x18), at
0xfe9b7bcc
  [31] g_main_run(0x16ce08, 0x16ce08, 0x1, 0xfca345d0, 0xfca345d4, 0x166344), at
0xfe9b7f64
dbx: warning: can't find file
"/home/gisburn/package-builds/gtk+/gtk+-1.2.8/objdir/gtk/gtkmain.lo"
  [32] gtk_main(0xac0e8, 0x13e5f0, 0xffbeefc4, 0xffbeefc8, 0x0, 0xfc9a6a38), at
0xfecd60a0
  [33] nsAppShell::Run(this = ???) (optimized), at 0xfc9a698c (line ~332) in
"nsAppShell.cpp"
  [34] nsAppShellService::Run(this = 0x10ffb0), line 450 in
"nsAppShellService.cpp"
  [35] main1(argc = 2, argv = 0xffbef3b4, nativeApp = (nil)), line 1456 in
"nsAppRunner.cpp"
  [36] main(argc = 2, argv = 0xffbef3b4), line 1805 in "nsAppRunner.cpp"
-- snip --


I see the problem here:
-- snip --
  [6] nsFontXlibNormal::DrawString(this = 0xa3a370, aContext = 0xffbede58,
aSurface = 0x15, aX = -15905140, aY = -15339288, aString = 0x2800, aLength =
4208865020U), line 2667 in "nsFontMetricsXlib.cpp"
  [7] nsRenderingContextGTK::GetWidth(this = 0x8e19e0, aString = 0xffbede58,
aLength = 21U, aWidth = 0, aFontID = (nil)), line 1381 in
"nsRenderingContextGTK.cpp"
-- snip --
We are trying to draw a string using Xprint(=Xlib) fontmetrics using a
|nsRenderingContextGTK| (same will occur if you try it with PostScript module,
then you use PS fontmetrics on a |nsRenderingContextGTK| rendering context).

It looks the SVG code is somehow creating a rendering context which is obtained
from the wrong device. BAD.

Updated

16 years ago
Depends on: 182533

Updated

15 years ago
Severity: normal → critical
Keywords: crash
Mass reassign of SVG bugs that aren't currently being worked on by Alex to
general@svg.bugs. If you think someone should be assigned to your bug you can
join the #svg channel on mozilla.org's IRC server ( irc://irc.mozilla.org/svg )
where you can try to convince one of the SVG hackers to work on it. We aren't
always there, so if you don't get a response straight away please try again later. 
Assignee: alex → general

Comment 2

13 years ago
Different sort of crash given how the SVG code has changed, but we still crash
on SVG printing on linux.


*** This bug has been marked as a duplicate of 297997 ***
Status: NEW → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → DUPLICATE

Comment 3

13 years ago
Duped to the wrong bug, reopening.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---

Comment 4

13 years ago

*** This bug has been marked as a duplicate of 297977 ***
Status: REOPENED → RESOLVED
Last Resolved: 13 years ago13 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.