Skip to content

Eval bug: Crash over tool calls in Qwen3 Coder #15046

@allo-

Description

@allo-

Name and Version

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 5060 Ti, compute capability 12.0, VMM: yes
version: 1 (9008328)
built with cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 for x86_64-linux-gnu

Operating systems

Linux

GGML backends

CUDA

Hardware

Device 0: NVIDIA GeForce RTX 5060 Ti, compute capability 12.0, VMM: yes

Models

Qwen3 Coder 30B-A3

Problem description & steps to reproduce

llama-server crashes when qwen3-cli attempts a tool call. I am not sure if the tool call syntax is right, but it still should not crash.

First Bad Commit

No response

Relevant log output

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
warning: 56	../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S: File or directory not found
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
56	in ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S
#1  0x00007f064d699668 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=0, nr=61) at ./nptl/cancellation.c:49
warning: 49	./nptl/cancellation.c: File or directory not found
#2  0x00007f064d6996ad in __syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=0, nr=61) at ./nptl/cancellation.c:75
75	in ./nptl/cancellation.c
#3  0x00007f064d704787 in __GI___wait4 (pid=<optimized out>, stat_loc=<optimized out>, options=<optimized out>, usage=<optimized out>) at ../sysdeps/unix/sysv/linux/wait4.c:30
warning: 30	../sysdeps/unix/sysv/linux/wait4.c: File or directory not found
#4  0x00007f064df4218b in ggml_print_backtrace () from libggml-base.so
#5  0x00007f064df535df in ggml_uncaught_exception() () from libggml-base.so
#6  0x00007f064d8b344a in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f064d8a15e9 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007f064d8b36c8 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x000055ff4a1d7662 in string_diff(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .cold] ()
#10 0x000055ff4a2d00ce in common_chat_msg_diff::compute_diffs(common_chat_msg const&, common_chat_msg const&) ()
#11 0x000055ff4a25299a in server_slot::update_chat_msg(std::vector<common_chat_msg_diff, std::allocator<common_chat_msg_diff> >&) ()
#12 0x000055ff4a2531ad in server_context::send_partial_response(server_slot&, completion_token_output const&) ()
#13 0x000055ff4a2540fb in server_context::process_token(completion_token_output&, server_slot&) ()
#14 0x000055ff4a280a07 in server_context::update_slots() ()
#15 0x000055ff4a2279fd in server_queue::start_loop() ()
#16 0x000055ff4a1f028d in main ()
[Inferior 1 (process 326508) detached]
terminate called after throwing an instance of 'std::runtime_error'
  what():  Invalid diff: 'I'll create a file named test.txt in the current directory.

<function=write_file' not found at start of 'I'll create a file named test.txt in the current directory.


'
Aborted (core dumped)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions