[x264-devel] crash SIGILL in x264_cpu_fast_neon_mrc_test

Eric Gillum ericwgillum at gmail.com
Sat Sep 22 01:24:27 CEST 2012


Hello,

New to the forum here. We've been using x264 for a while now without
issue. We tried it on an iPhone5 and got a reproducible crash.
Currently we build a3f44077d. I tried with the latest today
(198a7ea13) and still get the following issue.

Our application crashes with SIGILL when x264 tries to run
x264_cpu_fast_neon_mrc_test().

Thread 0 Crashed:
0                0x00202ac4 x264_cpu_fast_neon_mrc_test + 0
1                0x001aec64 x264_cpu_detect + 4
2                0x001afe18 x264_param_default + 20
3                0x00348ac0 X264_init (libx264.c:284)
4                0x00368040 avcodec_open2 (utils.c:834)
5                0x006456a2 open_video
<snip>

I'm afraid I understand little about this crash. Our target is an
iPhone5, which supposedly introduced a custom chip based off of armv7.
>From reading x264 source and searching the internet I gather that x264
is attempting to determine if it has access to the cycle counter, but
that this is optional and may not exist for some architectures.

Can anybody help me out with this? I'm looking for general knowledge
and/or simple solutions if they exist. If need be I can possibly craft
a sample app. But the basics are ffmpeg 0.9.1 "harmony" and x264 both
built for arch armv7 (no frills), install on an iPhone5, try to open
the x264 encoder, blam.

If you have suggestions, I would love to hear. If I have left
something out that you need, please let me know. Thank you.

For now I have some things I will try:
- disabling the offending line in x264/common/cpu.c (the call to
x264_cpu_fast_neon_mrc_test()).
- seeing if I can build for -arch armv7s. Maybe it will Just Work. I
don't know much about architectures yet.


More information about the x264-devel mailing list