Skip to content

Win32 std::bad_alloc during make testall1 #11083

@tkelman

Description

@tkelman

ref #10394 (comment)

When run one at a time via something like include("test/choosetests.jl"); testlist, net_on = choosetests(); for i in testlist; try Base.runtests(i, 1); catch; end; end, all tests pass in this configuration at b8aa30d. However running standard make testall1 results in (also note the really awful performance)

    JULIA test/all
     * linalg1              in 114.59 seconds
     * linalg2              in  95.28 seconds
     * linalg3              in  40.11 seconds
     * linalg4              in  14.75 seconds
     * linalg/lapack        in   6.95 seconds
     * linalg/triangular    in 1028.06 seconds
     * linalg/tridiag       in  31.62 seconds
     * linalg/bidiag        in  49.95 seconds
     * linalg/diagonal      in  36.07 seconds
     * linalg/pinv          in  29.31 seconds
     * linalg/givens        in  18.50 seconds
     * linalg/cholesky      in  78.32 seconds
     * linalg/lu            in  51.09 seconds
     * linalg/symmetric     in  52.06 seconds
     * linalg/arnoldi       in  78.38 seconds
     * core                 in 283.12 seconds
     * keywordargs          in  36.12 seconds
     * numbers              in 1103.33 seconds
     * strings              in 471.06 seconds
     * dates                in 1203.63 seconds
     * dict                 in 176.02 seconds
     * hashing
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Makefile:9: recipe for target 'all' failed
make[1]: *** [all] Error 3
Makefile:492: recipe for target 'testall1' failed
make: *** [testall1] Error 2

If I do make test with 3 simultaneous workers, I get the same exception at a different place.

    JULIA test/all
        From worker 4:       * linalg3              in  77.08 seconds
        From worker 4:       * linalg4              in  18.90 seconds
        From worker 4:       * linalg/lapack        in  12.60 seconds
        From worker 3:       * linalg2              in 150.06 seconds
        From worker 3:       * linalg/tridiag       in  18.33 seconds
        From worker 2:       * linalg1              in 205.75 seconds
        From worker 3:       * linalg/bidiag        in  56.38 seconds
        From worker 2:       * linalg/diagonal      in  34.59 seconds
        From worker 3:       * linalg/pinv          in  33.00 seconds
        From worker 2:       * linalg/givens        in  17.79 seconds
        From worker 2:       * linalg/lu            in  46.05 seconds
        From worker 2:       * linalg/symmetric     in  34.39 seconds
        From worker 3:       * linalg/cholesky      in 123.67 seconds
        From worker 2:       * linalg/arnoldi       in  62.23 seconds
        From worker 2:       * keywordargs          in  22.07 seconds
        From worker 3:       * core                 in 179.23 seconds
        From worker 3:       * strings              in 314.78 seconds
        From worker 2:       * numbers              in 766.31 seconds
        From worker 2:       * dict                 in 130.68 seconds
        From worker 4:       * linalg/triangular    in 1496.39 seconds
        From worker 4:       * remote               in   4.32 seconds
        From worker 2:       * hashing              in 312.99 seconds
        From worker 4:       * iobuffer             in  28.52 seconds
        From worker 2:       * staged               in  21.23 seconds
        From worker 2:       * tuple                in  39.91 seconds
        From worker 3:       * dates                in 904.55 seconds
        From worker 3:       * reduce               in 111.45 seconds
        From worker 3:       * reducedim            in 251.95 seconds
        From worker 4:       * arrayops             in 714.60 seconds
        From worker 4:       * intfuncs             in  56.20 seconds
        From worker 4:       * simdloop             in  48.57 seconds
        From worker 3:       * random               in 377.39 seconds
        From worker 4:       * blas                 in  93.34 seconds
        From worker 3:       * sparse               in 769.23 seconds
        From worker 3:       * copy                 in  41.79 seconds

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
        From worker 3:       * math                Worker 3 terminated.
ERROR (unhandled task failure): readcb: connection reset by peer (ECONNRESET)
 in yieldto at .\task.jl:19
 in wait at <invalid> (repeats 2 times)
 in wait_full at <invalid>
 in remotecall_fetch at .\multi.jl:670
 in remotecall_fetch at .\multi.jl:675
 in anonymous at .\task.jl:1390
        From worker 4:       * bitarray             in 822.41 seconds
        From worker 2:       * subarray             in 2596.30 seconds
ERROR: LoadError: ProcessExitedException()
 in yieldto at .\task.jl:19
 in wait at <invalid> (repeats 2 times)
 in wait_full at <invalid>
 in remotecall_fetch at .\multi.jl:670
 in remotecall_fetch at .\multi.jl:675
 in anonymous at .\task.jl:1390
while loading D:\cygwin64\home\Tony\julia32\test\runtests.jl, in expression starting on line 3

WARNING: Forcibly interrupting busy workers
Makefile:9: recipe for target 'all' failed
make[1]: *** [all] Error 1
Makefile:485: recipe for target 'test' failed
make: *** [test] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions