Closed Bug 149172 Opened 22 years ago Closed 22 years ago

bookmark import fails (control g)

Categories

(Camino Graveyard :: Bookmarks, defect)

PowerPC
macOS
defect
Not set
major

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 154698

People

(Reporter: davelentz, Assigned: saari)

References

()

Details

Chimera 0.2.8 NB 2002-06-02-02 crashes on startup when referencing my home page
as the initial page.  Works OK with other initial pages.

Possible relevancies are:
1) page tries to use XHTML with a smattering of CSS -- but it works OK with
several other browsers (Mozilla, Netscape 4.7.x, IE 5.x) on both Windows and Mac
platforms
2) My bookmarks file is on the large side (240K).  But the same bookmarks file
is used when starting with other initial pages, so maybe not.  But the crash is
reported as occurring in BookmarksService::AddMenuBookmark, so go figure.

messages to console are as follows:

2002-06-04 01:01:45.531 Navigator[354] getting home page
2002-06-04 01:01:45.532 Navigator[354] startup.page: 1
Repairing personal toolbar.
2002-06-04 01:01:47.392 Navigator[354] getting home page
2002-06-04 01:01:47.392 Navigator[354] startup.page: 1
Jun 4 01:01:48 dsl254-035-015 /usr/libexec/CrashReporter: Succeeded 
writing crash report: /Users/dave/Library/Logs/Navigator.crash.log

crash log:

Date/Time: 2002-06-04 01:01:47 -0500
OS Version: 10.1.4 (Build 5Q125)
Host: dsl254-035-015.sea1.dsl.speakeasy.net

Command: Navigator
PID: 354

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0 Crashed:
#0 0x0001a864 in BookmarksService::AddMenuBookmark(NSMenu *, nsIContent 
*, nsIContent *, int)
#1 0x0001a66c in BookmarksService::ConstructBookmarksMenu(NSMenu *, 
nsIContent *)
#2 0x00004828 in -[MainController awakeFromNib]
#3 0x708a0170 in -[NSSet makeObjectsPerformSelector:]
#4 0x70c17790 in -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:]
#5 0x70c63830 in loadNib
#6 0x70c1f050 in +[NSBundle(NSNibLoading) 
_loadNibFile:nameTable:withZone:ownerBundle:]
#7 0x70c69a98 in +[NSBundle(NSNibLoading) 
loadNibFile:externalNameTable:withZone:]
#8 0x70c5e014 in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
#9 0x70c91e74 in NSApplicationMain
#10 0x00002c6c in _start
#11 0x00002a9c in start

Thread 1:
#0 0x70000978 in mach_msg_overwrite_trap
#1 0x70005a04 in mach_msg
#2 0x70026a2c in _pthread_become_available
#3 0x70026724 in pthread_exit
#4 0x70848ba0 in -[NSThread _exit]
#5 0x70842368 in forkThreadForFunction
#6 0x7002054c in _pthread_body

Thread 2:
#0 0x700252fc in select
#1 0x00161758 in poll
#2 0x0015de70 in _pr_poll_with_poll
#3 0x020f4684 in nsSocketTransportService::Run(void)
#4 0x00234800 in nsThread::Main(void *)
#5 0x0015f32c in _pt_root
#6 0x7002054c in _pthread_body

Thread 3:
#0 0x7003f4c8 in semaphore_wait_signal_trap
#1 0x7003f2c8 in _pthread_cond_wait
#2 0x0015a418 in PR_WaitCondVar
#3 0x020fe914 in nsDNSService::DequeuePendingQ(void)
#4 0x020fe31c in nsDNSService::Run(void)
#5 0x00234800 in nsThread::Main(void *)
#6 0x0015f32c in _pt_root
#7 0x7002054c in _pthread_body

Thread 4:
#0 0x70044cf8 in semaphore_timedwait_signal_trap
#1 0x70044cd8 in semaphore_timedwait_signal
#2 0x0015a1b4 in pt_TimedWait
#3 0x0015a42c in PR_WaitCondVar
#4 0x00238260 in TimerThread::Run(void)
#5 0x00234800 in nsThread::Main(void *)
#6 0x0015f32c in _pt_root
#7 0x7002054c in _pthread_body

Thread 5:
#0 0x7003f4c8 in semaphore_wait_signal_trap
#1 0x7003f2c8 in _pthread_cond_wait
#2 0x0015a418 in PR_WaitCondVar
#3 0x00235920 in nsThreadPool::GetRequest(nsIThread *)
#4 0x00236274 in nsThreadPoolRunnable::Run(void)
#5 0x00234800 in nsThread::Main(void *)
#6 0x0015f32c in _pt_root
#7 0x7002054c in _pthread_body

PPC Thread State:
srr0: 0x0001a864 srr1: 0x0000f030 vrsave: 0x00000000
xer: 0x00000020 lr: 0x0001a85c ctr: 0x00269484 mq: 0x00000000
r0: 0x0001a85c r1: 0xbffff7e0 r2: 0x00139654 r3: 0xbffff966
r4: 0x00000000 r5: 0x000365cd r6: 0x00000000 r7: 0x00000005
r8: 0x00000000 r9: 0x0000000a r10: 0x00269484 r11: 0x84000420
r12: 0x00269484 r13: 0x00000000 r14: 0x00000000 r15: 0x00000000
r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x80bb3e9c
r20: 0x80bb362c r21: 0x00129b50 r22: 0xbffffba0 r23: 0x00101520
r24: 0x0013c610 r25: 0xbffff8ac r26: 0x03a0bd80 r27: 0x00310ef0
r28: 0x00000000 r29: 0x00000000 r30: 0x000365c8 r31: 0x0001a6cc

**********
Using 06-06, going to the noted URL did not crash for me.  Reporter, could you
please try with a later build and see if the crash still happens?  We can then
verify that perhaps it has to do with the bookmark size.
Mozilla ftp site appears to be hosed.  Logins get 550 error.  Will try again
later/tomorrow.
Downloaded 2002-06-07 NB of Chimera, same crash occurred.  Possibly some
additional details might be useful.  The system is a "Lombard" Powerbook G3,
with a PowerLogix G4 replacement processor, 384M RAM, and was initially running
in a dual monitor (external monitor + notebook LCD display) configuration.

Rebooted with external monitor disconnected, same failure.

Reduced the size of the bookmarks file (assuming it uses the same file as
Mozilla (also installed but not running when Chimera started)) by deleting the
IE Favorites folder/link from the Mozilla bookmarks file.  Same failure.  VERY
repeatable for me, so I suspect it's something unique to my system.  Mozilla
works fine, and I assume they share the same prefs, bookmarks.html, etc.

I note that there's a .mozilla directory under my userid, containing a
Profiles/Chimera subdirectory.  Moved the Chimera subdirectory to a directory
outside the .mozilla/Profiles path, thinking it would rebuild those items upon
startup, got same failure (note: it did not recreate the
.mozilla/Profile/Chimera folder & contents, so I presume it died before that point.

Replaced the large bookmarks file in
Documents/Mozilla/Users50/default/ogedvkyg.slt with the 12K default
bookmarks.html -- still get same crash on startup.  Doesn't appear to be the
bookmarks file.
Dave,

1) If you change your default page in system preferences and relaunch Chimera,
does it stil crash for you ?

2) Chimera doesn't share the same preferences as Mozilla since it keeps all of
it's setting in .mozilla.

3) Did you import your bookmarks list or created them in Chimera ?


OK -- I think I'm getting a handle on this.  I downloaded a recent NB (6/10),
and deleted the old .mozilla directory, and everything worked OK.  If I import
the default Mozilla bookmarks file, or my IE Favorites file, everything is still
OK.  But when I import my large Mozilla bookmarks file, I get a console message
of "Repairing personal toolbar.", and the bookmarks to not get imported, the
icons in the drawer/tray are in a sort of incompleted state and are not
connected to anything.

But Chimera no longer crashes on startup.

I suspect one of two things is occurring -- either the large (~240K, over a
thousand urls plus lots of HRs and folders) bookmark file is too big, or
possibly it contains some data that is goobering up the import process.  I say
this last due to noting the bookmarks.xml file that is constructed in the
.mozilla directory structure.  It may be that I have data somewhere in the
bookmark comments that is going to give trouble to the code creating an XML form
of the html bookmarks file (unless it ignores <DD> entries).  I'm thinking of
characters like ":", "/", ">", which I note appear from time to time in some of
my <DD> entries.

When I get some free time (probably this weekend), I plan to create a test
bookmarks file, with all the <DD> data stripped out, and if it still fails,
start reducing the number of urls in the file until I determine a size
constraint or locate a malformed entry that is at the root of the problem.  I
will repost then with more info.  I also want to see if Mozilla will croak if I
try to import this bookmark file into it, as it has basically grown to this size
under Mozilla and has actually never been imported in its current form.
Severity: major → critical
Keywords: crash
Summary: crash on startup → Crash on startup [@ BookmarksService::AddMenuBookmark]
OK -- I think I understand what's happening.  After a lengthy period of whacking
up bookmarks files to see if it was some bit of content, or just a matter of the
bookmarks file being too large, it dawned on me to check out the bookmarks.xml
file that Chimera was constructing -- at which point, all became clear.

Here's what I think is happening:

1) the imported bookmarks.html file has some junk in it that gets converted to
invalid XML text (in this instance, there was a ctrl-G embedded in the linked
text).  Chimera either does not detect the error or fails to report it -- in any
event, during import there is no indication of a problem, and the imported
bookmarks are completely usable.

2) the next time Chimera is started, it detects the bad XML in the bookmarks.xml
file, writes out an error message to the bookmarks.xml file, and terminates the
toolbar setup process, with the only outward indication of an error being the
line to the console: "Repairing personal toolbar."

I've boiled this down to a fairly short test case consisting of a bookmarks.html
file containing about a dozen links, one of which is my bogus text.  Also
included in the zip file are the bookmarks.xml file as saved by Chimera
following the initial import of the "bookmarks test.html" file, and the
resultant bookmarks.xml file containing the error message when Chimera is
invoked the second time.  This file can be obtained via
http://216.254.35.15/content/pickup.html

I certainly have no problem with Chimera wanting an imported bookmarks file to
be XML-compliant in terms of data content, but it ought to detect the invalid
data upon import, and report it to the user at that time, rejecting the
specified import html file.  I suppose one way to handle things would be to wrap
text that isn't xml-compliant inside a CDATA tag attribute, but that sure seems
like a lot of trouble to go to, and wouldn't necessarily be 100% effective as a
fix for garbage in the bookmarks file.

I have no clue as to how the ctrl-G got into my bookmarks file, but every other
browser I've used it with (IE, NS 4.x, Mozilla) accepts it without complaint. 
I'm fairly sure there are other instances of non-kosher data content in my
bookmarks file, and I plan to clean it up.  I like the notion of Chimera
maintaining bookmark data in xml form, as it offers a lot of developmental
potential that html bookmarks lack.  Chimera just needs to do a better job of
error detection and user notification when errors are found.  Possibly this may
resolve other bugs dealing involving Chimera bookmarks/toolbar setup.

changing summary since this no longer crashes (per comment 5 and comment 6)
Keywords: crash
Summary: Crash on startup [@ BookmarksService::AddMenuBookmark] → bookmark import fails (control g)
Keywords: crash
Summary: bookmark import fails (control g) → bookmark import fails (control g); Chimera crashes [@ BookmarksService::AddMenuBookmark[
Keywords: crash
Summary: bookmark import fails (control g); Chimera crashes [@ BookmarksService::AddMenuBookmark[ → bookmark import fails (control g)
Reducing Severity to major.
Severity: critical → major
This is a dup of bug 154698. Your 'bad' bookmarks HTML file contains a control
character here:
SAPDB
   ^


*** This bug has been marked as a duplicate of 154698 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
v
Status: RESOLVED → VERIFIED
Component: General → Bookmarks
You need to log in before you can comment on or make changes to this bug.