HQX (BinHex) attachments fail to save to disk

VERIFIED FIXED in mozilla1.3final

Status

--
major
VERIFIED FIXED
16 years ago
10 years ago

People

(Reporter: microtrash, Assigned: sspitzer)

Tracking

({regression})

Trunk
mozilla1.3final
PowerPC
Mac OS X
regression
Bug Flags:
blocking1.3 +

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed1.3)

Attachments

(2 attachments)

(Reporter)

Description

16 years ago
User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.3b) Gecko/20030206
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.3b) Gecko/20030206

I receve two mails with both attachments. With the first mail, all attachments
where zip files and I was able to choose "Save all...", or "Save as..." and they
both work fine.
But second mail contain .sit attachments and .hqx attachments. "Save all..."
does absolutely nothing; the save as dialog appear, but it save nothing. "Save
as..." option work, but only for .sit files. When attemp to do save a .hqx file
anywhere on my HD, the save dialog appear, but nothing is saved. Trying
different names and extensions (.sit, .txt) won't work.

The open seem to work, but it's not very convenient.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
(Reporter)

Comment 1

16 years ago
This bug is also reproductible using the official 1.3b release (Mach-O; 20030210)

Comment 2

16 years ago
Confirmed using FizzillaMach/2003022103. HQX attachments appear to save, but
actually don't.

This is a pretty serious bug for Mac. HQX is a very common format. Should this
be caught for 1.3?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking1.3?
Summary: hqx attachment refuse to save to disk → HQX (BinHex) attachments fail to save to disk

Comment 3

16 years ago
Created attachment 115258 [details]
Example BinHex HQX file to use for attachment saving tests

Comment 4

16 years ago
Adding regression keyword; it works fine in 1.3a.
Keywords: regression
taking
Assignee: mscott → sspitzer

Comment 6

16 years ago
Do binhex downloads work properly? The trunk probably needs the patch in bug 164924.

Comment 7

16 years ago
Browser HQX downloads (such as of
<http://www.einhugur.com/Downloads/Plugs/MaskEditField.hqx>) work fine.

Comment 8

16 years ago
This seems pretty bad. Setting to blocking1.3+
Flags: blocking1.3? → blocking1.3+
accepting, either shuehan or I will start on this on monday.
Status: NEW → ASSIGNED
Whiteboard: [will start on monday, 3/3/03]
Target Milestone: --- → mozilla1.3final
I've got the trunk building (and running) on my Mac OS 10.2.3 machine.

I'll start debugging tomorrow, 3/3/03
Whiteboard: [will start on monday, 3/3/03] → [will start debugging on monday, 3/3/03]
I'm able to reproduce this problem using the sample .hqx file.
QA Contact: stephend → nbaca

Comment 12

16 years ago
This may be a Mach-O-only bug. It's present in FizzillaMach/2002-12-16-07-trunk,
but not in FizzillaCFM/2003-01-07-12-trunk (and thus may also not be a regression).
I can confirm that open works, but save doesn't.

here's what I see on the console:

###!!! ASSERTION: OnDataAvailable implementation consumed no data: 'Error', file
nsInputStreamPump.cpp, line 424
Break: at file nsInputStreamPump.cpp, line 424
###!!! ASSERTION: unknown error, but don't alert user.: 'errorID !=
UNKNOWN_ERROR', file nsMsgProtocol.cpp, line 402
Break: at file nsMsgProtocol.cpp, line 402
borrowed a gig of ram from mscott, so now I'm back on this bug.
Whiteboard: [will start debugging on monday, 3/3/03] → [debugging]
ok, I think I see the problem.

we have some code in nsMessenger.cpp that is defined (or not defined) for
XP_MAC, but not XP_MACOSX

working on a fix.
Created attachment 116288 [details] [diff] [review]
patch

patch, thanks to mscott for the ram so I could use gdb.
Comment on attachment 116288 [details] [diff] [review]
patch

hoping for some review from sfraser (or ducarroz) on this two liner.
Attachment #116288 - Flags: superreview?(sfraser)
Attachment #116288 - Flags: review?(ducarroz)
Whiteboard: [debugging] → [fix in hand, awaiting reviews]
if XP_MAC is not defined when doing a Mach-0 build! That scare me! we have a lot
of Mac specific code in mailnews which need to be compiled in Mach-0 like code
to handle AppleDouble attachment.
ducarroz brings up a good point.  

here's a lot of code in mailnews that's ifdef XP_MAC.

C:\trees\trunk\mozilla\mailnews\addrbook\src\nsAbLDAPAutoCompFormatter.cpp(26)://
the XP_MAC check first.  This conditional encloses the entire
C:\trees\trunk\mozilla\mailnews\addrbook\src\nsAbLDAPAutoCompFormatter.cpp(30):#if
!defined(XP_MAC) || defined(MOZ_LDAP_XPCOM)
C:\trees\trunk\mozilla\mailnews\addrbook\src\nsAddrDatabase.cpp(494):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\addrbook\src\nsAddrDatabase.cpp(526):#endif /*
XP_MAC */
C:\trees\trunk\mozilla\mailnews\addrbook\src\nsAddrDatabase.cpp(610):#if
defined(XP_PC) || defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\addrbook\src\nsAddrDatabase.h(333):#if
defined(XP_PC) || defined(XP_MAC)	// this should go away when we can provide our
own file stream to MDB/Mork
C:\trees\trunk\mozilla\mailnews\addrbook\src\nsDirPrefs.cpp(2919):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\base\search\src\nsMsgFilter.cpp(556):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\base\src\nsMessenger.cpp(55):#if defined(XP_MAC)
|| defined(XP_MACOSX)
C:\trees\trunk\mozilla\mailnews\base\src\nsMessenger.cpp(209):#if defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\base\src\nsMessenger.cpp(655):#if
!defined(XP_MAC) && !defined(XP_MACOSX)
C:\trees\trunk\mozilla\mailnews\base\src\nsMessenger.cpp(1710):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\base\src\nsMessengerMigrator.h(81):#elif
defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\base\src\nsMessengerMigrator.h(85):#endif /*
XP_PC, XP_MAC */
C:\trees\trunk\mozilla\mailnews\base\src\nsMsgFolderCache.cpp(224):#if
defined(XP_PC) || defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\base\util\nsMsgUtils.cpp(242):#if defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleCodes.h(35):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleCodes.h(39):#endif /*
XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleCodes.h(116):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleCodes.h(120):#endif /*
XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(37):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(566):#ifdef	XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(752):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(827):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(882):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(911):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecode.cpp(941):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecodeStream.cpp(46):#ifdef
RICHIE_XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecodeStream.cpp(367):#ifndef
RICHIE_XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecodeStream.cpp(382):#ifdef
RICHIE_XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecodeStream.cpp(535):
#ifdef RICHIE_XP_MAC		
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecodeStream.cpp(561):#ifdef
RICHIE_XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDecodeStream.cpp(713):#ifndef
RICHIE_XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDouble.h(155):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleDecode.cpp(27):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleDecode.cpp(53):#endif
/* the ifdef of XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleDecode.cpp(314):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleDecode.cpp(350):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleEncode.cpp(27):*	
27sep95		mym		Add the XP_Mac to ensure the cross-platform.
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleEncode.cpp(44):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleDoubleEncode.cpp(282):#endif
/* the ifdef of XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleEncode.cpp(38):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAppleEncode.cpp(712):#endif		
/* if define XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(75):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(85):#endif
/* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(137):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(150):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(463):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(656):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.cpp(907):#endif
/* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.h(50):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.h(62):#endif
 // XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgAttachmentHandler.h(106):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(41):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(537):#ifndef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(570):#ifndef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(592):#ifdef XP_MAC	
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(626):#ifdef XP_MAC	
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(663):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(681):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(701):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(793):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(933):#ifndef XP_MAC		
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(985):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.cpp(1007):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.h(31):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.h(35):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.h(121):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.h(178):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgBinHex.h(182):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompUtils.cpp(1737):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompose.cpp(1119):#if
!defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompose.cpp(1142):#endif /*
XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompose.cpp(1151):#if
!defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompose.cpp(1153):#endif /*
XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompose.h(128):#if !defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgCompose.h(130):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(127):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(152):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(491):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(501):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(1339):#if
defined(XP_MAC) && defined(DEBUG)
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(1343):#endif // XP_MAC
&& DEBUG
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(1404):#if
defined(XP_MAC) && defined(DEBUG)
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(1406):#endif // XP_MAC
&& DEBUG
C:\trees\trunk\mozilla\mailnews\compose\src\nsMsgSend.cpp(2334):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\public\nsMsgDatabase.h(178):#if
defined(XP_PC) || defined(XP_MAC)	// this should go away when we can provide our
own file stream to MDB/Mork
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsImapMailDatabase.cpp(38):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsImapMailDatabase.cpp(111):#if
defined(XP_PC) || defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMailDatabase.cpp(336):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMailDatabase.cpp(339):#endif //
XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMailDatabase.cpp(361):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMailDatabase.cpp(374):#endif //
XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMailDatabase.cpp(467):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMsgDatabase.cpp(41):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMsgDatabase.cpp(79):#if
defined(XP_MAC) && defined(CompareString)
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMsgDatabase.cpp(908):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMsgDatabase.cpp(941):#endif /*
XP_MAC */
C:\trees\trunk\mozilla\mailnews\db\msgdb\src\nsMsgDatabase.cpp(983):#if
defined(XP_PC) || defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\imap\src\nsIMAPBodyShell.cpp(966):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\imap\src\nsIMAPBodyShell.cpp(984):#endif	// XP_MAC
C:\trees\trunk\mozilla\mailnews\import\comm4x\src\nsComm4xProfile.cpp(102):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\comm4x\src\nsComm4xProfile.cpp(113):#if
defined(XP_PC) || defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraImport.cpp(63):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraImport.cpp(111):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraImport.cpp(174):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraMailbox.cpp(342):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraSettings.cpp(36):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraSettings.cpp(121):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\import\eudora\src\nsEudoraSettings.cpp(140):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\local\src\nsMailboxProtocol.cpp(216):#if
defined(XP_MAC)
C:\trees\trunk\mozilla\mailnews\mime\cthandlers\smimestub\nsSMIMEStub.cpp(53):#ifndef
XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\cthandlers\smimestub\nsSMIMEStub.cpp(62):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\cthandlers\vcard\mimevcrd.cpp(67):#ifndef
XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\cthandlers\vcard\mimevcrd.cpp(1855):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\cthandlers\vcard\nsVCard.cpp(867):#if
defined(XP_MAC) && defined(__MWERKS__)
C:\trees\trunk\mozilla\mailnews\mime\cthandlers\vcard\nsVCardObj.h(127):#ifdef
XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(55):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(280):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(285):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(299):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(303):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(469):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(471):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(476):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimeebod.cpp(480):#endif /* XP_MAC */
C:\trees\trunk\mozilla\mailnews\mime\src\mimemapl.cpp(91):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimemapl.cpp(193):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimemapl.cpp(213):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimemoz2.cpp(853):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimemoz2.cpp(1001):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimemult.cpp(49):#ifdef XP_MAC
C:\trees\trunk\mozilla\mailnews\mime\src\mimemult.cpp(452):#ifdef XP_MAC
Comment on attachment 116288 [details] [diff] [review]
patch

r=ccarlen
Attachment #116288 - Flags: review?(ducarroz) → review+

Comment 21

16 years ago
Comment on attachment 116288 [details] [diff] [review]
patch

Yup, you should eyeball all the other XP_MACs.
Attachment #116288 - Flags: superreview?(sfraser) → superreview+
I'll spin off a new bug about all the other usages.  I'd want to verify each
one, and make sure.  (I'll add a comment so even if I don't add XP_MACOSX, it
will be clear why.)
Whiteboard: [fix in hand, awaiting reviews]

Comment 23

16 years ago
Comment on attachment 116288 [details] [diff] [review]
patch

a=asa (on behalf of drivers) for checkin to 1.3 branch.
Attachment #116288 - Flags: approval1.3+
fixed on both trunk and branch.
Status: ASSIGNED → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED

Updated

16 years ago
Whiteboard: fixed1.3
the spin off bug on the XP_MAC / XP_MACOSX bug is bug #196105

Comment 26

16 years ago
Trunk build 2003-04-22: Mac 10.1.5
Verified Fixed, using the attached HQX file.
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.