sebastiw / edts

Erlang Development Tool Suite
GNU Lesser General Public License v3.0
352 stars 82 forks source link

EDTS: Could not start main server #201

Open linges opened 9 years ago

linges commented 9 years ago

Running edts has always be a little shaky for me, mostly I get "Failed to initialize node noc" at the start but after I run edts-project-node-refresh or force save it works. Now it kind of stopped working completely. I can not say what I change since I basically didn't close emacs for 2 weeks. I'm using arch linux and did an update a couple of days ago and I run erlang 18. I used the git head, but just now I tried it with via package-install, same result. I use a custom .edts file:

:name "NOC Devel" :node-sname "noc" :xref-error-whitelist '("eqc:" "eqc_gen:") and start a erlang node "noc" myself (to load all relevant files).

From the emacs Message Buffer:

File mode specification error: (error "EDTS: Could not start main server") EDTS [error]: Unexpected reply: nil [2 times] EDTS [info]: Initializing node for project NOC Devel EDTS [info]: Node noc started EDTS [error]: Failed to initialize node noc Quit EDTS [error]: Failed to initialize node noc [2 times]

and the crash.log: 2015-08-10 15:42:21 =CRASH REPORT==== crasher: initial call: mochiweb_acceptor:init/3 pid: <0.113.0> registered_name: [] exception exit: {noproc,[{gen,do_for_proc,2,[{file,"gen.erl"},{line,260}]},{gen_event,rpc,2,[{file,"gen_event.erl"},{line,202}]},{webmachine_error_handler,render_error_body,3,[{file,"src/webmachine_error_handler.erl"},{line,42}]},{webmachine_decision_core,error_response,4,[{file,"src/webmachine_decision_core.erl"},{line,118}]},{webmachine_decision_core,decision,1,[{file,"src/webmachine_decision_core.erl"},{line,480}]},{webmachine_decision_core,handle_request,2,[{file,"src/webmachine_decision_core.erl"},{line,33}]},{webmachine_mochiweb,loop,2,[{file,"src/webmachine_mochiweb.erl"},{line,74}]},{mochiweb_http,parse_headers,5,[{file,"src/mochiweb_http.erl"},{line,180}]}]} ancestors: [webmachine_mochiweb,edts_sup,<0.89.0>] messages: [] links: [<0.95.0>,#Port<0.4629>] dictionary: [{reqstate,{wm_reqstate,#Port<0.4629>,[{'content-encoding',"identity"},{'content-type',"text/html"},{mediaparams,[]},{resource_module,edts_resource_node}],undefined,undefined,"127.0.0.1",{wm_reqdata,'POST',http,{1,1},"127.0.0.1","127.0.0.1",undefined,"noc@localhost","/nodes/noc","/nodes/noc?project_name=NOC%20Devel&project_root=.../&project_lib_dirs=lib,deps,_build/default/lib,_build/test/lib",[{nodename,"noc"}],[],"../..",500,1073741824,67108864,[],[{"project_name","NOC Devel"},{"project_root",".../"},{"project_lib_dirs","lib,deps,_build/default/lib,build/test/lib"}],{8,{"content-type",{'Content-Type',"application/json"},{"accept",{'Accept',"/_"},nil,{"accept-encoding",{'Accept-Encoding',"gzip"},nil,{"connection",{'Connection',"keep-alive"},nil,nil}}},{"user-agent",{'User-Agent',"URL/Emacs"},{"host",{'Host',"0:4587"},{"extension",{"Extension","Security/Digest Security/SSL"},nil,nil},{"mime-version",{"Mime-Version","1.0"},nil,nil}},nil}}},not_fetched_yet,false,{2,{"content-2015-08-10 15:42:21 =CRASH REPORT==== crasher: initial call: mochiweb_acceptor:init/3 pid: <0.113.0> registered_name: [] exception exit: {noproc,[{gen,do_for_proc,2,[{file,"gen.erl"},{line,260}]},{gen_event,rpc,2,[{file,"gen_event.erl"},{line,202}]},{webmachine_error_handler,render_error_body,3,[{file,"src/webmachine_error_handler.erl"},{line,42}]},{webmachine_decision_core,error_response,4,[{file,"src/webmachine_decision_core.erl"},{line,118}]},{webmachine_decision_core,decision,1,[{file,"src/webmachine_decision_core.erl"},{line,480}]},{webmachine_decision_core,handle_request,2,[{file,"src/webmachine_decision_core.erl"},{line,33}]},{webmachine_mochiweb,loop,2,[{file,"src/webmachine_mochiweb.erl"},{line,74}]},{mochiweb_http,parse_headers,5,[{file,"src/mochiweb_http.erl"},{line,180}]}]} ancestors: [webmachine_mochiweb,edts_sup,<0.89.0>] messages: [] links: [<0.95.0>,#Port<0.4629>] dictionary: [{reqstate,{wm_reqstate,#Port<0.4629>,[{'content-encoding',"identity"},{'content-type',"text/html"},{mediaparams,[]},{resource_module,edts_resource_node}],undefined,undefined,"127.0.0.1",{wm_reqdata,'POST',http,{1,1},"127.0.0.1","127.0.0.1",undefined,"noc@localhost","/nodes/noc","/nodes/noc?project_name=NOC%20Devel&project_root=.../&project_lib_dirs=lib,deps,_build/default/lib,_build/test/lib",[{nodename,"noc"}],[],"../..",500,1073741824,67108864,[],[{"project_name","NOC Devel"},{"project_root","..."},{"project_lib_dirs","lib,deps,_build/default/lib,build/test/lib"}],{8,{"content-type",{'Content-Type',"application/json"},{"accept",{'Accept',"/_"},nil,{"accept-encoding",{'Accept-Encoding',"gzip"},nil,{"connection",{'Connection',"keep-alive"},nil,nil}}},{"user-agent",{'User-Agent',"URL/Emacs"},{"host",{'Host',"0:4587"},{"extension",{"Extension","Security/Digest Security/SSL"},nil,nil},{"mime-version",{"Mime-Version","1.0"},nil,nil}},nil}}},not_fetched_yet,false,{2,{"content-type",{"Content-Type","text/html"},nil,{"location",{"Location","http://0:4587/nodes/noc/noc@localhost"},nil,nil}}},<<>>,follow_request,["0"],4587,[]},undefined,undefined,{wm_logdata,undefined,{1439,214141,360155},'POST',{8,{"content-type",{'Content-Type',"application/json"},{"accept",{'Accept',"/_"},nil,{"accept-encoding",{'Accept-Encoding',"gzip"},nil,{"connection",{'Connection',"keep-alive"},nil,nil}}},{"user-agent",{'User-Agent',"URL/Emacs"},{"host",{'Host',"0:4587"},{"extension",{"Extension","Security/Digest Security/SSL"},nil,nil},{"mime-version",{"Mime-Version","1.0"},nil,nil}},nil}}},"127.0.0.1","127.0.0.1","/nodes/noc?project_name=NOC%20Devel&project_root=.../&project_lib_dirs=lib,deps,_build/default/lib,_build/test/lib",{1,1},404,0,undefined,undefined,undefined}}},{decision,v3n11},{tmp_reqstate,empty},{resource,{webmachine_resource,edts_resource_node,[{app_include_dirs,[]},{erlang_cookie,undefined},{nodename,noc@localhost},{project_include_dirs,[]},{project_lib_dirs,["lib","deps","_build/default/lib","_build/test/lib"]},{project_name,"NOC Devel"},{project_root,"..."}],[{allow_missing_post,2},{allow_missing_post_test,0},{allowed_methods,2},{allowed_methods_test,0},{content_types_accepted,2},{content_types_accepted_test,0},{create_path,2},{create_path_test,0},{from_json,2},{from_json_test,0},{init,1},{init_test,0},{malformed_request,2},{malformed_request_test,0},{module_info,1},{ping,2},{post_is_create,2},{post_is_create_test,0},{test,0}],false}}] trap_exit: false status: running heap_size: 6772 stack_size: 27 reductions: 5872 neighbours:

mattiasw2 commented 9 years ago

I also had problem with R18 until I fixed a queue:queue issue in edts_event.erl, but your stack trace looks differently. https://github.com/tjarvstrand/edts/issues/197

tjarvstrand commented 9 years ago

What happens if you run ~/.emacs.d/elpa/edts-/start from the command line?

linges commented 9 years ago

~/.emacs.d/plugins/edts(branch:master) » ./start Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.0 (abort with ^G) (edts@localhost)1> 11:04:42.150 [debug] Lager installed handler lager_console_backend into lager_event 11:04:42.622 [debug] Lager installed handler lager_backend_throttle into lager_event

linges commented 9 years ago

Okay, now it fails first when I open a .erl file, but works after I execute "edts-project-node-refresh". Thats the same behavior I experienced before it broke. I updated my system again, but didn't see anything erlang related. It works both with the master and the package. Interesting: I usually start a emacs server. When I start a normal emacs it doesn't start edts when I open .erl files and doesn't work when I start edts manual.

tjarvstrand commented 9 years ago

That's is strange. I don't really know what the problem might be :(

simplefl commented 9 years ago

I will keep an eye on it and let you know if I notice something.

linges commented 9 years ago

Okay, after some clean up and updating every package it works better. I still have to use edts-project-node-refresh to get from "failed to start node" to "successfully started node". And sometimes I have to close files and reopen then so that every feature works. Sorry for the many edits.

binarin commented 8 years ago

Stacktrace is about an error that happened while reporting some other error (which is real issue that's interesting). The problem is that webmachine is incorrectly initialized (only webmachine_router is started manually). When webmachine is started by application:start(webmachine) it also starts event handler for logging - and this is what the stacktrace is about. After fixing this issue you could start receiving beautiful HTTP 500-s about what the real problem is )

ostrovsky commented 7 years ago

I am having a similar issue on Windows. First I had to tweak the start.bat file to get an Erlang node started at all, but then I get this strange error in the Messages buffer:

Loading erlang-skels...done EDTS [info]: Initializing plugin edts_debug EDTS [info]: Initializing plugin edts_dialyzer EDTS [info]: Initializing plugin edts_xref Package iswitchb is obsolete! File mode specification error: (error EDTS: Could not start main server) EDTS [info]: Node CoW started EDTS [error]: Failed to initialize node CoW

Some stuff in the edts buffer:

Eshell V8.1 (abort with C-q C-g RET) (edts@X1Yoga)1> WARNING: Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> WARNING: Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> WARNING: Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> WARNING: Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> =WARNING REPORT==== 8-Mar-2017::15:50:55 === Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> =WARNING REPORT==== 8-Mar-2017::15:50:55 === Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> =WARNING REPORT==== 8-Mar-2017::15:50:55 === Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@X1Yoga)1> =WARNING REPORT==== 8-Mar-2017::15:50:55 === Lager's console backend is incompatible with the 'old' shell, not enabling it (edts@Computer)1>

Otherwise, there is nothing suspicious in any log or output after the start.

The nodes seem to be started and react to commands. But running a command, say pwd(). while running as expected:

(edts@Computer)2> pwd(). c:/Users/karol/.emacs.d/elpa/edts-20160812.729 ok (edts@Computer)3>

generates the following message in Messages buffer:

EDTS [error]: Unexpected reply: nil [2 times]

ranjanified commented 4 years ago

With this (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(edts-inhibit-package-check t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. )

its giving "File mode specification error: (error EDTS: Could not start main server)". However when I am keeping edts-inhibit-package-check as nil, then at startup I get a prompt indicating "Warning (emacs): EDTS was not installed as a package",a nd then the prompt says "Do you want to disable package check now? (y or n)" and upon n, it is starting perfectly fine. So I suppose skipping package check is causing server to not start at startup.

Please let me know if I can help with some more info. And i am using EDTS from source, and not from a package install.