discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libobjc2 build issue


From: David Chisnall
Subject: Re: libobjc2 build issue
Date: Sun, 1 Dec 2019 11:23:49 +0000

On 1 Dec 2019, at 10:17, Riccardo Mottola <riccardo.mottola@libero.it> wrote:
> 
> Right. Please do not distort things. While I make sure that everything is 
> "gcc clean" for my own use, I do test, run and build GNUstep with clang 
> almost daily. My main workstation is FreeBSD + Clang + GNUstep. Of course, it 
> means I do not use any features of this setup that would not work in the 
> equivalent GCC path, but it still gets used. All software I run or maintain 
> works in this setup.

That’s exactly my point.  If all of the core GNUstep developers are building 
things on top of GNUstep that work with the core OpenStep-era Objective-C 
language and runtime, then none of those things are going to stress test any of 
the bits of GNUstep that depend on the newer features.

There are lots of subtle corner cases in things like weak references in the 
presence of concurrency, C++ exception interop in Objective-C++, and so on that 
will only work reliably if people are testing them in ways that go 
significantly beyond easy unit testing (though many of them can subsequently be 
reduced to simple regression tests).

I have fixed a number of bugs in these issues over the last couple of years, 
but none of them were reported by core GNUstep developers.  Since I know that 
GNUstep developers are pretty good about filing bug reports when they encounter 
issues, this tells me that you are not seeing these issues, which tells me that 
you’re not hitting any of these code paths in anything that you are about.

NSMapTable with weak objects or keys is not an unusual pattern in Cocoa 
applications (GitHub finds almost 2K occurrences of weakToStrongObjectsMapTable 
in a quick search), but it has been broken in GNUstep since 2013.  How many of 
the people listed on this page[1] have written code that depended on correct 
functioning of weak references?  How many have written anything that uses ARC 
in a non-trivial way?  Or anything that tests Objective-C++?

I expect the OpenStep parts of GNUstep to work very well, because I expect that 
many people on that list are testing a large subset of them on a regular basis, 
but anything that depends on modern Objective-C or Objective-C++ will work only 
if someone downstream uses them, discovers that they’re broken, and engages 
with the project long enough for them to be fixed.

David

[1] https://github.com/orgs/gnustep/people




reply via email to

[Prev in Thread] Current Thread [Next in Thread]