obscure and irreproducible error

168 views
Skip to first unread message

dr

unread,
May 2, 2013, 6:03:33 PM5/2/13
to julia...@googlegroups.com
Hi, I am trying to adapt my code (which worked fine with Julia 0.1.2) on the latest Julia 0.2.0.
On 0.2.0, I keep getting obscure errors, which occur at random times during an execution:

ERROR: SYSTEM: show(lasterr) caused an error
ERROR: SYSTEM: show(lasterr) caused an error
WARNING: it is likely that something important is broken, and Julia will not be able to continue normally


My questions are... is this very uncommon? What could be causing it? And finally, what can I do to try to track down the root or cause of this error?
I will be happy to point anyone to a copy of my code, which takes a while to run.
Note, I am using the DataFrames package, but no parallel processing.

Thanks for any advice.

Stefan Karpinski

unread,
May 2, 2013, 6:10:08 PM5/2/13
to julia...@googlegroups.com
This error occurs when you've messed with some core method definition that so fundamental that Julia can't continue to function. Like if you change the way array indexing or range iteration works. Anything like that going on in your program?

dr

unread,
May 2, 2013, 6:23:52 PM5/2/13
to julia...@googlegroups.com
OK, that points to this code as a possible culprit:


which I wrote (well, really copied) as a result of this discussion.

I have to be honest and state that I don't entirely understand all of the details of that code, so any help/pointers in getting it up to 0.2.0 standards would be greatly appreciated!

Stefan Karpinski

unread,
May 2, 2013, 6:51:47 PM5/2/13
to Julia Users
I dunno. That looks pretty safe since it only adds method for the ArrayView type, which wouldn't affect the functioning of Julia's base stuff. Maybe there's some mixed library issue. Can you try doing "make cleanall" and then building again?

dr

unread,
May 2, 2013, 6:58:04 PM5/2/13
to julia...@googlegroups.com
Will do. I just removed all dependencies on the ArrayView code and am running it now.... will post an update when I know anything.

I suppose the DataFrames package, which I use extensively, could also be the culprit?

dr

unread,
May 3, 2013, 4:44:11 PM5/3/13
to julia...@googlegroups.com
Unfortunately, after rebuilding (after "make cleanall") and also removing all of my code that imports/overloads anything from Base or has any AbstractArray subtypes, I am still getting the error.

Is there a way that I can use to catch the error and/or track this down?

My final push will be to remove all dependency on DataFrames, but that will be painful.

Viral Shah

unread,
May 4, 2013, 12:28:40 PM5/4/13
to julia...@googlegroups.com
Can you post a code snippet, which along with ArrayView.jl can replicate the crash?

-viral

Jeff Bezanson

unread,
May 4, 2013, 12:40:22 PM5/4/13
to julia...@googlegroups.com
Yes, please post the code (or send to me, if you don't want to make it
public). Don't expend the effort to remove DataFrames until we know
better whether that will fix it.

John Myles White

unread,
May 4, 2013, 12:52:58 PM5/4/13
to julia...@googlegroups.com
While I've never seen any errors like this from DataFrames, I am convinced that a subtle bug entered DataFrames recently. I'm trying to track it down, but agree that other potential problems should be checked first.

-- John

dr

unread,
May 5, 2013, 12:15:44 AM5/5/13
to julia...@googlegroups.com
Thanks so much, Jeff and Viral, for your offers to help.

I am working to get my code in usable form on github and will send you the link to the repo ASAP.

John Myles White

unread,
May 5, 2013, 10:04:00 AM5/5/13
to julia...@googlegroups.com
We just updated DataFrames. They should be fully functional again.

 -- John

dr

unread,
May 6, 2013, 5:30:20 PM5/6/13
to julia...@googlegroups.com
OK, it turns out it was not a DataFrames issue. But I think it is a julia bug.

After updating to the latest DataFrames and julia, the error was still occurring -- so, some 
println debugging (PS - is there an alternative to this, e.g. tracing?), 
helped me track down the crash to this line, which is inside a deeply-nested loop:

newR = [rows, r]

rows is a basic Vector{Int64} and r is an Int64.

Switching to this stopped the crashing:

newR = [rows, [r]]

I don't know if this is actually a bug or if the [rows,r] is just bad code.
But note, that this was not a problem in julia v0.1.2.

Thanks again for everyone's offer for help! 
Reply all
Reply to author
Forward
0 new messages