Hai, yang di sana,
Saya melihat WSL menggantung / dibiarkan tidak dapat digunakan setelah Calva mencoba terhubung..
Langkah:
clj -Adev:nrepl-server
Diharapkan: Calva terhubung, membuka perwakilan CLJ, membuka perwakilan CLJS
Aktual: Calva terhubung, membuka repl CLJ, lalu WSL hang saat membuka repl CLJS.. Proses WSL tidak dapat dimatikan, tidak ada terminal WSL baru yang dapat dibuka, dan Windows perlu di-restart untuk menggunakan WSL lagi!!
A. keluaran server nrepl
2019-09-28 12:43:40.375:INFO::nRepl-session-6d0bbcfd-d687-4002-92e9-fb5abb864022: Logging initialized <strong i="21">@48570ms</strong> to org.eclipse.jetty.util.log.StdErrLog
[Figwheel] Compiling build dev to "target/node/dev/dev-main.js"
[Figwheel] Successfully compiled build dev to "target/node/dev/dev-main.js" in 5.623 seconds.
[Figwheel] Watching paths: ("src") to compile build - dev
[Figwheel] Starting Server at http://localhost:9500
[Figwheel] Starting REPL
<WSL hangs here>
B. Keluaran log koneksi Calva
Prompt will show when REPL connects to evaluation environment (i.e. Node)
Figwheel Main Controls:
(figwheel.main/stop-builds id ...) ;; stops Figwheel autobuilder for ids
(figwheel.main/start-builds id ...) ;; starts autobuilder focused on ids
(figwheel.main/reset) ;; stops, cleans, reloads config, and starts autobuilder
(figwheel.main/build-once id ...) ;; builds source one time
(figwheel.main/clean id ...) ;; deletes compiled cljs target files
(figwheel.main/status) ;; displays current state of system
Figwheel REPL Controls:
(figwheel.repl/conns) ;; displays the current connections
(figwheel.repl/focus session-name) ;; choose which session name to focus on
In the cljs.user ns, controls can be called without ns ie. (conns) instead of (figwheel.repl/conns)
Docs: (doc function-name-here)
Exit: :cljs/quit
Results: Stored in vars *1, *2, *3, *e holds last exception object
Starting node ...
Node output being logged to: target/node/dev/node.log
For a better development experience:
1. Open chrome://inspect/#devices ... (in Chrome)
2. Click "Open dedicated DevTools for Node"
<WSL hangs here>
C. Calva mengatakan keluaran
Connecting ...
Hooking up nREPL sessions...
Connected session: clj
Creating cljs repl session...
Connecting cljs repl: Clojure CLI + Figwheel Main...
The Calva Connection Log might have more connection progress information.
Starting cljs repl for: Clojure CLI + Figwheel Main...
CLJS REPL ready to connect. Please, start your ClojureScript app.
Cljs builds started
<WSL hangs here>
D.deps.edn
{:paths ["src"]
:deps
{org.clojure/clojure {:mvn/version "1.10.1"}
org.clojure/clojurescript {:mvn/version "1.10.520"}}
:aliases {:dev {:extra-deps {^:depot/ignore org.clojure/tools.namespace {:mvn/version "0.2.11"}}}
:nrepl-server {:extra-deps {cider/cider-nrepl {:mvn/version "0.22.3"}
cider/piggieback {:mvn/version "0.4.1"}
com.bhauman/figwheel-main {:mvn/version "0.2.3"}}
:main-opts ["-m" "nrepl.cmdline"
"--middleware" "[cider.nrepl/cider-middleware,cider.piggieback/wrap-cljs-repl]"]}
:outdated {:extra-deps {olical/depot {:mvn/version "1.8.4"}}
:main-opts ["-m" "depot.outdated.main"]}}}
E. dev.cljs.edn
{:main hello-world.core
:target :nodejs}
F. src/hello_world/core.cljc
(ns hello-world.core
#?(:clj (:gen-class)))
(defn -main
[& args]
(println "Hello, World!"))
#?(:cljs (set! *main-cli-fn* -main))
Tidak bagus Bisakah Anda mempublikasikan proyek yang mengekspos ini?
Tidak bagus Bisakah Anda mempublikasikan proyek yang mengekspos ini?
Hai @PEZ ,
Saya telah membuat repo di sini: https://github.com/alzadude/cljc-hello-world
Silakan lihat tangkapan layar di bawah untuk efek WSL hang.
Catatan, saya mendapatkan hasil yang sama terlepas dari apakah saya menggunakan connect to nrepl, atau jack-in.
Ketika saya terhubung/jack-in, saya memilih alias 'dev' hanya dari daftar drop-down.
Satu pengamatan berguna lainnya, adalah bahwa ini kadang-kadang terjadi saat menghubungkan, dan di lain waktu itu akan terhubung dengan baik, tetapi kemudian setelah beberapa saat WSL akan hang, dan kemudian saya melihat pesan "Mencoba untuk menyambung kembali"...
Hai @PEZ ,
Saya baru saja menemukan ini, kedengarannya mirip: https://superuser.com/questions/1430009/windows-wsl-ubuntu-hangs-freezes-randomly-when-listening-to-ports
"Mendengarkan port" bisa jadi Figwheel Main dalam kasus ini, jadi mungkin ini adalah masalah umum WSL..
@alzadude @PEZ
Saya dapat mereproduksi perilaku ini di sistem saya - tetapi dengan versi 2.0.49 saat ini Anda dapat mengklik tombol nREPL - trying to connect
di bilah status untuk menghentikan proses koneksi dan mengatur vscode dan terminal kembali ke status yang dapat digunakan.
Saya tidak yakin bagaimana mengatasi masalah ini tetapi saya mencoba untuk men-debug ini.
@PEZ
Saya menemukan penyebab koneksi hang. Tampilan web tidak dimuat sama sekali dan oleh karena itu tidak diinisialisasi dan proses koneksi menunggu tampilan web untuk menjawab. Ini adalah bug vscode:
@PEZ
Saya menemukan penyebab koneksi hang. Tampilan web tidak dimuat sama sekali dan oleh karena itu tidak diinisialisasi dan proses koneksi menunggu tampilan web untuk menjawab. Ini adalah bug vscode:
Kerja luar biasa @cfehse kerja bagus menemukan penyebabnya! Saya berharap perbaikannya tidak memerlukan perubahan dalam VSCode, karena saya kira itu bisa memakan waktu cukup lama (saya tidak menggunakan build orang dalam) ...
@alzadude
Versi 1.39.2 dari vscode baru saja dirilis yang memperbaiki setidaknya bug terkait tampilan web yang mencegah jendela REPL kami dimulai (ekstensi git vscode tampaknya masih bermasalah).
Saya menguji repro pengujian Anda, koneksi apa pun berfungsi dengan baik:
Silakan mencobanya dan bagikan bagaimana perilakunya di sistem kami.
@cfehse
Saya mencoba dengan VSCode 1.39.2, Remote - WSL 0.39.9 dan Calva 2.0.51, mengulangi langkah yang sama persis dalam deskripsi masalah, tetapi sayangnya saya mendapatkan hasil yang sama: WSL hang, dan saya mendapatkan "Mencoba untuk menyambung kembali" pesan... Saya tidak dapat memulai sesi WSL baru, satu-satunya cara untuk membuatnya berfungsi kembali adalah dengan me-restart Windows
@alzadude
Ini tampaknya menjadi masalah dengan vscode atau ekstensi jarak jauh dari Microsoft - lihat ini misalnya microsoft/vscode-remote-release#1646. Ada banyak masalah serupa di sekitar tetapi perilaku tersebut tampaknya tidak dapat direproduksi dengan mudah.
Dalam diskusi di atas, "solusi" berikut disebutkan untuk "sesuatu" berfungsi:
C:\Users\<yourname>\AppData\Roaming\Code
~/.vscode
Ini memang radikal tapi apakah Anda ingin mencobanya? Sejujurnya saya sedikit kehabisan ide saat ini. Saya akan mengamati masalah di sisi vscode untuk melihat apakah ada temuan yang terjadi di sana.
@cfehse terima kasih, saya mencoba langkah-langkah ini tetapi sayangnya saya mendapatkan hasil yang sama..
nb Ketika saya mencari ~/.vscode
, saya hanya menemukan ~/.vscode-server
, jadi saya menghapusnya saja.
Hai @cfehse ada lagi ide/berita tentang yang satu ini?
Reporter masalah hulu tampaknya puas bahwa dalam kasus mereka, penyebabnya adalah adanya beberapa ekstensi lain (meja kerja IoT) yang ketika dihapus, membuat masalah tersebut hilang. Namun, jelas dalam kasus saya, ini bukan penyebabnya. Jadi saya bertanya-tanya apakah ini masalah yang berbeda.
Tidak yakin apa yang harus dilakukan selanjutnya...
Hai @alzadude
Saya masih tidak dapat mereproduksi ini dan masalah Anda yang lain (#387) di salah satu sistem saya. Jika Anda ingin mengambil alih dan mencoba sistem Windows yang berbeda untuk melihat apakah ada perbedaan perilaku. Saya sedikit kehabisan ide sekarang. Maaf.
Saya masih tidak dapat mereproduksi ini dan masalah Anda yang lain (#387) di salah satu sistem saya. Jika Anda ingin mengambil alih dan mencoba sistem Windows yang berbeda untuk melihat apakah ada perbedaan perilaku. Saya sedikit kehabisan ide sekarang. Maaf.
Hai @cfehse pembaruan cepat dari saya: Saya baru saja mencoba VS Code 1.40.0, Remote WSL 0.40.2 dan sayangnya saya masih mendapatkan hasil yang sama
Agar Anda dapat melihat apa yang saya lihat, inilah video yang saya rekam: https://drive.google.com/open?id=1kP7jqCUDJ9pC8wTGdbrCyBQj7q18MqQ4
Dalam hal mencoba sistem Windows yang berbeda, sayangnya saya hanya memiliki satu laptop.. Saya kemudian mengalami gelombang otak, dan berpikir saya dapat menggunakan "Windows Sandbox" baru di Windows 10 Pro, tetapi "Fitur Windows" tidak ada di dalamnya, jadi Saya tidak dapat menginstal WSL! Oh, Microsoft ️
Jadi seperti berdiri saya juga kehabisan ide.. Saya telah beralih menggunakan VSCode di Windows yang tepat daripada WSL karena masalah ini, tetapi sayangnya Figwheel Main saat ini memiliki bug yang berarti tidak berfungsi di Windows: https:/ /github.com/bhauman/figwheel-main/issues/19
Jadi saya cukup terjebak saat ini! aku akan terus menyelidiki..
@alzadude
Saya tidak tahu mengapa bintang rock ini tidak memperbaiki masalah di sana, atau membuat perangkat lunak setidaknya open source (ekstensi jarak jauh) sehingga orang lain dapat melihatnya.
Satu-satunya ide yang saya miliki saat ini untuk masalah Anda -> linux pada mesin virtual.
Saya sangat menyesal.
@alzadude
Hai Alex,
Saya hanya menguji konfigurasi proyek Anda di semua tempat untuk melihat apakah saya menemukan masalah dalam konfigurasi saya. Saya melihat di video bahwa proyek Anda terletak di drive Windows D:. Sudahkah Anda menguji untuk mengkloning sumber di direktori home Anda di bawah WSL dan terhubung di sana? Saya tidak punya masalah menghubungkan dan memulai aplikasi cljs di linux (dan ketika saya mengubah target\node\dev\dev-main.js
yang dihasilkan untuk memperbaiki nama path) dan Windows.
Hai @cfehse terima kasih atas sarannya,
Saya baru saja mencoba dan sayangnya saya masih mendapatkan hasil yang sama. Ini dengan proyek yang terletak di ~/Projects/cljc-hello-world
, jadi di dalam direktori home WSL alih-alih drive Windows yang terpasang. Itu berhasil selama sekitar 5 detik (lihat tangkapan layar di bawah), tetapi kemudian masih hang
Jika itu berhasil untuk Anda dan bukan untuk saya, saya mencurigai beberapa keadaan berbeda pada mesin saya untuk beberapa alasan, tetapi siapa yang tahu apa itu. Saya sudah mencoba menginstal ulang WSL, VSCode dll dan juga menghapus C:\Users\<yourname>\AppData\Roaming\Code
dan ~/.vscode-server
, tetapi itu tidak mempengaruhi hasil untuk saya.
Mungkin saya bisa mengekor log untuk VSCode dan Remote WSL, apakah Anda tahu di mana lokasinya?
Saya dapat mengatur ulang PC saya, tetapi tentu saja saya enggan untuk melakukannya sejauh itu.
Penyelidikan berlanjut..
Saya telah beralih menggunakan VSCode pada Windows yang tepat daripada WSL karena masalah ini, tetapi sayangnya Figwheel Main saat ini memiliki bug yang berarti tidak berfungsi pada Windows: bhauman/figwheel-main#19
Setidaknya saya menemukan cara untuk menghindari masalah kompilasi dengan file js utama (sebenarnya ini bukan masalah dengan figwheel-main ini lebih merupakan masalah dengan kompiler ClojureScript). Saya membuat PR untuk proyek demo Anda untuk melihat perubahan yang diperlukan.
Hai @cfehse kabar baik!
Setelah melakukan langkah-langkah berikut, masalah tampaknya telah teratasi dengan sendirinya:
C:\Users\<yourname>\AppData\Roaming\Code
C:\Users\<yourname>\.vscode
~/.vscode-server
Saya masih tidak tahu apa masalah mendasarnya sebelumnya, tetapi sekarang berhasil. Saya hanya berdoa masalahnya tidak kembali
Terima kasih untuk bantuannya! 🙂.
@alzadude
Ya Tuhan! Apa prosedur. :(
Di sistem saya, WSL dengan Remote Extension berfungsi dengan cukup baik. Mari kita tetap menyilangkan jari. gg
Saya menutup masalah ini untuk saat ini.
Hai @cfehse Saya minta maaf untuk mengatakan, masalah ini telah kembali
VSCode 1.41.1
Jarak Jauh - WSL 0.41.9
Calva 2.0.75
Sayangnya sudah lama sejak saya mencoba memulai jenis proyek Clojure CLI + Figwheel Main
, jadi saya tidak tahu kapan proyek itu berhenti bekerja
Saya belum mencoba mengulangi daftar lengkap langkah-langkah di atas yang menyelesaikannya untuk saya terakhir kali, tetapi saya mencoba tiga langkah berikut saja yang sayangnya tidak berhasil sendiri:
C:\Users\<yourname>\AppData\Roaming\Code
C:\Users\<yourname>\.vscode
~/.vscode-server
Saya tidak mengerti mengapa saya tampak sendirian dalam mengalami masalah ini! 😕.
Komentar yang paling membantu
@PEZ
Saya menemukan penyebab koneksi hang. Tampilan web tidak dimuat sama sekali dan oleh karena itu tidak diinisialisasi dan proses koneksi menunggu tampilan web untuk menjawab. Ini adalah bug vscode: