Julia 0.6.3 and 0.6.4 stall on start up

Julia 0.6.3 used to work just fine on my machine for quite some time, but since this morning it stalls after displaying the usual julia banner, i.e. I get to see

   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.3 (2018-05-28 20:20 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

but then the julia> REPL prompt never appears and I eventually kill the process. The CPU goes back to idle after displaying the banner. I’ve since downloaded v0.6.4 and the same problem occurs, but 0.7 and 1.0 are fine.

The only relevant changes to my system that I can think of are that I installed v0.7 and 1.0 yesterday, and I had to force-shut-down my computer by keeping the power button pressed for some unrelated reasons this morning. I deleted the .juliarc file, and I tried renaming the .julia/ folder, but neither seemed to have any effect.

I understand that the problem is probably impossible to solve based on the information provided, so I am mainly looking for some hints on what could be the cause or how I could debug this issue.

That’s very strange indeed. Do you have any Julia-related environment variables set? echo $JULIA<tab> should show you any. Also, what Linux distro are you using (it shouldn’t matter, but more info is always helpful…)?

You could also try running julia through gdb, although I’m not sure how much you’ll learn. You’d just do:

gdb julia
r

and then wait for it to get stuck. Then you can press Ctrl+C to interrupt, at which point gdb should catch that interruption. You can do bt to get a backtrace and maybe get some idea of what function is blocking. You can also do the same with the julia-debug binary which should also be in the same bin folder where your current Julia 0.6.4 binary lives.

Couldn’t find any environment variables. I am on Ubuntu 14.04, and now that you mention it I think I did run a software update before Julia stopped working, so maybe that has something to do with it.

I tried debugging with gdb using both Ctrl+C and Ctrl+Z to stop the program, and I posted both results below. The results look different, but I am not quite sure what to make of either. Do I end up in __pthread_kill because I killed the process, or because Julia is trying to kill a thread and doesn’t recover from that? Could it be that the aforementioned software update updated the threading library to a version incompatible with Julia? I know that 14.04 is old, but I had some bad experiences updating the Ubuntu version earlier and I am a bit reluctant to update because of that.

Thank you very much for your help, much appreciated!

Killed with Ctrl+C:

~: gdb /opt/julia/v0.6/bin/julia
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /opt/julia/v0.6/bin/julia...done.
(gdb) run
Starting program: /opt/julia/v0.6/bin/julia 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff42c6700 (LWP 23788)]
[New Thread 0x7fffe8d1d700 (LWP 23789)]
[New Thread 0x7fffe851c700 (LWP 23790)]
[New Thread 0x7fffe5d1b700 (LWP 23791)]
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.4 (2018-07-09 19:09 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

[Thread 0x7ffff7fcdc80 (LWP 23784) exited]
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread 0x7ffff42c6700 (LWP 23788)]
0x00007ffff70ba611 in __pthread_kill (threadid=<optimized out>, signo=signo@entry=2) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
61	../nptl/sysdeps/unix/sysv/linux/pthread_kill.c: No such file or directory.
(gdb) bt
#0  0x00007ffff70ba611 in __pthread_kill (threadid=<optimized out>, signo=signo@entry=2) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x00007ffff7765888 in jl_ignore_sigint () at /buildworker/worker/package_linux64/build/src/signal-handling.c:73
#2  signal_listener (arg=<optimized out>) at /buildworker/worker/package_linux64/build/src/signals-unix.c:558
#3  0x00007ffff70b5184 in start_thread (arg=0x7ffff42c6700) at pthread_create.c:312
#4  0x00007ffff6de203d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Killed with Ctrl+Z:

~: gdb /opt/julia/v0.6/bin/julia-debug 
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /opt/julia/v0.6/bin/julia-debug...done.
(gdb) run
Starting program: /opt/julia/v0.6/bin/julia-debug 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff419d700 (LWP 23748)]
[New Thread 0x7fffe891c700 (LWP 23749)]
[New Thread 0x7fffe811b700 (LWP 23750)]
[New Thread 0x7fffe591a700 (LWP 23751)]
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.6.4 (2018-07-09 19:09 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-pc-linux-gnu

[Thread 0x7ffff7fcdc80 (LWP 23744) exited]
^Z
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0x7ffff419d700 (LWP 23748)]
0x00007ffff6f940c1 in do_sigwait (sig=0x7ffff4197924, set=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/../../../../../sysdeps/unix/sysv/linux/sigwait.c:60
60	../nptl/sysdeps/unix/sysv/linux/../../../../../sysdeps/unix/sysv/linux/sigwait.c: No such file or directory.
(gdb) bt
#0  0x00007ffff6f940c1 in do_sigwait (sig=0x7ffff4197924, set=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/../../../../../sysdeps/unix/sysv/linux/sigwait.c:60
#1  __sigwait (set=0x7ffff4197940, sig=0x7ffff4197924) at ../nptl/sysdeps/unix/sysv/linux/../../../../../sysdeps/unix/sysv/linux/sigwait.c:97
#2  0x00007ffff76553f6 in signal_listener (arg=0x0) at /buildworker/worker/package_linux64/build/src/signals-unix.c:535
#3  0x00007ffff6f8c184 in start_thread (arg=0x7ffff419d700) at pthread_create.c:312
#4  0x00007ffff6cb903d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Never mind, got a new computer and Julia 0.6 is working on that one, so the problem is solved from my side.