Closed
Bug 1238189
Opened 8 years ago
Closed 7 years ago
crash in UnescapeAndConvert when accessing http://www.w3.org/TR/html5/
Categories
(MailNews Core :: MIME, defect)
Tracking
(seamonkey2.42 unaffected, seamonkey2.43 affected)
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
seamonkey2.42 | --- | unaffected |
seamonkey2.43 | --- | affected |
People
(Reporter: tonymec, Unassigned)
References
()
Details
(Keywords: crash, regression, Whiteboard: [CLOSEME 2016-12-11 WFM])
Crash Data
This bug was filed from the Socorro interface and is report bp-6acce554-5804-4546-a200-0a76b2160109. ============================================================= Also: bp-407d43db-b159-4612-bf75-638e52160109 bp-51c78635-ffbf-47f3-a58d-82fbd2160108 bp-7770b15d-28da-4f35-9cb3-8906d2160108 bp-b45707b9-e4b4-4707-a1c0-840282160108 All these crashes (all at UnescapeAndConvert) happened during restart of a session containing a tab for http://www.w3.org/TR/html5/ — the two most recent just as I clicked that tab. Then I omitted that tab from the session to be restarted and there was no more crash. According to MXR, the identifier UnescapeAndConvert is a function name used only in the source file mailnews/compose/src/nsSmtpUrl.cpp (and in particular nowhere in mozilla-central) but I had set SeaMonkey to open only the browser and ChatZilla at startup, not MailNews The crashing build is: UA:"Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0 SeaMonkey/2.43a1" ID:20160108003001 en-US c-c:625d871a9669ee81da4b6128efc95301dae3f7cb m-c:d4213241bb796fdfa7a5ad4f1989e97b44474364 There was no crash with the same session in the previous nightly, whose seamonkey-2.43a1.en-US.linux-x86_64.txt had the following contents: 20160107003001 http://hg.mozilla.org/mozilla-central/rev/1ec3a3ff68f2d1a54e6ed33e926c28fee286bdf1 http://hg.mozilla.org/comm-central/rev/3f5e39b93615 and also none in any earlier build. Here are the crash details, as seen by Socorro for the most recent of these crashes (the one from which this bug report was generated): Signature UnescapeAndConvert More Reports Search UUID 6acce554-5804-4546-a200-0a76b2160109 Date Processed 2016-01-09T00:47:29.395992+00:00 Uptime 749 Last Crash 1435 seconds before submission Install Age 9552 since version was first installed. Install Time 2016-01-08 22:05:48 Product SeaMonkey Version 2.43a1 Build ID 20160108003001 Release Channel nightly OS Linux OS Version 0.0.0 Linux 4.1.13-5-default #1 SMP PREEMPT Thu Nov 26 16:35:17 UTC 2015 (49475c3) x86_64 Build Architecture amd64 Build Architecture Info family 6 model 23 stepping 10 | 2 Crash Reason SIGSEGV Crash Address 0x0 User Comments During crashed session restore. Again as I clicked on the tab for the W3C HTML5 standard. I'll omit it at next restart. App Notes OpenGL: Intel Open Source Technology Center -- Mesa DRI Intel(R) Q45/Q43 -- 2.1 Mesa 11.0.8 -- texture_from_pixmap WebGL? libGL.so.1? libGL.so.1+ GL Context? GL Context+ WebGL+ Processor Notes processor_prod-processor-i-69281bad_17121; MozillaProcessorAlgorithm2015; skunk_classifier: reject - not a plugin hang EMCheckCompatibility False Winsock LSP Adapter Vendor ID Adapter Device ID Bugzilla - Report this bug in SeaMonkey Core Plugins Toolkit Related Bugs Crashing Thread (0) Frame Module Signature Source 0 libxul.so UnescapeAndConvert /builds/slave/c-cen-t-lnx64/build/mailnews/compose/src/nsSmtpUrl.cpp:46 1 libxul.so nsMailtoUrl::ParseMailtoUrl(char*) /builds/slave/c-cen-t-lnx64/build/mailnews/compose/src/nsSmtpUrl.cpp:211 2 libxul.so nsMailtoUrl::ParseUrl() /builds/slave/c-cen-t-lnx64/build/mailnews/compose/src/nsSmtpUrl.cpp:305 3 libxul.so nsSmtpService::NewURI(nsACString_internal const&, char const*, nsIURI*, nsIURI**) /builds/slave/c-cen-t-lnx64/build/mailnews/compose/src/nsSmtpService.cpp:315 4 libxul.so nsIOService::NewURI(nsACString_internal const&, char const*, nsIURI*, nsIURI**) netwerk/base/nsIOService.cpp 5 libxul.so NS_NewURI(nsIURI**, nsACString_internal const&, char const*, nsIURI*, nsIIOService*) netwerk/base/nsNetUtil.inl 6 libxul.so NS_NewURI(nsIURI**, nsAString_internal const&, char const*, nsIURI*, nsIIOService*) netwerk/base/nsNetUtil.inl 7 libxul.so nsGenericHTMLElement::GetURIAttr(nsIAtom*, nsIAtom*, nsIURI**) const dom/html/nsGenericHTMLElement.cpp 8 libxul.so nsGenericHTMLElement::GetHrefURIForAnchors() const dom/html/nsGenericHTMLElement.cpp 9 libxul.so mozilla::dom::HTMLAnchorElement::GetHrefURI() const dom/html/HTMLAnchorElement.cpp 10 libxul.so mozilla::dom::Link::GetURI() const dom/base/Link.cpp 11 libxul.so mozilla::dom::Link::LinkState() const dom/base/Link.cpp 12 libxul.so nsIDocument::FlushPendingLinkUpdates() dom/base/nsDocument.cpp 13 libxul.so nsCSSFrameConstructor::ResolveStyleContext(nsStyleContext*, nsIContent*, nsFrameConstructorState*) layout/base/nsCSSFrameConstructor.cpp 14 libxul.so nsCSSFrameConstructor::ResolveStyleContext(nsIFrame*, nsIContent*, nsIContent*, nsFrameConstructorState*) layout/base/nsCSSFrameConstructor.cpp 15 libxul.so nsCSSFrameConstructor::ResolveStyleContext(nsCSSFrameConstructor::InsertionPoint const&, nsIContent*, nsFrameConstructorState*) layout/base/nsCSSFrameConstructor.cpp 16 libxul.so nsCSSFrameConstructor::AddFrameConstructionItems(nsFrameConstructorState&, nsIContent*, bool, nsCSSFrameConstructor::InsertionPoint const&, nsCSSFrameConstructor::FrameConstructionItemList&) layout/base/nsCSSFrameConstructor.cpp 17 libxul.so nsCSSFrameConstructor::ContentAppended(nsIContent*, nsIContent*, bool) layout/base/nsCSSFrameConstructor.cpp 18 libxul.so nsCSSFrameConstructor::CreateNeededFrames(nsIContent*) layout/base/nsCSSFrameConstructor.cpp 19 libxul.so nsCSSFrameConstructor::CreateNeededFrames(nsIContent*) layout/base/nsCSSFrameConstructor.cpp 20 libxul.so nsCSSFrameConstructor::CreateNeededFrames() layout/base/nsCSSFrameConstructor.cpp 21 libxul.so mozilla::RestyleManager::ProcessPendingRestyles() layout/base/RestyleManager.cpp 22 libxul.so PresShell::FlushPendingNotifications(mozilla::ChangesToFlush) layout/base/nsPresShell.cpp 23 libxul.so nsRefreshDriver::Tick(long, mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp 24 libxul.so mozilla::RefreshDriverTimer::TickRefreshDrivers(long, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) layout/base/nsRefreshDriver.cpp 25 libxul.so mozilla::RefreshDriverTimer::Tick(long, mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp 26 libxul.so mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp 27 libxul.so nsRunnableMethodImpl<void (mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::*)(mozilla::TimeStamp), true, mozilla::TimeStamp>::Run() xpcom/glue/nsThreadUtils.h 28 libxul.so nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp 29 libxul.so NS_ProcessNextEvent(nsIThread*, bool) /builds/slave/c-cen-t-lnx64/build/mozilla/xpcom/glue/nsThreadUtils.cpp:297 30 libxul.so mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp 31 libxul.so MessageLoop::Run() ipc/chromium/src/base/message_loop.cc 32 libxul.so nsBaseAppShell::Run() widget/nsBaseAppShell.cpp 33 libxul.so nsAppStartup::Run() /builds/slave/c-cen-t-lnx64/build/mozilla/toolkit/components/startup/nsAppStartup.cpp:281 34 libxul.so XREMain::XRE_mainRun() toolkit/xre/nsAppRunner.cpp 35 libxul.so XREMain::XRE_main(int, char**, nsXREAppData const*) toolkit/xre/nsAppRunner.cpp 36 libxul.so XRE_main toolkit/xre/nsAppRunner.cpp 37 seamonkey do_main /builds/slave/c-cen-t-lnx64-ntly/build/suite/app/nsSuiteApp.cpp:197 38 seamonkey main /builds/slave/c-cen-t-lnx64-ntly/build/suite/app/nsSuiteApp.cpp:330 Ø 39 libc-2.19.so libc-2.19.so@0x21b04 40 seamonkey _init 41 seamonkey seamonkey@0x55cb 42 seamonkey __libc_csu_fini 43 seamonkey seamonkey@0x55cb 44 seamonkey _start
Reporter | ||
Comment 1•8 years ago
|
||
From hg.mozilla.org: list of chagesets from the "last kown good" excluded to the "first known bad" included (most recent first): 625d871a9669 for bug 1231642 d880f3209683 for bug 1135663 (a=DONTBUILD) b2008d57aef4 for bug 1230739 601987a78df2 for bug 1237085 c73aed47dd73 for bug 1228438 586f1324ab64 for bug 1233827 b5ed5553699e for bug 1235355 015e0b60011d for bug 1236296 d991c6964795 for bug 1236164 09bf778fb288 for bug 1234619 17f2d83ce40a for bug 623986 I would have done it too for mozilla-central but there are too many. So I'm just extracting here the relevant info from comment #0: Last known good: 1ec3a3ff68f2d1a54e6ed33e926c28fee286bdf1 First known bad: d4213241bb796fdfa7a5ad4f1989e97b44474364
Comment hidden (offtopic) |
Reporter | ||
Comment 3•8 years ago
|
||
bp-2751cde4-c1db-4508-8da2-ff7992160110 The page can be read in Lynx (2.8.7rel.2, 21 Jun 2010) with no problem. Let's try a few others... - Firefox... OK UA:"Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0" (en-US) ID:20160109030208 CSet:0f363ae95dc90d593394ef464aa500804c824962 - Konqueror... OK in Webkit... OK in KHTML... OK in Okular (View Source) Konqueror 4.14.10 - Opera... OK Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36 OPR/32.0.1948.69 Firefox and SeaMonkey from ftp.mozilla.org, Konqueror and Opera from download.opensuse.org
Whiteboard: parity-Firefox
Comment 4•8 years ago
|
||
> All these crashes (all at UnescapeAndConvert) happened during restart of a session > containing a tab for http://www.w3.org/TR/html5/ I think that page has a mailto link > http://hg.mozilla.org/mozilla-central/annotate/d4213241bb79/dom/html/nsGenericHTMLElement.cpp#l1764 This calls NewURIWithDocumentCharset > http://hg.mozilla.org/mozilla-central/annotate/d4213241bb79/netwerk/base/nsNetUtil.inl#l126 > http://hg.mozilla.org/mozilla-central/annotate/d4213241bb79/netwerk/base/nsNetUtil.inl#l115 Which passes to NS_NewURI and then to ioService->NewURI() > http://hg.mozilla.org/mozilla-central/annotate/d4213241bb79/netwerk/base/nsIOService.cpp#l627 Since this is a mailto: uri it gets passed to: nsSmtpService::NewURI() > http://hg.mozilla.org/comm-central/annotate/1eb99f6f98f7/mailnews/compose/src/nsSmtpService.cpp#l315 nsMailtoUrl::ParseUrl() > http://hg.mozilla.org/comm-central/annotate/97f8959797c9/mailnews/compose/src/nsSmtpUrl.cpp#l305 nsMailtoUrl::ParseMailtoUrl() > http://hg.mozilla.org/comm-central/annotate/97f8959797c9/mailnews/compose/src/nsSmtpUrl.cpp#l211 nsMailtoUrl::ParseMailtoUrl() UnescapeAndConvert() mimeConverter->DecodeMimeHeaderToUTF8() > http://hg.mozilla.org/comm-central/annotate/97f8959797c9/mailnews/compose/src/nsSmtpUrl.cpp#l46
Component: General → MIME
Product: SeaMonkey → MailNews Core
Whiteboard: parity-Firefox
Comment 5•8 years ago
|
||
The code for UnescapeAndConvert contains all sorts of interesting edge cases for XPCONNECT. It is likely that some core mozilla code changed something, and that resulted in a failure of one of the edge cases. Edge cases: 1) Using an out parameter as an input. 2) Using AutoCString 3) In the JS, calling through arguments rather than directly. Thoughts, jcranmer?
Flags: needinfo?(Pidgeot18)
Comment 6•8 years ago
|
||
(In reply to Tony Mechelynck [:tonymec] from comment #0) > ... > The crashing build is: > UA:"Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0 > SeaMonkey/2.43a1" > ID:20160108003001 en-US > c-c:625d871a9669ee81da4b6128efc95301dae3f7cb > m-c:d4213241bb796fdfa7a5ad4f1989e97b44474364 > > There was no crash with the same session in the previous nightly, whose > seamonkey-2.43a1.en-US.linux-x86_64.txt had the following contents: > 20160107003001 > http://hg.mozilla.org/mozilla-central/rev/ > 1ec3a3ff68f2d1a54e6ed33e926c28fee286bdf1 > http://hg.mozilla.org/comm-central/rev/3f5e39b93615 > > and also none in any earlier build. your nod to possible regression range might not totally square with crash-stats, which lists these seamonkey crashes bp-e81ce54a-4f4d-4a4d-80e9-dc08a2151128 2015-11-28 17:53:54 bp cced7942-e446-47b9-81da-79b152151001 2015-10-01 06:48:20 these are the oldest I find. And no crashes for Thunderbird.
Comment 7•8 years ago
|
||
(In reply to Kent James (:rkent) from comment #5) > The code for UnescapeAndConvert contains all sorts of interesting edge cases > for XPCONNECT. It is likely that some core mozilla code changed something, > and that resulted in a failure of one of the edge cases. > > Edge cases: > > 1) Using an out parameter as an input. > 2) Using AutoCString > 3) In the JS, calling through arguments rather than directly. > > Thoughts, jcranmer? The crash is in UnescapeAndConvert, not anything deeper in xpconnect. As a SIGSEGV, the most likely scenario is someone is null, the obvious candidates being mimeConverter or possibly the string. The registers on the crashing thread seem to indicate that this is not the case, though, so my next guess (without being able to catch it in a debugger) is that there's some heap corruption that's overwriting a vtable pointer or vtable entry.
Flags: needinfo?(Pidgeot18)
Comment 8•8 years ago
|
||
Is this now WFM? Nothing on crash-stats with your email address after bp-7b2403eb-fb31-4cc4-b0ea-688722160701 - i.e. many months.
Flags: needinfo?(antoine.mechelynck)
Reporter | ||
Comment 9•8 years ago
|
||
(In reply to Wayne Mery (:wsmwk, NI for questions) from comment #8) > Is this now WFM? > Nothing on crash-stats with your email address after > bp-7b2403eb-fb31-4cc4-b0ea-688722160701 - i.e. many months. It's just that at comment #0 "I omitted that tab" from my session and did not restore it afterwards. I'll try. If it crashes again I shall say so and remove the tab again.
Reporter | ||
Comment 10•8 years ago
|
||
UA:"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49a1" ID:20161110003001 en-US c-c:5cb6c4f805a525ffda697c35221af3612f4cccf3 m-c:336759fad4621dfcd0a3293840edbed67018accd I've put that URL back into my session and it doesn't seem to crash — or not every time. I propose to close this bug if the crash does not reappear within a month.
Flags: needinfo?(antoine.mechelynck)
Whiteboard: [CLOSEME WFM 2016-12-11]
Updated•8 years ago
|
Whiteboard: [CLOSEME WFM 2016-12-11] → [CLOSEME 2016-12-11 WFM]
Reporter | ||
Comment 11•7 years ago
|
||
No reply to comment #10 in more than a month, closing.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•