Git Product home page Git Product logo

Comments (40)

samaaron avatar samaaron commented on May 26, 2024

Oh, how annoying.

I don't see this bug - mainly as I'm not able to use nrepl-jack-in and I haven't spent any time figuring out why as I always start lein manually.

Could you try starting lein manually, and connect to the process with nrepl and typing in the port number and see if it still fails for you?

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

Still fails, but now we get some feedback (yay!):

user=> Exception in thread "nREPL-worker-1" java.lang.NullPointerException
    at clojure.core$refer.doInvoke(core.clj:3775)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_lib.doInvoke(core.clj:5252)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:604)
    at clojure.core$use.doInvoke(core.clj:5363)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.main$repl.doInvoke(main.clj:258)
    at clojure.lang.RestFn.invoke(RestFn.java:1096)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__337.invoke(interruptible_eval.clj:51)
    at clojure.lang.AFn.applyToHelper(AFn.java:159)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:600)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1769)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:36)
    at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__374$fn__376.invoke(interruptible_eval.clj:162)
    at clojure.core$comp$fn__3758.invoke(core.clj:2276)
    at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__367.invoke(interruptible_eval.clj:129)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Interesting.

I just figured out why nrepl-jack-in wasn't working for me - I had both lein1 and lein2 on my PATH and Emacs was preferring lein1 for some strange reason.

However, I'm still not able to reproduce this issue. I'm assuming the issue is due to auto-complete. One way to test this assumption is to just write one char and see if you see an exception. auto-complete should only trigger when you've typed two or more chars in a word.

Additionally, could you start Emacs Live in safe mode and still see if you see an issue? You can do that with:

emacs --live-safe-mode 

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I've just pushed an update which includes a minor fix in ac-nrepl which could be related - could you try that and see if it fixes things for you?

from emacs-live.

 avatar commented on May 26, 2024

I start emacs (in no project folder)
M-x nrepl-jack-in
type: doc
get the error
attempt to type doc and enter again, but it froze at "do"

I've to kill it via task manager (win7 64bit)
emacs is using 25% of 4 core cpu, and I can kill the java.exe (nrepl) but nothing happens.

I use the emacs-live that you just updated
...

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

@AtKaaZ - are you using 856150a

Also, could you try starting in safe mode (emacs --live-safe-mode) and see if that still fails.

Could you try starting lein repl manually, connecting Emacs via nrepl and seeing if that fails.

Could you let me know as much about your system as possible - as I'm unable to reproduce this. OS, JVM version, Clojure version.

Finally, could you verify that this issue exhibits itself in a brand new clean lein project? i.e. do lein new foo and try to see if the error happens in foo.

from emacs-live.

 avatar commented on May 26, 2024

Yes that's the right commit that I am using. (I also pulled all submodules and thus populated the vendor folders, but I think that's not relevant?)
I started it with runemacs so far.
Running lein (2) repl and connecting to it didn't fail before (but then I wasn't using this latest commit).

Ok running: emacs --live-safe-mode
and I attempted to type clojure .... (from *clojure-version) but it died at *cl
and it showed a CompilerException which I couldn't select to copy to clipboard because it disapeared and I could continue typing *cloj and it froze there now.
I can reproduce this again, I have a screenshot but don't know where to upload it because ie. imgur doesn't work for me (0%)

I start lein repl in emacs\bin folder
shows something like this:
REPL-y 0.1.0-beta11
Clojure 1.4.0

hmm it works and it does seem to be due to auto completion (guessing), since I can now see the completion and I remember earlier it took a bit longer after I typed * before it showed *c

I ran emacs in safe mode and via runemacs, both work when M-x repl (as opposed to jack-in)

C:\Users\user>java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

OS: win7 64bit b7601
lein2 (latest from master branch ie. SNAPSHOT compiled .jar ) with lein.bat in path but also lein1.bat is in path
s:>lein -version
Leiningen 2.0.0-SNAPSHOT on Java 1.7.0_09 Java HotSpot(TM) 64-Bit Server VM

c:\1>lein new gimmix
Generating a project called gimmix based on the 'default' template.
To see other templates (app, lein plugin, etc), try lein help new.
c:\1>cd gimmix

At this point I realized that I don't have emacs\bin in PATH, added it now:

C:\Users\user>cd \1

C:\1>cd gimmix

C:\1\gimmix>runemacs

C:\1\gimmix>

M-x nrepl-jack-in
and autocompletion works, no freezes

C:\1\gimmix>cd ..

C:\1>ls
UserAgentUtils-1.6.jar hello-seesaw pu test-proj
gimmix helloworld stale test-project

C:\1>runemacs
M-x nrepl-jack-in
and typing *cl
failed with CompilerException
but now I can see 2 more lines from the stacktrace
and I can select that text (but no idea how to copy it into windows's clipboard, so I made a screenshot)
something about ClassNotFoundException complete.core

then I clicked back to *cl window and I could type o
so it's now *clo
and a different error appeared
CompilerException interruptible_eval.clj:42
and then I typed j and it's frozen :)

The clojure version appears to be 1.4.0 in both the new project and outside (no projects)

Let me know if you need more info, I am here.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Hi there,

there's a lot of stuff going on above - it's hard to figure out without having the error in front of me.

I think the easiest thing for me would be if you were able to find the specific commit which broke things. The best way to do this is to switch to using the development packs. This is done by adding the following to your ~/.emacs-live.el file (create one if you don't already have one):

 (live-use-packs '(dev/foundation-pack
                         dev/colour-pack
                         dev/clojure-pack
                         dev/lang-pack
                         dev/power-pack
                         dev/git-pack))

If you could then just keep hard resetting versions backwards until it didn't fail and let me know the hash of that commit, I should be able to figure out what's changed and why it's broken for you.

Unfortunately, it's super hard for me to debug something without being able to replicate it on my local machine :(

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Also, can you try upgrading to the latest version of lein which is 2.0.0-preview10 and see if that fixes things? It might be an incompatibility with the version of nREPL that's pulled in via your version of lein.

from emacs-live.

 avatar commented on May 26, 2024

those CompilerException errors appear in a window named nREPL error and are usually interrupted by the ending string ^[[39m
so you can't see the entire stacktrace


ok I now see your new message.

How can I be sure that I am using the dev packs, for example I mistyped the filename of .emacslive.el can I check at emacs runtime?

I am using the newer than preview10 lein, ie. lein from master branch. Do you still want me to use the pre10 ?

from emacs-live.

 avatar commented on May 26, 2024

I just tried with preview10 lein2, but same thing happens.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

You can check which packs you're using by evaluating live-packs in the scratch buffer. It should be a list of symbols prefixed with dev/.

Thanks for trying preview10 - shame that didn't fix it.

from emacs-live.

 avatar commented on May 26, 2024

I found out that the location of .emacs-live.el file should be in %appdata% as a sibling of .emacs.d folder, on windows.
However I am getting an error on startup: Cannot open load file smex

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

@AtKaaZ You'll need to pull in all the submodules with git submodule init and git submodule update to get the dependency libs such as smex.

from emacs-live.

 avatar commented on May 26, 2024

I thought I already had them, for example I see smex.el was already in .emacs.d\packs\dev\foundation-pack\vendor\submodules\smex\

I'll try running your commands, since the one I used in root .emacs.d folder was:
git submodule update --init

from emacs-live.

 avatar commented on May 26, 2024

I notice some files in dev packs that are probably supposed to be symlinks to folders in vendor, but instead they are files which contain the unix relative location to those folders...
For example: on live pack this folder exists: S:\workspace2012\emacs-live\packs\live\foundation-pack\lib\smex\ which has smex.el which is good
but on dev pack: S:\workspace2012\emacs-live\packs\dev\foundation-pack\lib\
contains a file "smex" which contains this text:
../vendor/submodules/smex
if that file was a symlink to that folder I'm sure it would work... I just have to
del smex
mklink /d smex ../vendor/submodules/smex
to make that happen, on windows.

EDIT: actually, I've to also change / to \ :)

from emacs-live.

 avatar commented on May 26, 2024

given that there are a lot of such links needed, I've to ask, do I really need to use the dev packs? :D

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Crikey - that's annoying for Windows users.

No, you don't need to use the dev packs, I'll just get a less granular answer with the standard live packs, but it will still be much better than nothing :-)

from emacs-live.

 avatar commented on May 26, 2024

Well, then I have to use the dev packs :) But maybe I can come up with some faster way to automatically change those links... so it may take a bit longer to make up some script for it

from emacs-live.

 avatar commented on May 26, 2024

looks like that's possibly due to the fact that the local repo's config has core.symlinks set to false
I set it to true now... but heh
error: unable to create symlink packs/dev/clojure-pack/lib/nrepl (Function not implemented)
that's why is probably false to being with. So back to trying to make a script for it.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I've pushed a fix which I believe works. Please could you update and see if things still freeze.

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

@samaaron @AtKaaZ thanks for the collaboration on this - I'm in NYC and working from home today/tomorrow so haven't been and won't be near my Linux box to try this out until Wednesday or Thursday.

from emacs-live.

 avatar commented on May 26, 2024

It works, I just tested it! the autocompletion shows.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Awesome - turns out the bug is in Leiningen. The 'fix' is just a temporary work-around. I'll get upstream and see if they can issue a proper fix.

Sorry about the issues though. I'm hoping that things are starting to settle down after the trauma of the s/slime/nrepl change and we can head into a nice solid 1.0 release before Christmas. I'm hoping to do a RC1 within a month.

from emacs-live.

 avatar commented on May 26, 2024

It's all good, I wasn't using the nrepl-jack-in myself, I was always just using nrepl which worked before. But I like having things fixed :)
I'm also new to emacs/emacs-live and quite new to clojure ... (which almost explains why I didn't yet do the script I said above)

Looking forward to see the fix applied in leiningen. I'll be testing xD

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I've just updated things again this time with a different fix which will hopefully make it upstream to ac-nrepl. It turned out not to be a bug in lein but a but in ac-nrepl where fns in the complete.core ns were being called before the ns itself was required.

from emacs-live.

 avatar commented on May 26, 2024

still working, after update

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

@dchelimsky is this issue safe to close now?

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

No. I haven't commented because I haven't been able to take the time to figure out why, but when I did get to my workstation I found it's still freezing up on me. I'll try to get you some details early this coming week. Thanks for asking :)

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

Here's the error I'm getting now:

Exception in thread "nREPL-worker-1" java.lang.NullPointerException
    at clojure.core$refer.doInvoke(core.clj:3775)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_lib.doInvoke(core.clj:5252)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:602)
    at clojure.core$load_libs.doInvoke(core.clj:5271)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:604)
    at clojure.core$use.doInvoke(core.clj:5363)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.main$repl.doInvoke(main.clj:258)
    at clojure.lang.RestFn.invoke(RestFn.java:1096)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__337.invoke(interruptible_eval.clj:51)
    at clojure.lang.AFn.applyToHelper(AFn.java:159)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:600)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1769)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:36)
    at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__374$fn__376.invoke(interruptible_eval.clj:162)
    at clojure.core$comp$fn__3758.invoke(core.clj:2276)
    at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__367.invoke(interruptible_eval.clj:129)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Arg, these nREPL exceptions are completely useless.

@dchelimsky which OS, version of Emacs, Emacs Live commit hash, JVM, and version of Lein are you using?

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

I had failed to update lein - just got prev10 and everything is working correctly. Sorry for the additional "arg"-inducing PEBKAC. Closing this as satisfied customer.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Awesome. One step closer to stability

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

This has re-surfaced for me. The only difference is that now I get zero feedback when I run lein repl in a shell and use M-x nrepl in emacs, so I'm at a complete loss. Should I start a new issue or just reopen this one?

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I guess we should re-open this again, although I haven't seen any freezes myself as of yet.

Is the freezing reliably reproducible?

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

No, it's not always on the same characters. Sometimes it's when I type two
characters and pause, sometimes more than that. Super fun!

On Mon, Jan 14, 2013 at 3:20 PM, Sam Aaron [email protected] wrote:

I guess we should re-open this again, although I haven't seen any freezes
myself as of yet.

Is the freezing reliably reproducible?


Reply to this email directly or view it on GitHubhttps://github.com//issues/41#issuecomment-12240355.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

Super annoying more like!

Which version of leiningen are you using?

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

preview 10 (d'oh!). Just upgraded to 2.0.0-RC2 and so far, so good. Closing this. I'll reopen if it resurfaces under RC2.

from emacs-live.

samaaron avatar samaaron commented on May 26, 2024

I'll keep my fingers crossed :-)

from emacs-live.

dchelimsky avatar dchelimsky commented on May 26, 2024

Thanks. And thanks for asking me the right question right away!

from emacs-live.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.