Bad binding form in async extension?

26 views
Skip to first unread message

and...@upworthy.com

unread,
Apr 9, 2015, 1:34:57 PM4/9/15
to pigpen-...@googlegroups.com
Trying to run on the latest 0.3.0-rc.4 I get the following exception.

Exception in thread "main" clojure.lang.ExceptionInfo: Bad binding form: pigpen.extensions.core-async/result {:file "pigpen/pig/runtime.clj", :form (let* [pigpen.extensions.core-async/result temp__4124__auto__] pigpen.extensions.core-asyn
c/result), :sym pigpen.extensions.core-async/result}, compiling:(pigpen/pig/runtime.clj:178:23)

(then the infinity of stacktrace)

Any thoughts?

- A

Matt Bossenbroek

unread,
Apr 9, 2015, 2:06:24 PM4/9/15
to and...@upworthy.com, pigpen-...@googlegroups.com
That is very strange - I've never seen that before & that code hasn't changed recently.

From the line referenced, it's occurring during macro expansion of some core.async related code. Are you by chance using a specific version of core.async?

Out of curiosity, how did you find 0.3.0-rc.4? :) I haven't announced it yet because there are some breaking changes I need to document & you'll need to pull in different jars now. I'm assuming because you've gotten this far that you're referencing the new pigpen-pig jar?

A full stack trace would be very useful, and a repro case would be wonderful if you can provide it. Also if you could provide the result of `lein deps :tree` that would be useful as well. Feel free to send off list if you want.

-Matt

--
You received this message because you are subscribed to the Google Groups "PigPen Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pigpen-suppor...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Anders Conbere

unread,
Apr 9, 2015, 2:20:58 PM4/9/15
to Matt Bossenbroek, pigpen-...@googlegroups.com
1. We are using a specific version of core.async: "0.1.346.0-17112a-alpha"
2. I found 0.3.0-rc.4 because I was looking to move off of my hand built jar to get the AOT removal :)
3. I did notice the change in the jar structure, it took me a minute to figure out but not that bad, I assumed correctly that it would follow the pattern set out by avro integration
4. I'll work on narrowing down the issue, in the meantime, stacktrace and dep tree attached as test.txt and tree.txt respectively.

Would you prefer bug reports like this to be sent to you direct or to this support list? Other than finding google groups to be a bit clunky, I have no preference, but thought I would try sending here first.

- A


tree.txt
test.txt

Matt Bossenbroek

unread,
Apr 9, 2015, 3:01:14 PM4/9/15
to Anders Conbere, pigpen-...@googlegroups.com
This forum is the right spot - I just mentioned that because some people don't want to post certain repro cases to public places because it could contain semi-confidential info. And I actually don't use the google groups interface either for the same reasons, I just respond to the emails I get from it. :) You can also just send email to pigpen-...@googlegroups.com too.


After staring at the exception a little longer, I think the problem jumped out at me. It's in this line [1], which is the macro it's trying to expand when it hits the error. The macro expansion would expand `result` into a qualified symbol, which isn't valid (hence the error). It should be `result#` to generate a proper local symbol.

I honestly don't know how this went undetected for so long as it should have never worked. My working theory is that the `go` macro in the version of core.async that I'm using was cleaning up that symbol as it did the re-write, but the newer versions don't do that (which is the correct behavior).


But that's neither here nor there - rc.5 coming shortly with a tentative fix. And it's great to hear that we're getting some external testing of it too! :)

Thanks,
Matt


Attachments:
- tree.txt
- test.txt

Matt Bossenbroek

unread,
Apr 9, 2015, 4:13:27 PM4/9/15
to Anders Conbere, pigpen-...@googlegroups.com
Just released 0.3.0-rc.5 - give that one a try when it shows up.

Thanks,
Matt

Anders Conbere

unread,
Apr 9, 2015, 5:18:46 PM4/9/15
to Matt Bossenbroek, pigpen-...@googlegroups.com
Had a few other little function differences to work out, but everything checks out in test now :)

Thanks!

- A
Reply all
Reply to author
Forward
0 new messages