[Liboil] oil_test_check_impl(): illegal instruction in mmxCombineAddU

Daniel Drake dsd at laptop.org
Mon Jun 30 13:34:04 PDT 2008


Hi,

Since upgrading from liboil-0.3.12 (Fedora 7) to liboil-0.3.14 (Fedora
9) on OLPC's XO laptops, this message appears in various places:

OIL: ERROR liboiltest.c 361: oil_test_check_impl(): illegal instruction
in mmxCombineAddU

Partial backtrace:
#0  0xb5f2eef0 in ?? () from /usr/lib/liboil-0.3.so.0
#1  0xb5f1d80d in ?? () from /usr/lib/liboil-0.3.so.0
#2  0xb5f1f79a in ?? () from /usr/lib/liboil-0.3.so.0
#3  0xb5f1c9de in oil_fault_check_try () from /usr/lib/liboil-0.3.so.0
#4  0xb5f1f950 in oil_test_check_impl () from /usr/lib/liboil-0.3.so.0
#5  0xb5f1d082 in oil_class_optimize () from /usr/lib/liboil-0.3.so.0
#6  0xb5f1d30b in oil_optimize_all () from /usr/lib/liboil-0.3.so.0
#7  0xb5f1d4cc in oil_init () from /usr/lib/liboil-0.3.so.0
#8  0xb5f8b8af in ?? () from /usr/lib/gstreamer-0.10/libgstvideoscale.so
#9  0xb61fd499 in gst_plugin_register_func (plugin=0x983cb18,
desc=0xb5f94340) at gstplugin.c:337

Since these routines seem to be testing whether an appropriate
implementation is suitable or not, is it safe to ignore this message?
Perhaps the log level should be reduced so that it is not printed by
default?

OTOH, is it odd that the instruction is failing in the first place?
According to /proc/cpuinfo, our processor (AMD Geode) supports mmx and
mmxext.

Lead-up log messages:
OIL: DEBUG liboilfunction.c 360: oil_class_optimize(): optimizing class
composite_add_argb
OIL: LOG liboilfunction.c 379: oil_class_optimize(): testing impl
mmxCombineAddU
OIL: DEBUG liboiltest.c 504: init_parameter(): allocating 912 bytes for
src_data for s1_n
OIL: DEBUG liboiltest.c 504: init_parameter(): allocating 912 bytes for
src_data for i_n
OIL: DEBUG liboiltest.c 514: init_parameter(): allocating 912 bytes for
ref_data and test_data for i_n
OIL: LOG liboiltest.c 232: oil_test_check_function(): calling function
composite_add_argb_ref
OIL: LOG liboiltest.c 241: oil_test_check_function():   inplace1:
0x00000000 (0)
OIL: LOG liboiltest.c 241: oil_test_check_function():   src1: 0x00000000
(0)
OIL: LOG liboiltest.c 241: oil_test_check_function():   n: 0x00000064
(100)
OIL: LOG liboiltest.c 232: oil_test_check_function(): calling function
mmxCombineAddU
OIL: LOG liboiltest.c 241: oil_test_check_function():   inplace1:
0x00000000 (0)
OIL: LOG liboiltest.c 241: oil_test_check_function():   src1: 0x00000000
(0)
OIL: LOG liboiltest.c 241: oil_test_check_function():   n: 0x00000064
(100)
OIL: ERROR liboiltest.c 361: oil_test_check_impl(): illegal instruction
in mmxCombineAddU 
OIL: WARNING liboilfunction.c 397: oil_class_optimize(): disabling 
implementation
mmxCombineAddU                                                                                    
OIL: LOG liboilfunction.c 379: oil_class_optimize(): testing impl
fbCompositeSrcAdd_8888x8
...

Thanks!

--
Daniel Drake
One Laptop per Child




More information about the Liboil mailing list