posit-dev / positron

Positron, a next-generation data science IDE
https://positron.posit.co
Other
2.67k stars 80 forks source link

R Interpreter fails to start on windows - Failed to convert R home to utf-8 #4374

Open egillax opened 2 months ago

egillax commented 2 months ago

System details:

Positron and OS details:

Positron Version: 2024.08.0 (user setup) build 31 Code - OSS Version: 1.91.0 Commit: 7ee0596b81d578059e63c9af7c535c6b6040b947 Date: 2024-08-10T13:58:54.164Z Electron: 29.4.0 Chromium: 122.0.6261.156 Node.js: 20.9.0 V8: 12.2.281.27-electron.0 OS: Windows_NT x64 10.0.14393

Interpreter details:

R4.2.3

Describe the issue:

When starting up positron it fails to launch the R interpreter with:

R 4.2.3 starting. R 4.2.3 failed to start up (exit code 0)

Then when I press the start console button I get the error and stacktrace below.

Steps to reproduce the issue:

Install positron from latest release on github 2024.08.0 build 31 and start it.

Expected or desired behavior:

Launches the R interpreter succesfully.

Were there any error messages in the UI, Output panel, or Developer Tools console?

Error in R console when starting R console manually:

Error: Socket disposed
e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\ark\ark.exe --connection_file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\connection.json --log C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\kernel.log --startup-file e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\scripts\startup.R --session-mode console -- --interactive --no-restore-data 
  2024-08-16T09:02:45.848967Z ERROR  Panic! In file 'crates\ark\src\sys\windows\interface.rs' at line 134: Failed to convert R home to UTF-8. Path 'C:\Program Files\R\R-4.2.3'. Error: [87] The parameter is incorrect.

Stack backtrace:
   0: <unknown>
   1: <unknown>
   2: tree_sitter_r
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: tree_sitter_r
  12: BaseThreadInitThunk
  13: RtlUserThreadStart.

Backtrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: tree_sitter_r
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: tree_sitter_r
  17: BaseThreadInitThunk
  18: RtlUserThreadStart

   at crates\ark\src/main.rs:482
Output from Positron R extension output channel ```text 2024-08-16 05:00:26.445 [info] Log level: Debug 2024-08-16 05:00:26.445 [info] Checking for 'InstallPath' in registry key \Software\R-Core\R64 for hive HKCU 2024-08-16 05:00:26.446 [info] Refreshing testthat status 2024-08-16 05:00:26.446 [info] Not working in an R package 2024-08-16 05:00:26.446 [info] Context key 'testthatIsConfigured' is 'false' 2024-08-16 05:00:26.446 [info] Context key 'testthatHasTests' is 'false' 2024-08-16 05:00:27.829 [info] Unable to get value of 'InstallPath': QUERY command exited with code 1: ERROR: The system was unable to find the specified registry key or value. 2024-08-16 05:00:28.178 [info] Checking for 'InstallPath' in registry key \Software\WOW6432Node\R-Core\R64 for hive HKCU 2024-08-16 05:00:28.932 [info] Unable to get value of 'InstallPath': QUERY command exited with code 1: ERROR: The system was unable to find the specified registry key or value. 2024-08-16 05:00:29.291 [info] Checking for 'InstallPath' in registry key \Software\R-Core\R64 for hive HKLM 2024-08-16 05:00:30.331 [info] Identified the current version of R from the registry: C:\Program Files\R\R-4.2.3\bin\x64\R.exe 2024-08-16 05:00:30.368 [info] Candidate R binary at C:\Program Files\R\R-4.2.3\bin\x64\R.exe 2024-08-16 05:00:30.368 [info] R installation discovered: { "valid": true, "supported": true, "binpath": "C:\\Program Files\\R\\R-4.2.3\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.2.3", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.2.3", "major": 4, "minor": 2, "patch": 3, "prerelease": [], "build": [], "version": "4.2.3" }, "version": "4.2.3", "arch": "x86_64", "current": true, "orthogonal": true } 2024-08-16 05:00:41.432 [info] Checking for 'InstallPath' in registry key \Software\R-Core\R64 for hive HKCU 2024-08-16 05:00:42.046 [info] Unable to get value of 'InstallPath': QUERY command exited with code 1: ERROR: The system was unable to find the specified registry key or value. 2024-08-16 05:00:42.255 [info] Checking for 'InstallPath' in registry key \Software\WOW6432Node\R-Core\R64 for hive HKCU 2024-08-16 05:00:42.786 [info] Unable to get value of 'InstallPath': QUERY command exited with code 1: ERROR: The system was unable to find the specified registry key or value. 2024-08-16 05:00:42.980 [info] Checking for 'InstallPath' in registry key \Software\R-Core\R64 for hive HKLM 2024-08-16 05:00:43.440 [info] Identified the current version of R from the registry: C:\Program Files\R\R-4.2.3\bin\x64\R.exe 2024-08-16 05:00:43.461 [info] Candidate R binary at C:\Program Files\R\R-4.2.3\bin\x64\R.exe 2024-08-16 05:00:43.461 [info] R installation discovered: { "valid": true, "supported": true, "binpath": "C:\\Program Files\\R\\R-4.2.3\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.2.3", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.2.3", "major": 4, "minor": 2, "patch": 3, "prerelease": [], "build": [], "version": "4.2.3" }, "version": "4.2.3", "arch": "x86_64", "current": true, "orthogonal": true } 2024-08-16 05:00:43.461 [info] Candidate R binary at C:\Program Files\R\R-4.0.3\bin\x64\R.exe 2024-08-16 05:00:43.461 [info] R installation discovered: { "valid": true, "supported": false, "binpath": "C:\\Program Files\\R\\R-4.0.3\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.0.3", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.0.3", "major": 4, "minor": 0, "patch": 3, "prerelease": [], "build": [], "version": "4.0.3" }, "version": "4.0.3", "arch": "x86_64", "current": false, "orthogonal": true } 2024-08-16 05:00:43.462 [info] Candidate R binary at C:\Program Files\R\R-4.2.1\bin\x64\R.exe 2024-08-16 05:00:43.462 [info] R installation discovered: { "valid": true, "supported": true, "binpath": "C:\\Program Files\\R\\R-4.2.1\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.2.1", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.2.1", "major": 4, "minor": 2, "patch": 1, "prerelease": [], "build": [], "version": "4.2.1" }, "version": "4.2.1", "arch": "x86_64", "current": false, "orthogonal": true } 2024-08-16 05:00:43.462 [info] Filtering out C:\Program Files\R\R-4.0.3\bin\x64\R.exe: version is < 4.2.0 2024-08-16 05:00:58.579 [info] Log level: Debug 2024-08-16 05:00:58.579 [info] Refreshing testthat status 2024-08-16 05:00:58.579 [info] Not working in an R package 2024-08-16 05:00:58.579 [info] Context key 'testthatIsConfigured' is 'false' 2024-08-16 05:00:58.580 [info] Context key 'testthatHasTests' is 'false' 2024-08-16 05:00:59.649 [info] Checking for 'InstallPath' in registry key \Software\R-Core\R64 for hive HKCU 2024-08-16 05:01:00.525 [info] Unable to get value of 'InstallPath': QUERY command exited with code 1: ERROR: The system was unable to find the specified registry key or value. 2024-08-16 05:01:00.728 [info] Checking for 'InstallPath' in registry key \Software\WOW6432Node\R-Core\R64 for hive HKCU 2024-08-16 05:01:01.299 [info] Unable to get value of 'InstallPath': QUERY command exited with code 1: ERROR: The system was unable to find the specified registry key or value. 2024-08-16 05:01:01.518 [info] Checking for 'InstallPath' in registry key \Software\R-Core\R64 for hive HKLM 2024-08-16 05:01:02.117 [info] Identified the current version of R from the registry: C:\Program Files\R\R-4.2.3\bin\x64\R.exe 2024-08-16 05:01:02.130 [info] Candidate R binary at C:\Program Files\R\R-4.2.3\bin\x64\R.exe 2024-08-16 05:01:02.130 [info] R installation discovered: { "valid": true, "supported": true, "binpath": "C:\\Program Files\\R\\R-4.2.3\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.2.3", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.2.3", "major": 4, "minor": 2, "patch": 3, "prerelease": [], "build": [], "version": "4.2.3" }, "version": "4.2.3", "arch": "x86_64", "current": true, "orthogonal": true } 2024-08-16 05:01:02.130 [info] Candidate R binary at C:\Program Files\R\R-4.0.3\bin\x64\R.exe 2024-08-16 05:01:02.130 [info] R installation discovered: { "valid": true, "supported": false, "binpath": "C:\\Program Files\\R\\R-4.0.3\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.0.3", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.0.3", "major": 4, "minor": 0, "patch": 3, "prerelease": [], "build": [], "version": "4.0.3" }, "version": "4.0.3", "arch": "x86_64", "current": false, "orthogonal": true } 2024-08-16 05:01:02.130 [info] Candidate R binary at C:\Program Files\R\R-4.2.1\bin\x64\R.exe 2024-08-16 05:01:02.130 [info] R installation discovered: { "valid": true, "supported": true, "binpath": "C:\\Program Files\\R\\R-4.2.1\\bin\\x64\\R.exe", "homepath": "C:\\Program Files\\R\\R-4.2.1", "semVersion": { "options": {}, "loose": false, "includePrerelease": false, "raw": "4.2.1", "major": 4, "minor": 2, "patch": 1, "prerelease": [], "build": [], "version": "4.2.1" }, "version": "4.2.1", "arch": "x86_64", "current": false, "orthogonal": true } 2024-08-16 05:01:02.130 [info] Filtering out C:\Program Files\R\R-4.0.3\bin\x64\R.exe: version is < 4.2.0 ```
Console: R 4.2.3 Output Channels ```text 2024-08-16 05:00:39.427 [info] [Positron] Connecting to R 4.2.3 kernel (pid 10808) 2024-08-16 05:00:39.427 [info] [Positron] Streaming log file: C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-2mDzn1\kernel.log 2024-08-16 05:00:39.427 [info] [Positron] Connecting to kernel sockets defined in C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-2mDzn1\connection.json... 2024-08-16 05:00:39.427 [info] [Positron] Control socket created (count = 1) 2024-08-16 05:00:39.427 [info] [Positron] Shell socket created (count = 2) 2024-08-16 05:00:39.428 [info] [Positron] Stdin socket created (count = 3) 2024-08-16 05:00:39.432 [info] [Positron] I/O socket created (count = 4) 2024-08-16 05:00:39.432 [info] [Positron] Heartbeat socket created (count = 5) 2024-08-16 05:00:39.432 [info] [Positron] Control socket connecting to tcp://127.0.0.1:51789... 2024-08-16 05:00:39.432 [info] [Positron] Shell socket connecting to tcp://127.0.0.1:64749... 2024-08-16 05:00:39.432 [info] [Positron] Stdin socket connecting to tcp://127.0.0.1:61882... 2024-08-16 05:00:39.432 [info] [Positron] I/O socket connecting to tcp://127.0.0.1:41961... 2024-08-16 05:00:39.432 [info] [Positron] Heartbeat socket connecting to tcp://127.0.0.1:62386... 2024-08-16 05:00:39.432 [info] [Positron] Shell socket connected to tcp://127.0.0.1:64749 2024-08-16 05:00:39.433 [info] [Positron] I/O socket connected to tcp://127.0.0.1:41961 2024-08-16 05:00:39.433 [info] [Positron] Heartbeat socket connected to tcp://127.0.0.1:62386 2024-08-16 05:00:39.433 [info] [R] *** Log started at Fri 08/16/2024 5:00:36.62 2024-08-16 05:00:39.433 [info] [R] *** Command line: 2024-08-16 05:00:39.433 [info] [R] e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\ark\ark.exe --connection_file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-2mDzn1\connection.json --log C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-2mDzn1\kernel.log --startup-file e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\scripts\startup.R --session-mode console -- --interactive --no-restore-data 2024-08-16 05:00:39.433 [info] [Positron] Control socket connected to tcp://127.0.0.1:51789 2024-08-16 05:00:39.433 [info] [Positron] Stdin socket connected to tcp://127.0.0.1:61882 2024-08-16 05:00:39.433 [info] [Positron] Establishing socket listeners... [Positron] Shell socket disconnected from tcp://127.0.0.1:64749 [Positron] I/O socket disconnected from tcp://127.0.0.1:41961 [Positron] Heartbeat socket disconnected from tcp://127.0.0.1:62386 [Positron] Control socket disconnected from tcp://127.0.0.1:51789 [Positron] Stdin socket disconnected from tcp://127.0.0.1:61882 [Positron] All 5 sockets disconnected; kernel exited [Positron] Last line of log file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-2mDzn1\kernel.log does't name an exit code: Process exit code -1073740791 [R] 2: tree_sitter_r [R] 3: [R] 4: [R] 5: [R] 6: [R] 7: [R] 8: [R] 9: [R] 10: [R] 11: tree_sitter_r [R] 12: BaseThreadInitThunk [R] 13: RtlUserThreadStart. [R] [R] Backtrace: [R] 0: [R] 1: [R] 2: [R] 3: [R] 4: [R] 5: [R] 6: [R] 7: [R] 8: tree_sitter_r [R] 9: [R] 10: [R] 11: [R] 12: [R] 13: [R] 14: [R] 15: [R] 16: tree_sitter_r [R] 17: BaseThreadInitThunk [R] 18: RtlUserThreadStart [R] [R] at crates\ark\src/main.rs:482 [R] [R] *** Log ended at Fri 08/16/2024 5:00:40.00 [R] Process exit code -1073740791 [R] [Positron] R kernel status changed: starting => exited 2024-08-16 05:01:33.956 [info] [Positron] Connecting to R 4.2.3 kernel (pid 10936) 2024-08-16 05:01:33.957 [info] [Positron] Streaming log file: C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-WmGBxr\kernel.log 2024-08-16 05:01:33.957 [info] [Positron] Connecting to kernel sockets defined in C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-WmGBxr\connection.json... 2024-08-16 05:01:33.957 [info] [Positron] Control socket created (count = 1) 2024-08-16 05:01:33.957 [info] [Positron] Shell socket created (count = 2) 2024-08-16 05:01:33.957 [info] [Positron] Stdin socket created (count = 3) 2024-08-16 05:01:33.957 [info] [Positron] I/O socket created (count = 4) 2024-08-16 05:01:33.957 [info] [Positron] Heartbeat socket created (count = 5) 2024-08-16 05:01:33.957 [info] [Positron] Control socket connecting to tcp://127.0.0.1:44876... 2024-08-16 05:01:33.957 [info] [Positron] Shell socket connecting to tcp://127.0.0.1:58116... 2024-08-16 05:01:33.958 [info] [Positron] Stdin socket connecting to tcp://127.0.0.1:65203... 2024-08-16 05:01:33.958 [info] [Positron] I/O socket connecting to tcp://127.0.0.1:46481... 2024-08-16 05:01:33.958 [info] [Positron] Heartbeat socket connecting to tcp://127.0.0.1:63833... 2024-08-16 05:01:33.958 [info] [R] *** Log started at Fri 08/16/2024 5:01:33.27 2024-08-16 05:01:33.958 [info] [R] *** Command line: 2024-08-16 05:01:33.958 [info] [R] e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\ark\ark.exe --connection_file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-WmGBxr\connection.json --log C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-WmGBxr\kernel.log --startup-file e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\scripts\startup.R --session-mode console -- --interactive --no-restore-data [Positron] Control socket still connecting (2s) [Positron] Shell socket still connecting (2s) [Positron] Stdin socket still connecting (2s) [Positron] I/O socket still connecting (2s) [Positron] Heartbeat socket still connecting (2s) [Positron] Shell socket connected to tcp://127.0.0.1:58116 [Positron] Shell socket disconnected from tcp://127.0.0.1:58116 [Positron] All 5 sockets disconnected; kernel exited [Positron] Last line of log file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-WmGBxr\kernel.log does't name an exit code: Process exit code -1073740791 [R] 2: tree_sitter_r [R] 3: [R] 4: [R] 5: [R] 6: [R] 7: [R] 8: [R] 9: [R] 10: [R] 11: tree_sitter_r [R] 12: BaseThreadInitThunk [R] 13: RtlUserThreadStart. [R] [R] Backtrace: [R] 0: [R] 1: [R] 2: [R] 3: [R] 4: [R] 5: [R] 6: [R] 7: [R] 8: tree_sitter_r [R] 9: [R] 10: [R] 11: [R] 12: [R] 13: [R] 14: [R] 15: [R] 16: tree_sitter_r [R] 17: BaseThreadInitThunk [R] 18: RtlUserThreadStart [R] [R] at crates\ark\src/main.rs:482 [R] [R] *** Log ended at Fri 08/16/2024 5:01:34.83 [R] Process exit code -1073740791 [R] [Positron] R kernel status changed: starting => exited [Positron] Connecting to R 4.2.3 kernel (pid 5680) [Positron] Streaming log file: C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\kernel.log [Positron] Connecting to kernel sockets defined in C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\connection.json... [Positron] Control socket created (count = 1) [Positron] Shell socket created (count = 2) [Positron] Stdin socket created (count = 3) [Positron] I/O socket created (count = 4) [Positron] Heartbeat socket created (count = 5) [Positron] Control socket connecting to tcp://127.0.0.1:42605... [Positron] Shell socket connecting to tcp://127.0.0.1:53888... [Positron] Stdin socket connecting to tcp://127.0.0.1:52712... [Positron] I/O socket connecting to tcp://127.0.0.1:55002... [Positron] Heartbeat socket connecting to tcp://127.0.0.1:56977... [Positron] I/O socket connected to tcp://127.0.0.1:55002 [Positron] Shell socket connected to tcp://127.0.0.1:53888 [Positron] Heartbeat socket connected to tcp://127.0.0.1:56977 [Positron] Stdin socket connected to tcp://127.0.0.1:52712 [Positron] Heartbeat socket disconnected from tcp://127.0.0.1:56977 [Positron] I/O socket disconnected from tcp://127.0.0.1:55002 [Positron] Shell socket disconnected from tcp://127.0.0.1:53888 [Positron] Stdin socket disconnected from tcp://127.0.0.1:52712 [Positron] All 5 sockets disconnected; kernel exited [R] e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\ark\ark.exe --connection_file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\connection.json --log C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\kernel.log --startup-file e:\efridgeirsson\Positron\resources\app\extensions\positron-r\resources\scripts\startup.R --session-mode console -- --interactive --no-restore-data [R] 2024-08-16T09:02:45.848967Z ERROR Panic! In file 'crates\ark\src\sys\windows\interface.rs' at line 134: Failed to convert R home to UTF-8. Path 'C:\Program Files\R\R-4.2.3'. Error: [87] The parameter is incorrect. [R] [R] Stack backtrace: [R] 0: [R] 1: [R] 2: tree_sitter_r [R] 3: [R] 4: [R] 5: [R] 6: [R] 7: [R] 8: [R] 9: [R] 10: [R] 11: tree_sitter_r [R] 12: BaseThreadInitThunk [R] 13: RtlUserThreadStart. [R] [R] Backtrace: [R] 0: [R] 1: [R] 2: [R] 3: [R] 4: [R] 5: [R] 6: [R] 7: [R] 8: tree_sitter_r [R] 9: [R] 10: [R] 11: [R] 12: [R] 13: [R] 14: [R] 15: [R] 16: tree_sitter_r [R] 17: BaseThreadInitThunk [R] 18: RtlUserThreadStart [R] [R] at crates\ark\src/main.rs:482 [R] [R] [Positron] R kernel status changed: starting => exited [Positron] Last line of log file C:\Users\ADC59E~1\AppData\Local\Temp\2\kernel-9l6jwA\kernel.log does't name an exit code: Process exit code -1073740791 ```
ravichowdhury88 commented 2 months ago

I am running into a similar issue but for me the interpreter stops working in the middle of a session and gives me an error code 0 saying R exited.

Output from the Positron R Extension


2024-08-15 14:59:37.607 [info] ARK (R 4.4.1) language client state changed uninitialized => starting
2024-08-15 14:59:37.709 [info] ARK (R 4.4.1) language client init successful
2024-08-15 14:59:37.709 [info] ARK (R 4.4.1) language client state changed starting => running
2024-08-15 15:12:03.326 [warning] ARK (R 4.4.1) language client error occurred (port 43560). 'Error' with message: read ECONNRESET. This is error number undefined.
2024-08-15 15:12:03.329 [warning] ARK (R 4.4.1) language client error occurred (port 43560). 'Error' with message: read ECONNRESET. This is error number undefined.
2024-08-15 15:12:03.329 [info] ARK (R 4.4.1) language client state changed running => stopped
2024-08-15 15:12:03.330 [warning] ARK (R 4.4.1) language client error occurred (port 43560). 'Error' with message: Cannot call write after a stream was destroyed. This is error number 1.```
jaejhan commented 2 months ago

I have MacOS version 11.7.5. Even though I have R version 4.4.1 installed on my computer (which is accessible by my RStudio IDE), Positron does not see it and I get the error: Cannot execute code. Unable to start a runtime for the R language." Thus, I cannot open an R Console. I am using the [2024.08.0-31] release of Positron.

juliasilge commented 2 months ago

Here is the relevant line in ark:

https://github.com/posit-dev/ark/blob/b2aaf2d336c8980d640046b33a34b3bea3b2d59c/crates/ark/src/sys/windows/interface.rs#L134

juliasilge commented 2 months ago

@ravichowdhury88 @jaejhan it looks like your problems are unrelated. Can you open a new discussion with your details?