- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
we build nginx with ipp zlib, when we hot-restart or reload nginx, some old workers would stucked and not quit, it seems that worker had fallen into infinite loop,the back trace of this process show it was running near the ipp, so may be it is a bug of ipp.
by the way, if this is a bug of ipp, do we have to buy a license to get the latest version without this bug?
thanks
back trace:
top command:
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What IPP version do you use now? Is this issue not seen when nginx built with original zlib?
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey Khlystov (Intel) wrote:
What IPP version do you use now? Is this issue not seen when nginx built with original zlib?
Thank you.
i'm not sure what exactly version when i downloaded, but i find the version info in include/ippversion.h is 2018.0.2,intel 64bit can this identify the version?
zlib version is 1.2.8
yes, we don't seen this issue when use the original system libz.so
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, Kevin for your report.
Does this issue only happen with nginx, with some input specific data? To further investigate this issue, we need to have reproducer for the problem. Do you have any suggestion to create some simple code to show this issue? It looks the testing environment is a bit complex there.
regards,
Chao
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Recently, we have tried to reproduce this problem in a small set of servers. In about one week, it just reproduce once, and we haven't found out how to reproduce exactly, but we have kept this environment and can gdb into this process, is this usable to analyze this problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Chao Y (Intel) wrote:Thanks, Kevin for your report.
Does this issue only happen with nginx, with some input specific data? To further investigate this issue, we need to have reproducer for the problem. Do you have any suggestion to create some simple code to show this issue? It looks the testing environment is a bit complex there.
regards,
Chao
Recently, we have tried to reproduce this problem in a small set of servers. In about one week, it just reproduce once, and we haven't found out how to reproduce exactly, but we have kept this environment and can gdb into this process, is this usable to analyze this problem?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gu, Kevin wrote:Quote:
Recently, we have tried to reproduce this problem in a small set of servers. In about one week, it just reproduce once, and we haven't found out how to reproduce exactly, but we have kept this environment and can gdb into this process, is this usable to analyze this problem?
Thanks
What does it mean "have kept this environment and can gdb..."? Do you mean Linux "core" file, or anything else? I am asking this to estimate possibility to reproduce the issue locally at our side, or at least to look around looping function using gdb.
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey Khlystov (Intel) wrote:Quote:
Gu, Kevin wrote:
Quote:
Recently, we have tried to reproduce this problem in a small set of servers. In about one week, it just reproduce once, and we haven't found out how to reproduce exactly, but we have kept this environment and can gdb into this process, is this usable to analyze this problem?
Thanks
What does it mean "have kept this environment and can gdb..."? Do you mean Linux "core" file, or anything else? I am asking this to estimate possibility to reproduce the issue locally at our side, or at least to look around looping function using gdb.
Regards
Hi, Sergey
Sorry about my english.
"have kept this environment and can gdb...", It means: this time, we kept this process without kill it, so we can attach to this process to see the bt and other information in any time. Because this dead loop process would hurt our services, so we need to kill it when we find this kind of abnormal process.
Sorry to to correct my desc before: this problem is not reproduced when nginx hot-restart or reload, but happened when nginx is serving.
We reproduced this problem with nginx 1.12.2/lua-nginx-module-0.10.11/zlib_1.2.8/ipp_2018.0.2_64bit, it takes serveral days and a lot of traffic in about 100 nginx instance(800 workers), I'm not sure if it is relavant to traffic.
Or
Our abnormal nginx worker is still running, but we have isolated it, if you need some disassemble or registers info, please let me know.
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Kevin,
Sorry about your worker running, we didn't know about this kind of environment freeze)). First, we'd like to know the loop where the control is running. There's the following tree of calls:
<outer function/application>
Zlib's "inflate" function
ippsInflateBuildHuffTable_8u
ippsInflate_8u
ownInflateShort_8u
ownDecodeLZ77DHF_HotSpot
In the GDB the function names could have preffix "l9_*" which simply means that they are for AVX2/64-bit instruction set.
Could you (stepping with GDB) determine in which function the looping is happened? Using "stepi", "finish" or other GDB commands. Are we looping within IPP functions, or we return back to Zlib "inflate" and even upper? We don't expect that there is much data which the functions work with. Also, it can be interesting the return value upon ownDecodeLZ77DHF_HotSpot function return, i.e. content of RAX register.
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey Khlystov (Intel) wrote:Hi Kevin,
Sorry about your worker running, we didn't know about this kind of environment freeze)). First, we'd like to know the loop where the control is running. There's the following tree of calls:
<outer function/application>
Zlib's "inflate" function
ippsInflateBuildHuffTable_8u
ippsInflate_8u
ownInflateShort_8u
ownDecodeLZ77DHF_HotSpotIn the GDB the function names could have preffix "l9_*" which simply means that they are for AVX2/64-bit instruction set.
Could you (stepping with GDB) determine in which function the looping is happened? Using "stepi", "finish" or other GDB commands. Are we looping within IPP functions, or we return back to Zlib "inflate" and even upper? We don't expect that there is much data which the functions work with. Also, it can be interesting the return value upon ownDecodeLZ77DHF_HotSpot function return, i.e. content of RAX register.
Regards
Hi Sergey,
I tried to step into the process, and execute 'finish' command to see the return value of l9_ownDecodeLZ77DHF_HotSpot, but it never exit with the return value, like this:
(gdb) finish
Run till exit from #0 0x00000000007d61e8 in l9_ownDecodeLZ77DHF_HotSpot ()
^C
Program received signal SIGINT, Interrupt.
0x00000000007d5fd3 in l9_ownDecodeLZ77DHF_HotSpot ()
Then I executed command with stepi, and found the process may be dead loop between '0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>: and %r12,%rax' and '0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>: jg 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>'.
Here is the history of my operations:
(gdb) display/i $pc
1: x/i $pc
=> 0x7d61df <l9_ownDecodeLZ77DHF_HotSpot+671>: mov $0x3ff,%eax
(gdb) stepi
0x00000000007d61e4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e4 <l9_ownDecodeLZ77DHF_HotSpot+676>: cmp $0x0,%r10d
(gdb) stepi
0x00000000007d61e8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>: jg 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
(gdb)
0x00000000007d5fc8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>: and %r12,%rax
(gdb)
0x00000000007d5fcb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fcb <l9_ownDecodeLZ77DHF_HotSpot+139>: movzbl 0x600(%rbp,%rax,1),%ecx
(gdb)
0x00000000007d5fd3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd3 <l9_ownDecodeLZ77DHF_HotSpot+147>: movzbl 0x0(%rbp,%rax,1),%ebx
(gdb)
0x00000000007d5fd8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd8 <l9_ownDecodeLZ77DHF_HotSpot+152>: mov %ecx,%eax
(gdb)
0x00000000007d5fda in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fda <l9_ownDecodeLZ77DHF_HotSpot+154>: and $0xf,%ecx
(gdb)
0x00000000007d5fdd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fdd <l9_ownDecodeLZ77DHF_HotSpot+157>: cmp $0xa,%ecx
(gdb)
0x00000000007d5fe0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe0 <l9_ownDecodeLZ77DHF_HotSpot+160>: jg 0x7d623d <l9_ownDecodeLZ77DHF_HotSpot+765>
(gdb)
0x00000000007d5fe6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe6 <l9_ownDecodeLZ77DHF_HotSpot+166>: sub %ecx,%edx
(gdb)
0x00000000007d5fe8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe8 <l9_ownDecodeLZ77DHF_HotSpot+168>: shrx %rcx,%r12,%r12
(gdb)
0x00000000007d5fed in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fed <l9_ownDecodeLZ77DHF_HotSpot+173>: test $0x80,%eax
(gdb)
0x00000000007d5ff2 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5ff2 <l9_ownDecodeLZ77DHF_HotSpot+178>: je 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>
(gdb)
0x00000000007d61a5 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>: and $0x70,%eax
(gdb)
0x00000000007d61a8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a8 <l9_ownDecodeLZ77DHF_HotSpot+616>: jne 0x7d65a0 <l9_ownDecodeLZ77DHF_HotSpot+1632>
(gdb)
0x00000000007d61ae in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ae <l9_ownDecodeLZ77DHF_HotSpot+622>: mov %bl,(%rdi)
(gdb)
0x00000000007d61b0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b0 <l9_ownDecodeLZ77DHF_HotSpot+624>: add $0x1,%r9d
(gdb)
0x00000000007d61b4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b4 <l9_ownDecodeLZ77DHF_HotSpot+628>: sub $0x1,%r10d
(gdb)
0x00000000007d61b8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b8 <l9_ownDecodeLZ77DHF_HotSpot+632>: add $0x1,%rdi
(gdb)
0x00000000007d61bc in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61bc <l9_ownDecodeLZ77DHF_HotSpot+636>: mov $0x40,%ecx
(gdb)
0x00000000007d61c1 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c1 <l9_ownDecodeLZ77DHF_HotSpot+641>: shlx %rdx,(%rsi),%r13
(gdb)
0x00000000007d61c6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c6 <l9_ownDecodeLZ77DHF_HotSpot+646>: sub %edx,%ecx
(gdb)
0x00000000007d61c8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c8 <l9_ownDecodeLZ77DHF_HotSpot+648>: or %r13,%r12
(gdb)
0x00000000007d61cb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61cb <l9_ownDecodeLZ77DHF_HotSpot+651>: and $0xfffffff8,%ecx
(gdb)
0x00000000007d61ce in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ce <l9_ownDecodeLZ77DHF_HotSpot+654>: add %ecx,%edx
(gdb)
0x00000000007d61d0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d0 <l9_ownDecodeLZ77DHF_HotSpot+656>: shr $0x3,%ecx
(gdb)
0x00000000007d61d3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d3 <l9_ownDecodeLZ77DHF_HotSpot+659>: sub %ecx,%r8d
(gdb)
0x00000000007d61d6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d6 <l9_ownDecodeLZ77DHF_HotSpot+662>: add %rcx,%rsi
(gdb)
0x00000000007d61d9 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d9 <l9_ownDecodeLZ77DHF_HotSpot+665>: cmp $0x8,%r8d
(gdb)
0x00000000007d61dd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61dd <l9_ownDecodeLZ77DHF_HotSpot+669>: jl 0x7d61ee <l9_ownDecodeLZ77DHF_HotSpot+686>
(gdb)
0x00000000007d61df in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61df <l9_ownDecodeLZ77DHF_HotSpot+671>: mov $0x3ff,%eax
(gdb)
0x00000000007d61e4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e4 <l9_ownDecodeLZ77DHF_HotSpot+676>: cmp $0x0,%r10d
(gdb)
0x00000000007d61e8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>: jg 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
(gdb)
0x00000000007d5fc8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>: and %r12,%rax
(gdb) i r
rax 0x3ff 1023
rbx 0x0 0
rcx 0x0 0
rdx 0x3e 62
rsi 0x2f3465c 49497692
rdi 0x7ffd61fca2fe 140726247400190
rbp 0x8c56c0 0x8c56c0 <spec_table_fixed_Huffman>
rsp 0x7ffd61fc9620 0x7ffd61fc9620
r8 0x19 25
r9 0x99e 2462
r10 0x662 1634
r11 0x8c71e0 9204192
r12 0xc7d9d755c7d1de3 900048627932405219
r13 0x0 0
r14 0x0 0
r15 0x0 0
rip 0x7d5fc8 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
eflags 0x202 [ IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) stepi
0x00000000007d5fcb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fcb <l9_ownDecodeLZ77DHF_HotSpot+139>: movzbl 0x600(%rbp,%rax,1),%ecx
(gdb)
0x00000000007d5fd3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd3 <l9_ownDecodeLZ77DHF_HotSpot+147>: movzbl 0x0(%rbp,%rax,1),%ebx
(gdb)
0x00000000007d5fd8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd8 <l9_ownDecodeLZ77DHF_HotSpot+152>: mov %ecx,%eax
(gdb)
0x00000000007d5fda in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fda <l9_ownDecodeLZ77DHF_HotSpot+154>: and $0xf,%ecx
(gdb)
0x00000000007d5fdd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fdd <l9_ownDecodeLZ77DHF_HotSpot+157>: cmp $0xa,%ecx
(gdb)
0x00000000007d5fe0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe0 <l9_ownDecodeLZ77DHF_HotSpot+160>: jg 0x7d623d <l9_ownDecodeLZ77DHF_HotSpot+765>
(gdb)
0x00000000007d5fe6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe6 <l9_ownDecodeLZ77DHF_HotSpot+166>: sub %ecx,%edx
(gdb)
0x00000000007d5fe8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe8 <l9_ownDecodeLZ77DHF_HotSpot+168>: shrx %rcx,%r12,%r12
(gdb)
0x00000000007d5fed in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fed <l9_ownDecodeLZ77DHF_HotSpot+173>: test $0x80,%eax
(gdb)
0x00000000007d5ff2 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5ff2 <l9_ownDecodeLZ77DHF_HotSpot+178>: je 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>
(gdb)
0x00000000007d61a5 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>: and $0x70,%eax
(gdb)
0x00000000007d61a8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a8 <l9_ownDecodeLZ77DHF_HotSpot+616>: jne 0x7d65a0 <l9_ownDecodeLZ77DHF_HotSpot+1632>
(gdb)
0x00000000007d61ae in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ae <l9_ownDecodeLZ77DHF_HotSpot+622>: mov %bl,(%rdi)
(gdb)
0x00000000007d61b0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b0 <l9_ownDecodeLZ77DHF_HotSpot+624>: add $0x1,%r9d
(gdb)
0x00000000007d61b4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b4 <l9_ownDecodeLZ77DHF_HotSpot+628>: sub $0x1,%r10d
(gdb)
0x00000000007d61b8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b8 <l9_ownDecodeLZ77DHF_HotSpot+632>: add $0x1,%rdi
(gdb)
0x00000000007d61bc in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61bc <l9_ownDecodeLZ77DHF_HotSpot+636>: mov $0x40,%ecx
(gdb)
0x00000000007d61c1 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c1 <l9_ownDecodeLZ77DHF_HotSpot+641>: shlx %rdx,(%rsi),%r13
(gdb)
0x00000000007d61c6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c6 <l9_ownDecodeLZ77DHF_HotSpot+646>: sub %edx,%ecx
(gdb)
0x00000000007d61c8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c8 <l9_ownDecodeLZ77DHF_HotSpot+648>: or %r13,%r12
(gdb)
0x00000000007d61cb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61cb <l9_ownDecodeLZ77DHF_HotSpot+651>: and $0xfffffff8,%ecx
(gdb)
0x00000000007d61ce in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ce <l9_ownDecodeLZ77DHF_HotSpot+654>: add %ecx,%edx
(gdb)
0x00000000007d61d0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d0 <l9_ownDecodeLZ77DHF_HotSpot+656>: shr $0x3,%ecx
(gdb)
0x00000000007d61d3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d3 <l9_ownDecodeLZ77DHF_HotSpot+659>: sub %ecx,%r8d
(gdb)
0x00000000007d61d6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d6 <l9_ownDecodeLZ77DHF_HotSpot+662>: add %rcx,%rsi
(gdb)
0x00000000007d61d9 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d9 <l9_ownDecodeLZ77DHF_HotSpot+665>: cmp $0x8,%r8d
(gdb)
0x00000000007d61dd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61dd <l9_ownDecodeLZ77DHF_HotSpot+669>: jl 0x7d61ee <l9_ownDecodeLZ77DHF_HotSpot+686>
(gdb)
0x00000000007d61df in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61df <l9_ownDecodeLZ77DHF_HotSpot+671>: mov $0x3ff,%eax
(gdb)
0x00000000007d61e4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e4 <l9_ownDecodeLZ77DHF_HotSpot+676>: cmp $0x0,%r10d
(gdb)
0x00000000007d61e8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>: jg 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
(gdb)
0x00000000007d5fc8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>: and %r12,%rax
(gdb) i r
rax 0x3ff 1023
rbx 0x0 0
rcx 0x0 0
rdx 0x3e 62
rsi 0x2f3465c 49497692
rdi 0x7ffd61fca2ff 140726247400191
rbp 0x8c56c0 0x8c56c0 <spec_table_fixed_Huffman>
rsp 0x7ffd61fc9620 0x7ffd61fc9620
r8 0x19 25
r9 0x99f 2463
r10 0x661 1633
r11 0x8c71e0 9204192
r12 0xc7d9d755c7d1de3 900048627932405219
r13 0x0 0
r14 0x0 0
r15 0x0 0
rip 0x7d5fc8 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
eflags 0x202 [ IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) stepi
0x00000000007d5fcb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fcb <l9_ownDecodeLZ77DHF_HotSpot+139>: movzbl 0x600(%rbp,%rax,1),%ecx
(gdb)
0x00000000007d5fd3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd3 <l9_ownDecodeLZ77DHF_HotSpot+147>: movzbl 0x0(%rbp,%rax,1),%ebx
(gdb)
0x00000000007d5fd8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd8 <l9_ownDecodeLZ77DHF_HotSpot+152>: mov %ecx,%eax
(gdb)
0x00000000007d5fda in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fda <l9_ownDecodeLZ77DHF_HotSpot+154>: and $0xf,%ecx
(gdb)
0x00000000007d5fdd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fdd <l9_ownDecodeLZ77DHF_HotSpot+157>: cmp $0xa,%ecx
(gdb)
0x00000000007d5fe0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe0 <l9_ownDecodeLZ77DHF_HotSpot+160>: jg 0x7d623d <l9_ownDecodeLZ77DHF_HotSpot+765>
(gdb)
0x00000000007d5fe6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe6 <l9_ownDecodeLZ77DHF_HotSpot+166>: sub %ecx,%edx
(gdb)
0x00000000007d5fe8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe8 <l9_ownDecodeLZ77DHF_HotSpot+168>: shrx %rcx,%r12,%r12
(gdb)
0x00000000007d5fed in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fed <l9_ownDecodeLZ77DHF_HotSpot+173>: test $0x80,%eax
(gdb)
0x00000000007d5ff2 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5ff2 <l9_ownDecodeLZ77DHF_HotSpot+178>: je 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>
(gdb)
0x00000000007d61a5 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>: and $0x70,%eax
(gdb)
0x00000000007d61a8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a8 <l9_ownDecodeLZ77DHF_HotSpot+616>: jne 0x7d65a0 <l9_ownDecodeLZ77DHF_HotSpot+1632>
(gdb)
0x00000000007d61ae in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ae <l9_ownDecodeLZ77DHF_HotSpot+622>: mov %bl,(%rdi)
(gdb)
0x00000000007d61b0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b0 <l9_ownDecodeLZ77DHF_HotSpot+624>: add $0x1,%r9d
(gdb)
0x00000000007d61b4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b4 <l9_ownDecodeLZ77DHF_HotSpot+628>: sub $0x1,%r10d
(gdb)
0x00000000007d61b8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b8 <l9_ownDecodeLZ77DHF_HotSpot+632>: add $0x1,%rdi
(gdb)
0x00000000007d61bc in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61bc <l9_ownDecodeLZ77DHF_HotSpot+636>: mov $0x40,%ecx
(gdb)
0x00000000007d61c1 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c1 <l9_ownDecodeLZ77DHF_HotSpot+641>: shlx %rdx,(%rsi),%r13
(gdb)
0x00000000007d61c6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c6 <l9_ownDecodeLZ77DHF_HotSpot+646>: sub %edx,%ecx
(gdb)
0x00000000007d61c8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c8 <l9_ownDecodeLZ77DHF_HotSpot+648>: or %r13,%r12
(gdb)
0x00000000007d61cb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61cb <l9_ownDecodeLZ77DHF_HotSpot+651>: and $0xfffffff8,%ecx
(gdb)
0x00000000007d61ce in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ce <l9_ownDecodeLZ77DHF_HotSpot+654>: add %ecx,%edx
(gdb)
0x00000000007d61d0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d0 <l9_ownDecodeLZ77DHF_HotSpot+656>: shr $0x3,%ecx
(gdb)
0x00000000007d61d3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d3 <l9_ownDecodeLZ77DHF_HotSpot+659>: sub %ecx,%r8d
(gdb)
0x00000000007d61d6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d6 <l9_ownDecodeLZ77DHF_HotSpot+662>: add %rcx,%rsi
(gdb)
0x00000000007d61d9 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d9 <l9_ownDecodeLZ77DHF_HotSpot+665>: cmp $0x8,%r8d
(gdb)
0x00000000007d61dd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61dd <l9_ownDecodeLZ77DHF_HotSpot+669>: jl 0x7d61ee <l9_ownDecodeLZ77DHF_HotSpot+686>
(gdb)
0x00000000007d61df in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61df <l9_ownDecodeLZ77DHF_HotSpot+671>: mov $0x3ff,%eax
(gdb)
0x00000000007d61e4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e4 <l9_ownDecodeLZ77DHF_HotSpot+676>: cmp $0x0,%r10d
(gdb)
0x00000000007d61e8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>: jg 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
(gdb)
0x00000000007d5fc8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>: and %r12,%rax
(gdb) i r
rax 0x3ff 1023
rbx 0x0 0
rcx 0x0 0
rdx 0x3e 62
rsi 0x2f3465c 49497692
rdi 0x7ffd61fca300 140726247400192
rbp 0x8c56c0 0x8c56c0 <spec_table_fixed_Huffman>
rsp 0x7ffd61fc9620 0x7ffd61fc9620
r8 0x19 25
r9 0x9a0 2464
r10 0x660 1632
r11 0x8c71e0 9204192
r12 0xc7d9d755c7d1de3 900048627932405219
r13 0x0 0
r14 0x0 0
r15 0x0 0
rip 0x7d5fc8 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
eflags 0x206 [ PF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) stepi
0x00000000007d5fcb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fcb <l9_ownDecodeLZ77DHF_HotSpot+139>: movzbl 0x600(%rbp,%rax,1),%ecx
(gdb)
0x00000000007d5fd3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd3 <l9_ownDecodeLZ77DHF_HotSpot+147>: movzbl 0x0(%rbp,%rax,1),%ebx
(gdb)
0x00000000007d5fd8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fd8 <l9_ownDecodeLZ77DHF_HotSpot+152>: mov %ecx,%eax
(gdb)
0x00000000007d5fda in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fda <l9_ownDecodeLZ77DHF_HotSpot+154>: and $0xf,%ecx
(gdb)
0x00000000007d5fdd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fdd <l9_ownDecodeLZ77DHF_HotSpot+157>: cmp $0xa,%ecx
(gdb)
0x00000000007d5fe0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe0 <l9_ownDecodeLZ77DHF_HotSpot+160>: jg 0x7d623d <l9_ownDecodeLZ77DHF_HotSpot+765>
(gdb)
0x00000000007d5fe6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe6 <l9_ownDecodeLZ77DHF_HotSpot+166>: sub %ecx,%edx
(gdb)
0x00000000007d5fe8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fe8 <l9_ownDecodeLZ77DHF_HotSpot+168>: shrx %rcx,%r12,%r12
(gdb)
0x00000000007d5fed in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5fed <l9_ownDecodeLZ77DHF_HotSpot+173>: test $0x80,%eax
(gdb)
0x00000000007d5ff2 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d5ff2 <l9_ownDecodeLZ77DHF_HotSpot+178>: je 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>
(gdb)
0x00000000007d61a5 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a5 <l9_ownDecodeLZ77DHF_HotSpot+613>: and $0x70,%eax
(gdb)
0x00000000007d61a8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61a8 <l9_ownDecodeLZ77DHF_HotSpot+616>: jne 0x7d65a0 <l9_ownDecodeLZ77DHF_HotSpot+1632>
(gdb)
0x00000000007d61ae in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ae <l9_ownDecodeLZ77DHF_HotSpot+622>: mov %bl,(%rdi)
(gdb)
0x00000000007d61b0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b0 <l9_ownDecodeLZ77DHF_HotSpot+624>: add $0x1,%r9d
(gdb)
0x00000000007d61b4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b4 <l9_ownDecodeLZ77DHF_HotSpot+628>: sub $0x1,%r10d
(gdb)
0x00000000007d61b8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61b8 <l9_ownDecodeLZ77DHF_HotSpot+632>: add $0x1,%rdi
(gdb)
0x00000000007d61bc in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61bc <l9_ownDecodeLZ77DHF_HotSpot+636>: mov $0x40,%ecx
(gdb)
0x00000000007d61c1 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c1 <l9_ownDecodeLZ77DHF_HotSpot+641>: shlx %rdx,(%rsi),%r13
(gdb)
0x00000000007d61c6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c6 <l9_ownDecodeLZ77DHF_HotSpot+646>: sub %edx,%ecx
(gdb)
0x00000000007d61c8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61c8 <l9_ownDecodeLZ77DHF_HotSpot+648>: or %r13,%r12
(gdb)
0x00000000007d61cb in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61cb <l9_ownDecodeLZ77DHF_HotSpot+651>: and $0xfffffff8,%ecx
(gdb)
0x00000000007d61ce in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61ce <l9_ownDecodeLZ77DHF_HotSpot+654>: add %ecx,%edx
(gdb)
0x00000000007d61d0 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d0 <l9_ownDecodeLZ77DHF_HotSpot+656>: shr $0x3,%ecx
(gdb)
0x00000000007d61d3 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d3 <l9_ownDecodeLZ77DHF_HotSpot+659>: sub %ecx,%r8d
(gdb)
0x00000000007d61d6 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d6 <l9_ownDecodeLZ77DHF_HotSpot+662>: add %rcx,%rsi
(gdb)
0x00000000007d61d9 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61d9 <l9_ownDecodeLZ77DHF_HotSpot+665>: cmp $0x8,%r8d
(gdb)
0x00000000007d61dd in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61dd <l9_ownDecodeLZ77DHF_HotSpot+669>: jl 0x7d61ee <l9_ownDecodeLZ77DHF_HotSpot+686>
(gdb)
0x00000000007d61df in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61df <l9_ownDecodeLZ77DHF_HotSpot+671>: mov $0x3ff,%eax
(gdb)
0x00000000007d61e4 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e4 <l9_ownDecodeLZ77DHF_HotSpot+676>: cmp $0x0,%r10d
(gdb)
0x00000000007d61e8 in l9_ownDecodeLZ77DHF_HotSpot ()
1: x/i $pc
=> 0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>: jg 0x7d5fc8 <l9_ownDecodeLZ77DHF_HotSpot+136>
(gdb) i r
rax 0x3ff 1023
rbx 0x0 0
rcx 0x0 0
rdx 0x3e 62
rsi 0x2f3465c 49497692
rdi 0x7ffd61fca301 140726247400193
rbp 0x8c56c0 0x8c56c0 <spec_table_fixed_Huffman>
rsp 0x7ffd61fc9620 0x7ffd61fc9620
r8 0x19 25
r9 0x9a1 2465
r10 0x65f 1631
r11 0x8c71e0 9204192
r12 0xc7d9d755c7d1de3 900048627932405219
r13 0x0 0
r14 0x0 0
r15 0x0 0
rip 0x7d61e8 0x7d61e8 <l9_ownDecodeLZ77DHF_HotSpot+680>
eflags 0x206 [ PF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
I'm not familiar with disassembly instruction and don't know what the meaning of this pieces code. Sorry.
If you need to know the registers value of other step, let me know.
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Could you write to "sergey.khlystov@intel.com" ? The discussion can be lengthy and I don't want to mess in the forum.
Regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, i have submitted a support ticket,
https://supporttickets.intel.com/requestdetail?casenumber=03836859&lang=en-US
Chao Y (Intel) wrote:Hi Keven,
We need to get some reproducer to further investigate the problem. We have a private support channel to submit the support ticket.Attached is the process you can follow. We will work with you with further investigation there.
thanks,
Chao
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page