Am 27.01.21 um 20:52 schrieb Alex Bennée:
For example - debian-buster (arm64) running ffmpeg:
alex.bennee@8cd150a4b35d:~/lsrc/qemu.git/builds/all.tci$ ./qemu-aarch64
/usr/bin/ffmpeg -i theora.mkv theora.webm
TODO ../../tcg/tci.c:882: tcg_qemu_tb_exec()
../../tcg/tci.c:882: tcg fatal error
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
Thanks. All I tried to say is that I prefer to replace those TODO
statements by working code as soon as there was a case which triggers
them. Most of those TODO statements are very easy to implement, so
anyone can add them when he/she detects a missing one. If I get
information about a scenario which triggers a missing TODO, I'll fix
that of course. I just don't want to add that missing code blindly.
Using `make check-tcg` helped finding and fixing one of them, future
improved CI checks can find more, and so can examples like the one
above. The error message tci.c:882 is INDEX_op_ld8s_i64
(https://github.com/qemu/qemu/blob/master/tcg/tci.c#L882). The missing
code is nearly identical to the existing code for INDEX_op_ld8u_i64, but
with *(int8_t *) instead of *(uint8_t *), so maybe you can try that and
confirm whether it fixes the reported problem. Otherwise I'll try to
reproduce it with any mkv file.
I recently tried running tesseract with qemu-x86_64 because I had
expected that it might trigger some unimplemented TCG opcodes. Instead
it showed a general problem for native TCG: qemu-x86_64 allocates too
much memory for tesseract and gets killed by the Linux kernel OOM handler.
Regards,
Stefan