Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EDTS: Could not start main server #201

Open
linges opened this issue Aug 10, 2015 · 10 comments
Open

EDTS: Could not start main server #201

linges opened this issue Aug 10, 2015 · 10 comments

Comments

@linges
Copy link

linges commented Aug 10, 2015

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_log_data,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
Copy link

I also had problem with R18 until I fixed a queue:queue issue in edts_event.erl, but your stack trace looks differently. #197

@tjarvstrand
Copy link
Collaborator

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

@linges
Copy link
Author

linges commented Sep 8, 2015

~/.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
Copy link
Author

linges commented Sep 14, 2015

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
Copy link
Collaborator

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

@simplefl
Copy link

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

@linges
Copy link
Author

linges commented Sep 22, 2015

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
Copy link
Contributor

binarin commented Apr 7, 2016

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
Copy link

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
Copy link

ranjanified commented Jul 25, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants