Just my two cents here Jim but I've been using v0.4 (usually updated daily) 
extensively since the summer and have only run into one segfault (which sat 
very firmly in "I'm doing something stupidly unsafe here" territory).

I would argue that if you run into a segfault Julia is definitely not 
behaving and you should file an issue.

On Tuesday, 30 December 2014 22:02:00 UTC, Jim Garrison wrote:
>
> On Monday, December 29, 2014 9:27:41 PM UTC-5, Stefan Karpinski wrote:
>>
>> On Mon, Dec 29, 2014 at 9:07 PM, <jrgar...@gmail.com> wrote:
>>
>>>
>>> I would really like if I could throw and catch an exception without 
>>> needing to consider that my program might panic as a result of doing so.  I 
>>> just looked through the entire corpus of Julia code I have written so far, 
>>> and the only places I catch exceptions are when the exception is actually 
>>> due to calling a Python API via PyCall.  I am willing to accept that using 
>>> exceptions is not a very Julian way of doing things, but I still want them 
>>> to work when they are needed.
>>>
>>
>> "Panic" is the Go term for "throw". Your Julia program will not panic if 
>> you throw an exception – throw/catch works just fine.
>>
>
> Stefan, I misunderstood so thank you for the clarification.
>
> Part of the reason I was inclined to think that exceptions are unsupported 
> is that I often see my code segfault if I create an exception e.g. by 
> pressing Ctrl+C.  For instance, if I open the REPL, and type
>
>     julia> x = rand(4000,4000)
>     julia> x * x
>
> and press Ctrl+C during execution, I nearly always get a segfault.  In 
> Python I almost never see a segfault as an exception unwinds (and when I 
> do, I file a bug).  But in Julia it seems to be the norm for me.
>
> Somewhat related, I also experience intermittent segfaults on exit on a 
> cluster I use at UCSB unless I set OPENBLAS_NUM_THREADS=1.  (I'd like to 
> get a stack trace on this and file a real bug, but I've been unable so far 
> to find where the core dumps disappear to even with sysadmin help, and the 
> problem goes away when I run julia under gdb).
>
> And when I run the release-0.3 branch under valgrind (even something as 
> simple as the empty script `julia -e ""`), the results can be somewhat 
> scary (at least that is my interpretation).
>
> Together these things imply to me that not enough effort/testing is being 
> put into ensuring that resources are cleaned up correctly as julia 
> terminates, but I'm curious if others have different takes on this.
>
> I've been using Julia since September and overall I feel like I am hitting 
> real bugs at a much higher rate than a few per year (and can in that sense 
> relate to Dan's post).  But for me Julia has made me so much more 
> productive that even dealing with these issues is more fun (and productive) 
> than my former days of using C++.  As such, I'd really like to do what I 
> can to ensure overall trend is heading in the direction of increased 
> stability over time.  I have a few ideas for things to do, but am curious 
> to know first what people think of my above assessment.
>

Reply via email to