Hacker Newsnew | past | comments | ask | show | jobs | submit | jamespo's commentslogin

Yes, this is HACKER News

Just do a complete rewrite in rust, that will solve all the issues

Except the bug was filed in 2008. Back then, Rust was Graydon Hoare's personal project that Mozilla wouldn't start funding until a year later. Rust was written in OCaml and the famed borrow checker wouldn't be in place until 2010. The first public release was v0.1 in 2012 and the first stable release 1.0 wouldn't happen till 2015. The language was very different back then with sigils, garbage collection and green threading as language features. So this bug was already bugging people when Rust was just an embryo that was still years away from birth.

Now even if we neglect the timeline, Rust only guarantees memory safety. If TB is deleting mails on the server too, then the corruption is happening over IMAP connections as well. Does that sound like a memory safety bug to you? Perhaps it is. But how do we eliminate the possibility of a logical bug that Rust won't protect you against, when nobody has any clue even now? And all that aside, if you're going to rewrite it in Rust, you might as well start a new project in Rust instead of porting an old design that may potentially contain a language-agnostic logical Heisenbug.

I'm not trying to be hostile here. I started using Rust in 2013 (I have 12 years of experience in a 10 year old language, and a bunch of repos that I can't compile anymore unless I compile the compiler from old commits somehow!). I wouldn't use C or C++ for any of these applications - I simply don't have enough competence to avoid the kind of bugs that Rust protects me from (despite being a hardware engineer with more knowledge about memory management than about type system theory). Despite all that, statements like this will only cause an unwanted backlash against Rust. Not that you're entirely wrong, but some people are so offended by such suggestions for reasons that are still under investigation, that they start a crusade against Rust [1].

[1] https://fosstodon.org/@goku12/114077011555069124


The op is being facetious

Sometimes, treating a facetious/sarcastic request seriously helps disarm the facetiousness. Other times, it does not.

English is my first language but I don’t understand this use of “disarm”.

You counter the facetiousness in a way it stops spreading and possibly even spark a constructive discussion is how I understand it (ESL though). I certainly observed this phenomenon myself (although as the person being facetious, I often feel like "I was joking, I actually agree, that's indeed what I was actually implying, but good you made it clear and explicit I guess")

I guess you'd disarm the person being facecious rather than the facetiousness, like you'd disarm someone about to cast you a magic spell.


> I guess you'd disarm the person being facecious rather than the facetiousness

No, you disarm the facetiousness, the same way you'd disarm a trap. Disarming the person wouldn't make sense.

https://en.wiktionary.org/wiki/disarm

> 2. (transitive) To deprive of the means or the disposition to harm; to render harmless or innocuous.

> [quotations] to disarm a man's wrath


Interesting, in French, you can both disarm someone or a gun.

https://fr.m.wiktionary.org/wiki/d%C3%A9sarmer


You can disarm a person in English, but you can't disarm them of their mood.

In French neither, I took this as a figure of speech where facetiousness is likened to a weapon.

At this point, answering to a "rewrite it in Rust" comment which doesn't go into details is a cultural faux pas, you just smile or roll your eyes and move on :-)

I really can't tell them apart. My fault. But people also get too passionate about it sometimes.

Is whichever part of Mozilla that runs Thunderbird going to rehire the rust team now?

Honestly? It might.

Only by being a statistically different code base, unless you think this is a memory safety bug?

Looking at the various issues reported in this thread, it honestly seems that burning the entire codebase and rewriting it would be the best choice. Bonus points for using a modern systems programming language.

Safety in rufst is not only about memory safety. It’s also about avoiding unpredictable behavior.

reading through the report, it's not unlikely to be a race condition

It's amazing that thread seemed to take 5 years before someone mentioned their IMAP server and basic configuration info.

Most users don't administer their IMAP server or know much about it.

Technical users reporting bugs like this with a mail client should endeavour to find out if they are serious about the issue. The initial reporter worked for Sun Microsystems.


A feature I'd like would be creating & managing your own private CA in addition to using letsencrypt for public CAs.


suggestion noted and added to the upcoming major release :)


Probably because macs are a small part of the market


including a high end workstation even though his old machine could upgrade to win 11 just fine


for a few minutes / hours I guess


Outside of acute radiation poisoning and blast damage, it's still a big planet.

The real problem is what happens over the next 3 to 12 months, since global trade and agriculture would fall apart.

Most projections of casualties from nuclear war have much higher fatalities from famine then bombardment.


Looks like the hyperbolic assessment was accurate.


Annoying, I used this. It seems self-hosted wallabag might be the way to go.



Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: