Clooj 0.4.0 documentation-on-tab: slow and wonky on my Win7 box.

64 views
Skip to first unread message

Cedric Greevey

unread,
Jun 8, 2013, 7:21:54 PM6/8/13
to cl...@googlegroups.com
This is what I just encountered:

type "deftype<tab>" -- clooj seems to hang for (at least) thirty seconds. Then displays docs for clojure.pprint/deftype rather than clojure.core/deftype. Clicking the latter displays the docs for core deftype instantly, though.

A bit later, tab after a "deftype" again defaults to the pprint deftype but does so instantly instead of taking 30+ seconds.

Then I type "defprotocol<tab>" ... hang. Same duration, following which the docs appear.

Subsequent tabbing after a "defprotocol" produces those docs instantly, but "deftype<tab>" = hang again.

So, it looks like a) something in the documentation retrieval is WAY slower in 0.4.0 than in 0.2.8; b) at least the results are cached; but c) only the *last* result is cached (though this includes all matches found).

Adding to that,

"Comparable<tab>" -> hangs for half a minute, followed by nothing. No documentation, nada. So it looks like Java classes no longer work at all as targets of <tab> presses (but it tries, and with the same enormous slowdown relative to 0.2.8 if the (non)result hasn't been cached).

Browsing the documentation is, in short, a lot more painful than with 0.2.8, at least on this bog-standard Win7-64 box with Java 7-64, and interop will again mean frequently consulting a web browser tab open on the Javadoc site, even when it's just method names and signatures you need to double-check and not the actual what-it-does documentation. :(

(System/getProperty "java.version") -> "1.7.0_21" BTW -- and it's the 64-bit server VM.

Cedric Greevey

unread,
Jun 12, 2013, 10:26:48 PM6/12/13
to cl...@googlegroups.com
*bump*

Simon Tuohey

unread,
Jun 13, 2013, 9:19:31 PM6/13/13
to cl...@googlegroups.com
I've just started using clooj 0.3.11 and am getting long doc lookup delays on Fedora-18 and OSX (Mountain Lion). Wait times can be over a minute.

JVM is Java SE 1.7.0_21 on fedora and Java SE 1.6.0_45 on OSX.

I'll install 1.4 and see if it's any different, and try OpenJDK on fedora too.

Any suggestions or debug data gathering requirements I can address?

BTW - clooj is a fabulous tool, once I get more capable with clojure I'd be interested in joining a dev support group to help keep it active.

Simon Tuohey

unread,
Jun 13, 2013, 9:55:32 PM6/13/13
to cl...@googlegroups.com
Have tested with clooj 0.4, clojure 1.5.1, lein 1.7.1, still JSE 1.7.0_21 on Fedora - exactly the same behaviour.

When starting lein repl without a local project.clj file, the repl starts up with clojure 1.2.1.

Would love to nail this problem, I have to keep flipping to a shell window running lein repl just to display function docs.

Simon Tuohey

unread,
Jun 14, 2013, 5:46:28 AM6/14/13
to cl...@googlegroups.com
An update: after a routine system update ("yum update") and reboot the doc lookup in clooj is working perfectly.

All the java, clojure, clooj and leiningen versions appear the same as before. Very mysterious.

Cedric Greevey

unread,
Jun 14, 2013, 5:55:45 AM6/14/13
to cl...@googlegroups.com
Since I'd recently rebooted a box here (Patch Tuesday), I checked if the delay had gone away in the copy of clooj on that system.

It hadn't, but something very interesting happened. We've been trying to debug some networking issues with that box, and it's currently logging all network traffic and generating notifications for same. When I typed "extend-p" and hit tab, a notification came up that a javaw.exe process on that machine had sent HTTP packets to some remote host named collaj.net.

The simplest explanation for this is that clooj is a) searching someplace on the net for documentation, b) doing that even when there is local documentation in local repositories that is responsive to the user's query, and c) doing it *synchronously, in the UI thread*, of all the insane things it could possibly do.

Obviously that's broken, if true. In fact I don't see that there's any need to look for clojure docs online, as anything that's in the [:dependencies] of the current project should exist in the local repo, complete with docstrings. As for Javadocs, as of 0.2.8 clooj didn't look up Javadocs; it just told you as much as it could determine by using java.lang.reflect and Class methods on a Class object. If 0.4.0 wants to look up Javadocs, it should do it for classnames only, and it should do it at oracle.com. Especially if it's going to do it synchronously in the UI thread, it should do it at oracle.com, which ought to be a fast, high-capacity web server, and not at collaj.net, which quite obviously is not if it's consistently taking 30 seconds and more to respond to queries.



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

Arthur D. Edelstein

unread,
Jun 14, 2013, 7:49:40 PM6/14/13
to cl...@googlegroups.com
Hi All,

Thanks for these error reports. I'm overloaded with work, as usual,
but I will try to look into these doc problems at some point,
hopefully in the near future.

Arthur

Thomas Helmuth

unread,
Aug 11, 2013, 3:25:44 PM8/11/13
to cl...@googlegroups.com
I'm still having this problem in clooj 0.4.4, with Clojure 1.5.1 and Java 1.7 on OSX 10.7.5.
Reply all
Reply to author
Forward
0 new messages