Closed Bug 11832 Opened 25 years ago Closed 25 years ago

[PP]mac[CRASH][REGRESSION] Bookmarks|Manage Bookmarks sometimes crashes

Categories

(SeaMonkey :: UI Design, defect, P1)

PowerPC
Mac System 8.5

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: cmaximus, Assigned: nisheeth_mozilla)

References

Details

(Whiteboard: looking into this for M9 fix on Sat 08/21)

*Summary
        Selecting Bookmarks|Manage Bookmarks caused a crash(crashed OS too) for
me 4X in a row, but now it won't. Instead now I get a small window with absolutely
nothing in it.

*To Repro
	0. Add some bookmarks, play around with 'em.
        1. Select Bookmarks|Manage Bookmarks.
        2. Wait a sec.
        3. BOOM!

*Build info
        This bug was tested with the 1999081208 builds on MacOS 8.5.1, WinNTsp4, and
RHLinux6.0. This bug is reproducible on MacOS only. MacOS 8.6 was not tested at this time.

*Expected Results
        After selecting Manage Bookmarks one should be presented with the Manage Bookmarks
window and be able to go about one's merry way.

*Actual Results
        After selecting the Manage Bookmarks menuitem, sometimes Seamonkey and the whole
OS crash. I reproduced this several times. Recently however, instead of crahing I'm presented
with a small window with absolutely_nothing_in_it. No column headers, no content, nothing.

*Additional Info
	Sorry about the gratuitous use of the []'s I just didn't want it to miss anyone's radar.
ccing chofmann in hopes this will make M9.
here's the stack trace from Talkback:(excuse the formatting)





   .__ptr_glue





   nsExpatTokenizer::OpenInputStream()

                                                      [nsExpatTokenizer.cpp, line

530]



   nsExpatTokenizer::HandleExternalEntityRef()

                                                      [nsExpatTokenizer.cpp, line

608]



   doProlog()

                                                      [xmlparse.c, line 2268]



   prologProcessor()

                                                      [xmlparse.c, line 2145]



   prologInitProcessor()

                                                      [xmlparse.c, line 2134]



   XML_Parse()

                                                      [xmlparse.c, line 867]



   nsExpatTokenizer::ParseXMLBuffer()

                                                      [nsExpatTokenizer.cpp, line

287]



   nsExpatTokenizer::ConsumeToken()

                                                      [nsExpatTokenizer.cpp, line

325]



   nsParser::Tokenize()

                                                      [nsParser.cpp, line 1263]



   nsParser::ResumeParse()

                                                      [nsParser.cpp, line 885]



   nsParser::OnDataAvailable()

                                                      [nsParser.cpp, line 1168]



   nsDocumentBindInfo::OnDataAvailable()

                                                      [nsDocLoader.cpp, line

2057]



   Network.shlb + 0xf30 (0x0da23f00)





   Network.shlb + 0x220 (0x0da231f0)





   PL_HandleEvent()





   PL_ProcessPendingEvents()





   nsEventQueueImpl::ProcessPendingEvents()

                                                      [nsEventQueue.cpp, line

117]



   EventDispatchingFunc()

                                                      [nsEventQueueService.cpp,

line 352]



   _hashEnumerate()

                                                      [nsHashtable.cpp, line 81]



   PL_HashTableEnumerateEntries()





   nsHashtable::Enumerate()            [nsHashtable.cpp, line 210]



   nsEventQueueServiceImpl::ProcessEvents()   [nsEventQueueService.cpp, line 363]
Status: NEW → ASSIGNED
Target Milestone: M9
Love to work on this, but my build from today crashes on startup
Priority: P3 → P1
Summary: [PP][CRASH][REGRESSION] Bookmarks|Manage Bookmarks sometimes crashes → [PP]mac[CRASH][REGRESSION] Bookmarks|Manage Bookmarks sometimes crashes
Assignee: slamm → waterson
Status: ASSIGNED → NEW
taking this bug for initial investigation
Status: NEW → ASSIGNED
Whiteboard: looking into this
This is mac-specific, right? I am not able to reproduce on win32...
I was playing around on windows and saw a crash when playing with
the bookmark manage dialog..
http://cyclone/reports/stackcommentemail.cfm?dynamicBBID=12390124

the windows stack looks much different
ncident ID 12390124
0x01d4d93c
nsWebShell::CreateScriptEnvironment
[d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 3163]
nsWebShell::GetScriptGlobalObject
[d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 3194]
DocumentViewerImpl::Init
[d:\builds\seamonkey\mozilla\layout\base\src\nsDocumentViewer.cpp, line 375]
nsWebShell::Embed [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line
943]
nsDocumentBindInfo::OnStartRequest
[d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 1954]
nsHTTPResponseListener::FinishedResponseHeaders
[d:\builds\seamonkey\mozilla\netwerk\protocol\http\src\nsHTTPResponseListener.cp
p, line 629]
nsHTTPResponseListener::OnDataAvailable
[d:\builds\seamonkey\mozilla\netwerk\protocol\http\src\nsHTTPResponseListener.cp
p, line 154]
nsOnDataAvailableEvent::HandleEvent
[d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line
350]
nsStreamListenerEvent::HandlePLEvent
[d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line
150]
PL_HandleEvent [plevent.c, line 510]
PL_ProcessPendingEvents [plevent.c, line 471]
_md_EventReceiverProc [plevent.c, line 936]
KERNEL32.DLL + 0x35d9 (0xbff735d9)
KERNEL32.DLL + 0x2222f (0xbff9222f)
0x00638c00
should also note that this crash was not reproducable when I play some more.
I also see some funny behavior in that if I click on one of the bookmarks
in the the manage bookmark dialogs I launch the url that I've bookmarked
in a new window, but when the page has fininshed loading it reloads
the home page (http://www.mozillazine.org)
sideba shows this funky reloading behavia too.  is thata 'notha bug?
more interesting stuff on the bookmark load, then reloading the home page thang.
look like it only happens when clicking on the last bookmark added to bookmark
list.
Somehow it gets its knickers in a knot if you try to open the same bookmark
several times from the "manage bookmarks" window. I'm seeing it call
nsXULDocument::RemoveChild(), which is bizarre. I'll start to prowl through the
JS.
if any one can get the knots out of knickers, its waterson.
Assignee: waterson → rjc
Status: ASSIGNED → NEW
Robert, could you take a look at this bug? It seems to have to do with inline
editing. To reproduce:

1. Open the Manage Bookmarks window.
2. Find a bookmark, preferably one near the top of the hierarchy (e.g.,
choosing a newly added bookmark would be good).
3. Single-click on the bookmark. Wait 10 sec.
4. Single-click again on the bookmark. This may open a new browser window; if
it does, dismiss the window.
5. Single-click again. This will assert, because its trying to remove a node
from the document object.

I took a brief spin through the code in "bookmarks.js" and am not sure what's
going on. It looks like you're adding and removing nodes to the DOM and
something is getting screwed up.
Status: NEW → ASSIGNED
Chris (Waterson), try this:

cd \mozilla\xpfe\components\bookmarks\resources
edit bookmarks.xul
remove the onclick() handler from the bookmarks tree (around line #74).... make
sure NOT to remove the ondblclick() handler.
(On Windows) in the resources dir, "nmake /f makefile.win" to export the change
into $DIST

Now try it. Does that fix the problem?
Chris (Waterson) says it fixes it.

Chris (Hoffman), may I have your permission to check in this simple fix to a
JavaScript file?
ok on the fix.  checkin.

how about the wierd last bookmark page reload thing.
can rjc and waterson show this to danm to see if its
related to some wierd page loading behavior that we was looking
at with joki today?
QA Contact: beppe → claudius
What's the deal here?  Are onclick and ondblclick fighting for adjacent clicks,
and both firing where only one should?  Or is the JS in question misbehaving
when given unexpected mixtures of single and double clicks?

/be
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Fixed.

Brendan, the issue was with making changes to XUL via the DOM which hits some
snags in RDF-land that need fixing at some point.
Status: RESOLVED → REOPENED
Reopening bug because it still crashes(on MAC) with the 1999081609 builds. The

stack trace is different, it is no longer failing where it used to but it still

crashes nonetheless.

Here is a MacsBug stack trace:



 Calling chain using A6/R1 links

  Back chain  ISA  Caller

  00000000    PPC  0D8CF3D0

  05652C80    PPC  0D8CE8F8  main+0002C

  05652C30    PPC  0D8CE6B0  main1(int, char**)+00DA0

  05652A50    PPC  0D603470  nsAppShellService::Run()+00018

  05652A10    PPC  0D5C96E8  nsAppShell::Run()+00038

  05652990    PPC  0D5CA1DC  nsMacMessagePump::DoMessagePump()+0003C

  05652940    PPC  0D5CA494  nsMacMessagePump::DispatchEvent(int, EventRecord*)+

00158

  056528F0    PPC  0D850564  Repeater::DoRepeaters(const EventRecord&)+00030

  056528B0    PPC  0D5AE1A0  nsToolkit::RepeatAction(const EventRecord&)+00048

  05652860    PPC  0D7E2AD4  nsEventQueueServiceImpl::ProcessEvents()+00020

  05652820    PPC  0D7DE5F8  nsHashtable::Enumerate(int (*)(nsHashKey*, void*,

void*), void*)

+00024

  056527E0    PPC  0D8577C4  PL_HashTableEnumerateEntries+00060

  05652770    PPC  0D7DDF1C  _hashEnumerate(PLHashEntry*, int, void*)+00024

  05652730    PPC  0D7E2A44  EventDispatchingFunc(nsHashKey*, void*, void*)+0002C

  056526F0    PPC  0D7F5B34  nsEventQueueImpl::ProcessPendingEvents()+00010

  056526B0    PPC  0D856BB8  PL_ProcessPendingEvents+00078

  05652660    PPC  0D856C58  PL_HandleEvent+00028

  05652620    PPC  0CF4A1E0  nsStreamListenerEvent::HandlePLEvent(PLEvent*)+0001C

  056525D0    PPC  0CF4AEF0  nsOnDataAvailableEvent::HandleEvent()+00034

  05652580    PPC  0D50115C  nsDocumentBindInfo::OnDataAvailable(nsIChannel*,

nsISupports*, n

sIInputStream*, unsigned int, unsigned int)+000DC

  05652510    PPC  0D1B8720  nsParser::OnDataAvailable(nsIChannel*, nsISupports*,

nsIInputStr

eam*, unsigned int, unsigned int)+001D0

  056524B0    PPC  0D1B80F0  nsParser::ResumeParse(nsIDTD*, int)+00090

  05652460    PPC  0D1B89D4  nsParser::Tokenize(int)+0008C

  05652410    PPC  0D1D7580  nsExpatTokenizer::ConsumeToken(nsScanner&)+00068

  056523C0    PPC  0D1D7454  nsExpatTokenizer::ParseXMLBuffer(const char*,

unsigned int, int)

+0003C

  05652370    PPC  0D1DAA6C  XML_Parse+0011C

  05652310    PPC  0D1DD934  prologInitProcessor+00058

  056522D0    PPC  0D1DD9E4  prologProcessor+0006C

  05652280    PPC  0D1DDD84  doProlog+00358

  056521E0    PPC  0D1D81B8  nsExpatTokenizer::HandleExternalEntityRef(void*,

const char*, co

nst char*, const char*, const char*)+000BC

  056520F0    PPC  0D1D7E20  nsExpatTokenizer::OpenInputStream(const nsString&,

const nsStrin

g&, nsIInputStream**, nsString*)+00060

 Return addresses on the stack

  Stack Addr  Frame Addr   ISA   Caller

   05652418                PPC   0D1B89D4 nsParser::Tokenize(int)+0008C

   056523F4                68K   04C91F66

   056523D8    056523D0    PPC   0D1B88DC nsParser::WillTokenize(int)+00028

   056523C8    056523C0    PPC   0D1D7580

nsExpatTokenizer::ConsumeToken(nsScanner&)+00068

   0565239C                68K   04C91F66

   05652378    05652370    PPC   0D1D7454 nsExpatTokenizer::ParseXMLBuffer(const

char*, unsig

ned int, int)+0003C

   05652338                PPC   0D8BA52C operator new(unsigned long, const

std::nothrow_t&)+

00014

   05652318    05652310    PPC   0D1DAA6C XML_Parse+0011C

   056522D8    056522D0    PPC   0D1DD934 prologInitProcessor+00058

   056522A8                PPC   0D80AE0C nsString::Append(const char*, int)+

000AC

   05652298                68K   049DFC1A

   05652288    05652280    PPC   0D1DD9E4 prologProcessor+0006C

   0565224C                68K   04C96826

   05652208                PPC   0D1DD4CC initializeEncoding+000C4

   056521E8    056521E0    PPC   0D1DDD84 doProlog+00358

   05652180                68K   04C91F66

   05652164                68K   04C91F66

   05652148                68K   04C91F66

   05652108    05652100    PPC   0D8BB5C8 calloc+00030

   056520F8    056520F0    PPC   0D1D81B8

nsExpatTokenizer::HandleExternalEntityRef(void*, co

nst char*, const char*, const char*, const char*)+000BC

   056520BC                68K   04C96826

   056520B8    056520B0    PPC   0D808D7C nsString::nsString(eCharSize,

nsIMemoryAgent*)+0002

0

   05652098    05652090    PPC   0D1D7E20 nsExpatTokenizer::OpenInputStream(const

nsString&,

const nsString&, nsIInputStream**, nsString*)+00060

   05652078    05652070    PPC   0D802CA8 nsStr::Initialize(nsStr&, eCharSize)+

00018

   05652068    05652060    PPC   0D80AA84 nsString::Assign(const unsigned short*,

int)+00040

   05652048    05652040    PPC   0D84ED84 NS_OpenURI(nsIInputStream**, nsIURI*)+

00018
Resolution: FIXED → ---
clearing fixed resolution, cc'ing leger
I should state that I was unable to reproduce the assert on windows following
waterson's previous directions.
Assignee: rjc → nisheeth
Status: REOPENED → NEW
This crash is different, and far away from RDF.  Looks like the XML parser
maybe...  Re-assigning to Nisheeth.  (Sorry, Nisheeth!)
Also cc'ing Gagan, as its getting to NS_OpenURI (so, maybe Necko).
Claudius, does this happen with the original set of repro instructions? Any
chance I could get you to narrow stuff down a bit?
I can reproduce this crash merely by running apprunner and selecting "Bookmarks
| Manage Bookmarks".
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → DUPLICATE
*** This bug has been marked as a duplicate of 10703 ***
To answer waterson's question. Like I said, following your repro directions on windows
works w/o problem on WinNT.  I originally wrote this as a Mac bug however. Following
my initial repro directions still crashes - just differently, on Mac.

Niseeth, this is really a dupe of bug 10703, that's not a typo? I see the XML parser calls but
wouldn't other stuff be crashing too, not just Manage Bookmarks?
Necko currently does not support blocking reads on HTTP urls.  It seems like the
bookmarks XML file is trying to load up an external DTD or external entity with
an http URL leading to the crash in Necko.  Robert, if that is the case, then
this bug is a duplicate of 10703.  Otherwise, I goofed and we should re-open
this bug.
I'm not sure what its trying to load. Its probably worthwhile for something to
check.  Note that this crasher is relatively new in appearing.
*** Bug 11993 has been marked as a duplicate of this bug. ***
*** Bug 11993 has been marked as a duplicate of this bug. ***
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
I am reopening this bug because its not a duplicate of 10703.  I can't take a
look at this till Friday night, though, because I am away for an XML demo.  If
somebody in Necko land can take over this bug for the next two days, that would
be great.  Otherwise, I'll work on this on Saturday.
Whiteboard: looking into this → looking into this for M9 fix on Sat 08/21
So, it sounds like Win as well as Mac has a problem here, yes?  claudius, can we
consider a release note for M9?
This is currently only a MAC issue as labeled. The Win32 issues mentioned earlier appear fixed.

I will check weekend builds for a fix, absent that I will write a release note for Monday.
It's all my fault. sdagley and nisheeth told me that the 'dtd' file is never
exported on the Mac. While the MANIFEST file is listed in NGLayoutBuildList.pl,
I forgot to check it in.

We need to add xpfe/components/bookmarks/resources/locale/MANIFEST with the
following lines:

en-US:bm-props.dtd
en-US:bookmarks.dtd
Thanks for fixing that, slamm.  I think that this bug should be left open and
the summary renamed to indicate that we should NOT crash if a DTD file isn't
available.  :^)
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
We no longer crash when a DTD is not present.
nsChromeProtocolHandler::NewChannel was returning NS_OK even when Necko returned
an error code.  On fixing that, we no longer crash.  This fix was checked in by
Steve Dagley on the tip.  We are not planning to check it into the branch.
Status: RESOLVED → VERIFIED
listen closely. This bug is now fixed and VERIFIED for 1999082412-M9 builds
AND for 1999082513-M10.
Product: Core → Mozilla Application Suite
You need to log in before you can comment on or make changes to this bug.