Crash at startup when bookmarks are on unmounted partition [@ BookmarksService::ReadBookmarks]

RESOLVED DUPLICATE of bug 201506

Status

Camino Graveyard
Bookmarks
--
critical
RESOLVED DUPLICATE of bug 201506
16 years ago
15 years ago

People

(Reporter: Jonas Maebe, Assigned: Simon Fraser)

Tracking

({crash})

Details

(crash signature)

Attachments

(2 attachments)

(Reporter)

Description

16 years ago
User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20020909
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20020909 (also happens with build 20020930)

Before upgrading to Mac OS X 10.2, I first duplicated my Mac OS X partition
(called "Mac OS X") to another one (called "Jaguar") and upgraded the copy
instead. I had no problems with the upgrade and so I wanted to reformat the old
"Mac OS X" partition. Disk Utility couldn't unmount it however, because some
program had still some files opened on it. Using lsof I found out this was
Navigator.

I quit Navigator and then unmounted the Mac OS X partition to see what would
happen. If I start Navigator at this time, it crashes in a routine called
"BookmarksService::ReadBookmarks(void)"

Reproducible: Always

Steps to Reproduce:
1. Duplicate your OS X partition to another partition using Carbon Copy Cloner
2. Start from the duplicated partition
3. Unmount your original Mac OS X partition using Disk Utility
4. Start Navigator
Actual Results:  
Navigator crashes.

Expected Results:  
It should either say it can't find the bookmarks and create new ones, or
preferably: not use absolute paths!

I couldn't find which file I have to edit to change the path to my bookmarks either.

Crashlog:

**********

Date/Time:  2002-10-03 17:48:48 +0200
OS Version: 10.2.1 (Build 6D52)
Host:       jonagold.elis.rug.ac.be

Command:    Navigator
PID:        1586

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

Thread 0 Crashed:
 #0   0x0001b154 in BookmarksService::ReadBookmarks(void)
 #1   0x00019704 in BookmarksService::AddObserver(void)
 #2   0x000292a8 in -[BookmarksToolbar initializeToolbar]
 #3   0x0000a8bc in -[BrowserWindowController windowDidLoad]
 #4   0x9337fe24 in -[NSWindowController _windowDidLoad]
 #5   0x9337f93c in -[NSWindowController window]
 #6   0x9337fbec in -[NSWindowController showWindow:]
 #7   0x0000858c in -[MainController openBrowserWindowWithURL:andReferrer:]
 #8   0x000078a8 in -[MainController newWindow:]
 #9   0x00007590 in -[MainController applicationDidFinishLaunching:]
 #10  0x907eaf7c in _nsNotificationCenterCallBack
 #11  0x90168b18 in _postNotification
 #12  0x90166238 in _CFNotificationCenterPostLocalNotification
 #13  0x930c9898 in -[NSApplication _sendFinishLaunchingNotification]
 #14  0x930c0060 in _requiredAEEventHandler
 #15  0x91b56e4c in aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned long,
unsigned char*)
 #16  0x91b597f0 in dispatchEventAndSendReply(AEDesc const*, AEDesc*)
 #17  0x91b56d5c in aeProcessAppleEvent
 #18  0x92c82d30 in AEProcessAppleEvent
 #19  0x93082350 in _DPSNextEvent
 #20  0x930ccf84 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
 #21  0x930ca500 in -[NSApplication run]
 #22  0x930d2598 in NSApplicationMain
 #23  0x00005024 in main
 #24  0x00004ed4 in _start
 #25  0x00004d04 in start

Thread 1:
 #0   0x90025e8c in select
 #1   0x0101d804 in poll
 #2   0x01019ecc in _pr_poll_with_poll
 #3   0x0016a68c in nsSocketTransportService::Run(void)
 #4   0x050598f0 in nsThread::Main(void *)
 #5   0x0101b388 in _pt_root
 #6   0x90021428 in _pthread_body

Thread 2:
 #0   0x9003f188 in semaphore_wait_signal_trap
 #1   0x9003efa4 in _pthread_cond_wait
 #2   0x01016474 in PR_WaitCondVar
 #3   0x0014b2cc in nsDNSService::DequeuePendingQ(void)
 #4   0x0014acd4 in nsDNSService::Run(void)
 #5   0x050598f0 in nsThread::Main(void *)
 #6   0x0101b388 in _pt_root
 #7   0x90021428 in _pthread_body

Thread 3:
 #0   0x90042d68 in semaphore_timedwait_signal_trap
 #1   0x9003ef94 in _pthread_cond_wait
 #2   0x01016210 in pt_TimedWait
 #3   0x01016488 in PR_WaitCondVar
 #4   0x0505d38c in TimerThread::Run(void)
 #5   0x050598f0 in nsThread::Main(void *)
 #6   0x0101b388 in _pt_root
 #7   0x90021428 in _pthread_body

Thread 4:
 #0   0x9003f188 in semaphore_wait_signal_trap
 #1   0x9003efa4 in _pthread_cond_wait
 #2   0x01016474 in PR_WaitCondVar
 #3   0x0505aa2c in nsThreadPool::GetRequest(nsIThread *)
 #4   0x0505b3a0 in nsThreadPoolRunnable::Run(void)
 #5   0x050598f0 in nsThread::Main(void *)
 #6   0x0101b388 in _pt_root
 #7   0x90021428 in _pthread_body

PPC Thread State:
  srr0: 0x0001b154 srr1: 0x0200f030                vrsave: 0x00000000
   xer: 0x00000000   lr: 0x0001b14c  ctr: 0x0508eeac   mq: 0x00000000
    r0: 0x0001b14c   r1: 0xbfffe750   r2: 0xbfffffff   r3: 0xbfffe7b6
    r4: 0x00000000   r5: 0x00816651   r6: 0x00000000   r7: 0x0000000d
    r8: 0x00000000   r9: 0x0000001a  r10: 0x0508eeac  r11: 0x84008282
   r12: 0x0508eeac  r13: 0x00000000  r14: 0x00000000  r15: 0x00000000
   r16: 0x00000000  r17: 0x00000000  r18: 0x00000002  r19: 0x00000000
   r20: 0x00e6a740  r21: 0x0d9a1072  r22: 0xa30756fc  r23: 0xbfffe788
   r24: 0xa30756fc  r25: 0x00e6a740  r26: 0x00000000  r27: 0x0000000f
   r28: 0x026d2b90  r29: 0x00000000  r30: 0x00816644  r31: 0x0001b0f4

**********
(Assignee)

Comment 1

16 years ago
> I quit Navigator and then unmounted the Mac OS X partition to see what would
> happen.

Did the unmounted partition contain your user directory, at this point?
(Reporter)

Comment 2

16 years ago
No. That should have read: 'I unmounted the "Mac OS X" partition to see what
would happen'. My home directory currently resides on the "Jaguar" partition.
The copy on "Mac OS X" is a stale one (since it hasn't been used anymore lately,
except by Navigator apparently).
(Assignee)

Comment 3

16 years ago
That's odd, because Navigator looks in ~/Library/Application Support for its
profile stuff. It should not store full paths to profiles anywhere, but maybe it
does?
(Reporter)

Comment 4

16 years ago
I've been playing a little with fs_usage and it does access my profile on the
other partition, here are some excerpts of the output:

***
21:32:34.711  pathconf                          /Volumes/Mac OS 9              
                                                                               
                                                           0.000045   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881033/@              
                                                                               
                                                           0.000048   Navigator
          
21:32:34.712  pathconf                          /Volumes/Linux Root            
                                                                               
                                                           0.000026   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881034/@              
                                                                               
                                                           0.000030   Navigator
          
21:32:34.712  pathconf                          /Volumes/Linux                 
                                                                               
                                                           0.000026   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881035/@              
                                                                               
                                                           0.000029   Navigator
          
21:32:34.712  pathconf                          /Volumes/Temp                  
                                                                               
                                                           0.000025   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881036/@              
                                                                               
                                                           0.000030   Navigator
          
21:32:34.712  pathconf                          /Volumes/Programs              
                                                                               
                                                           0.000027   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881037/@              
                                                                               
                                                           0.000029   Navigator
          
21:32:34.712  pathconf                          /Volumes/Linux Install         
                                                                               
                                                           0.000027   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881038/@              
                                                                               
                                                           0.000029   Navigator
          
21:32:34.712  pathconf                          /Volumes/JONAS_COLLECTION      
                                                                               
                                                           0.000037   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881042/@              
                                                                               
                                                           0.000046   Navigator
          
21:32:34.712  pathconf                          /Volumes/Mac OS X              
                                                                               
                                                           0.000028   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881039/@              
                                                                               
                                                           0.000032   Navigator
          
21:32:34.712  getattrlist                       /.vol/234881039/@              
                                                                               
                                                           0.000033   Navigator
          
21:32:34.712  getattrlist                       /Volumes/Mac OS X              
                                                                               
                                                           0.000024   Navigator
          
21:32:34.725  getattrlist                       lumes/Mac OS
X/Users/jonas/Library/Application Support/Chimera/Profiles/default/bod63kdm.slt
                                                                             
0.000133   Navigator           
21:32:34.726  getattrlist                       /.vol/234881039/730286         
                                                                               
                                                           0.000043   Navigator
          
21:32:34.726  getattrlist                       /.vol/234881039/730286         
                                                                               
                                                           0.000032   Navigator
          
21:32:34.726  getattrlist                       /.vol/234881039/730286         
                                                                               
                                                           0.000041   Navigator
          
21:32:34.726  getattrlist                       /.vol/234881039/730286         
                                                                               
                                                           0.000032   Navigator
          

And more:

21:32:34.732  symlink                           /Mac OS
X/Users/jonas/Library/Application
Support/Chimera/Profiles/default/bod63kdm.slt/lock                             
                                                 0.003330 W Navigator           

21:32:34.755  open            F=9                OS
X/Users/jonas/Library/Application
Support/Chimera/Profiles/default/bod63kdm.slt/prefs.js                         
                                                     0.000092   Navigator           

21:32:34.757  open            F=9               c OS
X/Users/jonas/Library/Application
Support/Chimera/Profiles/default/bod63kdm.slt/user.js                          
                                                    0.000071   Navigator    
***       


I've only included the lines that refer to the previous partition above, the
first reference to a config file is:


***
/Users/jonas/Library/Application Support/Chimera/Application.regs
***


Maybe in that file the absolute path is stored?

I can attach the full trace if someone is interested. The script I used to
gather it was:


***
open /Applications/Navigator.app
PIDJE=`ps auxwww|grep -w Navigator|head -1|awk '{print $2}'`
fs_usage $PIDJE
***

(you have to execute the script with "sudo" because of fs_usage)

What also may be important, is that the initial profile was created by
Chimera/Navigator 0.4.0, maybe that one stored absolute paths while the current
versions don't do that anymore.

Comment 5

16 years ago
Jonas, for future reference, crash reports should be attached to your bugs as a
text file, and not quoted in a bug comment.
Keywords: crash
Summary: Crash at startup when bookmarks are on unmounted partition → Crash at startup when bookmarks are on unmounted partition [@ BookmarksService::ReadBookmarks]
Here's the problem: Chimera looks in ~/Library/Application Support for the
profile registry. That'll be found as long as your home dir exists. Inside the
registry, the reference to the profile is stored as an alias. If the target of
the alias (the xxxxxxxx.slt dir) is moved to another volume, that alias is
hosed. There's the good and bad of aliases: they're nice because they allow
resolution of the target after moving and renaming; however, if they are only
valid on their original volume.
BTW, Chimera could avoid this problem in the first place. It shouldn't use the
profile manager of mozilla which uses a registry to maintain a list of profiles.
Chimera has only 1 and will likely continue to have only 1 profile. It's on my
list to yank the profile mgr from Chimera.
(Assignee)

Comment 8

16 years ago
Or, can't the paths in the registry be relative to ~/Library/Application
Support/Chimera, if the profile is located under that directory?

Comment 9

16 years ago
Created attachment 106044 [details]
Navigator 0.6 crashes when accessing bookmarks if my home dir is on a server.

Navigator 0.6 crashes when accessing bookmarks if my home directory is on a
server (NFS?). All builds between 10/29/02 upto the build before the release on
0.6 were crashing on launch with the same backtrace as well.  I am running
Navigator from 10/28/02 without this crash. I have attached a sample backtrace.

Comment 10

16 years ago
A correction. All Chimera builds between 10/29/02 and version 0.6 including version 0.6 
crash on launch.
From comment #9 on, that's bug 177587. That's different than the problem
originally reported which is explained in comment #6.

Comment 12

16 years ago
I use Chimera on my school and the same bug appears here to. Our
home-directories are mounted from a server somewhere.

automount /etc/auto_home [358] on /home (automounted)
wagner:/export/home/dat02erp on /private/home/dat02erp (automounted)

If I edit my bookmarks, chimera crashes.
(Assignee)

Comment 13

16 years ago
Ernst: Does this still happen in recent builds?
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Reported could you test with a recent nightly build please ?
(Reporter)

Comment 15

15 years ago
The crash on launch has been fixed, but e.g. adding a bookmark still causes a crash with 
2003090102 if the bookmarks are on an unmounted partition. I'll attach a crash log.
(Reporter)

Comment 16

15 years ago
Created attachment 130742 [details]
Crashlog after trying to add a bookmark when the bookmarks reside on an unmounted partition

Used build: 2003090102
(Assignee)

Comment 17

15 years ago
I think Camino should just show an error on startup if we fail to find the
profile dir.

*** This bug has been marked as a duplicate of 201506 ***
Status: ASSIGNED → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → DUPLICATE
Crash Signature: [@ BookmarksService::ReadBookmarks]
You need to log in before you can comment on or make changes to this bug.