Closed Bug 192602 Opened 22 years ago Closed 22 years ago

HQX (BinHex) attachments fail to save to disk

Categories

(MailNews Core :: Attachments, defect)

PowerPC
macOS
defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED
mozilla1.3final

People

(Reporter: microtrash, Assigned: sspitzer)

Details

(Keywords: regression, Whiteboard: fixed1.3)

Attachments

(2 files)

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.
This bug is also reproductible using the official 1.3b release (Mach-O; 20030210)
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
Adding regression keyword; it works fine in 1.3a.
Keywords: regression
taking
Assignee: mscott → sspitzer
Do binhex downloads work properly? The trunk probably needs the patch in bug 164924.
Browser HQX downloads (such as of <http://www.einhugur.com/Downloads/Plugs/MaskEditField.hqx>) work fine.
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
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.
Attached patch patchSplinter Review
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 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 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
Closed: 22 years ago
Resolution: --- → FIXED
Whiteboard: fixed1.3
the spin off bug on the XP_MAC / XP_MACOSX bug is bug #196105
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.

Attachment

General

Creator:
Created:
Updated:
Size: