Closed Bug 295208 Opened 20 years ago Closed 18 years ago

Parse error and grouped by Date problem with bad Date: header entry

Categories

(Thunderbird :: General, defect)

x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 32216

People

(Reporter: hadmut, Assigned: mscott)

Details

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Firefox/1.0.4 (Debian package 1.0.4-1) Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Firefox/1.0.4 (Debian package 1.0.4-1) Hi, I sometimes receive some automatically generated mails from a database server. The author of the software didn't know about the RFC2822 date format and instead used the date format common for germany, e.g. Date: 20.05.2005 08:46:04 Most other people don't realize that because M$ Outlook simply takes the date of the first Received line if it can't parse the Date entry. However, things go wrong in Thunderbird: - Thunderbird fails to sort mails properly. If the mail is from yesterday, it detects it as 'yesterday' but moves the yesterday folder to the bottom below 'old mail' in the mailbox window Sorting doesn't work properly. - In the mail list it displays the date as 01.01.1970 01:00 so it can't be parsed. Since it already detected that the mail came from yesterday, it means that there are different parsing routines. - In the mail window the date is given as 22.01.-32185 22:27 Something goes really wrong here. - Thunderbird sometimes goes crazy when dealing with such mails. The mailbox window is not displayed competely anymore, mails get not sorted properly, thunderbird behaves unnormal and sometimes even the X11-Server crashes or gets blocked. There seems to be a problem with a pointer or a buffer overrun. Reproducible: Sometimes Steps to Reproduce: 1. Send yourself an email with the given Date header format, use e.g. a yesterday's date 2. Turn your mailbox window into date-sorted Grouped by sort mode 3. Watch the mailbox and the messagew window
I can confirm this in part. The Date: isn't parsed correctly and shows up in the thread pane as 12/31/1969 4pm (I'm -0800, I assume you must be ahead of GMT to get the 1/1/1970 date). But my test message doesn't group with "yesterday's" mail, it falls into "old" mail. Unlike your description, in the message pane or the separate message window I see the date shown the same was as the thread pane. So far no security sounding error. What sort of date led to the negative number in the message pane? That one *does* worry me, as does your description of a crash. But I haven't been able to reproduce either result. Scott: how much of the date processing is farmed out to system routines to get localized behavior? Hadmut: depending on the answer to the previous question maybe some of the bug is specific to Debian. What kernel or distro version are you using?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [sg:needinfo]
I just did the following test: Telnet to localhost 25 and enter an e-mail with just DATA 354 Enter mail, end with "." on a line by itself Subject: test Date: 24.05.2005 23:51:00 aabc . In the message list it appears with 01.01.1970 01:00 In the message window it has the date 01.10.-32179 07:04 Maybe the bug depends on the locale or time setting. I've seen the problem with both computers in my office and at home. At home I have a self compiled 2.6.11 kernel. Debian is unstable bleeding edge. Thunderbird about shows 1.0.2 (20050331) regards Hadmut
Hi, I just got a little bit further. Maybe the problem is not a buffer overrun in the date parsing functions. I noticed a similar problem when I deleted the oldest message while in "grouped by sort"/Time view. It seems as if the latest element of the list is not properly removed and if thunderbird tries to display a data structure that does not exist anymore, thus producing rubbish. There could be some coincidence with the date parsing problem. I noticed that the malformed date is interpreted differently when displaying and sorting the messages. When the message gets the wrong date 1.1.1970 it is sorted to the very bottom of the list, but it looks as if other modules of thunderbird don't recognize the message as old. Maybe it happens that when removing messages with such a malformed date header (as I did), these messages (or their graphical gadgets) are removed from the tail of a linked list, while the tail is not closed properly. It looks as if Thunderbird still tries to display the last message that was just removed, but fails to find the data. Maybe it is a different problem and was just triggered by the date parsing problem. regards Hadmut
Hi, I meanwhile observed the same problem several times again: The problem occurs when in Grouped-by-date listing mode. It pretty much seems as if this mode had it's own date parsing routes which are the problem. E.g. when sorting or removing messages with an incorrect date header sometimes other messages get a "submessage entry" (a + icon which indicates a subtree) which leads to nowhere, some messages suddenly occur twice. regards Hadmut
Group: security
Summary: Parse error and possible buffer overrun with the Date: header entry → Parse error and grouped by Date problem with bad Date: header entry
Whiteboard: [sg:needinfo]
See bug 32216 (and it's dependencies). Bug 166254 may be the fix. (Obviously the group by is messed up since we don't have a reasonable date.) *** This bug has been marked as a duplicate of 32216 ***
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
I've been verifying the dupes for bug 32216, but I'm not going to verify this at this time, because of the mention of the problems deleting the mail, which might be bug 209501. The two might be related in this case.
QA Contact: benc
You need to log in before you can comment on or make changes to this bug.