Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ggplotd has a random failure #322

Open
wilzbach opened this issue Oct 19, 2018 · 4 comments
Open

ggplotd has a random failure #322

wilzbach opened this issue Oct 19, 2018 · 4 comments
Labels

Comments

@wilzbach
Copy link
Member

ggplotd 1.1.6: building configuration "ggplotd-test-default"...
Linking...
Running ./ggplotd-test-default 
Random seed MCMC: 54321
Random seed MCMC: 54321
core.exception.AssertError@/var/lib/buildkite-agent/builds/dime-2/dlang/druntime/build/distribution/bin/../imports/std/range/package.d(6113): Assertion failure
----------------
??:? _d_assertp [0x5f131d75]
/var/lib/buildkite-agent/builds/dime-2/dlang/druntime/build/distribution/bin/../imports/std/range/package.d:6113 pure ref @safe std.range.iota!(double, double, double).iota(double, double, double).Result std.range.iota!(double, double, double).iota(double, double, double).Result.__ctor(double, double, double) [0x5ee3bb78]
/var/lib/buildkite-agent/builds/dime-2/dlang/druntime/build/distribution/bin/../imports/std/range/package.d:6168 pure @safe std.range.iota!(double, double, double).iota(double, double, double).Result std.range.iota!(double, double, double).iota(double, double, double) [0x5ee3ba0e]
source/ggplotd/stat.d:566 std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6!(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda6(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda5, std.range.ZipShortest!(1, double[], double[]).ZipShortest).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6!(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda6(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda5, std.range.ZipShortest!(1, double[], double[]).ZipShortest).MapResult).Result ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6!(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda6(std.typecons.Tuple!(double, "x", double, "y").Tuple[]) [0x5f0fd7fc]
/var/lib/buildkite-agent/builds/dime-2/dlang/druntime/build/distribution/bin/../imports/std/algorithm/iteration.d:568 @property std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6!(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda6(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda5, std.range.ZipShortest!(1, double[], double[]).ZipShortest).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6!(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda6(std.typecons.Tuple!(double, "x", double, "y").Tuple[]).__lambda5, std.range.ZipShortest!(1, double[], double[]).ZipShortest).MapResult).Result std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult.back!().back() [0x5f101b57]
/var/lib/buildkite-agent/builds/dime-2/dlang/druntime/build/distribution/bin/../imports/std/algorithm/iteration.d:2673 ref std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).Result std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).Result.__ctor(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).M... [0x5f016102]
/var/lib/buildkite-agent/builds/dime-2/dlang/druntime/build/distribution/bin/../imports/std/algorithm/iteration.d:2646 std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).Result std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult) [0x5f015fe5]
source/ggplotd/stat.d:533 std.algorithm.iteration.joiner!(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).joiner(std.algorithm.iteration.MapResult!(ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).__lambda6, std.typecons.Tuple!(double, "x", double, "y").Tuple[][]).MapResult).Result ggplotd.stat.statDensity2D!(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes).statDensity2D(ggplotd.aes.Aes!(double[], "x", double[], "y").Aes) [0x5f0fd191]
source/ggplotd/stat.d:604 void ggplotd.stat.__unittest_L590_C1() [0x5f0cff9f]
??:? void ggplotd.stat.__modtest() [0x5f101b86]
??:? int core.runtime.runModuleUnitTests().__foreachbody2(object.ModuleInfo*) [0x5f15d23b]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)).__lambda2(immutable(object.ModuleInfo*)) [0x5f129ec2]
??:? int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo*))).__foreachbody2(ref rt.sections_elf_shared.DSO) [0x5f13985d]
??:? int rt.sections_elf_shared.DSO.opApply(scope int delegate(ref rt.sections_elf_shared.DSO)) [0x5f1399f0]
??:? int rt.minfo.moduleinfos_apply(scope int delegate(immutable(object.ModuleInfo*))) [0x5f1397e9]
??:? int object.ModuleInfo.opApply(scope int delegate(object.ModuleInfo*)) [0x5f129e99]
??:? runModuleUnitTests [0x5f15d011]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() [0x5f1346e0]
??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x5f134667]
??:? _d_run_main [0x5f1345cf]
??:? main [0x5edb5735]
??:? __libc_start_main [0x5cee72e0]
1/19 unittests FAILED
Program exited with code 1
�[31m🚨 Error: The command exited with status 2�[0m
^^^ +++
^^^ +++

From: https://buildkite.com/dlang/druntime/builds/441#03a73d78-e28c-431f-a5f8-eacb8e293c1a

@wilzbach wilzbach changed the title ggplot has a random failure ggplotd has a random failure Oct 19, 2018
@jacob-carlborg
Copy link
Contributor

Is this a CI infrastructure bug since it's created in this repository?

@wilzbach
Copy link
Member Author

Not sure, but I just wanted to log it here so that it's known that it appears from time to time. If it appears more often, we should have a more detailed look at this.
If this doesn't appear in the next two months again, feel free to close.

@wilzbach
Copy link
Member Author

Happened again: https://buildkite.com/dlang/dmd/builds/2062#435f8561-bf14-4f26-9aa7-dd2200428c1e

Though I think that one was just running out of memory.

@MartinNowak
Copy link
Member

I think this is 18227 – Assertion failure in iota for floating point and it was originally worked around by pinning the random seed in example.d.
We just need another fixed seed for dstats.random used in ggplotd/stats.d (https://github.com/BlackEdder/ggplotd/blob/b2e473f939de334d034996615e0cd35f1f4ca7c9/source/ggplotd/stat.d#L541).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants