intel / intel/llm-scaler

[Bug] MTP speculative_config fails to run Crash when enabling MTP speculative decoding

Open
#386 0 comments 1 reaction 1 assignee Claimed by @lalalapotter View on GitHub
Dominant language
C++
Stars
529
Forks
80
Avg merge
9h 7m
Merged PRs (30d)
38

Description

```
docker run -td \
--privileged \
--net=host \
--device=/dev/dri \
--name=lsv-container-qwen35 \
-v /home/intel/LLM:/llm/models/ \
-e no_proxy=localhost,127.0.0.1 \
-e http_proxy=$http_proxy \
-e https_proxy=$https_proxy \
--shm-size="32g" \
--entrypoint /bin/bash \
intel/llm-scaler-vllm:0.14.0-b8.1

```
```
vllm serve \
--model /llm/models/Qwen3.5-9B \
--served-model-name Qwen3.5-9B \
--enforce-eager \
--port 8000 \
--host 0.0.0.0 \
--trust-remote-code \
--disable-sliding-window \
--gpu-memory-util=0.90 \
--block-size 32 \
--max-model-len=16384 \
--max-num-batched-tokens=8192 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--language-model-only \
--quantization fp8 \
--speculative-config '{"method":"mtp","num_speculative_tokens":2}'

```

```
[W427 04:07:22.266373033 OperatorEntry.cpp:208] Warning: Warning only once for all operators, other operators may also be overridden.
Overriding a previously registered kernel for the same operator and the same dispatch key
operator: aten::geometric_(Tensor(a!) self, float p, *, Generator? generator=None) -> Tensor(a!)
registered at /pytorch/build/aten/src/ATen/RegisterSchema.cpp:6
dispatch key: XPU
previous kernel: registered at /pytorch/aten/src/ATen/VmapModeRegistrations.cpp:36
new kernel: registered at /root/workspace/frameworks.ai.pytorch.ipex-gpu/build/Release/csrc/gpu/csrc/gpu/xpu/ATen/RegisterXPU_0.cpp:172 (function operator())
WARNING 04-27 04:07:26 [_logger.py:68] With `vllm serve`, you should provide the model as a positional argument or in a config file instead of via the `--model` option. The `--model` option will be removed in v0.13.
(APIServer pid=6731) INFO 04-27 04:07:26 [api_server.py:1272] vLLM API server version 0.14.1.dev0+gb17039bcc.d20260311
(APIServer pid=6731) INFO 04-27 04:07:26 [utils.py:263] non-default args: {'model_tag': '/llm/models/Qwen3.5-9B', 'host': '0.0.0.0', 'enable_auto_tool_choice': True, 'tool_call_parser': 'qwen3_xml', 'model': '/llm/models/Qwen3.5-9B', 'trust_remote_code': True, 'max_model_len': 16384, 'quantization': 'fp8', 'enforce_eager': True, 'disable_sliding_window': True, 'served_model_name': ['Qwen3.5-9B'], 'reasoning_parser': 'qwen3', 'block_size': 32, 'language_model_only': True, 'max_num_batched_tokens': 8192, 'speculative_config': {'method': 'mtp', 'num_speculative_tokens': 2}}
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:26 [model.py:533] Resolved architecture: Qwen3_5ForConditionalGeneration
(APIServer pid=6731) INFO 04-27 04:07:26 [model.py:1549] Using max model len 16384
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:26 [model.py:533] Resolved architecture: Qwen3_5MTP
(APIServer pid=6731) INFO 04-27 04:07:26 [model.py:1549] Using max model len 262144
(APIServer pid=6731) WARNING 04-27 04:07:26 [_logger.py:68] Enabling num_speculative_tokens > 1 will runmultiple times of forward on same MTP layer,which may result in lower acceptance rate
(APIServer pid=6731) INFO 04-27 04:07:26 [scheduler.py:229] Chunked prefill is enabled with max_num_batched_tokens=8192.
(APIServer pid=6731) INFO 04-27 04:07:26 [config.py:479] Setting attention block size to 320 tokens to ensure that attention page size is >= mamba page size.
(APIServer pid=6731) INFO 04-27 04:07:26 [config.py:503] Padding mamba page size by 15.94% to ensure that mamba page size and attention page size are exactly equal.
(APIServer pid=6731) INFO 04-27 04:07:26 [vllm.py:636] Asynchronous scheduling is disabled.
(APIServer pid=6731) WARNING 04-27 04:07:26 [_logger.py:68] Enforce eager set, overriding optimization level to -O0
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:27 [registry.py:138] All limits of multimodal modalities supported by the model are set to 0, running in text-only mode.
[W427 04:07:30.319075878 OperatorEntry.cpp:208] Warning: Warning only once for all operators, other operators may also be overridden.
Overriding a previously registered kernel for the same operator and the same dispatch key
operator: aten::geometric_(Tensor(a!) self, float p, *, Generator? generator=None) -> Tensor(a!)
registered at /pytorch/build/aten/src/ATen/RegisterSchema.cpp:6
dispatch key: XPU
previous kernel: registered at /pytorch/aten/src/ATen/VmapModeRegistrations.cpp:36
new kernel: registered at /root/workspace/frameworks.ai.pytorch.ipex-gpu/build/Release/csrc/gpu/csrc/gpu/xpu/ATen/RegisterXPU_0.cpp:172 (function operator())
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:34 [core.py:97] Initializing a V1 LLM engine (v0.14.1.dev0+gb17039bcc.d20260311) with config: model='/llm/models/Qwen3.5-9B', speculative_config=SpeculativeConfig(method='mtp', model='/llm/models/Qwen3.5-9B', num_spec_tokens=2), tokenizer='/llm/models/Qwen3.5-9B', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=16384, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=True, quantization=fp8, enforce_eager=True, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=xpu, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='qwen3', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=Qwen3.5-9B, enable_prefix_caching=False, enable_chunked_prefill=True, pooler_config=None, compilation_config={'level': None, 'mode': , 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['all'], 'splitting_ops': [], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [8192], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': , 'cudagraph_num_of_warmups': 0, 'cudagraph_capture_sizes': None, 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': False, 'fuse_act_quant': False, 'fuse_attn_quant': False, 'eliminate_noops': False, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': None, 'dynamic_shapes_config': {'type': , 'evaluate_guards': False, 'assume_32_bit_indexing': True}, 'local_cache_dir': None}
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:35 [registry.py:138] All limits of multimodal modalities supported by the model are set to 0, running in text-only mode.
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:35 [parallel_state.py:1214] world_size=1 rank=0 local_rank=0 distributed_init_method=tcp://192.168.5.25:39601 backend=xccl
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:35 [parallel_state.py:1425] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, PCP rank 0, TP rank 0, EP rank N/A
2026:04:27-04:07:35:( 6838) |CCL_WARN| value of CCL_ATL_TRANSPORT changed to be ofi (default:mpi)
2026:04:27-04:07:35:( 6838) |CCL_WARN| could not get local_idx/count from environment variables, trying to get them from ATL
(EngineCore_DP0 pid=6838) WARNING 04-27 04:07:36 [_logger.py:68] min_p, logit_bias, and min_tokens parameters won't currently work with speculative decoding enabled.
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:36 [gpu_model_runner.py:3811] Starting to load model /llm/models/Qwen3.5-9B...
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:36 [xpu.py:106] Using backend AttentionBackendEnum.FLASH_ATTN for vit attention
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:36 [xpu.py:103] Using backend AttentionBackendEnum.IPEX for vit attention
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:36 [mm_encoder_attention.py:89] Using AttentionBackendEnum.IPEX for MMEncoderAttention.
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:36 [xpu.py:53] Setting VLLM_KV_CACHE_LAYOUT to 'NHD' for XPU; only NHD layout is supported by XPU attention kernels.
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:36 [xpu.py:79] Using Flash Attention backend.
Loading safetensors checkpoint shards: 0% Completed | 0/4 [00:00 Peak Allocated (Real Need) : 12.63 GB
(EngineCore_DP0 pid=6838) > Model memory usage : 11.45 GB
(EngineCore_DP0 pid=6838) > Current Reserved (Footprint): 12.92 GB
(EngineCore_DP0 pid=6838) > Fragmentation (Wasted) : 0.28 GB
(EngineCore_DP0 pid=6838) WARNING 04-27 04:07:45 [_logger.py:68] Add 3 padding layers, may waste at most 12.50% KV cache memory
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:45 [kv_cache_utils.py:1308] GPU KV cache size: 106,240 tokens
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:45 [kv_cache_utils.py:1313] Maximum concurrency for 16,384 tokens per request: 24.20x
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:45 [utils.py:189] `_KV_CACHE_LAYOUT_OVERRIDE` variable detected. Setting KV cache layout to NHD.
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:45 [core.py:273] init engine (profile, create kv cache, warmup model) took 2.93 seconds
(EngineCore_DP0 pid=6838) INFO 04-27 04:07:46 [vllm.py:636] Asynchronous scheduling is disabled.
(EngineCore_DP0 pid=6838) WARNING 04-27 04:07:46 [_logger.py:68] Inductor compilation was disabled by user settings, optimizations settings that are only active during inductor compilation will be ignored.
(APIServer pid=6731) INFO 04-27 04:07:46 [api_server.py:1014] Supported tasks: ['generate']
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:46 [serving_engine.py:271] "auto" tool choice has been enabled.
(APIServer pid=6731) INFO 04-27 04:07:46 [serving_engine.py:271] "auto" tool choice has been enabled.
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:46 [serving_chat.py:182] Warming up chat template processing...
(APIServer pid=6731) INFO 04-27 04:07:47 [chat_utils.py:599] Detected the chat template content format to be 'string'. You can set `--chat-template-content-format` to override this.
(APIServer pid=6731) INFO 04-27 04:07:47 [serving_chat.py:218] Chat template warmup completed in 1586.4ms
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:47 [serving_engine.py:271] "auto" tool choice has been enabled.
(APIServer pid=6731) The argument `trust_remote_code` is to be used with Auto classes. It has no effect here and is ignored.
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) Unrecognized keys in `rope_parameters` for 'rope_type'='default': {'mrope_section', 'mrope_interleaved'}
(APIServer pid=6731) INFO 04-27 04:07:47 [api_server.py:1346] Starting vLLM API server 0 on http://0.0.0.0:8000
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:38] Available routes are:
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /openapi.json, Methods: HEAD, GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /docs, Methods: HEAD, GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /docs/oauth2-redirect, Methods: HEAD, GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /redoc, Methods: HEAD, GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /scale_elastic_ep, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /is_scaling_elastic_ep, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /tokenize, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /detokenize, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /inference/v1/generate, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /pause, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /resume, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /is_paused, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /metrics, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /health, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /load, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/models, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /version, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/responses, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/responses/{response_id}, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/responses/{response_id}/cancel, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/messages, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/chat/completions, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/completions, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/audio/transcriptions, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/audio/translations, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /ping, Methods: GET
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /ping, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /invocations, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /classify, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/embeddings, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /score, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/score, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /rerank, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v1/rerank, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /v2/rerank, Methods: POST
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /pooling, Methods: POST
(APIServer pid=6731) INFO: Started server process [6731]
(APIServer pid=6731) INFO: Waiting for application startup.
(APIServer pid=6731) INFO: Application startup complete.
```

The server can startup, but when I try to run something it crashed.
(https://github.com/eugr/llama-benchy)

`llama-benchy --base-url "http://0.0.0.0:8000/v1" --model "Qwen3.5-9B" --tokenizer "/home/intel/LLM/Qwen3.5-9B" --pp 512 --tg 32 --depth 0 1024 4096 --runs 5`

```
(APIServer pid=6731) INFO 04-27 04:07:47 [launcher.py:46] Route: /pooling, Methods: POST
(APIServer pid=6731) INFO: Started server process [6731]
(APIServer pid=6731) INFO: Waiting for application startup.
(APIServer pid=6731) INFO: Application startup complete.
(APIServer pid=6731) INFO: 127.0.0.1:49112 - "POST /v1/chat/completions HTTP/1.1" 200 OK
(APIServer pid=6731) INFO: 127.0.0.1:49112 - "POST /v1/chat/completions HTTP/1.1" 200 OK
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [dump_input.py:72] Dumping input data for V1 LLM engine (v0.14.1.dev0+gb17039bcc.d20260311) with config: model='/llm/models/Qwen3.5-9B', speculative_config=SpeculativeConfig(method='mtp', model='/llm/models/Qwen3.5-9B', num_spec_tokens=2), tokenizer='/llm/models/Qwen3.5-9B', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=True, dtype=torch.bfloat16, max_seq_len=16384, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=True, quantization=fp8, enforce_eager=True, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=xpu, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='qwen3', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=Qwen3.5-9B, enable_prefix_caching=False, enable_chunked_prefill=True, pooler_config=None, compilation_config={'level': None, 'mode': , 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['all'], 'splitting_ops': [], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [8192], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': , 'cudagraph_num_of_warmups': 0, 'cudagraph_capture_sizes': None, 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': False, 'fuse_act_quant': False, 'fuse_attn_quant': False, 'eliminate_noops': False, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': None, 'dynamic_shapes_config': {'type': , 'evaluate_guards': False, 'assume_32_bit_indexing': True}, 'local_cache_dir': None},
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [dump_input.py:79] Dumping scheduler output for model execution: SchedulerOutput(scheduled_new_reqs=[], scheduled_cached_reqs=CachedRequestData(req_ids=['chatcmpl-8a0e8e89a73922f2-b4f149bd'],resumed_req_ids=set(),new_token_ids_lens=[],all_token_ids_lens={},new_block_ids=[None],num_computed_tokens=[23],num_output_tokens=[1]), num_scheduled_tokens={chatcmpl-8a0e8e89a73922f2-b4f149bd: 3}, total_num_scheduled_tokens=3, scheduled_spec_decode_tokens={chatcmpl-8a0e8e89a73922f2-b4f149bd: [0, 0]}, scheduled_encoder_inputs={}, num_common_prefix_blocks=[0, 0, 0, 0], finished_req_ids=[], free_encoder_mm_hashes=[], preempted_req_ids=[], has_structured_output_requests=false, pending_structured_output_tokens=false, num_invalid_spec_tokens=null, kv_connector_metadata=null, ec_connector_metadata=null)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [dump_input.py:81] Dumping scheduler stats: SchedulerStats(num_running_reqs=1, num_waiting_reqs=0, step_counter=0, current_wave=0, kv_cache_usage=0.007518796992481258, prefix_cache_stats=PrefixCacheStats(reset=False, requests=0, queries=0, hits=0, preempted_requests=0, preempted_queries=0, preempted_hits=0), connector_prefix_cache_stats=None, kv_cache_eviction_events=[], spec_decoding_stats=None, kv_connector_stats=None, waiting_lora_adapters={}, running_lora_adapters={}, cudagraph_stats=None, perf_stats=None)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] EngineCore encountered a fatal error.
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] Traceback (most recent call last):
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 929, in run_engine_core
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] engine_core.run_busy_loop()
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 956, in run_busy_loop
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] self._process_engine_step()
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 989, in _process_engine_step
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] outputs, model_executed = self.step_fn()
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 388, in step
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] model_output = future.result()
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self.__get_result()
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] raise self._exception
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/uniproc_executor.py", line 79, in collective_rpc
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] result = run_method(self.driver_worker, method, args, kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/serial_utils.py", line 461, in run_method
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return func(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/worker_base.py", line 365, in execute_model
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self.worker.execute_model(scheduler_output)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/utils/_contextlib.py", line 124, in decorate_context
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return func(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_worker.py", line 629, in execute_model
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] output = self.model_runner.execute_model(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/utils/_contextlib.py", line 124, in decorate_context
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return func(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_model_runner.py", line 3294, in execute_model
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] model_output = self._model_forward(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_model_runner.py", line 2925, in _model_forward
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self.model(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self._call_impl(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1787, in _call_impl
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return forward_call(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_5.py", line 1008, in forward
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] hidden_states = self.language_model.model(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/compilation/decorators.py", line 390, in __call__
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self.forward(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_next.py", line 1116, in forward
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] hidden_states, residual = layer(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self._call_impl(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1787, in _call_impl
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return forward_call(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_next.py", line 1010, in forward
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] self.linear_attn(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return self._call_impl(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1787, in _call_impl
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] return forward_call(*args, **kwargs)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_5.py", line 295, in forward
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] self.forward_xpu(hidden_states, output)
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_5.py", line 364, in forward_xpu
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] raise NotImplementedError(
(EngineCore_DP0 pid=6838) ERROR 04-27 04:09:36 [core.py:938] NotImplementedError: XPU gdn_attention does not yet support 'spec_sequence_masks'.
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] AsyncLLM output_handler failed.
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] Traceback (most recent call last):
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/async_llm.py", line 502, in output_handler
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] outputs = await engine_core.get_output_async()
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core_client.py", line 899, in get_output_async
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] raise self._format_exception(outputs) from None
(APIServer pid=6731) ERROR 04-27 04:09:36 [async_llm.py:546] vllm.v1.engine.exceptions.EngineDeadError: EngineCore encountered an issue. See stack trace (above) for the root cause.
(EngineCore_DP0 pid=6838) Process EngineCore_DP0:
(APIServer pid=6731) INFO: 127.0.0.1:49112 - "POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
(EngineCore_DP0 pid=6838) Traceback (most recent call last):
(EngineCore_DP0 pid=6838) File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
(EngineCore_DP0 pid=6838) self.run()
(EngineCore_DP0 pid=6838) File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
(EngineCore_DP0 pid=6838) self._target(*self._args, **self._kwargs)
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 940, in run_engine_core
(EngineCore_DP0 pid=6838) raise e
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 929, in run_engine_core
(EngineCore_DP0 pid=6838) engine_core.run_busy_loop()
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 956, in run_busy_loop
(EngineCore_DP0 pid=6838) self._process_engine_step()
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 989, in _process_engine_step
(EngineCore_DP0 pid=6838) outputs, model_executed = self.step_fn()
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 388, in step
(EngineCore_DP0 pid=6838) model_output = future.result()
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result
(EngineCore_DP0 pid=6838) return self.__get_result()
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
(EngineCore_DP0 pid=6838) raise self._exception
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/uniproc_executor.py", line 79, in collective_rpc
(EngineCore_DP0 pid=6838) result = run_method(self.driver_worker, method, args, kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/serial_utils.py", line 461, in run_method
(EngineCore_DP0 pid=6838) return func(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/worker_base.py", line 365, in execute_model
(EngineCore_DP0 pid=6838) return self.worker.execute_model(scheduler_output)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/utils/_contextlib.py", line 124, in decorate_context
(EngineCore_DP0 pid=6838) return func(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_worker.py", line 629, in execute_model
(EngineCore_DP0 pid=6838) output = self.model_runner.execute_model(
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/utils/_contextlib.py", line 124, in decorate_context
(EngineCore_DP0 pid=6838) return func(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_model_runner.py", line 3294, in execute_model
(EngineCore_DP0 pid=6838) model_output = self._model_forward(
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_model_runner.py", line 2925, in _model_forward
(EngineCore_DP0 pid=6838) return self.model(
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
(EngineCore_DP0 pid=6838) return self._call_impl(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1787, in _call_impl
(EngineCore_DP0 pid=6838) return forward_call(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_5.py", line 1008, in forward
(EngineCore_DP0 pid=6838) hidden_states = self.language_model.model(
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/compilation/decorators.py", line 390, in __call__
(EngineCore_DP0 pid=6838) return self.forward(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_next.py", line 1116, in forward
(EngineCore_DP0 pid=6838) hidden_states, residual = layer(
(EngineCore_DP0 pid=6838) ^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
(EngineCore_DP0 pid=6838) return self._call_impl(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1787, in _call_impl
(EngineCore_DP0 pid=6838) return forward_call(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_next.py", line 1010, in forward
(EngineCore_DP0 pid=6838) self.linear_attn(
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
(EngineCore_DP0 pid=6838) return self._call_impl(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/torch/nn/modules/module.py", line 1787, in _call_impl
(EngineCore_DP0 pid=6838) return forward_call(*args, **kwargs)
(EngineCore_DP0 pid=6838) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_5.py", line 295, in forward
(EngineCore_DP0 pid=6838) self.forward_xpu(hidden_states, output)
(EngineCore_DP0 pid=6838) File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen3_5.py", line 364, in forward_xpu
(EngineCore_DP0 pid=6838) raise NotImplementedError(
(EngineCore_DP0 pid=6838) NotImplementedError: XPU gdn_attention does not yet support 'spec_sequence_masks'.
(APIServer pid=6731) INFO: Shutting down
(APIServer pid=6731) INFO: Waiting for application shutdown.
(APIServer pid=6731) INFO: Application shutdown complete.
(APIServer pid=6731) INFO: Finished server process [6731]

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.