core icon indicating copy to clipboard operation
core copied to clipboard

run.dlang.io times out when using "all dmd compilers"

Open schveiguy opened this issue 4 years ago • 3 comments

I've noticed this in the past, but was usually able to rerun and get around it.

Now, I'm retrying and it always says "Server error".

I have a feeling it's timing out, because now there are too many compilers to try. Maybe we should start dropping off earlier ones? Or should the timeout be increased?

The code has to be something more than trivial. This was the code that was breaking it for me:

import std.variant;
import std.stdio;
void main() { Variant v = 5; writeln("hello, world");    }

schveiguy avatar Aug 26 '21 00:08 schveiguy

I've noticed this in the past, but was usually able to rerun and get around it.

Now, I'm retrying and it always says "Server error".

I have a feeling it's timing out, because now there are too many compilers to try. Maybe we should start dropping off earlier ones? Or should the timeout be increased?

The code has to be something more than trivial. This was the code that was breaking it for me:

import std.variant;
import std.stdio;
void main() { Variant v = 5; writeln("hello, world");    }

Maybe a possible solution would be to increase the timeout for this "special compiler" ?

ljmf00 avatar Aug 26 '21 01:08 ljmf00

@schveiguy @ljmf00 I agree we can go both ways (reducing the number of compilers and increasing the timeout). I'd personally prefer to keep the list always growing as I think it's both very useful for historical purposes and also very convenient (sure you can run the same tests locally, but it can take quite a while to setup, compared to time it would take to actually run comparison).

I should check if dreg is run in single-threaded, or MT mode, as that could easily give us 4x speed increase.

PetarKirov avatar Aug 29 '21 05:08 PetarKirov

Getting an empty "Server error:" with code from this issue. However, if I change main to

void main(string[] args)
{
    actual = &args[0];
    actual.bug(Param.init, 0, {}, {});
}

it produces expected output.

radcapricorn avatar Nov 06 '21 16:11 radcapricorn