Issue 1:
This often, but not always, exits with a segfault on my machine:

$ 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

It also sometimes exits with code 1 (which is sufficient to cause Travis errors). Note that make testall; echo $? gives a normal exit code of 0, and the above with runtests.jl all does not segfault (or at least, I haven't seen it do so yet) but gives an exit code of 1.

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 uv_run:

(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]

julia> 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

Issue 2:
Hi !

Seems BigFloat fails to compare when used in structs. Here is a minimal example

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 && x2.l == y2.l)

My output:

Struct/Float64: true
Struct/BigFloat: false
Tuple workaround: true
Attribute workaround: true

To me, the second line should be true.

My versioninfo():

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)