TB09 crashes when using a symlink to a signature file [@ nsLocalFile::SetRelativeDescriptor]

RESOLVED FIXED in Thunderbird1.0

Status

--
critical
RESOLVED FIXED
14 years ago
13 years ago

People

(Reporter: joseparrella, Assigned: Bienvenu)

Tracking

({crash, topcrash})

unspecified
Thunderbird1.0
x86
Linux
crash, topcrash
Bug Flags:
blocking-aviary1.0 -

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

Attachments

(2 attachments)

(Reporter)

Description

14 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040615 Firefox/0.9
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040615 Firefox/0.9

This was first experienced when opening a mailto:// link from Firefox 0.9 in
Gnome (Debian Sarge/Sid) and then reproduced later clicking New Mail in
Thunderbird 0.7.3. Compose mail opens and shows partially, then crashes. Quality
Feedback Agent opens up after crash. I imported my mail and settings (whole
profile) from Mozilla Mail, by making a symbolic link named "default.xwo" in
~/.thunderbird to my profile in ~/.mozilla (not moving the whole folder because
it's big), so I guess that's the deal.

Reproducible: Always
Steps to Reproduce:
1. Import your Mozilla 1.x profile manually into Thunderbird
2. Open a New Mail window

Actual Results:  
Mail crashed, Quality Feedback Agent opened up.

Expected Results:  
Window should have opened and let user introduce text.

Using default theme.
(Reporter)

Comment 1

14 years ago
Created attachment 155329 [details]
Mail entries from prefs.js file of the profile that is being used

This is a plain text "cat prefs.js | grep mail" file from the prefs.js file
which is being used in that profile.
(Reporter)

Updated

14 years ago
Attachment #155329 - Attachment mime type: application/octet-stream → text/plain

Comment 2

14 years ago
Jose Miguel: Could you provide TalkBack Quality Agent incident ID? To get the
Talkback ID's go to your Thunderbird directory and go to components/, there
start Talkback, it'll give you a list with the IDs. Thank's a lot.
Severity: major → critical
Keywords: crash
(Reporter)

Comment 3

14 years ago
(In reply to comment #2)
> Jose Miguel: Could you provide TalkBack Quality Agent incident ID? To get the
> Talkback ID's go to your Thunderbird directory and go to components/, there
> start Talkback, it'll give you a list with the IDs. Thank's a lot.

It's: TB494519H

Greetings.

Comment 4

14 years ago
TB494519:
nsLocalFile::SetRelativeDescriptor()
nsPrefBranch::GetComplexValue()
NS_GetPersistentFile()
nsMsgIdentity::GetSignature()
nsMsgCompose::ProcessSignature()
nsMsgCompose::BuildBodyMessageAndSignature()
nsMsgCompose::InitEditor()
XPTC_InvokeByIndex()
XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode)()
XPC_WN_CallMethod()
js_Invoke()
js_Interpret()
js_Invoke()
nsXPCWrappedJSClass::CallMethod()
nsXPCWrappedJS::CallMethod()
PrepareAndDispatch()
nsCommandManager::CommandStatusChanged()
nsComposerCommandsUpdater::UpdateOneCommand()
nsComposerCommandsUpdater::NotifyDocumentCreated()
nsEditor::NotifyDocumentListeners(nsEditor::TDocumentListenerNotification)()
nsEditor::PostCreate()
nsEditingSession::SetupEditorOnWindow()
nsEditingSession::EndDocumentLoad()
nsEditingSession::OnStateChange()
nsDocLoaderImpl::FireOnStateChange()
nsDocLoaderImpl::doStopDocumentLoad()
nsDocLoaderImpl::DocLoaderIsEmpty()
nsDocLoaderImpl::OnStopRequest()
nsLoadGroup::RemoveRequest()
nsInputStreamChannel::OnStopRequest()
nsInputStreamPump::OnStateStop()
nsInputStreamPump::OnInputStreamReady()
nsInputStreamReadyEvent::EventHandler()
PL_HandleEvent()
PL_ProcessPendingEvents()
nsEventQueueImpl::ProcessPendingEvents()
event_processor_callback()
libglib-2.0.so.0 + 0x49f5f (0x404eef5f)
libglib-2.0.so.0 + 0x24a02 (0x404c9a02)
libglib-2.0.so.0 + 0x25af8 (0x404caaf8)
libglib-2.0.so.0 + 0x25e30 (0x404cae30)
libglib-2.0.so.0 + 0x26473 (0x404cb473)
libgtk-x11-2.0.so.0 + 0x117e83 (0x401bfe83)
nsAppShell::Run()
nsAppShellService::Run()
xre_main()
main()
libc.so.6 + 0x15dc6 (0x409eddc6)

there are over 70 crashes with this signature over M17 and Thunderbird aviary
branch:
http://talkback-public.mozilla.org/talkback/fastfind.jsp?search=1&searchby=stacksig&match=contains&searchfor=nsLocalFile%3A%3ASetRelativeDescriptor&vendor=All&product=All&platform=All&buildid=&sdate=&stime=00%3A00%3A00&edate=&etime=23%3A59%3A59
Summary: Mail (0.7.3) crashes when composing mail after importing profile manually from Mozilla Mail → TB073 crashes when composing mail after importing profile manually from Mozilla Mail [@ nsLocalFile::SetRelativeDescriptor() ]
(Reporter)

Comment 5

14 years ago
(In reply to comment #4)
> TB494519:

Found something. Setting manually
"user_pref("mail.identity.id1.attach_signature", true);" to false in prefs.js in
the profile makes Thunderbird to work OK (by now). The signature which this
setting is making reference is local and exists (and worked with Mozilla Mail).
Guess it has something to do with Firebird parsing sloppy prefs.js from Mozilla
Mail?

Updated

14 years ago
Blocks: 262280

Comment 6

14 years ago
*** Bug 262280 has been marked as a duplicate of this bug. ***

Comment 7

14 years ago
Adding topcrash keyword and TB08 for tracking. This looks like a topcrasher for
Thunderbird 0.8.  Although users appear to be crash doing different tasks, the
stacks all look the same:
http://talkback-public.mozilla.org/talkback/fastfind.jsp?search=1&searchby=stacksig&match=contains&searchfor=nsLocalFile%3A%3ASetRelativeDescriptor&vendor=All&product=All&platform=All&buildid=&sdate=&stime=&edate=&etime=

Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: topcrash
Summary: TB073 crashes when composing mail after importing profile manually from Mozilla Mail [@ nsLocalFile::SetRelativeDescriptor() ] → TB08 crashes when composing mail after importing profile manually from Mozilla Mail [@ nsLocalFile::SetRelativeDescriptor]

Comment 8

14 years ago
Jose, can you post the value of your signature file preference in prefs.js?

I want to see how we were expressing your relative signature path in prefs.js. I
think that's why we crash.

The pref would look something like:

user_pref("mail.identity.id1.sig_file", "C:\\temp\\signature.txt");

Updated

14 years ago
Status: NEW → ASSIGNED
Target Milestone: --- → Thunderbird1.0

Updated

14 years ago
Summary: TB08 crashes when composing mail after importing profile manually from Mozilla Mail [@ nsLocalFile::SetRelativeDescriptor] → TB08 crashes when using a relative path to a signature file [@ nsLocalFile::SetRelativeDescriptor]

Comment 9

14 years ago
3rd time at adjusting the summary is a charm...hopefully.
Summary: TB08 crashes when using a relative path to a signature file [@ nsLocalFile::SetRelativeDescriptor] → TB08 crashes when using a symlink to a signature file [@ nsLocalFile::SetRelativeDescriptor]

Comment 10

14 years ago
*** Bug 268779 has been marked as a duplicate of this bug. ***

Comment 11

14 years ago
Adam, Jose, anyone who sees this crash can you post the fore mentioned signature
pref in your prefs.js file that cause this crash?

Thanks!

Comment 12

14 years ago
Updating summary with TB09 for tracking
Summary: TB08 crashes when using a symlink to a signature file [@ nsLocalFile::SetRelativeDescriptor] → TB09 crashes when using a symlink to a signature file [@ nsLocalFile::SetRelativeDescriptor]

Comment 13

14 years ago
Scott, isn't the line
user_pref("mail.identity.id1.sig_file", "/mnt/hdb1/documentos/jose-firmas");

in the pref.js file that Jose attached to this bug?
Flags: blocking-aviary1.0?

Updated

14 years ago
Flags: blocking-aviary1.0? → blocking-aviary1.0-

Comment 14

14 years ago
*** Bug 274701 has been marked as a duplicate of this bug. ***

Comment 15

14 years ago
Please have a look at the dupe, bug 274701. 
As far as I understood simply the (wrong?) path of the sig file made my TB
crash, David helped me to create a workaround (disabling the sig in seamonkey
and manually deleting the path information in the prefs.js, see patch to the
prefs.js).

Comment 16

14 years ago
*** Bug 275058 has been marked as a duplicate of this bug. ***

Comment 17

14 years ago
*** Bug 277894 has been marked as a duplicate of this bug. ***

Comment 18

14 years ago
*** Bug 282287 has been marked as a duplicate of this bug. ***

Comment 19

14 years ago
*** Bug 286067 has been marked as a duplicate of this bug. ***

Updated

14 years ago
Blocks: 286067

Updated

14 years ago
No longer blocks: 286067

Comment 20

14 years ago
*** Bug 286067 has been marked as a duplicate of this bug. ***

Comment 21

14 years ago
*** Bug 289464 has been marked as a duplicate of this bug. ***
*** Bug 295984 has been marked as a duplicate of this bug. ***
(Assignee)

Comment 23

13 years ago
Created attachment 186869 [details] [diff] [review]
proposed fix

proposed fix - there doesn't seem to be any contract that GetParent won't
return a null parent but an OK result, so I've added a check for that. The
windows code was returning NS_OK w/o even initializing *aParent, which I doubt
was the intent of that code.

I'm not sure what you want to do here, Darin (or if you want to be the person
to worry about this) - checking the return of GetParent instead of crashing
seems like the safest thing to do. At first glance, I don't think GetParent
should return a null parent and an NS_OK response, but maybe that is the
contract.
Assignee: mscott → bienvenu

Comment 24

13 years ago
cc'ing Darin given David's question in comment 23 :)
(Assignee)

Comment 25

13 years ago
Comment on attachment 186869 [details] [diff] [review]
proposed fix

darn, I meant to ask Darin for a review...
Attachment #186869 - Flags: review?(darin)

Comment 26

13 years ago
Comment on attachment 186869 [details] [diff] [review]
proposed fix

r+sr=darin
Attachment #186869 - Flags: superreview+
Attachment #186869 - Flags: review?(darin)
Attachment #186869 - Flags: review+

Comment 27

13 years ago
by the way, please fix the indentation in nsLocalFileCommon.cpp to be consistent
with surrounding code.
(Assignee)

Comment 28

13 years ago
Comment on attachment 186869 [details] [diff] [review]
proposed fix

I'll put in a four space indent in that file before checking in.
Attachment #186869 - Flags: approval-aviary1.1a2?

Updated

13 years ago
Attachment #186869 - Flags: approval-aviary1.1a2? → approval-aviary1.1a2+
(Assignee)

Updated

13 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED
Crash Signature: [@ nsLocalFile::SetRelativeDescriptor]
You need to log in before you can comment on or make changes to this bug.