I don't think my source tree is exactly the same as what you're
running, but I think this is the code snippet:
try {
return _function.call(bindings, args);
} catch (Exception e) {
>> return new EvalError(e.toString());
}
It would be exceedingly weird for an Exception to not have a
toString() method (especially since Object.toString() is implemented),
so I'm not sure what exception got thrown here.
Tom
Thanks, Thad. I've seen some weird errors in the log for instances of Refine that have been up for a few days (even without invoking any command). Maybe this is another symptom of the same cause.
David
Anything special about the data that it blows up on? One thing that I
notice about your expression is that if it's fed
http://itunes.apple.com/album/id-rather-know-the-devil/id6666666?i=66666666&uo=5
it might not give the result you expect. Could a data pattern like
that be triggering unexpected behavior?
Tom
On Sat, Mar 10, 2012 at 9:38 PM, Thad Guidry <thadg...@gmail.com> wrote:Anything special about the data that it blows up on? One thing that I
> Guys,
>
> Looks like this happened again, but this time my instance was only about 5
> mins fresh after starting Refine and then trying to perform this GREL
> expression:
>
> value.split("/id")[1].split("?i=")[1].chomp("&uo=5")
>
> on a column of data with 400,000 rows that has a basic itunes album pattern
> such as this (where the album name and 2 ids are the uniquely different
> parts, otherwise the pattern is the same on all 400,000 rows):
>
> http://itunes.apple.com/album/better-the-devil-you-know/id317373594?i=317373712&uo=5
>
> Now, what I have noticed is that the error seems to happen when I use
> split() and chomp() and does not seem to happen when I use partition().
>
> Does that narrow the problem down, I wonder ? (log attached and running
> newest version r2459 )
notice about your expression is that if it's fed
http://itunes.apple.com/album/id-rather-know-the-devil/id6666666?i=66666666&uo=5
it might not give the result you expect. Could a data pattern like
that be triggering unexpected behavior?
Sorry, I shouldn't have been so oblique. Your expression
value.split("/id")[1].split("?i=")[1].chomp("&uo=5")
on my made up album
http://itunes.apple.com/album/id-rather-know-the-devil/id6666666?i=66666666&uo=5
is going to give you this array for the first part of the evaluation
[
http://itunes.apple.com/album,
-rather-know-the-devil,
6666666?i=66666666&uo=5
]
the next split will then give you an array out of bounds exception
since it only generates a single element array.
It's still a weird exception though. Since you probably did your own
build, one thing I'd do is a
refine clean
refine build
sequence to make sure that you don't mismatched class files of
different vintages lying around. From the description of the
exception, that kind of mismatch is the main cause of this error.
I'll see if I can add some more debug code to the exception handler to
give better information about what function is blowing up and what
arguments it's being passed.
Tom
Sorry, I shouldn't have been so oblique. Your expression
on my made up album
value.split("/id")[1].split("?i=")[1].chomp("&uo=5")
http://itunes.apple.com/album/id-rather-know-the-devil/id6666666?i=66666666&uo=5
is going to give you this array for the first part of the evaluation
[
http://itunes.apple.com/album,
-rather-know-the-devil,
6666666?i=66666666&uo=5
]
the next split will then give you an array out of bounds exception
since it only generates a single element array.
It's still a weird exception though. Since you probably did your own
build, one thing I'd do is a
refine clean
refine build
sequence to make sure that you don't mismatched class files of
different vintages lying around. From the description of the
exception, that kind of mismatch is the main cause of this error.
I'll see if I can add some more debug code to the exception handler to
give better information about what function is blowing up and what
arguments it's being passed.
Tom