Why did I get IO error when broadcasting higher precision (bits >= 98) ArbFloat variables to workers?

I used the following code to test the data allocation on distributed workers. I found that broadcasting an ArbFloat variable to workers with precision equal to or higher than 98 bits will cause the IO error.
Code:

using ArbNumerics, Distributed
rmprocs(workers())
addprocs(1);

@everywhere dn = 90
@everywhere using ArbNumerics
@everywhere setworkingprecision(ArbFloat,bits=dn)

a = ArbFloat(pi)

@everywhere function check_data(x)
println("Worker $(myid()): Data check: ", typeof(x), " with value: ", x)
end

for i = 1:10
@everywhere setworkingprecision(ArbFloat,bits=dn+$i)
a = ArbFloat(pi)
try
@everywhere check_data(a) catch e println("The error happened at bits = (dn+i) ",e)
end
end

“error”:

Worker 1: Data check: ArbFloat{91} with value: 3.141592653589793238462643383279503
From worker 3: Worker 3: Data check: ArbFloat{91} with value: 3.141592653589793238462643383279503
Worker 1: Data check: ArbFloat{92} with value: 3.141592653589793238462643383279503
From worker 3: Worker 3: Data check: ArbFloat{92} with value: 3.141592653589793238462643383279503
Worker 1: Data check: ArbFloat{93} with value: 3.1415926535897932384626433832795029
From worker 3: Worker 3: Data check: ArbFloat{93} with value: 3.1415926535897932384626433832795029
Worker 1: Data check: ArbFloat{94} with value: 3.1415926535897932384626433832795029
From worker 3: Worker 3: Data check: ArbFloat{94} with value: 3.1415926535897932384626433832795029
Worker 1: Data check: ArbFloat{95} with value: 3.14159265358979323846264338327950288
From worker 3: Worker 3: Data check: ArbFloat{95} with value: 3.14159265358979323846264338327950288
Worker 1: Data check: ArbFloat{96} with value: 3.14159265358979323846264338327950288
From worker 3: Worker 3: Data check: ArbFloat{96} with value: 3.14159265358979323846264338327950288
Worker 1: Data check: ArbFloat{97} with value: 3.141592653589793238462643383279502884
From worker 3: Worker 3: Data check: ArbFloat{97} with value: 3.141592653589793238462643383279502884
Worker 1: Data check: ArbFloat{98} with value: 3.141592653589793238462643383279502884
From worker 3: Worker 3: Data check: ArbFloat{98} with value:
Worker 3 terminated.

The error happened at bits = 98

Unhandled Task ERROR: IOError: read: connection reset by peer (ECONNRESET)
Stacktrace:
[1] wait_readnb(x::Sockets.TCPSocket, nb::Int64)
@ Base .\stream.jl:410
[2] (::Base.var"#wait_locked#832")(s::Sockets.TCPSocket, buf::IOBuffer, nb::Int64)
@ Base .\stream.jl:981
[3] unsafe_read(s::Sockets.TCPSocket, p::Ptr{UInt8}, nb::UInt64)
@ Base .\stream.jl:987
[4] unsafe_read
@ .\io.jl:891 [inlined]
[5] unsafe_read(s::Sockets.TCPSocket, p::Base.RefValue{NTuple{4, Int64}}, n::Int64)
@ Base .\io.jl:890
[6] read!
@ .\io.jl:895 [inlined]
[7] deserialize_hdr_raw
@ C:\Users\dell.julia\juliaup\julia-1.11.2+0.x64.w64.mingw32\share\julia\stdlib\v1.11\Distributed\src\messages.jl:167 [inlined]
[8] message_handler_loop(r_stream::Sockets.TCPSocket, w_stream::Sockets.TCPSocket, incoming::Bool)
@ Distributed C:\Users\dell.julia\juliaup\julia-1.11.2+0.x64.w64.mingw32\share\julia\stdlib\v1.11\Distributed\src\process_messages.jl:172
[9] process_tcp_streams(r_stream::Sockets.TCPSocket, w_stream::Sockets.TCPSocket, incoming::Bool)
@ Distributed C:\Users\dell.julia\juliaup\julia-1.11.2+0.x64.w64.mingw32\share\julia\stdlib\v1.11\Distributed\src\process_messages.jl:133
[10] (::Distributed.var"#103#104"{Sockets.TCPSocket, Sockets.TCPSocket, Bool})()
@ Distributed C:\Users\dell.julia\juliaup\julia-1.11.2+0.x64.w64.mingw32\share\julia\stdlib\v1.11\Distributed\src\process_messages.jl:121
CompositeException(Any[ProcessExitedException(3)])
Worker 1: Data check: ArbFloat{99} with value: 3.1415926535897932384626433832795028842
Worker 1: Data check: ArbFloat{100} with value: 3.1415926535897932384626433832795028842

using ArbNumerics, Distributed
addprocs(2);
@everywhere dn = 90
@everywhere using ArbNumerics
@everywhere setworkingprecision(ArbFloat,bits=dn)
a = ArbFloat(pi)
@everywhere function check_data(x)
    println("Worker $(myid()): Data check: ", typeof(x), " with value: ", x)
end

@everywhere check_data($b)
for i = 1:10
    @everywhere setworkingprecision(ArbFloat,bits=dn+$i)
    a = ArbFloat(pi)
    try
        @everywhere check_data($a)
    catch e
        println("The error happened at bits = $(dn+i)! ",e)
    end
end

If I use BigFloat, no error will appear. The origin of the problem seems to be the ArbNumerics package.