On 11/07/2012 06:41 PM, Lucas De Marchi wrote:
> On Wed, Nov 7, 2012 at 1:23 PM, Carsten Haitzler <ras...@rasterman.com> wrote:
>> On Wed, 7 Nov 2012 11:07:31 -0200 Lucas De Marchi
>> <lucas.demar...@profusion.mobi> said:
>>
>>> On Wed, Nov 7, 2012 at 8:21 AM, Sebastian Dransfeld <s...@tango.flipp.net>
>>> wrote:
>>>> On 11/07/2012 09:59 AM, Carsten Haitzler (The Rasterman) wrote:
>>>>> On Tue, 6 Nov 2012 15:52:02 +0100 Sebastian Dransfeld 
>>>>> <s...@tango.flipp.net>
>>>>> said:
>>>>>
>>>>>> On 11/06/2012 08:09 AM, Cedric BAIL wrote:
>>>>>>> On Tue, Nov 6, 2012 at 10:07 AM, Jim Kukunas
>>>>>>> <james.t.kuku...@linux.intel.com> wrote:
>>>>>>>> On Tue, Nov 06, 2012 at 01:41:01AM +0100, Vincent Torri wrote:
>>>>>>>>> On Tue, Nov 6, 2012 at 1:32 AM, Paulo Alcantara 
>>>>>>>>> <pca...@profusion.mobi>
>>>>>>>>> wrote:
>>>>>>>>>> On Mon, Nov 5, 2012 at 7:12 PM, Sebastian Dransfeld
>>>>>>>>>> <s...@tango.flipp.net> wrote:
>>>>>>>>>>> Program received signal SIGILL, Illegal instruction.
>>>>>>>>>>> 0x00491f8b in _mm_lddqu_si128 (__P=0xbfffb5b0) at
>>>>>>>>>>> /usr/lib/gcc/i686-linux-gnu/4.6/include/pmmintrin.h:111
>>>>>>>>>>> 111       return (__m128i) __builtin_ia32_lddqu ((char const *)__P);
>>>>>>>>>>> (gdb) bt
>>>>>>>>>>> #0  0x00491f8b in _mm_lddqu_si128 (__P=0xbfffb5b0) at
>>>>>>>>>>> /usr/lib/gcc/i686-linux-gnu/4.6/include/pmmintrin.h:111
>>>>>>>>>>> #1  _op_blend_pas_dp_sse3 (s=0xbfffb5b0, m=0x0, c=0, d=0xbfffb6b0,
>>>>>>>>>>> #l=64)
>>>>>>>>>>>         at lib/evas/common/evas_op_blend/op_blend_pixel_sse3.c:59
>>>>>>>>>>> #2  0x004b0d34 in evas_common_op_sse3_test () at
>>>>>>>>>>> lib/evas/common/evas_op_blend/op_blend_master_sse3.c:73
>>>>>>>>>>> #3  0x00465867 in evas_common_cpu_sse3_test () at
>>>>>>>>>>> lib/evas/common/evas_cpu.c:72
>>>>>>>>>>> #4  0x00465983 in evas_common_cpu_feature_test (feature=0x465850
>>>>>>>>>>> <evas_common_cpu_sse3_test>)
>>>>>>>>>>>         at lib/evas/common/evas_cpu.c:138
>>>>>>>>>>> #5  0x00465ad3 in evas_common_cpu_init () at
>>>>>>>>>>> lib/evas/common/evas_cpu.c:183
>>>>>>>>>>>
>>>>>>>>>>> pentium-m
>>>>>>>>>>> flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge
>>>>>>>>>>> mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts est
>>>>>>>>>>> tm2
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Weird. Looks like SSE3 support isn't being checked properly through
>>>>>>>>>> CPUID.
>>>>>>>>>
>>>>>>>>> the check in configure is not sufficient : host detection + detection
>>>>>>>>> of a file, which exists on this pentium M. So something more should be
>>>>>>>>> done, I guess, don't know what, though
>>>>>>>>
>>>>>>>> The host detection + header check is _NOT_ a check as to whether the
>>>>>>>> processor supports SSE3, but rather whether the build environment can
>>>>>>>> compile code with SSE3 intrinsics.
>>>>>>>>
>>>>>>>> The real check occurs at runtime in evas_common_cpu_feature_test(),
>>>>>>>> where we attempt to run a function consisting of the feature in
>>>>>>>> question while trapping for SIGILL and SIGSEGV. If we catch either
>>>>>>>> signal, we disable support for the associated feature.
>>>>>>>>
>>>>>>>> In this case, the SIGILL is expected, however it seems the signal
>>>>>>>> handlers were not properly setup.
>>>>>>>
>>>>>>> Actually I have an explanation of the problem for E17. Tom started to
>>>>>>> notice a problem on his laptop, where he got a WBOD without any useful
>>>>>>> backtrace in E. In fact, E backtrace pointed to a always correct code
>>>>>>> (aka select syscall). Here is my possible explanation of the issue, if
>>>>>>> the problem you are reporting is related to E17. The new WBOD does
>>>>>>> catch all signal in the parent process of E17, it doesn't know if the
>>>>>>> SIGILL is properly catched or not, resulting in the WSOD being
>>>>>>> displayed, when actually everything is fine.
>>>>>>>
>>>>>>> We need to fix that bug in E17 properly. In the mean time, I recommend
>>>>>>> package manager to disable SSE3 for non source distribution.
>>>>>>
>>>>>> My problem is that if I don't disable sse3 on my pentium-m, evas based
>>>>>> programs (like terminology) will crash. So the trapping in evas when it
>>>>>> tests cpu features is broken in this case.
>>>>>>
>>>>>> S.
>>>>>
>>>>> no - this sint the sse3 test broken at all. it's the port of evas to the
>>>>> efl tree - the build is broken. basically it forces all of evas to compile
>>>>> ith sse3 optimizations (the c code producing sse3 intrusctions) *I*F
>>>>> compiler supports it. ONLY the sse3 optimized rendering code files should
>>>>> compile with this flag
>>>>> - ONLY those, and nothing else. same with the altivec asm files etc. they
>>>>> should be compiled into separate .so/.a's and then linked into the evas 
>>>>> lib
>>>>> after where not only the optimized routines compile with sse3 opts.
>>>
>>> it seems like a separate issue to fix (that has always been there).
>>> Vincent, do you want to fix it? otherwise I can take a look.
>>
>> no - it hasnt alwasy been there. definitely not. see my eply to seb. :) check
>> the evas tree src and Makefile.am's if u want. in the  evas tree only the 
>> sse3
>> asm file is built with -msse3, nothing else.  this issue is new i the efl 
>> tree.
>>
>>>
>>>>>
>>>>>
>>>>
>>>> Rubbish. This has always been like this, and it fails in the cpu test,
>>>> not the main code.
>>>
>>> yeah... from the backtrace this is pretty clear.
>>>
>>> Did you try removing the #ifdef condition and running with the #else
>>> code? They should be equivalent but with different methods. While the
>>> first one uses a try/catch approach the second queries the CPU through
>>> cpuid instruction.
>>
>> IF u run it under gdb you WILL get a trapped sigill in gdb. thats NORMAL if 
>> its
>> the test code. just continue from that and keep running... the REAL problem
>> will pop up later. and the problem is what i described.
>
> true... Anyway, the cpp_flags to evas are (possibly) fixed in r78973.
>
> Stephan, could you please test it, remembering to continue if running
> inside gdb and a SIGILL arrives for code inside the test code.

Works.

S.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_nov
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to