It means that the system call was terminated, and didn't (couldn't) return a value. An example is given in the strace manual:
Interruption of a (restartable) system call by a signal delivery is
processed differently as kernel terminates the system call and also
arranges its immediate reexecution after the signal handler
completes.
read(0, 0x7ffff72cf5cf, 1) = ? ERESTARTSYS (To be restarted)
It seems, like your system call, read here was terminated, and has no return value. (Unlike your system call, read here was scheduled for re-execution.)
Other system calls, which don't return (e.g., exit_group), also show ?:
~ strace -e exit_group /bin/true
exit_group(0) = ?
+++ exited with 0 +++