Skip to content

Languageserver doesn't start with Puppet 7.11.0 #311

@sprd-tmu

Description

@sprd-tmu

Describe the Bug

Using VSCode 1.60.1 with Puppet extension 1.3.0.
Having Puppet 7.11.0 installed, the Languageserver for puppet fails to start with this error:

/home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/lib/puppet_languageserver.rb:218:in `init_puppet': uninitialized constant PuppetLanguageServer::Facter (NameError)
	from /home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/puppet-languageserver:13:in `<main>'
[Info  - 12:26:30 PM] Connection to server got closed. Server will restart.
/home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/lib/puppet_languageserver.rb:218:in `init_puppet': uninitialized constant PuppetLanguageServer::Facter (NameError)
	from /home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/puppet-languageserver:13:in `<main>'
[Info  - 12:26:30 PM] Connection to server got closed. Server will restart.
/home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/lib/puppet_languageserver.rb:218:in `init_puppet': uninitialized constant PuppetLanguageServer::Facter (NameError)
	from /home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/puppet-languageserver:13:in `<main>'
[Info  - 12:26:31 PM] Connection to server got closed. Server will restart.
/home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/lib/puppet_languageserver.rb:218:in `init_puppet': uninitialized constant PuppetLanguageServer::Facter (NameError)
	from /home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/puppet-languageserver:13:in `<main>'
[Info  - 12:26:32 PM] Connection to server got closed. Server will restart.
/home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/lib/puppet_languageserver.rb:218:in `init_puppet': uninitialized constant PuppetLanguageServer::Facter (NameError)
	from /home/tmu/.vscode/extensions/puppet.puppet-vscode-1.3.0/vendor/languageserver/puppet-languageserver:13:in `<main>'
[Error - 12:26:32 PM] Connection to server got closed. Server will not be restarted.

Downgrading Puppet to 7.10.0 fixes this.

Expected Behavior

The Languageserver works with Puppet 7.11.0 installed.

Steps to Reproduce

Steps to reproduce the behavior:

  1. Install puppet gem 7.11.0 with gem install puppet
  2. Start VSCode with Puppet extension and open a puppet project
  3. Languageserver is crashing with above error
  4. Uninstall puppet gem with gem uninstall puppet
  5. Install puppet gem 7.10.0 with gem install puppet -v 7.10.0
  6. Start VSCode with Puppet extension and open a puppet project
  7. Languageserver is starting without issues

Edit: Same applies to instructions in Readme:

  1. git clone , cd, bundle install, bundle exec rake gem_revendor
  2. Error:
~/git/puppet-editor-services $ bundle exec ruby ./puppet-languageserver --debug=stdout
I, [2021-09-20T13:07:52.815105 #2092]  INFO -- : Language Server is v1.2.0
D, [2021-09-20T13:07:52.815130 #2092] DEBUG -- : Loading gems...
I, [2021-09-20T13:07:53.135044 #2092]  INFO -- : Using Puppet v7.11.0
Traceback (most recent call last):
	1: from ./puppet-languageserver:13:in `<main>'
/home/tmu/git/puppet-editor-services/lib/puppet_languageserver.rb:218:in `init_puppet': uninitialized constant PuppetLanguageServer::Facter (NameError)

With 7.10.0 it works:

  1. git clone , cd, PUPPET_GEM_VERSION="7.10.0" bundle install, PUPPET_GEM_VERSION="7.10.0" bundle exec rake gem_revendor
  2. No error:
~/git/puppet-editor-services √$ bundle exec ruby ./puppet-languageserver --debug=stdout                                                                                                            
I, [2021-09-20T13:10:18.902491 #2593]  INFO -- : Language Server is v1.2.0
D, [2021-09-20T13:10:18.902515 #2593] DEBUG -- : Loading gems...
I, [2021-09-20T13:10:19.294184 #2593]  INFO -- : Using Puppet v7.10.0
I, [2021-09-20T13:10:19.294218 #2593]  INFO -- : Using Facter v4.2.4
D, [2021-09-20T13:10:19.294257 #2593] DEBUG -- : Detected additional puppet settings []
I, [2021-09-20T13:10:19.299493 #2593]  INFO -- : Initializing settings...
I, [2021-09-20T13:10:19.299946 #2593]  INFO -- : Starting RPC Server...
D, [2021-09-20T13:10:19.300093 #2593] DEBUG -- : Using TCP Server
D, [2021-09-20T13:10:19.301112 #2593] DEBUG -- : TCPSRV: Services running. Press ^C to stop
D, [2021-09-20T13:10:19.301131 #2593] DEBUG -- : TCPSRV: Will stop the server in 10 seconds if no connection is made.
D, [2021-09-20T13:10:19.301140 #2593] DEBUG -- : TCPSRV: Will stop the server when client disconnects
LANGUAGE SERVER RUNNING localhost:41361
D, [2021-09-20T13:10:19.301260 #2593] DEBUG -- : TCPSRV: Started listening on localhost:41361.
D, [2021-09-20T13:10:29.310967 #2593] DEBUG -- : TCPSRV: No connection has been received in 10 seconds.  Shutting down server.
D, [2021-09-20T13:10:29.311009 #2593] DEBUG -- : TCPSRV: Stopping services
D, [2021-09-20T13:10:29.311024 #2593] DEBUG -- : TCPSRV: Stopped listening on localhost:41361
D, [2021-09-20T13:10:29.311046 #2593] DEBUG -- : TCPSRV: Started shutdown process. Press ^C to force quit.
D, [2021-09-20T13:10:29.311052 #2593] DEBUG -- : TCPSRV: Stopping services
D, [2021-09-20T13:10:29.311060 #2593] DEBUG -- : TCPSRV: Waiting for workers to cycle down
I, [2021-09-20T13:10:29.327989 #2593]  INFO -- : Language Server exited.

Environment

  • Puppet extension for VSCode 1.3.0
  • VSCode 1.60.1
  • Platform: Gentoo
  • Gems are installed in user space

Additional Context

Just a guess: Puppet 7.11.0 introduced support for multiple Facter implementations at Puppet initialization: PUP-11216. Can't tell, if this is causing the issue.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions