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

ValueError: Double free! #1556

Closed
mshumer opened this issue Nov 3, 2023 · 23 comments
Closed

ValueError: Double free! #1556

mshumer opened this issue Nov 3, 2023 · 23 comments

Comments

@mshumer
Copy link

mshumer commented Nov 3, 2023

Getting this error really frequently when querying a Mistral-based model: ValueError: Double free! PhysicalTokenBlock(device=Device.GPU, block_number=9180, ref_count=0) is already freed.

Interestingly, it primarily happens when I'm hitting the endpoint from pure python/request, not when I'm using Postman.

But, it has happened when using Postman and when just querying the model locally, though less frequently.

@WoosukKwon
Copy link
Collaborator

Hi @mshumer Could you provide a reproducible example?

@samblouir
Copy link

samblouir commented Nov 8, 2023

Same issue here, but it doesn't reproduce every time. Restarting vllm fixes it.
It is happening somewhat sporadically.
Interestingly, you can keep using vllm after this crash happens.

I'm on an Nvidia 3090, and nvidia-smi shows: Driver Version: 530.30.02 and CUDA Version: 12.1
I attached what the console prints out. Hopefully this is legible.

Thanks.

INFO: 127.0.0.1:60816 - "POST /v1/chat/completions HTTP/1.1" 200 OK
INFO 11-08 23:23:28 async_llm_engine.py:371] Received request cmpl-65ac020edcbb43bcb9bb4e11e704ebb4: prompt: '[INST] In xyz-space, what are the coordinates of the point on the plane 2x + y + 3z = 3 that is closest to the origin?\n(A) (0, 0, 1)\n(B) (3/7, 3/14, 9/14)\n(C) (7/15, 8/15, 1/15)\n(D) (5/6, 1/3, 1/3) [/INST]', sampling params: SamplingParams(n=8, best_of=8, presence_penalty=0.0, frequency_penalty=0.0, temperature=0.6, top_p=0.9, top_k=-1, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=[], ignore_eos=False, max_tokens=4096, logprobs=None, skip_special_tokens=True), prompt token ids: [1, 733, 16289, 28793, 560, 1318, 28724, 28764, 28733, 3603, 28725, 767, 460, 272, 15634, 302, 272, 1305, 356, 272, 8573, 28705, 28750, 28744, 648, 337, 648, 28705, 28770, 28764, 327, 28705, 28770, 369, 349, 16424, 298, 272, 5016, 28804, 13, 28732, 28741, 28731, 325, 28734, 28725, 28705, 28734, 28725, 28705, 28740, 28731, 13, 28732, 28760, 28731, 325, 28770, 28748, 28787, 28725, 28705, 28770, 28748, 28740, 28781, 28725, 28705, 28774, 28748, 28740, 28781, 28731, 13, 28732, 28743, 28731, 325, 28787, 28748, 28740, 28782, 28725, 28705, 28783, 28748, 28740, 28782, 28725, 28705, 28740, 28748, 28740, 28782, 28731, 13, 28732, 28757, 28731, 325, 28782, 28748, 28784, 28725, 28705, 28740, 28748, 28770, 28725, 28705, 28740, 28748, 28770, 28731, 28705, 733, 28748, 16289, 28793].
INFO 11-08 23:23:33 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 306.8 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 5.5%, CPU KV cache usage: 0.0%
INFO 11-08 23:23:38 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 305.2 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 8.1%, CPU KV cache usage: 0.0%
INFO 11-08 23:23:43 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 201.5 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 8.1%, CPU KV cache usage: 0.0%
INFO 11-08 23:23:48 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 166.0 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 10.6%, CPU KV cache usage: 0.0%
INFO 11-08 23:23:53 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 165.4 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 13.0%, CPU KV cache usage: 0.0%
INFO 11-08 23:23:58 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 163.4 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 15.6%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:03 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 152.5 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 18.0%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:08 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 149.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 20.3%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:13 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 153.6 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 22.7%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:18 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 146.5 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 24.9%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:23 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 146.9 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 27.3%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:28 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 155.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 29.7%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:33 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 138.8 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 31.8%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:38 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 144.2 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 34.0%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:43 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 138.3 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 36.2%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:48 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 147.4 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 38.6%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:53 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 131.2 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 40.5%, CPU KV cache usage: 0.0%
INFO 11-08 23:24:58 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 134.3 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 42.5%, CPU KV cache usage: 0.0%
INFO 11-08 23:25:03 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 132.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 44.7%, CPU KV cache usage: 0.0%
INFO 11-08 23:25:08 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 132.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 46.7%, CPU KV cache usage: 0.0%
INFO 11-08 23:25:13 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 144.5 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 48.9%, CPU KV cache usage: 0.0%
INFO 11-08 23:25:18 llm_engine.py:616] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 141.7 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 50.7%, CPU KV cache usage: 0.0%
Exception in callback functools.partial(<function _raise_exception_on_finish at 0x7f2fefa94dc0>, request_tracker=<vllm.engine.async_llm_engine.RequestTracker object at 0x7f2fd80d27a0>)
handle: <Handle functools.partial(<function _raise_exception_on_finish at 0x7f2fefa94dc0>, request_tracker=<vllm.engine.async_llm_engine.RequestTracker object at 0x7f2fd80d27a0>)>
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 28, in _raise_exception_on_finish
task.result()
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 351, in run_engine_loop
has_requests_in_progress = await self.engine_step()
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 330, in engine_step
request_outputs = await self.engine.step_async()
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 199, in step_async
return self._process_model_outputs(output, scheduler_outputs) + ignored
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 522, in _process_model_outputs
self._process_sequence_group_samples(seq_group, samples)
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 412, in _process_sequence_group_samples
self.scheduler.free_seq(seq)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/scheduler.py", line 292, in free_seq
self.block_manager.free(seq)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/block_manager.py", line 257, in free
self._free_block_table(block_table)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/block_manager.py", line 248, in _free_block_table
self.gpu_allocator.free(block)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/block_manager.py", line 44, in free
raise ValueError(f"Double free! {block} is already freed.")
ValueError: Double free! PhysicalTokenBlock(device=Device.GPU, block_number=1987, ref_count=0) is already freed.

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "uvloop/cbhandles.pyx", line 63, in uvloop.loop.Handle._run
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 37, in _raise_exception_on_finish
raise exc
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 32, in _raise_exception_on_finish
raise AsyncEngineDeadError(
vllm.engine.async_llm_engine.AsyncEngineDeadError: Task finished unexpectedly. This should never happen! Please open an issue on Github. See stack trace above for the actual cause.
INFO 11-08 23:25:18 async_llm_engine.py:134] Aborted request cmpl-65ac020edcbb43bcb9bb4e11e704ebb4.
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 28, in _raise_exception_on_finish
task.result()
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 351, in run_engine_loop
has_requests_in_progress = await self.engine_step()
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 330, in engine_step
request_outputs = await self.engine.step_async()
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 199, in step_async
return self._process_model_outputs(output, scheduler_outputs) + ignored
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 522, in _process_model_outputs
self._process_sequence_group_samples(seq_group, samples)
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/llm_engine.py", line 412, in _process_sequence_group_samples
self.scheduler.free_seq(seq)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/scheduler.py", line 292, in free_seq
self.block_manager.free(seq)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/block_manager.py", line 257, in free
self._free_block_table(block_table)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/block_manager.py", line 248, in _free_block_table
self.gpu_allocator.free(block)
File "/usr/local/lib/python3.10/dist-packages/vllm/core/block_manager.py", line 44, in free
raise ValueError(f"Double free! {block} is already freed.")
ValueError: Double free! PhysicalTokenBlock(device=Device.GPU, block_number=1987, ref_count=0) is already freed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 84, in call
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 292, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 184, in call
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 162, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 83, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 79, in call
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 68, in call
await self.app(scope, receive, sender)
File "/usr/local/lib/python3.10/dist-packages/fastapi/middleware/asyncexitstack.py", line 20, in call
raise e
File "/usr/local/lib/python3.10/dist-packages/fastapi/middleware/asyncexitstack.py", line 17, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 718, in call
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 69, in app
await response(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 270, in call
async with anyio.create_task_group() as task_group:
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 597, in aexit
raise exceptions[0]
File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 273, in wrap
await func()
File "/usr/local/lib/python3.10/dist-packages/starlette/responses.py", line 262, in stream_response
async for chunk in self.body_iterator:
File "/usr/local/lib/python3.10/dist-packages/vllm/entrypoints/openai/api_server.py", line 272, in completion_stream_generator
async for res in result_generator:
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 435, in generate
raise e
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 429, in generate
async for request_output in stream:
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 70, in anext
raise result
File "uvloop/cbhandles.pyx", line 63, in uvloop.loop.Handle._run
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 37, in _raise_exception_on_finish
raise exc
File "/usr/local/lib/python3.10/dist-packages/vllm/engine/async_llm_engine.py", line 32, in _raise_exception_on_finish
raise AsyncEngineDeadError(
vllm.engine.async_llm_engine.AsyncEngineDeadError: Task finished unexpectedly. This should never happen! Please open an issue on Github. See stack trace above for the actual cause.

@kpriyanshu256
Copy link

Has a fix to this problem been found?

@yuchenlin
Copy link

having the same problem here.. not sure the concrete reason for this bug

@manzke
Copy link

manzke commented Mar 5, 2024

Stumbled about the same issue today. Using 0.3.2 with TheBloke/openchat-3.5-0106-AWQ 1 GPU 24 GB

Ideas:

  • input too long?
  • hanging requests (which maybe have been cancelled but not freed)?

`
Future exception was never retrieved

future: <Future finished exception=ValueError('Double free! PhysicalTokenBlock(device=Device.GPU, block_number=5663, ref_count=0) is already freed.')>
Traceback (most recent call last):
File "/workspace/vllm/engine/async_llm_engine.py", line 29, in _raise_exception_on_finish
task.result()
File "/workspace/vllm/engine/async_llm_engine.py", line 411, in run_engine_loop
has_requests_in_progress = await self.engine_step()
File "/workspace/vllm/engine/async_llm_engine.py", line 390, in engine_step
request_outputs = await self.engine.step_async()
File "/workspace/vllm/engine/async_llm_engine.py", line 203, in step_async
return self._process_model_outputs(output, scheduler_outputs)
File "/workspace/vllm/engine/llm_engine.py", line 735, in _process_model_outputs
self._process_sequence_group_outputs(seq_group, outputs)
File "/workspace/vllm/engine/llm_engine.py", line 624, in _process_sequence_group_outputs
self.scheduler.free_seq(seq)
File "/workspace/vllm/core/scheduler.py", line 399, in free_seq
self.block_manager.free(seq)
File "/workspace/vllm/core/block_manager.py", line 314, in free
self._free_block_table(block_table)
File "/workspace/vllm/core/block_manager.py", line 305, in _free_block_table
self.gpu_allocator.free(block)
File "/workspace/vllm/core/block_manager.py", line 45, in free
raise ValueError(f"Double free! {block} is already freed.")
ValueError: Double free! PhysicalTokenBlock(device=Device.GPU, block_number=5663, ref_count=0) is already freed.
INFO: 127.0.0.1:39078 - "GET /v1/models HTTP/1.1" 200 OK
INFO 03-05 19:09:11 metrics.py:161] Avg prompt throughput: 967.9 tokens/s, Avg generation throughput: 73.0 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 29.7%, CPU KV cache usage: 0.0%
INFO 03-05 19:09:16 metrics.py:161] Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 200.8 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 30.2%, CPU KV cache usage: 0.0%
Exception in callback functools.partial(<function _raise_exception_on_finish at 0x7f8a5b146e60>, request_tracker=<vllm.engine.async_llm_engine.RequestTracker object at 0x7f8a58a206a0>)
handle: <Handle functools.partial(<function _raise_exception_on_finish at 0x7f8a5b146e60>, request_tracker=<vllm.engine.async_llm_engine.RequestTracker object at 0x7f8a58a206a0>)>
Traceback (most recent call last):
File "/workspace/vllm/engine/async_llm_engine.py", line 29, in _raise_exception_on_finish
task.result()
File "/workspace/vllm/engine/async_llm_engine.py", line 411, in run_engine_loop
has_requests_in_progress = await self.engine_step()
File "/workspace/vllm/engine/async_llm_engine.py", line 390, in engine_step
request_outputs = await self.engine.step_async()
File "/workspace/vllm/engine/async_llm_engine.py", line 203, in step_async
return self._process_model_outputs(output, scheduler_outputs)
File "/workspace/vllm/engine/llm_engine.py", line 735, in _process_model_outputs
self._process_sequence_group_outputs(seq_group, outputs)
File "/workspace/vllm/engine/llm_engine.py", line 624, in _process_sequence_group_outputs
self.scheduler.free_seq(seq)
File "/workspace/vllm/core/scheduler.py", line 399, in free_seq
self.block_manager.free(seq)
File "/workspace/vllm/core/block_manager.py", line 314, in free
self._free_block_table(block_table)
File "/workspace/vllm/core/block_manager.py", line 305, in _free_block_table
self.gpu_allocator.free(block)
File "/workspace/vllm/core/block_manager.py", line 45, in free
raise ValueError(f"Double free! {block} is already freed.")
ValueError: Double free! PhysicalTokenBlock(device=Device.GPU, block_number=5402, ref_count=0) is already freed.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "uvloop/cbhandles.pyx", line 63, in uvloop.loop.Handle._run
File "/workspace/vllm/engine/async_llm_engine.py", line 38, in _raise_exception_on_finish
raise exc
File "/workspace/vllm/engine/async_llm_engine.py", line 33, in _raise_exception_on_finish
raise AsyncEngineDeadError(
vllm.engine.async_llm_engine.AsyncEngineDeadError: Task finished unexpectedly. This should never happen! Please open an issue on Github. See stack trace above for the actual cause.
INFO 03-05 19:09:20 async_llm_engine.py:133] Aborted request cmpl-4a501a5730864278b1132cc631360252.

`

@manzke
Copy link

manzke commented Mar 5, 2024

related to #1584

@manzke
Copy link

manzke commented Mar 5, 2024

related to #2271

@manzke
Copy link

manzke commented Mar 5, 2024

and this one #1930

@manzke
Copy link

manzke commented Mar 5, 2024

@WoosukKwon still seems to be the case in 0.3.2 - any advice what to check? how to figure out, what it could cause.

#1584 seems that he "fixed" something.

@manzke
Copy link

manzke commented Mar 5, 2024

#1321

@manzke
Copy link

manzke commented Mar 5, 2024

@WoosukKwon I can reproduce it even after a restart.

Model OpenChat 3.5 0106
Prompt
<s>GPT4 Correct System: Given a question, a set of passages and optionally an answer, your task is to suggest a follow-up question that is thematically related to the question, passages and answer<|end_of_turn|>GPT4 Correct User: Passages:\n* Die formulierte Änderung liegt Ihnen als Tischvorlage vor und lautet folgendermassen: §1 Sitzungsort Abs. 1 Die Beratungen des Grossen Rates finden, solange einschlägige Vorschriften des Bundes oder des Kantons im Rahmen der Bekämpfung des Coronavirus (COVID-19) anwendbar sind, jedoch bis längstens am 26. Juni 2020, im Congress Center Basel oder in einer anderen gemäss diesen Vorschriften konformen Lokalität statt. \u2029 Voten: Andrea Elisabeth Knellwolf (CVP/EVP); Salome Hofer, Grossratspräsidentin \u2029 Abstimmung befristete Änderung von §1 Abs. 1 (2/3 Mehr) JA heisst Zustimmung zur befristeten Änderung, NEIN heisst Ablehnung. \u2029 Ergebnis der Abstimmung Abstimmungsnummer 1 0 NEIN 0 ENT 95 JA \u2029 \u2029 Der Grosse Rat beschliesst die befristete Änderung von §1 Abs. 1 AB bis 26. Juni 2020. §1 Sitzungsort Abs. 1 Die Beratungen des Grossen Rates finden, solange einschlägige Vorschriften des Bundes oder des Kantons im Rahmen der Bekämpfung des Coronavirus (COVID-19) anwendbar sind, jedoch bis längstens am 26. Juni 2020, im Congress Center Basel oder in einer anderen gemäss diesen Vorschriften konformen Lokalität statt. \u2029 Salome Hofer, Grossratspräsidentin: Um die Kommissionssitzungen digital zu ermöglichen, ist ebenfalls eine befristete Änderung der Ausführungsbestimmungen notwendig. Die formulierte Änderung liegt Ihnen als Tischvorlage vor und lautet folgendermassen: Abs. 2 […]. Solange einschlägige Vorschriften des Bundes oder des Kantons im Rahmen der Bekämpfung des Coronavirus (COVID-19) anwendbar sind, jedoch bis längstens am 26. Juni 2020, sind vollständig oder teilweise virtuelle Kommissionssitzungen möglich. \u2029 Abstimmung befristete Änderung von §1 Abs. 2 (2/3 Mehr) JA heisst Zustimmung zur befristeten Änderung, NEIN heisst Ablehnung. \u2029 Ergebnis der Abstimmung Abstimmungsnummer 2 \u2029 \u2029 Grosser Rat des Kantons Basel-Stadt \u2029 Beschluss-Protokoll 8. und 9. Sitzung, Amtsjahr 2020-2021 22. April 2020 - Seite 6 \u2029 \u2029 0 NEIN 0 ENT 95 JA \u2029 \u2029 Der Grosse Rat beschliesst befristete Änderung von §1 Abs. 2 bis 26. Juni 2020. Abs. 2 […]. Solange einschlägige Vorschriften des Bundes oder des Kantons im Rahmen der Bekämpfung des Coronavirus (COVID-19) anwendbar sind, jedoch bis längstens am 26. Juni 2020, sind vollständig oder teilweise virtuelle Kommissionssitzungen möglich. \u2029 \u2029 3. Genehmigung der Tagesordnung [22.04.20 09:22:04] \u2029 \u2029 Tagesordnung \u2029 \u2029\n* März 2020, 07:00 Uhr, bis zum Ende des Stillstands der Fristen gemäss Ziff. 1 gilt: a) Es dürfen keine Unterschriften gesammelt werden. b) Es dürfen keine Unterschriftenlisten zur Verfügung gestellt werden. 5. Die für die Stimmrechtsbescheinigung zuständigen Stellen sorgen für eine sichere Aufbewahrung der eingereichten Unterschriftenlisten. Sie nehmen während des Stillstands der Fristen keine Unterschriftenlisten entgegen. Dieser Beschluss ist zu publizieren. \u2029 \u2029 8. Bericht des Regierungsrates Fristenstillstand in den kantonalen Verwaltungsverfahren aufgrund der ausserordentlichen Situation im Zusammenhang mit dem Coronavirus (COVID-19) \u2029 [22.04.20 11:16:22, JSD, 20.0505.01, RAT] \u2029 \u2029 Der Regierungsrat beantragt der Beschlussvorlage zuzustimmen. \u2029 Voten: Beat Leuthardt (GB); RR Baschi Dürr, Vorsteher JSD \u2029 \u2029 Grosser Rat des Kantons Basel-Stadt \u2029 Beschluss-Protokoll 8. und 9. Sitzung, Amtsjahr 2020-2021 22. April 2020 - Seite 13 \u2029 \u2029 \u2029 Der Grosse Rat tritt von Gesetzes wegen auf das Geschäft ein. \u2029 Salome Hofer, Grossratspräsidentin: Detailberatung findet nicht statt, gemäss § 109 Abs. 2 der Kantonsverfassung kann der Grosse Rat Notstandsmassnahmen lediglich genehmigen. Daher kommen wir direkt zur Schlussabstimmung. \u2029 Schlussabstimmung JA heisst Zustimmung zum Antrag des Regierungsrates, NEIN heisst Ablehnung. \u2029 Ergebnis der Abstimmung Abstimmungsnummer 17 0 NEIN 1 ENT 84 JA \u2029 \u2029 Der Grosse Rat beschliesst unter Verzicht auf eine zweite Lesung: Die vom Regierungsrat gestützt auf § 109 Abs. 1 der Verfassung des Kantons Basel-Stadt mit Beschluss Nr. 20/10/46 vom 24. März 2020 getroffene Massnahme mit folgendem Wortlaut: 1. In kantonalen Verwaltungs- und Einspracheverfahren, Beschwerde- und Rekursverfahren in der kantonalen Verwaltungsrechtspflege vor den Departementen, dem Regierungsrat sowie in den Verfahren vor dem Verwaltungs- und Verfassungsgericht und den Rekurskommissionen stehen die durch kantonales Recht, durch Behörden oder Gerichte angesetzten Fristen vom 21. März 2020 bis und mit 19. April 2020 still. 2. Der Fristenstillstand gilt auch für behördlich oder gerichtlich angeordnete Fristen mit einem bestimmten Enddatum zwischen dem 21. März 2020 und dem 19. April 2020. 3. \n* Voten: Thomas Widmer-Huber (CVP/EVP); Regierungspräsidentin Elisabeth Ackermann, Vorsteherin PD \u2029 Der Grosse Rat tritt von Gesetzes wegen auf das Geschäft ein. \u2029 Salome Hofer, Grossratspräsidentin: Detailberatung findet nicht statt, gemäss § 109 Abs. 2 der Kantonsverfassung kann der Grosse Rat Notstandsmassnahmen lediglich genehmigen. Daher kommen wir direkt zur Schlussabstimmung. \u2029 Schlussabstimmung JA heisst Zustimmung zum Antrag des Regierungsrates, NEIN heisst Ablehnung. \u2029 Ergebnis der Abstimmung Abstimmungsnummer 16 0 NEIN 2 ENT 78 JA \u2029 \u2029 Der Grosse Rat beschliesst unter Verzicht auf eine zweite Lesung: 1. Folgende gesetzliche Fristen bei kantonalen Volksbegehren stehen vom 21. März 2020, 07.00 Uhr, bis zum 31. Mai 2020, 24.00 Uhr, still: a) Frist zur Einreichung von Unterschriftenlisten für eine Volksinitiative nach § 47 Kantonsverfassung; b) Frist für die Berichterstattung des Regierungsrates oder der Grossratskommission nach § 19 des Gesetzes betreffend Initiative und Referendum (IRG) vom 16. Januar 1991; c) Frist für die Behandlung von Volksinitiativen nach § 24a IRG. d) Referendumsfrist nach § 32 Abs. 2 IRG, wenn der Staatskanzlei die Sammlung von Unterschriften bekannt gegeben wurde bzw. wenn ihr spätestens fünf Tage nach der ausserordentlichen Publikation dieser Massnahme die Sammlung von Unterschriften angezeigt wird. 2. Während des Stillstands der Fristen gemäss Ziff. 1 werden die folgenden Handlungen nicht vorgenommen: a) Verfügung über das Zustandekommen von Volksbegehren; b) Volksabstimmung über ein kantonales Volksbegehren. 3. Der Regierungsrat kann trotz des Stillstands der Fristen gemäss Ziff. 1 für ein Volksbegehren einen Abstimmungstermin festlegen. 4. Ab 25. März 2020, 07:00 Uhr, bis zum Ende des Stillstands der Fristen gemäss Ziff. 1 gilt: a) Es dürfen keine Unterschriften gesammelt werden. b) Es dürfen keine Unterschriftenlisten zur Verfügung gestellt werden. 5. Die für die Stimmrechtsbescheinigung zuständigen Stellen sorgen für eine sichere Aufbewahrung der eingereichten Unterschriftenlisten. Sie nehmen während des Stillstands der Fristen keine Unterschriftenlisten entgegen. Dieser Beschluss ist zu publizieren. \u2029 \u2029 8. Bericht des Regierungsrates Fristenstillstand in den kantonalen Verwaltungsverfahren aufgrund der ausserordentlichen Situation im Zusammenhang mit dem Coronavirus (COVID-19) \u2029 [22.04.20 11:16:22, JSD, 20.0505.01, RAT] \u2029 \u2029 Der Regierungsrat beantragt der Beschlussvorlage zuzustimmen. \u2029\n* Interpellation Nr. 45 Luca Urgese betreffend schnellere Bearbeitung von Anträgen und Gesuchen zur Unterstützung von Corona-Betroffenen\u2029 [22.04.20 15:56:30, WSU, 20.5141, NIS]\u2029 Diese Interpellation wird vom Regierungsrat an der nächsten Sitzung schriftlich beantwortet.\u2029 Interpellation Nr. 46 Alexander Gröflin betreffend Diskriminierung bei der schrittweisen Lockerung der COVID-19 Massnahmen verhindern\u2029 [22.04.20 15:56:52, GD, 20.5142, NIM]\u2029 Diese Interpellation wird vom Regierungsrat sofort mündlich beantwortet.\u2029 Voten: Alexander Gröflin (SVP); RR Lukas Engelberger, Vorsteher GD; Alexander Gröflin (SVP)\u2029 Der Interpellant erklärt sich von der Antwort teilweise befriedigt.\u2029 Die Interpellation 20.5142 ist erledigt.\u2029 Interpellation Nr. 47 Lorenz Amiet betreffend Sofortmassnahmen während des Unterrichtsausfalles an den Primarschulen infolge Covid-19\u2029 [22.04.20 16:04:01, ED, 20.5143, NIM]\u2029 Diese Interpellation wird vom Regierungsrat sofort mündlich beantwortet.\u2029 Voten: RR Conradin Cramer, Vorsteher ED; Lorenz Amiet (SVP); RR Conradin Cramer, Vorsteher ED\u2029 Der Interpellant erklärt sich von der Antwort befriedigt.\u2029 Die Interpellation 20.5143 ist erledigt.\u2029 \u2029 Grosser Rat des Kantons Basel-Stadt \u2029 Beschluss-Protokoll 8. und 9. Sitzung, Amtsjahr 2020-2021 22. April 2020 - Seite 21 \u2029 \u2029 11 Bericht der Bau- und Raumplanungskommission zum Ratschlag betreffend Anpassung des Gesetzes über die Wohnraumförderung (Wohnraumfördergesetz, WRFG) (im Rahmen der Umsetzung der Verfassungsinitiative „Wohnen ohne Angst \u2029 vor Vertreibung. JA zu mehr Rücksicht auf ältere Mietparteien (Wohnschutzinitiative) und Bericht zu zwei Motionen sowie Bericht der Kommissionsminderheit und Mitbericht der Wirtschafts- und Abgabekommission (Fortsetzung) [22.04.20 16:12:55, BRK / WAK, PD, 18.1529.02 17.5018.03 17.5444.03, BER] \u2029 \u2029 Voten: Andrea Elisabeth Knellwolf (CVP/EVP); Regierungspräsidentin Elisabeth Ackermann, Vorsteherin PD; Tonja Zürcher (GB); René Brigger (SP); Andrea Elisabeth Knellwolf (CVP/EVP); Roland Lindner (SVP); Patricia von Falkenstein (LDP); Christophe Haller (FDP); David Wüest-Rudin (fraktionslos); Tim Cuénod (SP); Pascal Messerli (SVP); Stefan Wittlin (SP); Oliver Bolliger (GB); Beat Leuthardt (GB); Beatrice Isler (CVP/EVP); Regierungspräsidentin Elisabeth Ackermann, Vorsteherin PD \u2029 Zwischenfrage Voten: Beat Leuthardt (GB); Regierungspräsidentin Elisabeth Ackermann, Vorsteherin PD \u2029 Der Grosse Rat beschliesst stillschweigend, auf das Geschäft einzutreten. \u2029\n* Ziff. 3 Kreis der Berechtigten 1 Beitragsberechtigt sind Vermieterinnen und Vermieter, die Geschäftsräumlichkeiten an Mieterinnen und Mieter vermieten, die ihre Betriebsstätte im steuerrechtlichen Sinn im Kanton Basel-Stadt haben. 2 Die Parteien des Mietverhältnisses dürfen nicht denselben wirtschaftlich Berechtigten vertreten und keine nahestehenden Personen sein. Ziff. 4 Voraussetzungen für Ausrichtung der Beiträge 1 Beitragsberechtigt sind Vermieterinnen und Vermieter von Geschäftsliegenschaften im Kanton Basel-Stadt, die sich mit ihrer Mieterschaft für die Zeit der ausserordentlichen COVID-19-Massnahmen, maximal für die Monate April, Mai und Juni 2020, auf eine Mietzinsreduktion von mindestens zwei Drittel der Netto-Miete geeinigt haben und deren Mieterschaft direkt betroffen ist oder bei indirekter Betroffenheit bestätigt, dass sie in der Zeit ab 17. März 2020 bis zum Datum der Gesuchseinreichung und verglichen mit der entsprechenden Vorjahresperiode eine Umsatzeinbusse von mindestens einem Drittel erlitten hat. 2 Kein Anspruch auf Ausrichtung eines Beitrags besteht dann, wenn die Mieterin oder der Mieter während der Zeit, in der die Miete reduziert ist, Arbeitnehmerinnen und Arbeitnehmern aus wirtschaftlichen Gründen kündigt oder nur zu schlechteren Konditionen weiterbeschäftigt. Die Nachweispflicht obliegt der Mieterin bzw. dem Mieter der Geschäftsliegenschaft. 3 Der Anspruch auf Ausrichtung eines Beitrags besteht dann, wenn die Mieterin oder der Mieter die fälligen Mieten bis zum Erlass der Verordnung 2 über Massnahmen zur Bekämpfung des Coronavirus (COVID-19) \u2029 \u2029 Grosser Rat des Kantons Basel-Stadt \u2029 Beschluss-Protokoll 12. und 13. Sitzung, Amtsjahr 2020-2021 13. Mai 2020 - Seite 10 \u2029 \u2029 \u2029 (COVID-19-Verordnung 2) des Bundesrates vom 13. März 2020 bezahlt hat und sich nicht in einem Konkursverfahren befindet. Ziff. 5 Berechnung und Umfang des Anspruchs 1 Sind die Voraussetzungen gemäss Ziff. 3 und 4 erfüllt, entschädigt der Kanton der Vermieterin oder dem Vermieter maximal für die Monate April, Mai und Juni 2020 einen Drittel des Netto-Mietzinses. Pro Monatsmiete ist der Betrag auf max. 6‘700 Franken, insgesamt auf 20‘000 Franken beschränkt. Ziff. 6 Einreichen des Gesuchs 1 Die Vermieterinnen und Vermieter reichen das Gesuch zusammen mit der von beiden Mietparteien unterzeichneten Einigung sowie bei indirekter Betroffenheit die Bestätigung gemäss Ziff. 4 Abs. 1 und dem geltenden Mietvertrag beim zuständigen Departement ein. \n\n\nQuestion: welche maßnahmen wurde zu Covid-19 im rat ergriffen?\n\n\nAnswer: Die Maßnahmen, die im Rat zur Bekämpfung des Coronavirus (COVID-19) ergriffen wurden, sind:\n\n1. Die Berufung der Grosseratskommission zur Überprüfung der Fristen für Volksbegehren und Referenden, um sicherzustellen, dass die Fristen während der Pandemie stillgelegt werden.\n2. Die Erweiterung der Möglichkeiten für virtuelle Kommissionssitzungen, um die Arbeit des Grossen Rats während der Pandemie fortzusetzen.\n3. Die Stilllegung von Fristen für bestimmte Verwaltungsverfahren und Rechtsbehelfe, um die Behandlung von Anträgen und Gesuchen während der Pandemie zu ermöglichen.\n4. Die Einführung von Maßnahmen zur Unterstützung von Betroffenen durch den Coronavirus-Krise, wie z.B. die Mietzinsreduktion für Geschäftsräumlichkeiten, die direkt oder indirekt von der Pandemie betroffen sind.\n\nDiese Maßnahmen wurden von verschiedenen Referaten und Kommissionen ergriffen, wie z.B. der Grosseratskommission, dem Regierungsrat und dem Bau- und Raumplanungskomitee.\n\n\nRelated Question:<|end_of_turn|>GPT4 Correct Assistant:

prefix_pos: None,sampling_params: SamplingParams(n=3, best_of=3, presence_penalty=0.0, frequency_penalty=0.0, repetition_penalty=1.0, temperature=1.0, top_p=1.0, top_k=-1, min_p=0.0, seed=None, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=['<|end_of_turn|>', '<|pad_0|>', '</s>', '<|im_end|>', 'GPT4'], stop_token_ids=[], include_stop_str_in_output=False, ignore_eos=False, max_tokens=700, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_between_special_tokens=True), prompt_token_ids:

@manzke
Copy link

manzke commented Mar 5, 2024

Lowering the max_tokens amount didn't help.

@manzke
Copy link

manzke commented Mar 6, 2024

Btw - it seems when this happens, a request keeps pending. After 10 failed generations vllm is dead.

We have also spotted, that I seems to only happen for a request with Sample Params n=3, best_of=3. We have not seen it with n=1, best_of=1

@manzke
Copy link

manzke commented Mar 6, 2024

at least I could get rid of the hanging requests, which only happens if you use ray. --worker-use-ray

when not using ray with just one gpu it seems to be me forgiving.

@trajkovn
Copy link

trajkovn commented Mar 9, 2024

I didnt see this one before i opened mine, but it seems its the same thing. #3295

@hmellor
Copy link
Collaborator

hmellor commented Mar 9, 2024

@manzke could you please provide:

  • The exact command you used to start vLLM
  • The prompt that causes this error (as an attachment, rather than taking up lots of space in a comment)

@manzke
Copy link

manzke commented Mar 9, 2024

I'm on it to reproduce it with pure curl commands.
Will provide it asap

@manzke
Copy link

manzke commented Mar 11, 2024

@hmellor

double-value-error.txt

attached the curl to reproduce it.

vllm is started in a docker container with:
python3 -m vllm.entrypoints.openai.api_server --tensor-parallel-size 1 --host 0.0.0.0 --port 80 --model /root/.cache/huggingface/hub/models--TheBloke--openchat-3.5-1210-AWQ/snapshots/ee8f0cf22afb59b812b80543ec4b2080efc14cda --chat-template openchat.jinja --served-model-name TheBloke/openchat_3.5-AWQ -q awq --dtype float16 --gpu-memory-utilization 0.9

@manzke
Copy link

manzke commented Mar 11, 2024

Ok, so when I set n=1, best_of=1 it works. When I have n=3, best_of=3 it fails.

@manzke
Copy link

manzke commented Mar 11, 2024

Machine is A10G (g5.2xlarge and similar) - GPU has 24GB. Also reproduced on a local 3090.

@manzke
Copy link

manzke commented Mar 11, 2024

Seems @br3no spotted the cause. We are using OpenChat 3.5-1210 which was trained on Mistral v0.1. At this time config.json had a sliding window of 4096. In Mistral v0.2 they "fixed" it, because Mistral doesn't support it at all.
When I reduce size below 4096, it works. (Can't say it is the problem 100%, because I have seen it sometimes below)

I'm building a vllm image with a patched model, where the config.json is patched.

@manzke
Copy link

manzke commented Mar 11, 2024

I can confirm that it is related to the sliding window. We deployed the OpenChat 3.5 1210 again with a modified config.json, which has set the sliding window to null and vllm doesn't fail anymore.
If a sliding window of 4096 is set, it will fail.

So does it means the sliding window implementation has a bug? Should it not be set in the config.json?
config.json

That's also the reason why one had an issue with Mistral v0.1 - which has a sliding window set.

br3no added a commit to br3no/vllm that referenced this issue Mar 12, 2024
@br3no
Copy link
Contributor

br3no commented Mar 12, 2024

@hmellor I have found the issue and opened a PR that fixes it. Let me know if there are any open questions.

@Yard1 Yard1 closed this as completed in 49a3c86 Mar 13, 2024
starmpcc pushed a commit to starmpcc/vllm that referenced this issue Mar 14, 2024
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

9 participants