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

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

Projects

None yet

4 participants

@dod38fr
PerlGameDev member

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 :-(

@dod38fr
PerlGameDev member

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

@FROGGS FROGGS was assigned Apr 16, 2012
@FROGGS
PerlGameDev member

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.

@kthakore
PerlGameDev member

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