-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Description
Name and Version
$ ./build/bin/llama-server --version
load_backend: loaded BLAS backend from /home/shun/Documents/dev/llama.cpp/build/bin/libggml-blas.so
ggml_cuda_init: GGML_CUDA_FORCE_MMQ: no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init: found 1 CUDA devices:
Device 0: NVIDIA GeForce RTX 3070, compute capability 8.6, VMM: yes
load_backend: loaded CUDA backend from /home/shun/Documents/dev/llama.cpp/build/bin/libggml-cuda.so
ggml_cuda_init: GGML_CUDA_FORCE_MMQ: no
ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ggml_cuda_init: found 1 ROCm devices:
Device 0: Radeon RX 7900 XTX, gfx1100 (0x1100), VMM: no, Wave Size: 32
load_backend: loaded ROCm backend from /home/shun/Documents/dev/llama.cpp/build/bin/libggml-hip.so
ggml_vulkan: Found 2 Vulkan devices:
ggml_vulkan: 0 = NVIDIA GeForce RTX 3070 (NVIDIA) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 32 | shared memory: 49152 | int dot: 1 | matrix cores: NV_coopmat2
ggml_vulkan: 1 = Radeon RX 7900 XTX (RADV GFX1100) (radv) | uma: 0 | fp16: 1 | bf16: 0 | warp size: 64 | shared memory: 65536 | int dot: 1 | matrix cores: none
load_backend: loaded Vulkan backend from /home/shun/Documents/dev/llama.cpp/build/bin/libggml-vulkan.so
load_backend: loaded CPU backend from /home/shun/Documents/dev/llama.cpp/build/bin/libggml-cpu-haswell.so
version: 893 (4e0388a)
built with cc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0 for x86_64-linux-gnu
Operating systems
Linux
GGML backends
CUDA
Hardware
NVIDIA GeForce RTX 3070
Models
unsloth/granite-4.0-h-tiny-GGUF:Q4_K_M
Problem description & steps to reproduce
Granite 4 crashes when certain strings (seems both :
and \u
) are included in tool arguments.
It looks json parser problem, but I couldn't reproduce with unsloth/Qwen3-30B-A3B-Instruct-2507-GGUF:UD-Q4_K_XL
.
(Maybe Qwen is trained not to output \u
?)
This may be related to #16415, where the stack trace points to the same json-partial.cpp:245.
Steps to reproduce:
- Launch the server
$ ./build/bin/llama-server -hf unsloth/granite-4.0-h-tiny-GGUF:Q4_K_M \
-ngl 100 \
-fa on \
-dev "CUDA0" \
-b 2048 \
-ub 2048 \
--jinja \
--reasoning-format deepseek \
-c 2048 \
-np 1 \
--temp 0
- Send a request with following command
$ curl http://localhost:8080/v1/chat/completions -d '{
"model": "gpt-3.5-turbo",
"tools": [
{
"type":"function",
"function":{
"name":"note",
"description":"Write note",
"parameters":{
"type":"object",
"properties":{
"content":{
"type":"string",
"description":"Content of the note."
}
},
"required":["content"]
}
}
}
],
"messages": [
{
"role": "user",
"content": "Write note with this string exactly.: \"the pattern: /\u1F47D\u00ab\""
}
],
"stream": true
}'
First Bad Commit
No response
Relevant log output
$ ./build/bin/llama-server -hf unsloth/granite-4.0-h-tiny-GGUF:Q4_K_M \
-ngl 100 \
-fa on \
-dev "CUDA0" \
-b 2048 \
-ub 2048 \
--jinja \
--reasoning-format deepseek \
-c 2048 \
-np 1 \
--temp 0 -v
...
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 8
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 9, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 211, n_cache_tokens = 211, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"id":"olOwzxBJxMxE97eKkjWXct7GkDtR4mwP","type":"function","function":{"name":"note","arguments":""}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 19: syntax error while parsing object key - invalid string: missing closing quote; last read: '"'; expected string literal: <<<
{"name": "note", ">>>
Parsed partial JSON: {"name":"note","596516649":1} (json_healing_marker: 596516649)
Cleaned up JSON {"name":"note","596516649":1} to {"name":"note"} (json_healing_marker : '596516649')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 9, n_remaining = -1, next token: 330 ' "'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 9
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 10, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 212, n_cache_tokens = 212, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 28: syntax error while parsing object key - invalid string: missing closing quote; last read: '"arguments'; expected string literal: <<<
{"name": "note", "arguments>>>
Parsed partial JSON: {"name":"note","arguments1189641421":1} (json_healing_marker: 1189641421)
Cleaned up JSON {"name":"note","arguments1189641421":1} to {"name":"note"} (json_healing_marker : '1189641421')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 10, n_remaining = -1, next token: 16774 'arguments'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 10
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 11, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 213, n_cache_tokens = 213, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments":
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments":
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 30: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal: <<<
{"name": "note", "arguments":>>>
Parsed partial JSON: {"name":"note","arguments":"1025202362"} (json_healing_marker: "1025202362)
Cleaned up JSON {"name":"note","arguments":"1025202362"} to {"name":"note"} (json_healing_marker : '"1025202362')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 11, n_remaining = -1, next token: 794 '":'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 11
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 12, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 214, n_cache_tokens = 214, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 33: syntax error while parsing object key - invalid string: missing closing quote; last read: '"'; expected string literal: <<<
{"name": "note", "arguments": {">>>
Parsed partial JSON: {"name":"note","arguments":{"1350490027":1}} (json_healing_marker: 1350490027)
Cleaned up JSON {"name":"note","arguments":{"1350490027":1}} to {"name":"note","arguments":"{\""} (json_healing_marker : '1350490027')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 12, n_remaining = -1, next token: 5324 ' {"'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 12
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 13, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 215, n_cache_tokens = 215, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 40: syntax error while parsing object key - invalid string: missing closing quote; last read: '"content'; expected string literal: <<<
{"name": "note", "arguments": {"content>>>
Parsed partial JSON: {"name":"note","arguments":{"content783368690":1}} (json_healing_marker: 783368690)
Cleaned up JSON {"name":"note","arguments":{"content783368690":1}} to {"name":"note","arguments":"{\"content"} (json_healing_marker : '783368690')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 13, n_remaining = -1, next token: 1834 'content'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 13
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 14, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 216, n_cache_tokens = 216, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"content"}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content":
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content":
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 42: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal: <<<
{"name": "note", "arguments": {"content":>>>
Parsed partial JSON: {"name":"note","arguments":{"content":"1102520059"}} (json_healing_marker: "1102520059)
Cleaned up JSON {"name":"note","arguments":{"content":"1102520059"}} to {"name":"note","arguments":"{\"content\":"} (json_healing_marker : '"1102520059')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 14, n_remaining = -1, next token: 794 '":'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 14
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 15, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 217, n_cache_tokens = 217, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":"}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content": "
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content": "
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 44: syntax error while parsing value - invalid string: missing closing quote; last read: '"': <<<
{"name": "note", "arguments": {"content": ">>>
Parsed partial JSON: {"name":"note","arguments":{"content":"2044897763"}} (json_healing_marker: 2044897763)
Cleaned up JSON {"name":"note","arguments":{"content":"2044897763"}} to {"name":"note","arguments":"{\"content\":\""} (json_healing_marker : '2044897763')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 15, n_remaining = -1, next token: 330 ' "'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 15
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 16, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 218, n_cache_tokens = 218, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\""}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content": "the
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content": "the
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 47: syntax error while parsing value - invalid string: missing closing quote; last read: '"the': <<<
{"name": "note", "arguments": {"content": "the>>>
Parsed partial JSON: {"name":"note","arguments":{"content":"the1967513926"}} (json_healing_marker: 1967513926)
Cleaned up JSON {"name":"note","arguments":{"content":"the1967513926"}} to {"name":"note","arguments":"{\"content\":\"the"} (json_healing_marker : '1967513926')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 16, n_remaining = -1, next token: 1820 'the'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 16
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 17, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 219, n_cache_tokens = 219, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"the"}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content": "the pattern
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content": "the pattern
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 55: syntax error while parsing value - invalid string: missing closing quote; last read: '"the pattern': <<<
{"name": "note", "arguments": {"content": "the pattern>>>
Parsed partial JSON: {"name":"note","arguments":{"content":"the pattern1365180540"}} (json_healing_marker: 1365180540)
Cleaned up JSON {"name":"note","arguments":{"content":"the pattern1365180540"}} to {"name":"note","arguments":"{\"content\":\"the pattern"} (json_healing_marker : '1365180540')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 17, n_remaining = -1, next token: 5497 ' pattern'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 17
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 18, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 220, n_cache_tokens = 220, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" pattern"}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content": "the pattern:
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content": "the pattern:
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 56: syntax error while parsing value - invalid string: missing closing quote; last read: '"the pattern:': <<<
{"name": "note", "arguments": {"content": "the pattern:>>>
Parsed partial JSON: {"name":"note","arguments":{"content":"the pattern:1540383426"}} (json_healing_marker: 1540383426)
Cleaned up JSON {"name":"note","arguments":{"content":"the pattern:1540383426"}} to {"name":"note","arguments":"{\"content\":\"the pattern:"} (json_healing_marker : '1540383426')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 18, n_remaining = -1, next token: 25 ':'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 18
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 19, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 221, n_cache_tokens = 221, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":":"}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content": "the pattern: /
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content": "the pattern: /
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 58: syntax error while parsing value - invalid string: missing closing quote; last read: '"the pattern: /': <<<
{"name": "note", "arguments": {"content": "the pattern: />>>
Parsed partial JSON: {"name":"note","arguments":{"content":"the pattern: /304089172"}} (json_healing_marker: 304089172)
Cleaned up JSON {"name":"note","arguments":{"content":"the pattern: /304089172"}} to {"name":"note","arguments":"{\"content\":\"the pattern: /"} (json_healing_marker : '304089172')
Partial parse: incomplete tool call
srv send: sending result for task id = 0
srv send: task id = 0 pushed to result queue
slot process_toke: id 0 | task 0 | n_decoded = 19, n_remaining = -1, next token: 611 ' /'
srv update_slots: run slots completed
que start_loop: waiting for new tasks
que start_loop: processing new tasks
que start_loop: processing task, id = 19
que start_loop: update slots
srv update_slots: posting NEXT_RESPONSE
que post: new task, id = 20, front = 0
slot update_slots: id 0 | task 0 | slot decode token, n_ctx = 2048, n_past = 222, n_cache_tokens = 222, truncated = 0
srv update_slots: decoding batch, n_tokens = 1
clear_adapter_lora: call
set_embeddings: value = 0
data stream, to_send: data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" /"}}]}}],"created":1759847729,"id":"chatcmpl-rAY0A6nrcZKniMds1faVfd0yfGFAEok2","model":"gpt-3.5-turbo","system_fingerprint":"b893-4e0388aa8","object":"chat.completion.chunk"}
srv update_chat_: Parsing chat message: <tool_call>
{"name": "note", "arguments": {"content": "the pattern: /\u
Parsing input with format Hermes 2 Pro: <tool_call>
{"name": "note", "arguments": {"content": "the pattern: /\u
Failed to parse up to error: [json.exception.parse_error.101] parse error at line 2, column 60: syntax error while parsing value - invalid string: '\u' must be followed by 4 hex digits; last read: '"the pattern: /\u': <<<
{"name": "note", "arguments": {"content": "the pattern: /\u>>>
[New LWP 1426796]
[New LWP 1426802]
[New LWP 1426805]
[New LWP 1427481]
[New LWP 1427482]
[New LWP 1427483]
[New LWP 1427484]
[New LWP 1427485]
[New LWP 1427486]
[New LWP 1427487]
[New LWP 1427488]
[New LWP 1427489]
[New LWP 1427490]
[New LWP 1427491]
[New LWP 1427492]
[New LWP 1427493]
[New LWP 1427494]
[New LWP 1427495]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007b30498ea42f in __GI___wait4 (pid=pid@entry=1429203, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
30 ../sysdeps/unix/sysv/linux/wait4.c: No such file or directory.
#0 0x00007b30498ea42f in __GI___wait4 (pid=pid@entry=1429203, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
30 in ../sysdeps/unix/sysv/linux/wait4.c
#1 0x00007b30498ea3ab in __GI___waitpid (pid=pid@entry=1429203, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ./posix/waitpid.c:38
38 ./posix/waitpid.c: No such file or directory.
#2 0x00007b304a2e5d13 in ggml_print_backtrace () at /home/shun/Documents/dev/llama.cpp/ggml/src/ggml.c:196
196 waitpid(child_pid, NULL, 0);
#3 0x00007b304a2f3cbf in ggml_uncaught_exception () at /home/shun/Documents/dev/llama.cpp/ggml/src/ggml.cpp:9
9 ggml_print_backtrace();
#4 0x00007b3049cae20c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007b3049cae277 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007b3049cae4d8 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x000057d9be5e881a in nlohmann::json_abi_v3_12_0::detail::json_sax_dom_callback_parser<nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>, nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::parse_error<nlohmann::json_abi_v3_12_0::detail::parse_error> (ex=..., this=<optimized out>) at /home/shun/Documents/dev/llama.cpp/common/../vendor/nlohmann/json.hpp:9378
9378 JSON_THROW(ex);
#8 0x000057d9be6a2534 in nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>, nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::parse_error<nlohmann::json_abi_v3_12_0::detail::parse_error> (ex=..., this=0x7ffc5b41cd60) at /home/shun/Documents/dev/llama.cpp/common/../vendor/nlohmann/json.hpp:8981
8981 if (allow_exceptions)
#9 nlohmann::json_abi_v3_12_0::detail::parser<nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>, nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::sax_parse_internal<nlohmann::json_abi_v3_12_0::detail::json_sax_dom_parser<nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>, nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > (this=0x7ffc5b41cf80, sax=sax@entry=0x7ffc5b41cd60) at /home/shun/Documents/dev/llama.cpp/common/../vendor/nlohmann/json.hpp:13324
13324 return sax->parse_error(m_lexer.get_position(),
#10 0x000057d9be6a51a2 in nlohmann::json_abi_v3_12_0::detail::parser<nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>, nlohmann::json_abi_v3_12_0::detail::iterator_input_adapter<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::parse (this=0x7ffc5b41cf80, strict=<optimized out>, result=...) at /home/shun/Documents/dev/llama.cpp/common/../vendor/nlohmann/json.hpp:12984
12984 sax_parse_internal(&sdp);
#11 0x000057d9be6f6c09 in nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>::parse<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::function<bool (int, nlohmann::json_abi_v3_12_0::detail::parse_event_t, nlohmann::json_abi_v3_12_0::basic_json<nlohmann::json_abi_v3_12_0::ordered_map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> >, void>&)>, bool, bool) (i=..., cb=..., allow_exceptions=<optimized out>, ignore_comments=<optimized out>) at /home/shun/Documents/dev/llama.cpp/common/../vendor/nlohmann/json.hpp:24063
24063 parser(detail::input_adapter(std::forward<InputType>(i)), std::move(cb), allow_exceptions, ignore_comments).parse(true, result); // cppcheck-suppress[accessMoved,accessForwarded]
#12 0x000057d9be605e74 in common_json_parse (it=10 '\n', end=0 '\000', healing_marker="1303455736", out=...) at /home/shun/Documents/dev/llama.cpp/common/json-partial.cpp:245
245 out.json = json::parse(str);
#13 0x000057d9be7a5668 in common_chat_msg_parser::try_consume_json (this=0x7ffc5b41dbe0) at /home/shun/Documents/dev/llama.cpp/common/chat-parser.cpp:266
266 if (!common_json_parse(it, end, healing_marker_, result)) {
#14 0x000057d9be7a67f4 in common_chat_msg_parser::try_consume_json_with_dumped_args (this=this@entry=0x7ffc5b41dbe0, args_paths=std::vector of length 1, capacity 1 = {...}, content_paths=std::vector of length 0, capacity 0) at /home/shun/Documents/dev/llama.cpp/common/chat-parser.cpp:301
301 auto partial = try_consume_json();
#15 0x000057d9be6fca59 in common_chat_parse_hermes_2_pro (builder=...) at /home/shun/Documents/dev/llama.cpp/common/chat.cpp:2273
2273 if (auto tool_call = builder.try_consume_json_with_dumped_args({{"arguments"}})) {
#16 0x000057d9be70c2b0 in common_chat_parse (builder=...) at /home/shun/Documents/dev/llama.cpp/common/chat.cpp:2903
2903 common_chat_parse_hermes_2_pro(builder);
#17 common_chat_parse (input="<tool_call>\n{\"name\": \"note\", \"arguments\": {\"content\": \"the pattern: /\\u", is_partial=<optimized out>, syntax=...) at /home/shun/Documents/dev/llama.cpp/common/chat.cpp:2935
2935 common_chat_parse(builder);
#18 0x000057d9be65e0a0 in server_slot::update_chat_msg (this=this@entry=0x57d9f3c22ca0, diffs=std::vector of length 0, capacity 0) at /home/shun/Documents/dev/llama.cpp/tools/server/server.cpp:1620
1620 params.oaicompat_chat_syntax);
#19 0x000057d9be65eada in server_context::send_partial_response (this=this@entry=0x7ffc5b420bd0, slot=..., tkn=..., is_progress=is_progress@entry=false) at /home/shun/Documents/dev/llama.cpp/tools/server/server.cpp:2776
2776 slot.update_chat_msg(res->oaicompat_msg_diffs);
#20 0x000057d9be65f2cd in server_context::process_token (this=this@entry=0x7ffc5b420bd0, result=..., slot=...) at /home/shun/Documents/dev/llama.cpp/tools/server/server.cpp:2568
2568 send_partial_response(slot, result, false);
#21 0x000057d9be690962 in server_context::update_slots (this=<optimized out>) at /home/shun/Documents/dev/llama.cpp/tools/server/server.cpp:3923
3923 if (!process_token(result, slot)) {
#22 0x000057d9be64ac27 in std::function<void ()>::operator()() const (this=0x7ffc5b422348) at /usr/include/c++/11/bits/std_function.h:590
590 return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
#23 server_queue::start_loop (this=0x7ffc5b422228) at /home/shun/Documents/dev/llama.cpp/tools/server/server.cpp:1918
1918 callback_update_slots();
#24 0x000057d9be609538 in main (argc=<optimized out>, argv=<optimized out>) at /home/shun/Documents/dev/llama.cpp/tools/server/server.cpp:5370
5370 ctx_server.queue_tasks.start_loop();
[Inferior 1 (process 1426661) detached]
terminate called after throwing an instance of 'nlohmann::json_abi_v3_12_0::detail::parse_error'
what(): [json.exception.parse_error.101] parse error at line 2, column 66: syntax error while parsing object - unexpected number literal; expected '}'
[1] 1426661 IOT instruction (core dumped) ./build/bin/llama-server -hf unsloth/granite-4.0-h-tiny-GGUF:Q4_K_M -ngl 100