<p dir="auto">This often, but not always, exits with a segfault on my machine:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="$ JULIA_CPU_CORES=1 ~/src/julia/usr/bin/julia-debug runtests.jl socket sysinfo rounding mod2pi show; echo $?
     * socket
     * sysinfo
     * rounding
     * mod2pi
     * show
    SUCCESS
Segmentation fault (core dumped)
139"><pre class="notranslate"><code class="notranslate">$ JULIA_CPU_CORES=1 ~/src/julia/usr/bin/julia-debug runtests.jl socket sysinfo rounding mod2pi show; echo $?
     * socket
     * sysinfo
     * rounding
     * mod2pi
     * show
    SUCCESS
Segmentation fault (core dumped)
139
</code></pre></div>
<p dir="auto">It also sometimes exits with code 1 (which is sufficient to cause Travis errors). Note that <code class="notranslate">make testall; echo $?</code> gives a normal exit code of 0, and the above with <code class="notranslate">runtests.jl all</code> does not segfault (or at least, I haven't seen it do so yet) but gives an exit code of 1.</p>
<p dir="auto">Frustratingly, when I run it under gdb I haven't been able to trigger the segfault. However, the exit code 1 seems to occur inside <code class="notranslate">uv_run</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="(gdb) b init.c:461
Breakpoint 1 at 0x7ffff6e2f626: file init.c, line 461.
(gdb) run runtests.jl socket sysinfo rounding mod2pi show
Starting program: /home/tim/src/julia/usr/bin/julia-debug runtests.jl socket sysinfo rounding mod2pi show
[Thread debugging using libthread_db enabled]
Using host libthread_db library &quot;/lib/x86_64-linux-gnu/libthread_db.so.1&quot;.
[New Thread 0x7ffff1b75700 (LWP 13538)]
[New Thread 0x7ffff1374700 (LWP 13539)]
[New Thread 0x7fffeeb73700 (LWP 13540)]
     * socket
[New Thread 0x7fffe781c700 (LWP 13545)]
[New Thread 0x7fffe701b700 (LWP 13546)]
[New Thread 0x7fffe681a700 (LWP 13547)]
[New Thread 0x7fffe6019700 (LWP 13548)]
     * sysinfo
     * rounding
     * mod2pi
     * show
    SUCCESS

Breakpoint 1, uv_atexit_hook () at init.c:461
461         uv_run(loop,UV_RUN_DEFAULT); //let libuv spin until everything has finished closing
(gdb) finish
Run till exit from #0  uv_atexit_hook () at init.c:461
[Thread 0x7fffe701b700 (LWP 13546) exited]
[Thread 0x7fffe6019700 (LWP 13548) exited]
[Thread 0x7fffe681a700 (LWP 13547) exited]
[Thread 0x7fffe781c700 (LWP 13545) exited]
[Thread 0x7ffff1374700 (LWP 13539) exited]
[Thread 0x7ffff1b75700 (LWP 13538) exited]
[Thread 0x7fffeeb73700 (LWP 13540) exited]
[Inferior 1 (process 13535) exited with code 01]
(gdb) run runtests.jl rounding mod2pi
Starting program: /home/tim/src/julia/usr/bin/julia-debug runtests.jl rounding mod2pi
[Thread debugging using libthread_db enabled]
Using host libthread_db library &quot;/lib/x86_64-linux-gnu/libthread_db.so.1&quot;.
[New Thread 0x7ffff1b75700 (LWP 13551)]
[New Thread 0x7ffff1374700 (LWP 13552)]
[New Thread 0x7fffeeb73700 (LWP 13553)]
     * rounding
     * mod2pi
    SUCCESS

Breakpoint 1, uv_atexit_hook () at init.c:461
461         uv_run(loop,UV_RUN_DEFAULT); //let libuv spin until everything has finished closing
(gdb) finish
Run till exit from #0  uv_atexit_hook () at init.c:461
0x00007ffff4d83979 in julia__start;17052 () at client.jl:412
412     client.jl: No such file or directory.
(gdb) c
Continuing.
[Thread 0x7ffff1374700 (LWP 13552) exited]
[Thread 0x7fffeeb73700 (LWP 13553) exited]
[Thread 0x7ffff1b75700 (LWP 13551) exited]
[Inferior 1 (process 13550) exited normally]"><pre class="notranslate"><code class="notranslate">(gdb) b init.c:461
Breakpoint 1 at 0x7ffff6e2f626: file init.c, line 461.
(gdb) run runtests.jl socket sysinfo rounding mod2pi show
Starting program: /home/tim/src/julia/usr/bin/julia-debug runtests.jl socket sysinfo rounding mod2pi show
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff1b75700 (LWP 13538)]
[New Thread 0x7ffff1374700 (LWP 13539)]
[New Thread 0x7fffeeb73700 (LWP 13540)]
     * socket
[New Thread 0x7fffe781c700 (LWP 13545)]
[New Thread 0x7fffe701b700 (LWP 13546)]
[New Thread 0x7fffe681a700 (LWP 13547)]
[New Thread 0x7fffe6019700 (LWP 13548)]
     * sysinfo
     * rounding
     * mod2pi
     * show
    SUCCESS

Breakpoint 1, uv_atexit_hook () at init.c:461
461         uv_run(loop,UV_RUN_DEFAULT); //let libuv spin until everything has finished closing
(gdb) finish
Run till exit from #0  uv_atexit_hook () at init.c:461
[Thread 0x7fffe701b700 (LWP 13546) exited]
[Thread 0x7fffe6019700 (LWP 13548) exited]
[Thread 0x7fffe681a700 (LWP 13547) exited]
[Thread 0x7fffe781c700 (LWP 13545) exited]
[Thread 0x7ffff1374700 (LWP 13539) exited]
[Thread 0x7ffff1b75700 (LWP 13538) exited]
[Thread 0x7fffeeb73700 (LWP 13540) exited]
[Inferior 1 (process 13535) exited with code 01]
(gdb) run runtests.jl rounding mod2pi
Starting program: /home/tim/src/julia/usr/bin/julia-debug runtests.jl rounding mod2pi
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff1b75700 (LWP 13551)]
[New Thread 0x7ffff1374700 (LWP 13552)]
[New Thread 0x7fffeeb73700 (LWP 13553)]
     * rounding
     * mod2pi
    SUCCESS

Breakpoint 1, uv_atexit_hook () at init.c:461
461         uv_run(loop,UV_RUN_DEFAULT); //let libuv spin until everything has finished closing
(gdb) finish
Run till exit from #0  uv_atexit_hook () at init.c:461
0x00007ffff4d83979 in julia__start;17052 () at client.jl:412
412     client.jl: No such file or directory.
(gdb) c
Continuing.
[Thread 0x7ffff1374700 (LWP 13552) exited]
[Thread 0x7fffeeb73700 (LWP 13553) exited]
[Thread 0x7ffff1b75700 (LWP 13551) exited]
[Inferior 1 (process 13550) exited normally]
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; versioninfo()
Julia Version 0.3.0-prerelease+4096
Commit b43b391* (2014-07-09 08:58 UTC)
DEBUG build
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i7 CPU       L 640  @ 2.13GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
  LAPACK: libopenblas
  LIBM: libopenlibm"><pre class="notranslate"><code class="notranslate">julia&gt; versioninfo()
Julia Version 0.3.0-prerelease+4096
Commit b43b391* (2014-07-09 08:58 UTC)
DEBUG build
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i7 CPU       L 640  @ 2.13GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
  LAPACK: libopenblas
  LIBM: libopenlibm
</code></pre></div>
<p dir="auto">Hi !<br>
Seems <code class="notranslate">BigFloat</code> fails to compare when used in structs. Here is a minimal example</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="struct DW1
    h::Float64
    l::Float64
end

struct DW2
    h::BigFloat
    l::BigFloat
end

x1, y1 = DW1(1, 2), DW1(1, 2)
x2, y2 = DW2(1, 2), DW2(1, 2)

println(&quot;Struct/Float64: &quot;, x1 == y1)
println(&quot;Struct/BigFloat: &quot;, x2 == y2)

println(&quot;Tuple workaround: &quot;, (x2.h, x2.l) == (y2.h, y2.l))
println(&quot;Attribute workaround: &quot;, x2.h == y2.h &amp;&amp; x2.l == y2.l)"><pre lang="{julia}" class="notranslate"><code class="notranslate">struct DW1
    h::Float64
    l::Float64
end

struct DW2
    h::BigFloat
    l::BigFloat
end

x1, y1 = DW1(1, 2), DW1(1, 2)
x2, y2 = DW2(1, 2), DW2(1, 2)

println("Struct/Float64: ", x1 == y1)
println("Struct/BigFloat: ", x2 == y2)

println("Tuple workaround: ", (x2.h, x2.l) == (y2.h, y2.l))
println("Attribute workaround: ", x2.h == y2.h &amp;&amp; x2.l == y2.l)
</code></pre></div>
<p dir="auto">My output:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Struct/Float64: true
Struct/BigFloat: false
Tuple workaround: true
Attribute workaround: true"><pre class="notranslate"><code class="notranslate">Struct/Float64: true
Struct/BigFloat: false
Tuple workaround: true
Attribute workaround: true
</code></pre></div>
<p dir="auto">To me, the second line should be true.</p>
<p dir="auto">My <code class="notranslate">versioninfo()</code>:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Julia Version 1.6.0
Commit f9720dc2eb* (2021-03-24 12:55 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-7440HQ CPU @ 2.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.1.0 (ORCJIT, skylake)"><pre class="notranslate"><code class="notranslate">Julia Version 1.6.0
Commit f9720dc2eb* (2021-03-24 12:55 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i5-7440HQ CPU @ 2.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.1.0 (ORCJIT, skylake)
</code></pre></div>