Skip to content
This repository

FTBFS on i386 Xen/KVM VMs: Failed test 'MMX_detect (MMX is same as at start)' #221

Open
dod38fr opened this Issue March 18, 2012 · 4 comments

4 participants

Dominique Dumont Tobias Leich Kartik Thakore Felix Geyer
Dominique Dumont
Collaborator

As reported on Debian BTS:

This package FTBFS on my Xen and KVM based VMs on i386 (but not amd64):

#   Failed test 'MMX_detect (MMX is same as at start)'
#   at t/gfx_imagefilter.t line 53.
#          got: '1'
#     expected: '0'

See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663514

This one is going to be fun to reproduce :-(

Dominique Dumont
Collaborator

I've reproduced the bug in a kvm virtual machine with debian-i386.

Here' s the output of the faulty test:

$ perl -I/home/domi/perllib/lib/perl/5.14.2/ t/gfx_imagefilter.t 
1..8
ok 1 - [linked_version] isa SDL::Version
got version: 2.0.23
ok 2 - MMX_detect == 0
ok 3 - MMX_off
ok 4 - MMX_detect (MMX is off now)
ok 5 - MMX_on
not ok 6 - MMX_detect (MMX is same as at start)
#   Failed test 'MMX_detect (MMX is same as at start)'
#   at t/gfx_imagefilter.t line 53.
#          got: '1'
#     expected: '0'
ok 7 - 
# The following functions:
# MMX_detect,MMX_off,MMX_on,add,mean,sub,abs_diff,mult,mult_nor,mult_div_by_2,mult_div_by_4,bit_and,bit_or,div,bit_negation,add_byte,add_uint,add_byte_to_half,sub_byte,sub_uint,shift_right,shift_right_uint,mult_by_byte,shift_right_and_mult_by_byte,shift_left_byte,shift_left_uint,shift_left,binarize_using_threshold,clip_to_range,normalize_linear,convolve_kernel_3x3_divide,convolve_kernel_5x5_divide,convolve_kernel_7x7_divide,convolve_kernel_9x9_divide,convolve_kernel_3x3_shift_right,convolve_kernel_5x5_shift_right,convolve_kernel_7x7_shift_right,convolve_kernel_9x9_shift_right,sobel_x,sobel_x_shift_right,align_stack,restore_stack # TODO [Percentage Completion] 2% implementation. 1/43
[Percentage Completion] 2% implementation. 1/43
ok 8 - Are we still alive? Checking for segfaults
# Looks like you failed 1 test of 8.

Weird thing is : the test fails because MXX_on is able to set mmx (it off at the beginning of the test).

Is the test correct ?

All the best

Tobias Leich
Owner

Note: when Alien::SDL is building SDL libs it does:

if($pack eq 'SDL_gfx' && $uname =~ /(powerpc|ppc|64|2level|alpha|armv5|sparc)/i) {
$extra .= ' --disable-mmx';
}

So we disable MMX ob 64bits by default.

From SDL_gfx homepage:

[...]
No-MMX
To build without MMX code enabled (i.e. PPC or for AMD64 architecture
which is missing pusha/popa):
./configure --disable-mmx
[....]

I guess a workaround/solution for the real problem would be to try turn on MMX when SDL::GFX Module is used.

Kartik Thakore
Owner

That workaround should also detect the ARCH type tough

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.