On 23/08/18 23:46, Walter Bright wrote:
In my experience with debugging code, if drilling down to find the cause of the problem is not done, there is no way to conclude whether whether it is a compiler bug or a user bug.

(Of course, compiler internal errors are always compiler bugs.)

Drilling down and finding it to be a compiler problem also usually suggests a practical workaround for it.

Consider the following line from the weka code base:

        _trustedData.opIndex(diskIdx) &= NotBitmap(toDistrust);

That's strange. Why didn't Shachar just do?

        _trustedData[diskIdx] &= NotBitmap(toDistrust);

Answer: Because the compiler decided that it needs to call _trustedData.opIndexAssign, and then failed the compilation because it has none. There is no way that that is a bug in the code. This is a compiler bug (maybe since fixed. This is fairly old code).

So, where's the issue number, I hear you ask? There is none. This problem only happens inside the code base. Once I tried to isolate it, I couldn't reproduce.

At this point I can either use the work-around I already have and (try to, obviously unsuccessfully) forget about it, file a bug report that will be (justifiably) ignored because no-one else can reproduce it, or spend an unknown amount of time (two days would probably be low-balling at this point) in trying to get this to reproduce on a watered down version of the code.

Which would you pick?

Shachar

Reply via email to