Closed
Bug 453813
Opened 17 years ago
Closed 17 years ago
Camino 1.6.3 crashes on launch due to exceptions in NSSpellchecker
Categories
(Camino Graveyard :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: mickey1980, Assigned: stuart.morgan+bugzilla)
Details
(Keywords: fixed1.8.1.18, fixed1.9.0.4)
Attachments
(5 files)
43.38 KB,
text/plain
|
Details | |
44.20 KB,
text/plain
|
Details | |
52.69 KB,
text/plain
|
Details | |
31.23 KB,
text/plain
|
Details | |
1.80 KB,
patch
|
jaas
:
review+
stuart.morgan+bugzilla
:
superreview+
dveditz
:
approval1.8.1.18+
dveditz
:
approval1.9.0.4+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.13) Gecko/20070810 Camino/1.0.6
Build Identifier: http://caminobrowser.org/download/releases/1.6.3/
downloaded Camino 1.6.3 under Mac OSX 10.4.11. the new Camino crashes on launch. Also crashes with Camino 1.5.5 and 1.6.1. I am thereffore still using Camino 1.0.6. I have followed online recommendations and removed the camino plist, cache and
Reproducible: Always
Steps to Reproduce:
1. download camino 1.6.3 from web site
2. copy executable to Applications
3. double-click Camino icon to launch
Actual Results:
Camino window opens with the "welcome" URL in the URL field. Program appears to hang for a while, then crashes and the Talkback takes over. I have tried to report this through Talkback, though I wrongly reported my working version to be 1.6.0 (instead of 1.0.6)
I have followed the instructions to use Activity Monitor to save the Camino process log when it crashed. The result is pasted below:
Analysis of sampling pid 268 every 10.000000 milliseconds
Call graph:
286 Thread_0f0f
286 0x0
286 _sigtramp
286 fcStackDumpCollectorCreator(unsigned long, char*, int, char**)
286 FCProcessSignal(int, UNIX_EXCEPTION_CONTEXT*)
286 MemoryCanRead(void*, unsigned long, unsigned char, unsigned char)
286 LSOpenFromRefSpec
286 LSOpenApplication_Common(LSApplicationParametersV1 const*, AEKeyDesc const*, ProcessSerialNumber*, FSRef*)
286 _LSOpenStuff
286 CFDictionaryApplyFunction
286 LSOpenItemsWithHandler_CFDictionaryApplier(void const*, void const*, void*)
286 LSOpenApp(LSOpenState*, FSNode*, unsigned long, ProcessSerialNumber*)
286 LSLaunch(LSContext*, FSNode*, unsigned long, void*, AEDesc const*, __CFDictionary const*, unsigned long, ProcessSerialNumber*)
286 _LSAddRecentNode
286 FSNodeNewAlias
286 _FSNewVersion3Alias
286 AL_fillVersion3Alias
286 AL_fillInternalAliasRecord
286 FSGetCatalogInfo
286 PBGetCatalogInfoSync
286 GetFSRefAttributes(FSMount*, FSRefPrivate const*, unsigned long, FSAttributeInfo*, unsigned long, char*)
286 FSMount::getattrs(unsigned long, char const*, unsigned long, unsigned long, FSAttributeInfo*, unsigned long, unsigned char*)
286 VolFSMount::_getattrs(unsigned long, char const*, unsigned long, unsigned long, FSAttributeInfo*, unsigned long, unsigned char*)
286 GetVolFSAttributes(VolumeInfo*, unsigned long, char const*, unsigned long, unsigned long, FSAttributeInfo*, unsigned long, unsigned long, FSVolAttributeInfo*, unsigned char*)
286 getattrlist_retry(unsigned, unsigned long, char const*, unsigned long, attrlist*, void*, unsigned long, unsigned long)
286 CreateVolFSPath(unsigned, unsigned long, char const*, unsigned long, char*)
286 sprintf
286 __vfprintf
286 localeconv_l
286 localeconv_l
286 Thread_1003
286 _pthread_body
286 _pt_root
286 nsThread::Main(void*)
286 nsSocketTransportService::Run()
286 nsSocketTransportService::Poll(unsigned*)
286 PR_Poll
286 poll
286 select
286 select
286 Thread_1103
286 _pthread_body
286 _pt_root
286 nsThread::Main(void*)
286 TimerThread::Run()
286 PR_WaitCondVar
286 pt_TimedWait
286 pthread_cond_timedwait
286 semaphore_timedwait_signal_trap
286 semaphore_timedwait_signal_trap
286 Thread_1203
286 _pthread_body
286 __CFSocketManager
286 select
286 select
286 Thread_1303
286 _pthread_body
286 forkThreadForFunction
286 -[NSUIHeartBeat _heartBeatThread:]
286 -[NSConditionLock lockWhenCondition:]
286 pthread_cond_wait
286 semaphore_wait_signal_trap
286 semaphore_wait_signal_trap
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
select 572
localeconv_l 286
semaphore_timedwait_signal_trap 286
semaphore_wait_signal_trap 286
Sample analysis of process 268 written to file /dev/stdout
Sampling process 268 each 10 msecs 300 times
Assignee | ||
Comment 1•17 years ago
|
||
The sample is after it's already crashed internally and Talkback is getting crash information, so that unfortunately doesn't tell us anything about what happened. Could you provide the Talkback ID from one of your reports?
Also, please download and run:
http://escapedthoughts.com/camino/CaminoDiagnostics.zip
and attach the file it creates here (using the "Add an attachment" link above)
Assignee | ||
Comment 2•17 years ago
|
||
Actually, since this is 10.4 PPC, I can maybe save you the steps in comment 1 by asking whether you have 1Password installed. If so, this is a known bug in 1Password, and you'll need to remove it in order to run Camino and get in touch with their support to see where they are in terms of fixing it.
I am not using 1Password (I use the Mac keychain, which seems to be OK for me).
I downloaded and unzipped Camino Diagnostics the link for which you sent in your email.
Camino was still running, but stuck with the "beach ball of death". The Incident ID when Camino crashed under similar circumstances was TB49369053G .
I have also got the "Saved Incident" text generated by hitting the "Save" button on Talkback. Let me know if you would like me to send it.
Thank you very much for looking at this.
Assignee | ||
Comment 4•17 years ago
|
||
Hm, that array exception in console doesn't look good.
Does 1.6.3 crash when run under Troubleshoot Camino?
http://pimpmycamino.com/parts/troubleshoot-camino
Downloaded the troubleshoot-camino zip file, expanded and then dragged my Camino 1.6.3 onto the Troubleshoot Camino script. Camino window opened up and then appeared to freeze (cursor visible as an arrow plus rotating circle containing 2 black quadrants attached to the arrow). After 20 mins in this state, I called up "Force Quit". Camino was in the list, looking normal - i.e. black text, no "not responding" message.
Does this help?
Assignee | ||
Comment 6•17 years ago
|
||
That cursor is our page loading cursor, rather than the OS hang cursor, which means that at least we seem to have been servicing the runloop. Could you open it that way again, and see if interacting with the UI (things like opening a new window from the menu bar) work?
If you open Console (in Application/Utilities) after you launch with Troubleshoot Camino, do you see new "*** -[NSCFArray addObject:]: attempt to insert nil" messages in console.log (where the time of the message lines up with your launching under TC)?
1. Yes, I can interact with the menu bar. New Window and View Source both lead to a new window opening and "Loading..." in the status bar (with moving striped barber's pole), but then nothing else happens. Again had to Force Quit.
2. Copy of Console display attached: "attempt to insert nil" is among the messages.
2008-09-06 10:26:04.555 Camino[302] .scriptSuite warning for attribute 'boundsAsQDRect' of class 'NSWindow' in suite 'NSCoreSuite': 'NSData<QDRect>' is not a valid type name.
2008-09-06 10:26:04.555 Camino[302] .scriptSuite warning for attribute 'document' of class 'NSWindow' in suite 'NSCoreSuite': 'NSDocument' is not a valid type name.
2008-09-06 10:26:04.555 Camino[302] .scriptSuite warning for argument 'SaveOptions' of command 'Close' in suite 'NSCoreSuite': 'NSNumber<SaveOptions>' is not a valid type name.
2008-09-06 10:26:04.555 Camino[302] .scriptSuite warning for argument 'SaveOptions' of command 'Quit' in suite 'NSCoreSuite': 'NSNumber<SaveOptions>' is not a valid type name.
2008-09-06 10:26:04.555 Camino[302] .scriptSuite warning for attribute 'boundsAsQDRect' of class 'NSWindow' in suite 'NSCoreSuite': 'NSData<QDRect>' is not a valid type name.
2008-09-06 10:26:06.196 Camino[302] *** -[NSCFArray addObject:]: attempt to insert nil
2008-09-06 10:27:52.623 Camino[316] .scriptSuite warning for attribute 'boundsAsQDRect' of class 'NSWindow' in suite 'NSCoreSuite': 'NSData<QDRect>' is not a valid type name.
2008-09-06 10:27:52.623 Camino[316] .scriptSuite warning for attribute 'document' of class 'NSWindow' in suite 'NSCoreSuite': 'NSDocument' is not a valid type name.
2008-09-06 10:27:52.623 Camino[316] .scriptSuite warning for argument 'SaveOptions' of command 'Close' in suite 'NSCoreSuite': 'NSNumber<SaveOptions>' is not a valid type name.
2008-09-06 10:27:52.623 Camino[316] .scriptSuite warning for argument 'SaveOptions' of command 'Quit' in suite 'NSCoreSuite': 'NSNumber<SaveOptions>' is not a valid type name.
2008-09-06 10:27:52.624 Camino[316] .scriptSuite warning for attribute 'boundsAsQDRect' of class 'NSWindow' in suite 'NSCoreSuite': 'NSData<QDRect>' is not a valid type name.
2008-09-06 10:27:54.268 Camino[316] *** -[NSCFArray addObject:]: attempt to insert nil
Assignee | ||
Comment 8•17 years ago
|
||
Maybe we can use the trunk exception crashing bug to our advantage here. Try downloading a nightly build from
http://caminobrowser.org/download/releases/nightly/
and running that under Troubleshoot Camino (you should *only* run it using TC, or it will modify parts of your profile so that 1.0.6 can't read them).
With luck, it will crash (either right away, or after you try opening a new window from the menu bar), and the Console will have a longish comment starting with "Stack trace:" that would point us to where this is happening.
Thanks for your patience here :)
Thank you for your guidance - much appreciated. I have now followed your instructions, downloaded the nightly build and dragged it onto TC. As you predicted, it crashed. The Console log is as follows:
===== Saturday, 6 September 2008 16:36:56 Europe/London =====
2008-09-06 16:37:12.019 Camino[448] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x2b03, name = 'org.mozilla.camino.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2008-09-06 16:37:12.020 Camino[448] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (org.mozilla.camino.ServiceProvider)
2008-09-06 16:37:18.478 Camino[448] Mozilla has caught an Obj-C exception [NSInvalidArgumentException: *** -[NSCFArray addObject:]: attempt to insert nil]
Sep 6 16:37:19 michael-chius-power-mac-g5 crashdump[453]: Camino crashed
Sep 6 16:37:20 michael-chius-power-mac-g5 crashdump[453]: crash report written to: /Users/michaelchiuold/Library/Logs/CrashReporter/Camino.crash.log
2008-09-06 16:37:22.460 Talkback[457] Could not find image named 'firefox'.
2008-09-06 16:37:22.463 Talkback[457] Could not find image named 'supportsoft'.
-----------
No reference to "stack trace", I'm afraid.
Not sure why there is a reference to Firefox here - although Firefox *is* installed on my machine.
Reporter | ||
Comment 10•17 years ago
|
||
Here is a copy of the crash log - just retrieved it from ~Library/Logs/Crash Reporter/. Because of the size limitation on attaments, I am sending it to you in 3 parts.
Reporter | ||
Comment 11•17 years ago
|
||
Reporter | ||
Comment 12•17 years ago
|
||
Assignee | ||
Updated•17 years ago
|
Attachment #337209 -
Attachment mime type: application/octet-stream → text/plain
Assignee | ||
Updated•17 years ago
|
Attachment #337208 -
Attachment mime type: application/octet-stream → text/plain
Assignee | ||
Updated•17 years ago
|
Attachment #337207 -
Attachment mime type: application/octet-stream → text/plain
Assignee | ||
Comment 13•17 years ago
|
||
Whoops, the stack logging only happens in debug builds, which is why that didn't show up. Luckily this was caught in a much more specific place than I was expecting, so even without the exception stack that was useful.
This appears to be dying inside of mozOSXSpell::GetLanguage, which as far as I can tell means that NSSpellChecker itself is the source of the exception. I'll have to make and post a custom logging build to be sure.
Do other programs that have spell-checking work (and correctly check spelling) on your machine? Have you installed any third-party spelling plug-ins?
Reporter | ||
Comment 14•17 years ago
|
||
The only spell-checking s/w I am aware of is Microsoft Office 2004. It checks correctly for US English (I've yet to get UK English spell checking to work!). Modules for which spell checking is seen to cut in include Word, Excel and Entourage.
I have not deliberately installed any spell-check plug-ins, 3rd party or otherwise.
Assignee | ||
Comment 15•17 years ago
|
||
I think Office uses their own spelling system, not the OS spell check. What about TextEdit?
Reporter | ||
Comment 16•17 years ago
|
||
I was unaware that TextEdit did spelling checks, but now you have drawn my attention to it, I went and looked up the "help" about it. It appears that my copy of TextEdit does not respond to any of the Edit/Spelling sub-commands ('spelling...', 'check spelling', and 'check spelling as you type'). Could this be the cause of the problem?
Comment 17•17 years ago
|
||
If TextEdit (or Safari, which also does spell-checking in form fields like this one) isn't able to put the red-dot underline under misspelled words, and it doesn't respond to any of the commands, it's very likely that your OS spelling dictionary or other components of the Mac OS X built-in spell-checker are corrupted.
Assignee | ||
Comment 18•17 years ago
|
||
Yes, that's about what I expected. I'll make a patch that does exception handling for branch that should prevent the crashes, and post a build for you to verify, but the basic problem is that the built-in OS spelling system on your machine is damaged.
Reporter | ||
Comment 19•17 years ago
|
||
Gentlemen, Thank you for getting to the bottom of this. I'll wait for the patch and try it out before attempting to fix the spelling system on my OS.
I know it's not really your responsibility, but do you have any hints as to where to start to fix OSX spelling? Appreciate any suggestions, but fully acknowledge you have no obligation to reply.
Assignee | ||
Comment 20•17 years ago
|
||
I've posted a branch build with guards everywhere that seemed likely at
http://escapedthoughts.com/camino/Camino-453813.dmg
Please let me know if that version runs on your machine. The expected behavior is that everything but spell check will work, and you'll see messages in Console about exceptions. (Theoretically we could try to detect this case at the Camino layer and disable the spelling-related UI, but that's overkill for something that's already a damaged-OS case.)
As for fixing your OS, I don't have any suggestions beyond the obvious-but-painful complete re-install. Perhaps someone in Apple's forums at http://discussions.apple.com would have a suggestion (beyond the knee-jerk "repair permissions")
Reporter | ||
Comment 21•17 years ago
|
||
This build runs successfully! I ran it twice, on both occasions by dragging it onto Troubleshoot Camino. First time it started quite slowly (presumably it was initiating stuff for the first time). Second time, it was very quick. I had the console log on for the second run. A copy of the log is below.
Thank you very much for you help on this. I'll try to get the OS spelling fixed, although re-install seems a lot of work to restore a feature I don't use. I run "repair permissions" on a regular basis anyway and this did not fix the Camino problem.
However, as Camino is by far my preferred browser, I'll try to sort out the spelling - just so that I can be sure that future releases of Camino will cause no problems.
Many thanks again.
Mike
Copy of Console Log
===== Tuesday, 9 September 2008 10:13:42 Europe/London =====
2008-09-09 10:13:49.193 Camino[341] .scriptSuite warning for attribute 'boundsAsQDRect' of class 'NSWindow' in suite 'NSCoreSuite': 'NSData<QDRect>' is not a valid type name.
2008-09-09 10:13:49.193 Camino[341] .scriptSuite warning for attribute 'document' of class 'NSWindow' in suite 'NSCoreSuite': 'NSDocument' is not a valid type name.
2008-09-09 10:13:49.193 Camino[341] .scriptSuite warning for argument 'SaveOptions' of command 'Close' in suite 'NSCoreSuite': 'NSNumber<SaveOptions>' is not a valid type name.
2008-09-09 10:13:49.193 Camino[341] .scriptSuite warning for argument 'SaveOptions' of command 'Quit' in suite 'NSCoreSuite': 'NSNumber<SaveOptions>' is not a valid type name.
2008-09-09 10:13:49.194 Camino[341] .scriptSuite warning for attribute 'boundsAsQDRect' of class 'NSWindow' in suite 'NSCoreSuite': 'NSData<QDRect>' is not a valid type name.
2008-09-09 10:13:51.552 Camino[341] Unable to get spelling language: *** -[NSCFArray addObject:]: attempt to insert nil
2008-09-09 10:13:51.556 Camino[341] Unable to get spelling language: *** -[NSCFArray addObject:]: attempt to insert nil
Reporter | ||
Comment 22•17 years ago
|
||
FYI. After combing the discussion forums to find references to problems with the OS X spelling check facilities, I came across a suggestion to use the Onyx utility to "Reset: Links between documents and applications". I downloaded the (free) utility from:
http://www.titanium.free.fr/pgs/english.html
and ran it. This fixed the spelling check problem (tested with TextEdit). Camino version 1.6.3 now works without crashing.
The full discussion thread on the spelling problem is at:
http://forums.macosxhints.com/archive/index.php/t-55661.html
Assignee | ||
Updated•17 years ago
|
Assignee: nobody → stuart.morgan+bugzilla
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 23•17 years ago
|
||
This catches and silently discards exceptions coming from inside the spelling methods, which should only happen if the spelling system is damaged (I don't log because it gets called a *lot*, and the fact that spelling doesn't work anywhere on the OS gives us the same information).
Once this has r/sr, I'll ask for 1.8.1 and 1.9.0 approval.
Attachment #338449 -
Flags: review?(mikepinkerton)
Assignee | ||
Comment 24•17 years ago
|
||
Josh, once this is good to go you probably want to take it for trunk, in case Firefox ever decides to go back to the OS spelling system.
Summary: [10.4.11] Camino 1.6.3 crashes on launch → Camino 1.6.3 crashes on launch due to exceptions in NSSpellchecker
Updated•17 years ago
|
Attachment #338449 -
Flags: review?(mikepinkerton) → review+
Comment 25•17 years ago
|
||
Comment on attachment 338449 [details] [diff] [review]
make spelling exceptions non-fatal
sr=pink
Stuart, are you going to request branch approval, or are you looking for another (super)review, or?
Flags: camino1.6.5?
Assignee | ||
Comment 27•17 years ago
|
||
Comment on attachment 338449 [details] [diff] [review]
make spelling exceptions non-fatal
I didn't notice that pink thought he was sr'ing. In that case, josh, can you review?
Attachment #338449 -
Flags: superreview+
Attachment #338449 -
Flags: review?(joshmoz)
Attachment #338449 -
Flags: review+
Attachment #338449 -
Flags: review?(joshmoz) → review+
Assignee | ||
Comment 28•17 years ago
|
||
Comment on attachment 338449 [details] [diff] [review]
make spelling exceptions non-fatal
Requesting branch approvals. Camino is the only client of this code.
Attachment #338449 -
Flags: approval1.9.0.3?
Attachment #338449 -
Flags: approval1.8.1.18?
Comment 29•17 years ago
|
||
landed on trunk
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Comment 30•17 years ago
|
||
Comment on attachment 338449 [details] [diff] [review]
make spelling exceptions non-fatal
Approved for 1.8.1.18 and 1.9.0.3, a=dveditz for release-drivers
Attachment #338449 -
Flags: approval1.9.0.3?
Attachment #338449 -
Flags: approval1.9.0.3+
Attachment #338449 -
Flags: approval1.8.1.18?
Attachment #338449 -
Flags: approval1.8.1.18+
Checked in on MOZILLA_1_8_BRANCH for 1.8.1.18.
Flags: camino1.6.5? → camino1.6.5+
Keywords: fixed1.8.1.18
Checked in on cvs trunk for 1.9.0.4.
Keywords: fixed1.9.0.4
You need to log in
before you can comment on or make changes to this bug.
Description
•