Gervase Markham wrote: > Sergey Yanovich wrote: >> It is right now (with --disable-jemalloc). However, Benjamin wrote in >> the proposal at the root of this thread in m.d.platform: >> >>> My proposed solution to this problem is as follows: >>> >>> * Always build jemalloc. Mozilla code should not use malloc()/free(), >>> but mozilla-specific symbol names such as NS_Alloc() or JE_malloc() >>> >>> * where possible, hook jemalloc into the CRT so that it allocates all >>> malloc()ed memory and there is a unified heap >> This seems to imply making --disable-jemalloc obsolete, which is why I >> am raising the legal issue under discussion. > > The GPL-compatibility problem only arises if we put distributors in a > position where they must modify and distribute the MSCRT. It is not > envisaged that such modification would be _required_. > > bsmedberg just told me: > > "The original proposal I posted was fairly clear that we can't require a > modified MSCRT for no other reason than it would require people to buy > MSVC professional. So as far as I know there's no issue." > > Does that solve the problem?
Yes, sure. The latest comment by bsmedberg is clear and unambiguous. However, let's don't pretend the original proposal was equally so. If all Mozilla code uses NS_Alloc/Free, this and system malloc/free constitute *at least* two allocator/deallocator pair. To avoid crashes caused by wrong deallocator, I see to fast track solutions: 1) carefully match every alloc/dealloc call pairs and equally tests versions with both patched CRT and double heap. 2) drop support for the non-patched version. Everyone would agree that #2 is times easier, if not the only doable solution. I am still having doubts #1 is feasible. All major developers work with patched CRT. After certain period of time, hard-to-detect allocator-related bugs will begin to mount. Unless those are addressed early and often, they will sooner or later reach critical mass. And at that point, the decision to "move forward" (and leave non-patched version behind) will be completely justified. -- Sergey Yanovich _______________________________________________ legal mailing list [email protected] https://lists.mozilla.org/listinfo/legal
