<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Dear Igor, in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073237#M24577</link>
    <description>&lt;P&gt;Dear Igor,&lt;/P&gt;

&lt;P&gt;not quite sure what I was expected to provide, but I got the following stack trace:&lt;/P&gt;

&lt;P&gt;#0&amp;nbsp; 0xb771aa82 in ipp_is_GenuineIntel () from ...&lt;BR /&gt;
	#1&amp;nbsp; 0xb771a396 in ippInit () from ...&lt;BR /&gt;
	#2&amp;nbsp; 0xb5997c98 in ?? () ...&lt;BR /&gt;
	#3&amp;nbsp; 0x0fc08500 in ?? ()&lt;/P&gt;

&lt;P&gt;Attached you find a file containing the memory of that process from&lt;/P&gt;

&lt;P&gt;0xb771a000 to 0xb771b000&lt;/P&gt;

&lt;P&gt;dumped using the following gdb command:&lt;/P&gt;

&lt;P&gt;dump memory /tmp/dump.hex 0xb771a000 0xb771b000&lt;/P&gt;

&lt;P&gt;Does that help you? If not what exactly do you want me to do? And by the way: What is the difference of the static libs located in the 'ia32_and' and the 'ia32_lin'? Is 'and' Android by any chance? Is there documentation explaining the different versions of the libs somewhere? All I find is some sentences about threaded and single thread versions but that didn't really help a lot.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;</description>
    <pubDate>Fri, 12 Oct 2018 06:46:45 GMT</pubDate>
    <dc:creator>Stefan_B_3</dc:creator>
    <dc:date>2018-10-12T06:46:45Z</dc:date>
    <item>
      <title>IPP 2017 running on Linux Ubuntu 8.04 (32-bit)</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073230#M24570</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I am aware this Linux distribution is not officially supported, but here: &lt;A class="moz-txt-link-freetext" href="https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-2017-system-requirements"&gt;https://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-2017-system-requirements&lt;/A&gt; it says 'Note: Intel® IPP is expected to work on many more Linux distributions as well. Let us know if you have trouble with the distribution you use.' So I thought it might be OK to bring up this question here.&lt;/P&gt;

&lt;P&gt;Now what happens on the platform mentioned in the thread topic is that whenever I call at least on IPP function (which is ippInit in this case) the process later does not terminate. Attaching a debugger shows always one thread with the following stack trace:&lt;/P&gt;

&lt;P&gt;#0&amp;nbsp; 0xb7691904 in ipp_is_GenuineIntel ()&lt;BR /&gt;
	#1&amp;nbsp; 0xb7691236 in ippInit ()&lt;/P&gt;

&lt;P&gt;Building the same software on a Kubuntu 8.04 (64-bit) runs just fine. We are linking statically.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Nov 2016 11:36:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073230#M24570</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2016-11-02T11:36:53Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073231#M24571</link>
      <description>&lt;P&gt;Hi Stefan,&lt;/P&gt;

&lt;P&gt;thanks for the report. We will check it. &amp;nbsp;Could you please tell the exact IPP version and how you link IPP in your executable? do you install the IPP 2017 on the Ubuntu 8.04 (32-bit)?&amp;nbsp; or just copy the executable file to the machine.&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 08:32:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073231#M24571</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-11-03T08:32:27Z</dc:date>
    </item>
    <item>
      <title>Dear Ying,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073232#M24572</link>
      <description>&lt;P&gt;Dear Ying,&lt;/P&gt;

&lt;P&gt;thanks for getting back to me. The version of the IPP is 2017.0.0 as taken from ippversion.h. We do not link the IPP to executables but to *.so files which get loaded using 'dlopen' as runtime by an executable.&lt;/P&gt;

&lt;P&gt;Linking is happening more or less like this:&lt;/P&gt;

&lt;P&gt;/usr/bin/g++ -shared -Wl,-soname,libXYZ.so -o ../../lib/x86/libXYZ.so.2.17.4 XYZ.o&amp;nbsp; -lpthread -L../../lib/x86 ../../Toolkits/ipp/lib/linux/ia32/libippcc.a ../../Toolkits/ipp/lib/linux/ia32/libippi.a ../../Toolkits/ipp/lib/linux/ia32/libipps.a ../../Toolkits/ipp/lib/linux/ia32/libippcore.a -lrt -lc&lt;/P&gt;

&lt;P&gt;The libs you see here is all we use from the IPP. The IPP is NOT installed on the target system. The system we build on is also the system we later run the code on.&lt;/P&gt;

&lt;P&gt;Basically running happens like this:&lt;/P&gt;

&lt;P&gt;An executable dynamically loads multiple shared objects all linked like described above, thus in process memory I would assume the IPP related code to reside multiple times(ones per *.so). As running on Linux this should result in only the first *.so-files code to be actually executed but this should not make a difference should it? Of course on could argue that in such a case linking dynamically to the IPP might save disc/memory space but for several reasons this is not an option in our scenario.&lt;/P&gt;

&lt;P&gt;Hope this makes sense!&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 10:37:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073232#M24572</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2016-11-03T10:37:43Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan, </title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073233#M24573</link>
      <description>&lt;P&gt;Hi Stefan,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It should be ok to build dynamic library libXYZ.so &amp;nbsp;based on the IPP static library like libippi.a libipps.a libippcore.a.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Do you call the function&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;ippInit() in your code? &amp;nbsp;If yes, how about to remove the call?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;As the function ippInit() &amp;nbsp;are not needed to be explicitly call &lt;/SPAN&gt;since IPP 9.0.&amp;nbsp;&lt;SPAN style="font-size: 1em;"&gt;(now library performs auto-initialization itself during the first call of any IPP function (that is not from ippCore domain).)&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Ying&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;P.S &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;What is your CPU type? We happened to discuss another ippinit() issue in&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;A href="https://software.intel.com/en-us/forums/intel-integrated-performance-primitives/topic/702147" target="_blank"&gt;https://software.intel.com/en-us/forums/intel-integrated-performance-primitives/topic/702147&lt;/A&gt;, for your reference&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 02:01:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073233#M24573</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-11-08T02:01:00Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073234#M24574</link>
      <description>&lt;P&gt;Hi Stefan,&lt;/P&gt;

&lt;P&gt;Could you provide a small test case to us for investigation, please?&lt;/P&gt;

&lt;P&gt;-------------------------&lt;/P&gt;

&lt;P&gt;btw., would "&lt;SPAN style="font-size: 12px;"&gt;/usr/bin/g++ &lt;STRONG&gt;-fPIC&lt;/STRONG&gt; -shared -Wl,-soname,libXYZ.so&lt;STRONG&gt;.2&lt;/STRONG&gt; -o ../../lib/x86/libXYZ.so.2.17.4 XYZ.o&amp;nbsp; -lpthread -L...&lt;/SPAN&gt;" be helpful?&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Jing&lt;/P&gt;</description>
      <pubDate>Tue, 08 Nov 2016 05:00:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073234#M24574</guid>
      <dc:creator>Jing_Xu</dc:creator>
      <dc:date>2016-11-08T05:00:00Z</dc:date>
    </item>
    <item>
      <title>Hi there and sorry for the</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073235#M24575</link>
      <description>&lt;P&gt;Hi there and sorry for the long silence! Since migrating from IPP 2018.3 to 2019.0 this problem has reappeared. I general everything stated here is still true. In addition to that we do compile using -fPIC (this answer I was missing the last time)&lt;/P&gt;</description>
      <pubDate>Tue, 09 Oct 2018 06:22:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073235#M24575</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-10-09T06:22:00Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073236#M24576</link>
      <description>&lt;P&gt;Hi Stefan,&lt;/P&gt;

&lt;P&gt;Could you provide a disassemble of the loop for #0? it is very simple function that can't come into the infinite loop:&lt;/P&gt;

&lt;P&gt;it just makes cpuid and compares result for "GenuineIntel" string. 13 lines of code.&lt;/P&gt;

&lt;P&gt;regards, Igor&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Oct 2018 10:19:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073236#M24576</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-09T10:19:00Z</dc:date>
    </item>
    <item>
      <title>Dear Igor,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073237#M24577</link>
      <description>&lt;P&gt;Dear Igor,&lt;/P&gt;

&lt;P&gt;not quite sure what I was expected to provide, but I got the following stack trace:&lt;/P&gt;

&lt;P&gt;#0&amp;nbsp; 0xb771aa82 in ipp_is_GenuineIntel () from ...&lt;BR /&gt;
	#1&amp;nbsp; 0xb771a396 in ippInit () from ...&lt;BR /&gt;
	#2&amp;nbsp; 0xb5997c98 in ?? () ...&lt;BR /&gt;
	#3&amp;nbsp; 0x0fc08500 in ?? ()&lt;/P&gt;

&lt;P&gt;Attached you find a file containing the memory of that process from&lt;/P&gt;

&lt;P&gt;0xb771a000 to 0xb771b000&lt;/P&gt;

&lt;P&gt;dumped using the following gdb command:&lt;/P&gt;

&lt;P&gt;dump memory /tmp/dump.hex 0xb771a000 0xb771b000&lt;/P&gt;

&lt;P&gt;Does that help you? If not what exactly do you want me to do? And by the way: What is the difference of the static libs located in the 'ia32_and' and the 'ia32_lin'? Is 'and' Android by any chance? Is there documentation explaining the different versions of the libs somewhere? All I find is some sentences about threaded and single thread versions but that didn't really help a lot.&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Fri, 12 Oct 2018 06:46:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073237#M24577</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-10-12T06:46:45Z</dc:date>
    </item>
    <item>
      <title>hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073238#M24578</link>
      <description>&lt;P&gt;hi Stefan,&lt;/P&gt;

&lt;P&gt;I disassembled your dump:&lt;/P&gt;

&lt;P&gt;XDIS a75: PUSH&amp;nbsp; &amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;55&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;push ebp&lt;BR /&gt;
	XDIS a76: DATAXFER&amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;89E5&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov ebp, esp&lt;BR /&gt;
	XDIS a78: PUSH&amp;nbsp; &amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;51&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;push ecx&lt;BR /&gt;
	XDIS a79: PUSH&amp;nbsp; &amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;52&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;push edx&lt;BR /&gt;
	XDIS a7a: PUSH&amp;nbsp; &amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;53&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;push ebx&lt;BR /&gt;
	XDIS a7b: DATAXFER&amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B800000000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov eax, 0x0&lt;BR /&gt;
	XDIS a80: MISC&amp;nbsp; &amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0FA2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cpuid&amp;nbsp;&lt;BR /&gt;
	XDIS a82: LOGICAL&amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;31C0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xor eax, eax&lt;BR /&gt;
	XDIS a84: BINARY&amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;81F96E74656C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cmp ecx, 0x6c65746e&lt;BR /&gt;
	XDIS a8a: COND_BR&amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7515&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnz 0xaa1&lt;BR /&gt;
	XDIS a8c: BINARY&amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;81FA696E6549&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cmp edx, 0x49656e69&lt;BR /&gt;
	XDIS a92: COND_BR&amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;750D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnz 0xaa1&lt;BR /&gt;
	XDIS a94: BINARY&amp;nbsp; &amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;81FB47656E75&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cmp ebx, 0x756e6547&lt;BR /&gt;
	XDIS a9a: COND_BR&amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;7505&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnz 0xaa1&lt;BR /&gt;
	XDIS a9c: DATAXFER&amp;nbsp; BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B801000000&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov eax, 0x1&lt;BR /&gt;
	XDIS aa1: POP&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5B&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop ebx&lt;BR /&gt;
	XDIS aa2: POP&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop edx&lt;BR /&gt;
	XDIS aa3: POP&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;59&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop ecx&lt;BR /&gt;
	XDIS aa4: POP&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5D&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop ebp&lt;BR /&gt;
	XDIS aa5: RET&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BASE&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret&amp;nbsp;&lt;/P&gt;

&lt;P&gt;your bt shows&amp;nbsp;&lt;SPAN style="font-size: 12px;"&gt;0xb771aa82 in ipp_is_GenuineIntel ()- this corresponds to "a82" above - does it mean that your thread hangs after cpuid instruction?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;If you can perform bt in gdb - could you perform "disass" cmd from gdb? what does "disassemble" cmd shows at the screen? could you perform "si" command? which address/function name do you see? you can insert the next cmd:" display /i $pc " and then use "si" cmd to understand in which loop you are.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;regards, Igor&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Oct 2018 10:20:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073238#M24578</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-17T10:20:41Z</dc:date>
    </item>
    <item>
      <title>Dear Igor,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073239#M24579</link>
      <description>&lt;P&gt;Dear Igor,&lt;/P&gt;

&lt;P&gt;there you go:&lt;/P&gt;

&lt;P&gt;#28 0x0833d70d in main ()&lt;BR /&gt;
	(gdb) t 11&lt;BR /&gt;
	[Switching to thread 11 (Thread 0xb3366b90 (LWP 17036))]#0&amp;nbsp; 0xb76b62a2 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	(gdb) bt&lt;BR /&gt;
	#0&amp;nbsp; 0xb76b62a2 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	#1&amp;nbsp; 0xb76b5bb6 in ippInit () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	#2&amp;nbsp; 0xb454588c in ?? () from /tmp/myProject/lib/libMyLib2.so&lt;BR /&gt;
	#3&amp;nbsp; 0x0fc08500 in ?? ()&lt;BR /&gt;
	Backtrace stopped: previous frame inner to this frame (corrupt stack?)&lt;BR /&gt;
	(gdb) disass&lt;BR /&gt;
	Dump of assembler code for function ipp_is_GenuineIntel:&lt;BR /&gt;
	0xb76b6295 &amp;lt;ipp_is_GenuineIntel+0&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	0xb76b6296 &amp;lt;ipp_is_GenuineIntel+1&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; %esp,%ebp&lt;BR /&gt;
	0xb76b6298 &amp;lt;ipp_is_GenuineIntel+3&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %ecx&lt;BR /&gt;
	0xb76b6299 &amp;lt;ipp_is_GenuineIntel+4&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %edx&lt;BR /&gt;
	0xb76b629a &amp;lt;ipp_is_GenuineIntel+5&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	0xb76b629b &amp;lt;ipp_is_GenuineIntel+6&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x0,%eax&lt;BR /&gt;
	0xb76b62a0 &amp;lt;ipp_is_GenuineIntel+11&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cpuid &amp;nbsp;&lt;BR /&gt;
	0xb76b62a2 &amp;lt;ipp_is_GenuineIntel+13&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; xor&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,%eax&lt;BR /&gt;
	0xb76b62a4 &amp;lt;ipp_is_GenuineIntel+15&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x6c65746e,%ecx&lt;BR /&gt;
	0xb76b62aa &amp;lt;ipp_is_GenuineIntel+21&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;&lt;BR /&gt;
	0xb76b62ac &amp;lt;ipp_is_GenuineIntel+23&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x49656e69,%edx&lt;BR /&gt;
	0xb76b62b2 &amp;lt;ipp_is_GenuineIntel+29&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;&lt;BR /&gt;
	0xb76b62b4 &amp;lt;ipp_is_GenuineIntel+31&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x756e6547,%ebx&lt;BR /&gt;
	0xb76b62ba &amp;lt;ipp_is_GenuineIntel+37&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;&lt;BR /&gt;
	0xb76b62bc &amp;lt;ipp_is_GenuineIntel+39&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1,%eax&lt;BR /&gt;
	0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	0xb76b62c2 &amp;lt;ipp_is_GenuineIntel+45&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %edx&lt;BR /&gt;
	0xb76b62c3 &amp;lt;ipp_is_GenuineIntel+46&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx&lt;BR /&gt;
	0xb76b62c4 &amp;lt;ipp_is_GenuineIntel+47&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	0xb76b62c5 &amp;lt;ipp_is_GenuineIntel+48&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; ret&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	End of assembler dump.&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62a4 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62a4 &amp;lt;ipp_is_GenuineIntel+15&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x6c65746e,%ecx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62aa in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62aa &amp;lt;ipp_is_GenuineIntel+21&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62ac in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62ac &amp;lt;ipp_is_GenuineIntel+23&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x49656e69,%edx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62b2 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62b2 &amp;lt;ipp_is_GenuineIntel+29&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62b4 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62b4 &amp;lt;ipp_is_GenuineIntel+31&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x756e6547,%ebx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62ba in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62ba &amp;lt;ipp_is_GenuineIntel+37&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; jne&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62bc in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62bc &amp;lt;ipp_is_GenuineIntel+39&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1,%eax&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62c1 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62c1 &amp;lt;ipp_is_GenuineIntel+44&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62c2 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62c2 &amp;lt;ipp_is_GenuineIntel+45&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %edx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62c3 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62c3 &amp;lt;ipp_is_GenuineIntel+46&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb76b62c4 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62c4 &amp;lt;ipp_is_GenuineIntel+47&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	Cannot access memory at address 0x35&lt;BR /&gt;
	(gdb) c&lt;BR /&gt;
	Continuing.&lt;/P&gt;

&lt;P&gt;Program received signal SIGINT, Interrupt.&lt;BR /&gt;
	[Switching to Thread 0xb72e86e0 (LWP 17022)]&lt;BR /&gt;
	0xb76fc410 in __kernel_vsyscall ()&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76fc410 &amp;lt;__kernel_vsyscall+16&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	(gdb) t 11&lt;BR /&gt;
	[Switching to thread 11 (Thread 0xb3366b90 (LWP 17036))]#0&amp;nbsp; 0xb76b62a2 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	(gdb) si&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	0xb76b62a4 in ipp_is_GenuineIntel () from /tmp/myProject/lib/libMyLib1.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb76b62a4 &amp;lt;ipp_is_GenuineIntel+15&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x6c65746e,%ecx&lt;BR /&gt;
	(gdb)&lt;/P&gt;

&lt;P&gt;From what that tells me this is some kind of infinite loop. After I saw this I also checked using 'top' that the process indeed uses 100% CPU time. Whenever I break I will end up at 0xb76b62a4 &amp;lt;ipp_is_GenuineIntel+15&amp;gt; in this thread. I can then step through until the error (address 0x35 in the ret statement) you can see. I tried this multiple times...&lt;/P&gt;

&lt;P&gt;Is there a chance that I did link the 'wrong' libs? Which static libs (from which rpm/folder) should I use? There are 4 versions: threaded, nonpic, ia32_and(what are these for) and ia32_lin(the ones I use right now).&lt;/P&gt;

&lt;P&gt;Any other idea what could cause this?&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Oct 2018 09:52:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073239#M24579</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-10-18T09:52:00Z</dc:date>
    </item>
    <item>
      <title>hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073240#M24580</link>
      <description>&lt;P&gt;hi Stefan,&lt;/P&gt;

&lt;P&gt;looks like the stack frame is corrupted. 0x35 is bad address. "and" libs (your assumption is right) are intended for Android (are built with Android NDK). Could you try to debug your app from the very beginning - to set breakpoint at ippInit() before your *.so are loaded? And then try to pass it till ret? Did you try to link IPP prebuilt shared libraries? Also with each IPP release we provide a sample "custom so" - did you try to build your "so" with IPP tool?&lt;/P&gt;

&lt;P&gt;regards, Igor&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Oct 2018 20:36:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073240#M24580</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-18T20:36:49Z</dc:date>
    </item>
    <item>
      <title>Dear Igor,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073241#M24581</link>
      <description>&lt;P&gt;Dear Igor,&lt;/P&gt;

&lt;P&gt;does this make any sense to you:&lt;/P&gt;

&lt;P&gt;Breakpoint 2, 0xb773d7a0 in ippInit () from /tmp/mvIMPACT_Acquire_Build_x86/lib/libmvDeviceManager.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb773d7a0 &amp;lt;ippInit&amp;gt;:&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb773d7a1 in ippInit () from /tmp/mvIMPACT_Acquire_Build_x86/lib/libmvDeviceManager.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb773d7a1 &amp;lt;ippInit+1&amp;gt;: push&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	(gdb) bt&lt;BR /&gt;
	#0&amp;nbsp; 0xb773d7a1 in ippInit () from /tmp/myProject/lib/libmylib.so.2&lt;BR /&gt;
	#1&amp;nbsp; 0xb3dd26e0 in ippiConvert_8u16u_C1R () from /tmp/myProject/lib/libmyOtherlib.so&lt;BR /&gt;
	#2&amp;nbsp; 0xb3a68033 in mv::CFltFormatConvert::Mono8ToMono16 (pSrcLayout2D=0x85a50bc, pDstLayout2D=0x85aeb0c, roiWidth=1024, roiHeight=1024, lshift=2)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; at /home/mvimpact/buildAgent/SSD/work/c37cf376f6077594/DriverBase/FilterFormatConvert.cpp:2934&lt;BR /&gt;
	// more stack data here (still correct)&lt;BR /&gt;
	#27 0xb731f4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0&lt;BR /&gt;
	#28 0xb7409f5e in clone () from /lib/tls/i686/cmov/libc.so.6&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb773d7a2 in ippInit () from /tmp/myProject/lib/libmylib.so.2&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb773d7a2 &amp;lt;ippInit+2&amp;gt;: sub&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1c,%esp&lt;BR /&gt;
	(gdb) bt&lt;BR /&gt;
	#0&amp;nbsp; 0xb773d7a2 in ippInit () from /tmp/myProject/lib/libmylib.so.2&lt;BR /&gt;
	#1&amp;nbsp; 0xb3dd26e0 in ippiConvert_8u16u_C1R () from /tmp/myProject/lib/libmyOtherlib.so&lt;BR /&gt;
	#2&amp;nbsp; 0xb3a68033 in mv::CFltFormatConvert::Mono8ToMono16 (pSrcLayout2D=0x8d004a9e, pDstLayout2D=0x918b100c, roiWidth=52516, roiHeight=1083286783, lshift=-402652998)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; at /home/mvimpact/buildAgent/SSD/work/c37cf376f6077594/DriverBase/FilterFormatConvert.cpp:2934&lt;BR /&gt;
	#3&amp;nbsp; 0xdfba5800 in ?? ()&lt;BR /&gt;
	Backtrace stopped: previous frame inner to this frame (corrupt stack?)&lt;BR /&gt;
	(gdb)&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Wed, 24 Oct 2018 09:50:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073241#M24581</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-10-24T09:50:00Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073242#M24582</link>
      <description>&lt;P&gt;Hi Stefan,&lt;/P&gt;

&lt;P&gt;as I see from your trace - you don't call ippInit() explicitly, the first IPP function call is&amp;nbsp;in ippiConvert_8u16u_C1R (), that initiates implicit initialization. Of course it's interesting to know where points %esp at&amp;nbsp;&lt;/P&gt;

&lt;P&gt;1: x/i $pc&lt;BR /&gt;
	0xb773d7a2 &amp;lt;ippInit+2&amp;gt;: sub&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1c,%esp&lt;BR /&gt;
	because in the previous trace we saw %esp=0x35 (according to gdb) that is impossible - it is wrong address and wrong alignment (any push/pop must be aligned at least on 4-byte boundary), and the previous&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;0xb76b62c3 &amp;lt;ipp_is_GenuineIntel+46&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ecx&lt;/SPAN&gt;&lt;BR style="font-size: 12px;" /&gt;
	was successful.&lt;/P&gt;

&lt;P&gt;I have 2 proposals:&lt;/P&gt;

&lt;P&gt;1) try to call ippInit() explicitly at the very beginning of your application, before any threading. May be this will help.&lt;/P&gt;

&lt;P&gt;2) set a breakpoint in ippInit() at the address where ipp_is_GenuineIntel() is called and skip this call (set pc = the next instruction after this call) - it is interesting to understand where is the root of this issue.&lt;/P&gt;

&lt;P&gt;regards, Igor&lt;/P&gt;</description>
      <pubDate>Wed, 24 Oct 2018 19:48:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073242#M24582</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-24T19:48:55Z</dc:date>
    </item>
    <item>
      <title>Hi Igor,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073243#M24583</link>
      <description>&lt;P&gt;Hi Igor,&lt;/P&gt;

&lt;P&gt;I did a couple of tests again:&lt;/P&gt;

&lt;P&gt;- I can call ippInit in any of my threads and the main thread as many times as I want. These work and don't change the behaviour&lt;/P&gt;

&lt;P&gt;- I deliberately removed all direct ippInit calls some years back as it was recommended in one of your release notes&lt;BR /&gt;
	- I step through the code ones more and from what I see ippInit is called every times another IPP function gets called&lt;BR /&gt;
	- It doesn't seem to matter which function is called. I tried ippiLShiftC_16u_C1IR, ippiConvert_8u16u_C1R&lt;/P&gt;

&lt;P&gt;Now what I found out:&lt;/P&gt;

&lt;P&gt;As I said I link statically. I have multiple *.so files which are linked with the *.a IPP files. One of these *.so files uses dlopen to load others when the process starts. The problem occurs when a library which has been loaded from this first one calls an IPP function the is NOT ippInit. As you can see from the stack traces even if 'libmyOtherlib.so' calls ippInit the actually symbol that gets called is located in 'libmylib.so' which is the very first library that gets loaded. Once I call the first 'real' IPP function, this symbol gets resolved within the library calling the function but then again internally ippInit gets called in the other initial library. Once this happens the stack gets corrupted.&lt;/P&gt;

&lt;P&gt;I then removed all IPP related code from the initial library and rebuild the project. The problem is gone then!&lt;/P&gt;

&lt;P&gt;I attached some gdb output again:&lt;/P&gt;

&lt;P&gt;Breakpoint 1, 0xb775b740 in ippInit () from /tmp/myProject/lib/libmyLib.so.2&lt;BR /&gt;
	2: x/i $pc&lt;BR /&gt;
	0xb775b740 &amp;lt;ippInit&amp;gt;:&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb775b740 &amp;lt;ippInit&amp;gt;:&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	(gdb) bt&lt;BR /&gt;
	#0&amp;nbsp; 0xb775b740 in ippInit () from /tmp/myProject/lib/libmyLib.so.2&lt;BR /&gt;
	#1&amp;nbsp; 0xb3a83f78 in mv::CFltFormatConvert::Mono8ToMono16 (pSrcLayout2D=0x85a3f9c, pDstLayout2D=0x85ad9ec, roiWidth=1024, roiHeight=1024, lshift=2)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; at /home/mvimpact/buildAgent/SSD/work/c37cf376f6077594/DriverBase/FilterFormatConvert.cpp:2931&lt;BR /&gt;
	#2&amp;nbsp; 0xb3a8489a in mv::CFltFormatConvert::Mono8ToMono16 (this=0x85ad9e8, pSrcLayout2D=0x85a3f9c, pDstLayout2D=0x85ad9ec, lshift=2)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; at /home/mvimpact/buildAgent/SSD/work/c37cf376f6077594/DriverBase/FilterFormatConvert.cpp:2981&lt;BR /&gt;
	// stack frames 1 - 2 are referring to code that resides in libmyOtherlib.so&lt;BR /&gt;
	// more stack data here (still correct)&lt;BR /&gt;
	#26 0xb733d4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0&lt;BR /&gt;
	#27 0xb7427f5e in clone () from /lib/tls/i686/cmov/libc.so.6&lt;BR /&gt;
	(gdb) i r&lt;BR /&gt;
	eax&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;BR /&gt;
	ecx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;
	edx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb3012914&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -1291769580&lt;BR /&gt;
	ebx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb42985a4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -1272347228&lt;BR /&gt;
	esp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb30129ac&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb30129ac&lt;BR /&gt;
	ebp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb3012b08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb3012b08&lt;BR /&gt;
	esi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x400&amp;nbsp;&amp;nbsp;&amp;nbsp; 1024&lt;BR /&gt;
	edi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x400&amp;nbsp;&amp;nbsp;&amp;nbsp; 1024&lt;BR /&gt;
	eip&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb775b740&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb775b740 &amp;lt;ippInit&amp;gt;&lt;BR /&gt;
	eflags&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x200246 [ PF ZF IF ID ]&lt;BR /&gt;
	cs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 115&lt;BR /&gt;
	ss&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 123&lt;BR /&gt;
	ds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 123&lt;BR /&gt;
	es&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x7b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 123&lt;BR /&gt;
	fs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;
	gs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 51&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb775b741 in ippInit () from /tmp/myProject/lib/libmyLib.so.2&lt;BR /&gt;
	2: x/i $pc&lt;BR /&gt;
	0xb775b741 &amp;lt;ippInit+1&amp;gt;: push&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb775b741 &amp;lt;ippInit+1&amp;gt;: push&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	(gdb) disass&lt;BR /&gt;
	Dump of assembler code for function ippInit:&lt;BR /&gt;
	0xb775b740 &amp;lt;ippInit+0&amp;gt;: push&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	0xb775b741 &amp;lt;ippInit+1&amp;gt;: push&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	0xb775b742 &amp;lt;ippInit+2&amp;gt;: sub&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1c,%esp&lt;BR /&gt;
	0xb775b745 &amp;lt;ippInit+5&amp;gt;: call&amp;nbsp;&amp;nbsp; 0xb775b74a &amp;lt;ippInit+10&amp;gt;&lt;BR /&gt;
	0xb775b74a &amp;lt;ippInit+10&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	0xb775b74b &amp;lt;ippInit+11&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x446f2(%ebx),%ebx&lt;BR /&gt;
	0xb775b751 &amp;lt;ippInit+17&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lea&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8(%esp),%eax&lt;BR /&gt;
	0xb775b755 &amp;lt;ippInit+21&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; $0x0&lt;BR /&gt;
	0xb775b757 &amp;lt;ippInit+23&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push&amp;nbsp;&amp;nbsp; %eax&lt;BR /&gt;
	0xb775b758 &amp;lt;ippInit+24&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0xb76ff89c &amp;lt;ippGetCpuFeatures@plt&amp;gt;&lt;BR /&gt;
	0xb775b75d &amp;lt;ippInit+29&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test&amp;nbsp;&amp;nbsp; %eax,%eax&lt;BR /&gt;
	0xb775b75f &amp;lt;ippInit+31&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; je&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xb775b77f &amp;lt;ippInit+63&amp;gt;&lt;BR /&gt;
	0xb775b761 &amp;lt;ippInit+33&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; -0xe4(%ebx),%eax&lt;BR /&gt;
	0xb775b767 &amp;lt;ippInit+39&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movq&amp;nbsp;&amp;nbsp; -0x1c6bc(%ebx),%xmm0&lt;BR /&gt;
	0xb775b76f &amp;lt;ippInit+47&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movq&amp;nbsp;&amp;nbsp; %xmm0,(%esp)&lt;BR /&gt;
	0xb775b774 &amp;lt;ippInit+52&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movl&amp;nbsp;&amp;nbsp; $0x0,(%eax)&lt;BR /&gt;
	0xb775b77a &amp;lt;ippInit+58&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0xb76ff07c &amp;lt;ippSetCpuFeaturesMask@plt&amp;gt;&lt;BR /&gt;
	0xb775b77f &amp;lt;ippInit+63&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movq&amp;nbsp;&amp;nbsp; 0x10(%esp),%xmm0&lt;BR /&gt;
	0xb775b785 &amp;lt;ippInit+69&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movq&amp;nbsp;&amp;nbsp; %xmm0,(%esp)&lt;BR /&gt;
	0xb775b78a &amp;lt;ippInit+74&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0xb770246c &amp;lt;ippSetCpuFeatures@plt&amp;gt;&lt;BR /&gt;
	0xb775b78f &amp;lt;ippInit+79&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; %eax,%ebp&lt;BR /&gt;
	0xb775b791 &amp;lt;ippInit+81&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;&amp;nbsp; 0xb7702eec &amp;lt;ipp_is_GenuineIntel@plt&amp;gt;&lt;BR /&gt;
	0xb775b796 &amp;lt;ippInit+86&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x14,%edx&lt;BR /&gt;
	0xb775b79b &amp;lt;ippInit+91&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test&amp;nbsp;&amp;nbsp; %eax,%eax&lt;BR /&gt;
	0xb775b79d &amp;lt;ippInit+93&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmove&amp;nbsp; %edx,%ebp&lt;BR /&gt;
	0xb775b7a0 &amp;lt;ippInit+96&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebp,%eax&lt;BR /&gt;
	0xb775b7a2 &amp;lt;ippInit+98&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x24,%esp&lt;BR /&gt;
	0xb775b7a5 &amp;lt;ippInit+101&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebp&lt;BR /&gt;
	0xb775b7a6 &amp;lt;ippInit+102&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pop&amp;nbsp;&amp;nbsp;&amp;nbsp; %ebx&lt;BR /&gt;
	0xb775b7a7 &amp;lt;ippInit+103&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	0xb775b7a8 &amp;lt;ippInit+104&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nopl&amp;nbsp;&amp;nbsp; 0x0(%eax,%eax,1)&lt;BR /&gt;
	0xb775b7b0 &amp;lt;ippInit+112&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nopl&amp;nbsp;&amp;nbsp; 0x0(%eax)&lt;BR /&gt;
	0xb775b7b7 &amp;lt;ippInit+119&amp;gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nopw&amp;nbsp;&amp;nbsp; 0x0(%eax,%eax,1)&lt;BR /&gt;
	End of assembler dump.&lt;BR /&gt;
	(gdb) si&lt;BR /&gt;
	0xb775b742 in ippInit () from /tmp/myProject/lib/libmyLib.so.2&lt;BR /&gt;
	2: x/i $pc&lt;BR /&gt;
	0xb775b742 &amp;lt;ippInit+2&amp;gt;: sub&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1c,%esp&lt;BR /&gt;
	1: x/i $pc&lt;BR /&gt;
	0xb775b742 &amp;lt;ippInit+2&amp;gt;: sub&amp;nbsp;&amp;nbsp;&amp;nbsp; $0x1c,%esp&lt;BR /&gt;
	(gdb) bt&lt;BR /&gt;
	#0&amp;nbsp; 0xb775b742 in ippInit () from /tmp/myProject/lib/libmyLib.so.2&lt;BR /&gt;
	#1&amp;nbsp; 0xb3a83f78 in mv::CFltFormatConvert::Mono8ToMono16 (pSrcLayout2D=Cannot access memory at address 0x1c&lt;BR /&gt;
	) at /home/mvimpact/buildAgent/SSD/work/c37cf376f6077594/DriverBase/FilterFormatConvert.cpp:2931&lt;BR /&gt;
	Backtrace stopped: previous frame inner to this frame (corrupt stack?)&lt;BR /&gt;
	(gdb)&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Oct 2018 10:35:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073243#M24583</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-10-26T10:35:20Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073244#M24584</link>
      <description>&lt;P&gt;Hi Stefan,&lt;/P&gt;

&lt;P&gt;I don't understand the last lines of gdb output "Cannot access memory at address 0x1c". (which instruction tries to access 0x1c address?) When you use IPP merged libraries - you use IPP static dispatcher. It selects the most relevant code path for you cpu. Algorithm is rather easy: we have one global variable&amp;nbsp;&lt;/P&gt;

&lt;P&gt;extern int ippJumpIndexForMergedLibs;&lt;/P&gt;

&lt;P&gt;initially it is set to (-1). And for each interface function we have a table that consists of addresses of this function optimized for different architectures:&lt;/P&gt;

&lt;P&gt;idx&amp;nbsp; &amp;nbsp; &amp;nbsp;address&lt;/P&gt;

&lt;P&gt;-1: opt_init()&lt;/P&gt;

&lt;P&gt;0: opt_w7()&lt;/P&gt;

&lt;P&gt;1: opt_s8()&lt;/P&gt;

&lt;P&gt;etc...&lt;/P&gt;

&lt;P&gt;therefore, if library is not initialized,&amp;nbsp;&lt;SPAN style="font-size: 13.008px;"&gt;&amp;nbsp;ippJumpIndexForMergedLibs = -1, than dispatcher calls function with index (-1) - opt_init(). This function calls ippInit(). ippInit() sets&amp;nbsp;&amp;nbsp;ippJumpIndexForMergedLibs to the correct value that corresponds to cpu features. Then it calls the same function from the same table with this new index. Each next any IPP function call will lead to the direct call of the most suitable optimization for called function as&amp;nbsp;&amp;nbsp;ippJumpIndexForMergedLibs has value &amp;gt;= 0 (remember - only (-1) leads to call of ippInit()). Something is wrong in your linkage if ippInit is called more than once - it means that you have several copies of ippCore (don't know where - in different *.so?). You can perform an experiment - just define&amp;nbsp;extern int ippJumpIndexForMergedLibs; and set it to 0 (w7 code - corresponds to SSE2 cpu - the lowest we support) before any first call to any IPP function. If ippInit() still will be called in your application within a call to any IPP function - than it means that something is wrong in your linkage step.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;regards, Igor&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Oct 2018 17:11:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073244#M24584</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-30T17:11:39Z</dc:date>
    </item>
    <item>
      <title>Hi Igor,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073245#M24585</link>
      <description>&lt;P&gt;Hi Igor,&lt;/P&gt;

&lt;P&gt;I did the experiment you suggested but it didn't change anything. I verified that the variable was -1 before I modified it. I set it to 0 as you suggested but afterwards the very same thing happens.&lt;/P&gt;

&lt;P&gt;I so far do not see what could be wrong with the way I link my code. You are absolutely correct: There are several *.so files which I create and a couple of these link the static versions of the IPP. As all the *.so files use different portions of the IPP functions I cannot see how this could be done differently (apart from linking dynamically but then the size of the stuff I need to ship explodes as the IPP is really large). And apart from that there could also be another third party library doing exactly the same thing. When used in the same process this then could never work. Please also note that this is just happening with some versions of the IPP and only on 32.bit platforms. However this could of course be a silly random coincidence. I currently have problems with IPP 2019.0 but e.g. 2018.3 works just fine!&lt;/P&gt;

&lt;P&gt;And yes: The ippInit function is called within the first library loaded that contains ipp related code and the ipp function eventually creating the endless loop is located in a different *.so. It then internally jumps to the ippInit in the initial *.so. But is there anything I can do to change this?&lt;/P&gt;

&lt;P&gt;Regards,&lt;/P&gt;

&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Wed, 31 Oct 2018 15:57:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073245#M24585</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-10-31T15:57:00Z</dc:date>
    </item>
    <item>
      <title>Hi Stefan,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073246#M24586</link>
      <description>&lt;P&gt;Hi Stefan,&lt;/P&gt;&lt;P&gt;if you have at least 2 *.so libs with linked-in IPP, even different domains/functions - all they are dependent on ippCore library. This means that you have at least 2 instances of Core in different *.so. I don't know linker logic in this case - which instance of Core lib in which call is accessed. I have one more proposal for you - to put all IPP functionalities you use into one single *.so library - we provide special tool for this. Just create an "export def" file with all functions you are going to use and apply "Intel® Integrated Performance Primitives&amp;nbsp;Custom Library Tool". You'll get a small dynamic library with only functions you use. And it will have only one instance of ippCore library.&lt;/P&gt;&lt;P&gt;Regarding the previous experiment: it means that you&amp;nbsp;changed&amp;nbsp;ippJumpIndexForMergedLibs (global dispatcher index) for one instance of the ippCore library, but for another one it doesn't work -&amp;nbsp;it has&amp;nbsp;it's own global index with the same name and as it is not initialized (==-1) - ippInit() is called. ippInit() can't be called implicitly if the global index is &amp;gt;= 0.&amp;nbsp;&lt;/P&gt;&lt;P&gt;regards, Igor&lt;/P&gt;</description>
      <pubDate>Wed, 31 Oct 2018 19:59:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073246#M24586</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-31T19:59:10Z</dc:date>
    </item>
    <item>
      <title>please take a look at the</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073247#M24587</link>
      <description>&lt;P&gt;please take a look at the attached scheme - it is for Intel64 arch - but logic is absolutely the same as for ia32.&lt;/P&gt;&lt;P&gt;regards, Igor.&lt;/P&gt;</description>
      <pubDate>Wed, 31 Oct 2018 20:07:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073247#M24587</guid>
      <dc:creator>Igor_A_Intel</dc:creator>
      <dc:date>2018-10-31T20:07:29Z</dc:date>
    </item>
    <item>
      <title>Dear Igor,</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073248#M24588</link>
      <description>&lt;P&gt;Dear Igor,&lt;/P&gt;&lt;P&gt;to resolve this topic: I did follow your instructions and switched to build a custom library. This did indeed fix this issue!&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Fri, 30 Nov 2018 13:04:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-2017-running-on-Linux-Ubuntu-8-04-32-bit/m-p/1073248#M24588</guid>
      <dc:creator>Stefan_B_3</dc:creator>
      <dc:date>2018-11-30T13:04:48Z</dc:date>
    </item>
  </channel>
</rss>

