anon-iclr-submission/benchname-bug-localization huggingface dataset:
Repository: pytorch/serve
Issue: conda build failed on windows

## Repro

python .\\binaries\\build.py

## Failure Logs [if any]
<!--- Provide any relevant log snippets or files here. -->
```
conda-build: error: the following arguments are required: RECIPE_PATH
'install' is not recognized as an internal or external command,
operable program or batch file.
## Started torchserve, model-archiver and workflow-archiver conda build
## Using torchserve wheel: C:\\Users\\Administrator\\serve\\binaries\\..\\dist\\torchserve-0.4.3-py2.py3-none-any.whl
## Using model archiver wheel: C:\\Users\\Administrator\\serve\\binaries\\..\\model-archiver\\dist\\torch_model_archiver-0.4.3-py2.py3-none-any.whl
## Using workflow archiver wheel: C:\\Users\\Administrator\\serve\\binaries\\..\\workflow-archiver\\dist\\torch_workflow_archiver-0.1.3-py2.py3-none-any.whl
## In directory: C:\\Users\\Administrator\\serve; Executing command:  build --output-folder C:\\Users\\Administrator\\serve\\binaries\\conda\\output --python=3.6 C:\\Users\\Administrator\\serve\\binaries\\conda\\torchserve
'build' is not recognized as an internal or external command,
operable program or batch file.
## Conda Build Failed !
## Conda Build Failed !
```

Changed files:
binaries/conda/build_packages.py, binaries/upload.py

diff --git a/binaries/conda/build_packages.py b/binaries/conda/build_packages.py
index 7b7f1ee8..697ecf0f 100644
--- a/binaries/conda/build_packages.py
+++ b/binaries/conda/build_packages.py
@@ -8,6 +8,10 @@ REPO_ROOT = os.path.join(conda_build_dir, "..", "..")
 MINICONDA_DOWNLOAD_URL = "https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh"
 CONDA_BINARY = os.popen("which conda").read().strip() if os.system(f"conda --version") == 0 else  f"$HOME/miniconda/condabin/conda"
 
+if os.name == "nt":
+    #Assumes miniconda is installed in windows
+    CONDA_BINARY = "conda"
+
 def install_conda_build():
     """
     Install conda-build, required to create conda packages
@@ -24,6 +28,9 @@ def install_miniconda():
     if exit_code == 0:
         print(f"'conda' already present on the system. Proceeding without a fresh minconda installation.")
         return
+    if os.name == "nt":
+        print("Identified as Windows system. Please install miniconda using this URL: https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe")
+        return
 
     os.system(f"rm -rf $HOME/miniconda")
     exit_code = os.system(f"wget {MINICONDA_DOWNLOAD_URL} -O ~/miniconda.sh")
diff --git a/binaries/upload.py b/binaries/upload.py
index b0d6c4a9..ff322d3a 100644
--- a/binaries/upload.py
+++ b/binaries/upload.py
@@ -46,7 +46,7 @@ def upload_conda_packages():
     """
 
     # Identify *.tar.bz2 files to upload
-    anaconda_token = os.environ[CONDA_TOKEN_ENV_VARIABLE]
+    anaconda_token = os.getenv(CONDA_TOKEN_ENV_VARIABLE)
 
     for root, _, files in os.walk(CONDA_PACKAGES_PATH):
         for name in files:
Repository: bqplot/bqplot
Issue: PandasDataFrame trait triggers a deprecation warning

Seems the PandasDataFrame is triggering a deprecation warning

```
C:\\Anaconda3\\lib\\site-packages\\ipykernel\\__main__.py:67: DeprecationWarning: metadata {'to_json': <bound method PandasDataFrame._to_json of <bqplot.traits.PandasDataFrame object at 0x000000000900F828>>, 'from_json': <bound method PandasDataFrame._from_json of <bqplot.traits.PandasDataFrame object at 0x000000000900F828>>} was set from the constructor.  Metadata should be set using the .tag() method, e.g., Int().tag(key1='value1', key2='value2')
```


Changed files:
bqplot/traits.py

diff --git a/bqplot/traits.py b/bqplot/traits.py
index 50b1e5f7..85211247 100644
--- a/bqplot/traits.py
+++ b/bqplot/traits.py
@@ -227,10 +227,8 @@ class PandasDataFrame(Instance):
     info_text = 'a pandas DataFrame'
 
     def __init__(self, *args, **kwargs):
-        kwargs.setdefault('from_json', self._from_json)
-        kwargs.setdefault('to_json', self._to_json)
-        kwargs.setdefault('args', ())
         super(PandasDataFrame, self).__init__(*args, **kwargs)
+        self.tag(to_json=self._to_json, from_json=self._from_json)
 
     def _from_json(self, value, obj=None):
         if value is not None or value != []:
@@ -273,10 +271,8 @@ class PandasSeries(Instance):
     info_text = 'a pandas series'
 
     def __init__(self, *args, **kwargs):
-        kwargs.setdefault('from_json', self._from_json)
-        kwargs.setdefault('to_json', self._to_json)
-        kwargs.setdefault('args', ())
         super(PandasSeries, self).__init__(*args, **kwargs)
+        self.tag(to_json=self._to_json, from_json=self._from_json)
 
     def _from_json(self, value, obj=None):
         return pd.Series(value)
Repository: skypilot-org/skypilot
Issue: [Azure] KeyError when launching Azure cluster

The following error occurs occasionally. It seems to happen more often when `test_cancel_azure` and `test_azure_start_stop` run together.
```
  File "/home/ubuntu/skypilot/sky/skylet/providers/azure/node_provider.py", line 362, in _get_cached_node
    return self._get_node(node_id=node_id)
  File "/home/ubuntu/skypilot/sky/skylet/providers/azure/node_provider.py", line 357, in _get_node
    return self.cached_nodes[node_id]
KeyError: 'ray-test-cancel-azure-3446f302-2b-head-138eaa0b0'
```
@suquark Do you think there is a race condition around the following place? Should it be a file lock across multiple `ray up`?
https://github.com/skypilot-org/skypilot/blob/21009efc877327b5f6aa990745c453fb355de4c3/sky/skylet/providers/azure/node_provider.py#L79-L80

Changed files:
sky/skylet/providers/azure/node_provider.py

diff --git a/sky/skylet/providers/azure/node_provider.py b/sky/skylet/providers/azure/node_provider.py
index 29ba743f..bd1d6ed2 100644
--- a/sky/skylet/providers/azure/node_provider.py
+++ b/sky/skylet/providers/azure/node_provider.py
@@ -352,13 +352,15 @@ class AzureNodeProvider(NodeProvider):
                 except Exception as e:
                     logger.warning("Failed to delete disk: {}".format(e))
 
+    @synchronized
     def _get_node(self, node_id):
         self._get_filtered_nodes({})  # Side effect: updates cache
         return self.cached_nodes[node_id]
 
     def _get_cached_node(self, node_id):
-        if node_id in self.cached_nodes:
-            return self.cached_nodes[node_id]
+        node = self.cached_nodes.get(node_id)
+        if node is not None:
+            return node
         return self._get_node(node_id=node_id)
 
     @staticmethod
Repository: skypilot-org/skypilot
Issue: [Storage] Leakage of storage with persistent=False

Our storage is not linked with the cluster or task, so when the job finishes or the cluster is terminated, the storage will not be deleted even if the `persistent=False` is set.

```
# test.yaml
file_mounts:
  /dst:
    name: skypilot-zhwu-test-storage-persistent
    source: ~/tmpdir
    persistent: False

run: |
  echo hi
```

```
sky launch -c test-storage ./test.yaml
sky down test-storage
sky storage ls
```

This should be also related to #1203, as we need to store the storage information in the clusters' metadata.
Also, the `autodown` may also cause leakage for the storage, even after we add the info to the metadata.
cc @romilbhardwaj @michaelzhiluo 

Changed files:
sky/execution.py

diff --git a/sky/execution.py b/sky/execution.py
index 95db48a9..14fc2607 100644
--- a/sky/execution.py
+++ b/sky/execution.py
@@ -248,9 +248,11 @@ def _execute(
                 # Enables post_execute() to be run after KeyboardInterrupt.
                 backend.post_execute(handle, down)
 
+        if task.storage_mounts is not None:
+            backend.teardown_ephemeral_storage(task)
+
         if Stage.DOWN in stages:
             if down and idle_minutes_to_autostop is None:
-                backend.teardown_ephemeral_storage(task)
                 backend.teardown(handle, terminate=True)
     finally:
         if cluster_name != spot.SPOT_CONTROLLER_NAME: