Bug#813529: gdk-pixbuf: endless loop in pixops_process
Marc Lehmann
debian-reportbug at plan9.de
Tue Feb 2 20:00:34 UTC 2016
Source: gdk-pixbuf
Version: 2.32.3-1
Severity: normal
Dear Maintainer,
A (perl) script of mine that does a lot of image resizing with gdk-pixbuf
started to freeze a while ago. I tracked it down to gdk_pixbuf_scale never
returning. it happens rather randomly, but usually when a very large image
(thousands x thousands) is scaled to a small size (e.g. 16x16).
This almost certainly started after upgrading from some older version,
very likely from jessie.
The reason why I suspect it is gdk-pixbuf is that the script worked for
years without these freezes, and there is a correlation between upgrading
the pixbuf package.
A backtrace looks as follws:
(gdb) bt
#0 0x0000003a41216084 in pixops_process () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#1 0x0000003a41216be4 in _pixops_scale () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#2 0x0000003a4120e7b9 in gdk_pixbuf_scale () from /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
#3 0x00007fffee9cb045 in XS_Gtk2__Gdk__Pixbuf_scale () from /opt/perl/lib/perl5/auto/Gtk2/Gtk2.so
#4 0x0000000000000002 in ?? ()
#5 0x00007fffee9cb00b in XS_Gtk2__Gdk__Pixbuf_scale () from /opt/perl/lib/perl5/auto/Gtk2/Gtk2.so
#6 0x0000000000000000 in ?? ()
Using "fin" to get out of pixops_process never returns (even after
minutes), so it looks liked an endless loop in pixops_process.
I toyed around with it, and found it regularly reaches insn
0x0000003a41216099, but not insn 0x3a412160ac, and $ecx always contains
the same value (in the most recent case, -20504) at the jump just before
the latter insn.
A disassembly follows, for reference:
Dump of assembler code for function pixops_process:
0x0000003a41215d40 <+0>: push %r15
0x0000003a41215d42 <+2>: push %r14
0x0000003a41215d44 <+4>: push %r13
0x0000003a41215d46 <+6>: push %r12
0x0000003a41215d48 <+8>: push %rbp
0x0000003a41215d49 <+9>: push %rbx
0x0000003a41215d4a <+10>: sub $0x108,%rsp
0x0000003a41215d51 <+17>: mov 0x140(%rsp),%eax
0x0000003a41215d58 <+24>: mov %eax,0x24(%rsp)
0x0000003a41215d5c <+28>: mov 0x148(%rsp),%eax
0x0000003a41215d63 <+35>: mov %eax,0x2c(%rsp)
0x0000003a41215d67 <+39>: mov 0x150(%rsp),%rax
0x0000003a41215d6f <+47>: mov %rax,0x60(%rsp)
0x0000003a41215d74 <+52>: mov 0x158(%rsp),%eax
0x0000003a41215d7b <+59>: mov %eax,0x28(%rsp)
0x0000003a41215d7f <+63>: mov 0x160(%rsp),%eax
0x0000003a41215d86 <+70>: mov %eax,0x68(%rsp)
0x0000003a41215d8a <+74>: mov 0x168(%rsp),%eax
0x0000003a41215d91 <+81>: mov %eax,0x98(%rsp)
0x0000003a41215d98 <+88>: mov 0x170(%rsp),%eax
0x0000003a41215d9f <+95>: mov %eax,0x30(%rsp)
0x0000003a41215da3 <+99>: mov 0x178(%rsp),%eax
0x0000003a41215daa <+106>: mov %eax,0x34(%rsp)
0x0000003a41215dae <+110>: mov 0x180(%rsp),%eax
0x0000003a41215db5 <+117>: mov %eax,0x6c(%rsp)
0x0000003a41215db9 <+121>: mov 0x188(%rsp),%eax
0x0000003a41215dc0 <+128>: mov %eax,0xe8(%rsp)
0x0000003a41215dc7 <+135>: mov 0x190(%rsp),%eax
0x0000003a41215dce <+142>: mov %eax,0x20(%rsp)
0x0000003a41215dd2 <+146>: mov 0x198(%rsp),%eax
0x0000003a41215dd9 <+153>: mov %eax,0x90(%rsp)
0x0000003a41215de0 <+160>: mov 0x1a0(%rsp),%eax
0x0000003a41215de7 <+167>: mov %eax,0x94(%rsp)
0x0000003a41215dee <+174>: movsd 0x625a(%rip),%xmm2 # 0x3a4121c050
0x0000003a41215df6 <+182>: mov 0x1b0(%rsp),%rax
0x0000003a41215dfe <+190>: mov 0x1a8(%rsp),%rbp
0x0000003a41215e06 <+198>: movapd %xmm2,%xmm5
0x0000003a41215e0a <+202>: movsd %xmm2,(%rsp)
0x0000003a41215e0f <+207>: divsd %xmm0,%xmm5
0x0000003a41215e13 <+211>: movapd %xmm2,%xmm0
0x0000003a41215e17 <+215>: mov %rax,0xf0(%rsp)
0x0000003a41215e1f <+223>: mov 0x1b8(%rsp),%rax
0x0000003a41215e27 <+231>: mov %rax,0x40(%rsp)
0x0000003a41215e2c <+236>: divsd %xmm1,%xmm0
0x0000003a41215e30 <+240>: cvttsd2si %xmm5,%rax
0x0000003a41215e35 <+245>: test %rax,%rax
0x0000003a41215e38 <+248>: mov %rax,0x10(%rsp)
0x0000003a41215e3d <+253>: cvttsd2si %xmm0,%rbx
0x0000003a41215e42 <+258>: mov %rbx,0x70(%rsp)
0x0000003a41215e47 <+263>: je 0x3a41216660 <pixops_process+2336>
0x0000003a41215e4d <+269>: test %rbx,%rbx
0x0000003a41215e50 <+272>: je 0x3a41216660 <pixops_process+2336>
0x0000003a41215e56 <+278>: mov 0x0(%rbp),%ebx
0x0000003a41215e59 <+281>: mov 0x18(%rbp),%eax
0x0000003a41215e5c <+284>: cmp $0x7fffff,%ebx
0x0000003a41215e62 <+290>: mov %eax,%r15d
0x0000003a41215e65 <+293>: mov %eax,0x18(%rsp)
0x0000003a41215e69 <+297>: jg 0x3a41216660 <pixops_process+2336>
0x0000003a41215e6f <+303>: mov $0x7fffffff,%eax
0x0000003a41215e74 <+308>: mov %ebx,%r11d
0x0000003a41215e77 <+311>: mov %rdi,%r10
0x0000003a41215e7a <+314>: shl $0x8,%r11d
0x0000003a41215e7e <+318>: mov %esi,%edi
0x0000003a41215e80 <+320>: mov %edx,%esi
0x0000003a41215e82 <+322>: cltd
0x0000003a41215e83 <+323>: idiv %r11d
0x0000003a41215e86 <+326>: cmp %eax,%r15d
0x0000003a41215e89 <+329>: jg 0x3a41216660 <pixops_process+2336>
0x0000003a41215e8f <+335>: mov %edi,0xc8(%rsp)
0x0000003a41215e96 <+342>: mov %r11d,%edi
0x0000003a41215e99 <+345>: mov %esi,0xa8(%rsp)
0x0000003a41215ea0 <+352>: imul %r15d,%edi
0x0000003a41215ea4 <+356>: mov $0x4,%esi
0x0000003a41215ea9 <+361>: mov %r9d,0xc0(%rsp)
0x0000003a41215eb1 <+369>: mov %r8d,0xb8(%rsp)
0x0000003a41215eb9 <+377>: mov %ecx,0xb0(%rsp)
0x0000003a41215ec0 <+384>: mov %r10,0xf8(%rsp)
0x0000003a41215ec8 <+392>: movslq %edi,%rdi
0x0000003a41215ecb <+395>: callq 0x3a41205840 <g_try_malloc_n at plt>
0x0000003a41215ed0 <+400>: test %rax,%rax
0x0000003a41215ed3 <+403>: mov %rax,0x58(%rsp)
0x0000003a41215ed8 <+408>: movsd (%rsp),%xmm2
0x0000003a41215edd <+413>: je 0x3a41216660 <pixops_process+2336>
0x0000003a41215ee3 <+419>: mov 0x18(%rsp),%esi
0x0000003a41215ee7 <+423>: movslq %ebx,%r8
0x0000003a41215eea <+426>: movl $0x0,0x78(%rsp)
0x0000003a41215ef2 <+434>: movsd 0x30(%rbp),%xmm4
0x0000003a41215ef7 <+439>: shl $0x2,%r8
0x0000003a41215efb <+443>: movsd 0x462d(%rip),%xmm3 # 0x3a4121a530
0x0000003a41215f03 <+451>: movl $0x10,0x88(%rsp)
0x0000003a41215f0e <+462>: mov %esi,%edx
0x0000003a41215f10 <+464>: imul %ebx,%edx
0x0000003a41215f13 <+467>: lea -0x1(%rdx),%eax
0x0000003a41215f16 <+470>: movslq %edx,%rdx
0x0000003a41215f19 <+473>: mov %eax,%edi
0x0000003a41215f1b <+475>: mov %eax,(%rsp)
0x0000003a41215f1e <+478>: not %eax
0x0000003a41215f20 <+480>: shr $0x1f,%eax
0x0000003a41215f23 <+483>: mov %eax,%r11d
0x0000003a41215f26 <+486>: mov %ebx,%eax
0x0000003a41215f28 <+488>: shl $0x4,%eax
0x0000003a41215f2b <+491>: imul %esi,%eax
0x0000003a41215f2e <+494>: cltq
0x0000003a41215f30 <+496>: shl $0x2,%rax
0x0000003a41215f34 <+500>: mov %rax,0x80(%rsp)
0x0000003a41215f3c <+508>: movslq %edi,%rax
0x0000003a41215f3f <+511>: mov 0x58(%rsp),%rdi
0x0000003a41215f44 <+516>: lea (%rdi,%rax,4),%rdi
0x0000003a41215f48 <+520>: neg %rax
0x0000003a41215f4b <+523>: shl $0x2,%rax
0x0000003a41215f4f <+527>: mov %rax,0x48(%rsp)
0x0000003a41215f54 <+532>: lea -0x1(%rsi),%eax
0x0000003a41215f57 <+535>: mov %rdi,0x50(%rsp)
0x0000003a41215f5c <+540>: lea 0x0(,%rdx,4),%rdi
0x0000003a41215f64 <+548>: add $0x1,%rax
0x0000003a41215f68 <+552>: mov %rdi,0x8(%rsp)
0x0000003a41215f6d <+557>: mov %rax,0xa0(%rsp)
0x0000003a41215f75 <+565>: movslq 0x78(%rsp),%rax
0x0000003a41215f7a <+570>: xor %r10d,%r10d
0x0000003a41215f7d <+573>: mov $0x10,%r9d
0x0000003a41215f83 <+579>: lea 0x0(,%rax,8),%rsi
0x0000003a41215f8b <+587>: add 0xa0(%rsp),%rax
0x0000003a41215f93 <+595>: mov %rsi,0x38(%rsp)
0x0000003a41215f98 <+600>: mov 0x50(%rsp),%rsi
0x0000003a41215f9d <+605>: lea 0x0(,%rax,8),%rdi
0x0000003a41215fa5 <+613>: nopl (%rax)
0x0000003a41215fa8 <+616>: mov 0x18(%rsp),%edx
0x0000003a41215fac <+620>: test %edx,%edx
0x0000003a41215fae <+622>: jle 0x3a4121662b <pixops_process+2283>
0x0000003a41215fb4 <+628>: mov 0x48(%rsp),%rax
0x0000003a41215fb9 <+633>: mov 0x38(%rsp),%r14
0x0000003a41215fbe <+638>: movslq %r10d,%r15
0x0000003a41215fc1 <+641>: shl $0x3,%r15
0x0000003a41215fc5 <+645>: xor %ecx,%ecx
0x0000003a41215fc7 <+647>: lea (%rsi,%rax,1),%r12
0x0000003a41215fcb <+651>: nopl 0x0(%rax,%rax,1)
0x0000003a41215fd0 <+656>: test %ebx,%ebx
0x0000003a41215fd2 <+658>: jle 0x3a41216019 <pixops_process+729>
0x0000003a41215fd4 <+660>: mov 0x28(%rbp),%rax
0x0000003a41215fd8 <+664>: mov %r15,%r13
0x0000003a41215fdb <+667>: add 0x10(%rbp),%r13
0x0000003a41215fdf <+671>: movsd (%rax,%r14,1),%xmm1
0x0000003a41215fe5 <+677>: xor %eax,%eax
0x0000003a41215fe7 <+679>: nopw 0x0(%rax,%rax,1)
0x0000003a41215ff0 <+688>: movsd 0x0(%r13,%rax,8),%xmm0
0x0000003a41215ff7 <+695>: mulsd %xmm1,%xmm0
0x0000003a41215ffb <+699>: mulsd %xmm4,%xmm0
0x0000003a41215fff <+703>: mulsd %xmm2,%xmm0
0x0000003a41216003 <+707>: addsd %xmm3,%xmm0
0x0000003a41216007 <+711>: cvttsd2si %xmm0,%edx
0x0000003a4121600b <+715>: mov %edx,(%r12,%rax,4)
0x0000003a4121600f <+719>: add $0x1,%rax
0x0000003a41216013 <+723>: add %edx,%ecx
0x0000003a41216015 <+725>: cmp %eax,%ebx
0x0000003a41216017 <+727>: jg 0x3a41215ff0 <pixops_process+688>
0x0000003a41216019 <+729>: add $0x8,%r14
0x0000003a4121601d <+733>: add %r8,%r12
0x0000003a41216020 <+736>: cmp %rdi,%r14
0x0000003a41216023 <+739>: jne 0x3a41215fd0 <pixops_process+656>
0x0000003a41216025 <+741>: movapd %xmm4,%xmm0
0x0000003a41216029 <+745>: mulsd %xmm2,%xmm0
0x0000003a4121602d <+749>: addsd %xmm3,%xmm0
0x0000003a41216031 <+753>: cvttsd2si %xmm0,%r12d
0x0000003a41216036 <+758>: sub %ecx,%r12d
0x0000003a41216039 <+761>: je 0x3a412160b0 <pixops_process+880>
0x0000003a4121603b <+763>: mov %r12d,%ecx
0x0000003a4121603e <+766>: mov %r12d,%eax
0x0000003a41216041 <+769>: mov $0x1,%r13d
0x0000003a41216047 <+775>: nopw 0x0(%rax,%rax,1)
0x0000003a41216050 <+784>: test %eax,%eax
0x0000003a41216052 <+786>: je 0x3a41216099 <pixops_process+857>
0x0000003a41216054 <+788>: test %r11b,%r11b
0x0000003a41216057 <+791>: mov %rsi,%r14
0x0000003a4121605a <+794>: mov (%rsp),%r15d
0x0000003a4121605e <+798>: je 0x3a41216099 <pixops_process+857>
0x0000003a41216060 <+800>: mov %eax,%edx
0x0000003a41216062 <+802>: add (%r14),%edx
0x0000003a41216065 <+805>: js 0x3a41216091 <pixops_process+849>
0x0000003a41216067 <+807>: sub %eax,%ecx
0x0000003a41216069 <+809>: mov %edx,(%r14)
0x0000003a4121606c <+812>: test %ecx,%ecx
0x0000003a4121606e <+814>: mov %ecx,%edx
0x0000003a41216070 <+816>: jle 0x3a412165f8 <pixops_process+2232>
0x0000003a41216076 <+822>: cmp %eax,%ecx
0x0000003a41216078 <+824>: jge 0x3a412165f8 <pixops_process+2232>
0x0000003a4121607e <+830>: sub $0x1,%r15d
0x0000003a41216082 <+834>: js 0x3a41216099 <pixops_process+857>
0x0000003a41216084 <+836>: sub $0x4,%r14
0x0000003a41216088 <+840>: mov %edx,%eax
0x0000003a4121608a <+842>: mov %eax,%edx
0x0000003a4121608c <+844>: add (%r14),%edx
0x0000003a4121608f <+847>: jns 0x3a41216067 <pixops_process+807>
0x0000003a41216091 <+849>: sub $0x1,%r15d
0x0000003a41216095 <+853>: mov %eax,%edx
0x0000003a41216097 <+855>: jns 0x3a41216084 <pixops_process+836>
0x0000003a41216099 <+857>: mov %r12d,%eax
0x0000003a4121609c <+860>: add $0x1,%r13d
0x0000003a412160a0 <+864>: cltd
0x0000003a412160a1 <+865>: idiv %r13d
0x0000003a412160a4 <+868>: test %eax,%eax
0x0000003a412160a6 <+870>: je 0x3a412160b0 <pixops_process+880>
=> 0x0000003a412160a8 <+872>: test %ecx,%ecx
0x0000003a412160aa <+874>: jne 0x3a41216050 <pixops_process+784>
0x0000003a412160ac <+876>: nopl 0x0(%rax)
0x0000003a412160b0 <+880>: add 0x8(%rsp),%rsi
0x0000003a412160b5 <+885>: add %ebx,%r10d
0x0000003a412160b8 <+888>: sub $0x1,%r9d
0x0000003a412160bc <+892>: jne 0x3a41215fa8 <pixops_process+616>
0x0000003a412160c2 <+898>: mov 0x80(%rsp),%rsi
0x0000003a412160ca <+906>: add %rsi,0x50(%rsp)
0x0000003a412160cf <+911>: mov 0x18(%rsp),%esi
0x0000003a412160d3 <+915>: add %esi,0x78(%rsp)
0x0000003a412160d7 <+919>: subl $0x1,0x88(%rsp)
0x0000003a412160df <+927>: jne 0x3a41215f75 <pixops_process+565>
0x0000003a412160e5 <+933>: movslq 0x18(%rbp),%rdi
0x0000003a412160e9 <+937>: mov $0x8,%esi
0x0000003a412160ee <+942>: movsd %xmm2,(%rsp)
0x0000003a412160f3 <+947>: xor %ebx,%ebx
0x0000003a412160f5 <+949>: callq 0x3a41205ed0 <g_malloc_n at plt>
0x0000003a412160fa <+954>: mov %rax,%r15
0x0000003a412160fd <+957>: mov 0x20(%rsp),%eax
0x0000003a41216101 <+961>: movsd (%rsp),%xmm2
0x0000003a41216106 <+966>: test %eax,%eax
0x0000003a41216108 <+968>: je 0x3a4121611f <pixops_process+991>
0x0000003a4121610a <+970>: mov 0x20(%rsp),%edi
0x0000003a4121610e <+974>: movsd %xmm2,(%rsp)
0x0000003a41216113 <+979>: callq 0x3a41215900 <get_check_shift>
0x0000003a41216118 <+984>: movsd (%rsp),%xmm2
0x0000003a4121611d <+989>: mov %eax,%ebx
0x0000003a4121611f <+991>: movapd %xmm2,%xmm0
0x0000003a41216123 <+995>: movsd %xmm2,(%rsp)
0x0000003a41216128 <+1000>: mulsd 0x8(%rbp),%xmm0
0x0000003a4121612d <+1005>: callq 0x3a41205f30 <floor at plt>
0x0000003a41216132 <+1010>: cvttsd2si %xmm0,%rax
0x0000003a41216137 <+1015>: mov 0x0(%rbp),%esi
0x0000003a4121613a <+1018>: movsd (%rsp),%xmm2
0x0000003a4121613f <+1023>: mov %rax,%rdi
0x0000003a41216142 <+1026>: mov %rax,0x78(%rsp)
0x0000003a41216147 <+1031>: mov 0x28(%rsp),%eax
0x0000003a4121614b <+1035>: sub %esi,%eax
0x0000003a4121614d <+1037>: add $0x1,%eax
0x0000003a41216150 <+1040>: shl $0x10,%eax
0x0000003a41216153 <+1043>: cltq
0x0000003a41216155 <+1045>: sub %rdi,%rax
0x0000003a41216158 <+1048>: mov 0x10(%rsp),%rdi
0x0000003a4121615d <+1053>: add %rdi,%rax
0x0000003a41216160 <+1056>: cmp $0x1,%rax
0x0000003a41216164 <+1060>: jle 0x3a412166c9 <pixops_process+2441>
0x0000003a4121616a <+1066>: sub $0x1,%rax
0x0000003a4121616e <+1070>: cqto
0x0000003a41216170 <+1072>: idiv %rdi
0x0000003a41216173 <+1075>: movslq 0xc8(%rsp),%r12
0x0000003a4121617b <+1083>: mulsd 0x20(%rbp),%xmm2
0x0000003a41216180 <+1088>: mov 0xb0(%rsp),%r14d
0x0000003a41216188 <+1096>: mov %esi,(%rsp)
0x0000003a4121618b <+1099>: sub %r12d,%r14d
0x0000003a4121618e <+1102>: sub %r12,%rax
0x0000003a41216191 <+1105>: movslq %r14d,%rdi
0x0000003a41216194 <+1108>: cmp %rax,%rdi
0x0000003a41216197 <+1111>: movapd %xmm2,%xmm0
0x0000003a4121619b <+1115>: cmovle %rdi,%rax
0x0000003a4121619f <+1119>: mov %rax,%r13
0x0000003a412161a2 <+1122>: callq 0x3a41205f30 <floor at plt>
0x0000003a412161a7 <+1127>: movslq 0xa8(%rsp),%rdx
0x0000003a412161af <+1135>: pxor %xmm1,%xmm1
0x0000003a412161b3 <+1139>: mov 0xb8(%rsp),%r8d
0x0000003a412161bb <+1147>: mov %rdx,%rax
0x0000003a412161be <+1150>: imul 0x70(%rsp),%rdx
0x0000003a412161c4 <+1156>: sub %eax,%r8d
0x0000003a412161c7 <+1159>: movslq %r8d,%rax
0x0000003a412161ca <+1162>: test %rax,%rax
0x0000003a412161cd <+1165>: mov %rax,0xa8(%rsp)
0x0000003a412161d5 <+1173>: cvtsi2sd %rdx,%xmm1
0x0000003a412161da <+1178>: addsd %xmm0,%xmm1
0x0000003a412161de <+1182>: cvttsd2si %xmm1,%rsi
0x0000003a412161e3 <+1187>: mov %rsi,0x80(%rsp)
0x0000003a412161eb <+1195>: mov (%rsp),%esi
0x0000003a412161ee <+1198>: jle 0x3a412166a6 <pixops_process+2406>
0x0000003a412161f4 <+1204>: movslq 0x24(%rsp),%rdi
0x0000003a412161f9 <+1209>: movslq 0xc0(%rsp),%rax
0x0000003a41216201 <+1217>: mov %r14d,%ecx
0x0000003a41216204 <+1220>: mov %r12,%rdx
0x0000003a41216207 <+1223>: movq $0x0,0x50(%rsp)
0x0000003a41216210 <+1232>: imul %edi,%ecx
0x0000003a41216213 <+1235>: mov %rax,0xb8(%rsp)
0x0000003a4121621b <+1243>: mov %rdi,0x18(%rsp)
0x0000003a41216220 <+1248>: imul %rdi,%r13
0x0000003a41216224 <+1252>: movslq %ecx,%rax
0x0000003a41216227 <+1255>: mov 0x10(%rsp),%rcx
0x0000003a4121622c <+1260>: mov %rax,0xc0(%rsp)
0x0000003a41216234 <+1268>: mov %r13,0xe0(%rsp)
0x0000003a4121623c <+1276>: imul %rcx,%rdx
0x0000003a41216240 <+1280>: mov %ecx,0xcc(%rsp)
0x0000003a41216247 <+1287>: mov %ebx,%ecx
0x0000003a41216249 <+1289>: add 0x78(%rsp),%rdx
0x0000003a4121624e <+1294>: mov %rdx,%rax
0x0000003a41216251 <+1297>: mov %rdx,0x88(%rsp)
0x0000003a41216259 <+1305>: sar $0x10,%rax
0x0000003a4121625d <+1309>: shr $0x1f,%eax
0x0000003a41216260 <+1312>: mov %eax,0xd0(%rsp)
0x0000003a41216267 <+1319>: mov $0x1,%eax
0x0000003a4121626c <+1324>: shl %cl,%rax
0x0000003a4121626f <+1327>: mov %rax,0xb0(%rsp)
0x0000003a41216277 <+1335>: movslq 0x98(%rsp),%rax
0x0000003a4121627f <+1343>: mov %rax,%rdi
0x0000003a41216282 <+1346>: mov %rax,0x98(%rsp)
0x0000003a4121628a <+1354>: mov 0x68(%rsp),%eax
0x0000003a4121628e <+1358>: sub $0x1,%eax
0x0000003a41216291 <+1361>: cltq
0x0000003a41216293 <+1363>: imul %rdi,%rax
0x0000003a41216297 <+1367>: add 0x60(%rsp),%rax
0x0000003a4121629c <+1372>: mov %rax,0xa0(%rsp)
0x0000003a412162a4 <+1380>: mov 0xf8(%rsp),%rax
0x0000003a412162ac <+1388>: mov %rax,0x48(%rsp)
0x0000003a412162b1 <+1393>: movslq 0xe8(%rsp),%rax
0x0000003a412162b9 <+1401>: mov %rax,0xe8(%rsp)
0x0000003a412162c1 <+1409>: mov 0x80(%rsp),%r12
0x0000003a412162c9 <+1417>: movslq %esi,%rcx
0x0000003a412162cc <+1420>: movslq 0x18(%rbp),%r8
0x0000003a412162d0 <+1424>: mov 0x48(%rsp),%rbx
0x0000003a412162d5 <+1429>: mov %r12,%rax
0x0000003a412162d8 <+1432>: sar $0xc,%r12
0x0000003a412162dc <+1436>: and $0xf,%r12d
0x0000003a412162e0 <+1440>: sar $0x10,%rax
0x0000003a412162e4 <+1444>: mov %rbx,%r10
0x0000003a412162e7 <+1447>: imul %rcx,%r12
0x0000003a412162eb <+1451>: mov 0xe8(%rsp),%rcx
0x0000003a412162f3 <+1459>: add 0x50(%rsp),%rcx
0x0000003a412162f8 <+1464>: add 0xc0(%rsp),%rbx
0x0000003a41216300 <+1472>: mov %eax,%edi
0x0000003a41216302 <+1474>: mov %r8,%rdx
0x0000003a41216305 <+1477>: imul %r8,%r12
0x0000003a41216309 <+1481>: mov %rbx,0x8(%rsp)
0x0000003a4121630e <+1486>: shl $0x6,%r12
0x0000003a41216312 <+1490>: add 0x58(%rsp),%r12
0x0000003a41216317 <+1495>: test %rcx,0xb0(%rsp)
0x0000003a4121631f <+1503>: mov %r12,(%rsp)
0x0000003a41216323 <+1507>: je 0x3a4121667f <pixops_process+2367>
0x0000003a41216329 <+1513>: mov 0x90(%rsp),%r14d
0x0000003a41216331 <+1521>: mov 0x94(%rsp),%r13d
0x0000003a41216339 <+1529>: test %r8,%r8
0x0000003a4121633c <+1532>: jle 0x3a41216398 <pixops_process+1624>
0x0000003a4121633e <+1534>: mov 0x98(%rsp),%rbx
0x0000003a41216346 <+1542>: cltq
0x0000003a41216348 <+1544>: mov %r15,%rcx
0x0000003a4121634b <+1547>: lea (%r15,%r8,8),%r8
0x0000003a4121634f <+1551>: imul %rbx,%rax
0x0000003a41216353 <+1555>: mov %rbx,%r9
0x0000003a41216356 <+1558>: add 0x60(%rsp),%rax
0x0000003a4121635b <+1563>: jmp 0x3a4121636f <pixops_process+1583>
0x0000003a4121635d <+1565>: mov %rax,(%rcx)
0x0000003a41216360 <+1568>: add $0x8,%rcx
0x0000003a41216364 <+1572>: add $0x1,%edi
0x0000003a41216367 <+1575>: add %r9,%rax
0x0000003a4121636a <+1578>: cmp %rcx,%r8
0x0000003a4121636d <+1581>: je 0x3a41216398 <pixops_process+1624>
0x0000003a4121636f <+1583>: test %edi,%edi
0x0000003a41216371 <+1585>: js 0x3a41216672 <pixops_process+2354>
0x0000003a41216377 <+1591>: cmp %edi,0x68(%rsp)
0x0000003a4121637b <+1595>: jg 0x3a4121635d <pixops_process+1565>
0x0000003a4121637d <+1597>: mov 0xa0(%rsp),%rbx
0x0000003a41216385 <+1605>: add $0x8,%rcx
0x0000003a41216389 <+1609>: add $0x1,%edi
0x0000003a4121638c <+1612>: add %r9,%rax
0x0000003a4121638f <+1615>: mov %rbx,-0x8(%rcx)
0x0000003a41216393 <+1619>: cmp %rcx,%r8
0x0000003a41216396 <+1622>: jne 0x3a4121636f <pixops_process+1583>
0x0000003a41216398 <+1624>: mov 0x48(%rsp),%rdi
0x0000003a4121639d <+1629>: cmp %rdi,0x8(%rsp)
0x0000003a412163a2 <+1634>: jbe 0x3a41216694 <pixops_process+2388>
0x0000003a412163a8 <+1640>: cmpb $0x0,0xd0(%rsp)
0x0000003a412163b0 <+1648>: mov 0x6c(%rsp),%r12d
0x0000003a412163b5 <+1653>: mov 0x88(%rsp),%rbx
0x0000003a412163bd <+1661>: je 0x3a41216694 <pixops_process+2388>
0x0000003a412163c3 <+1667>: mov %r13d,0x38(%rsp)
0x0000003a412163c8 <+1672>: mov %rbp,%r13
0x0000003a412163cb <+1675>: mov %r12d,%ebp
0x0000003a412163ce <+1678>: mov %r10,%r12
0x0000003a412163d1 <+1681>: jmp 0x3a412163e6 <pixops_process+1702>
0x0000003a412163d3 <+1683>: cmp 0x8(%rsp),%r12
0x0000003a412163d8 <+1688>: jae 0x3a41216465 <pixops_process+1829>
0x0000003a412163de <+1694>: mov 0x0(%r13),%esi
0x0000003a412163e2 <+1698>: mov 0x18(%r13),%edx
0x0000003a412163e6 <+1702>: mov %esi,%edi
0x0000003a412163e8 <+1704>: mov %rbx,%rcx
0x0000003a412163eb <+1707>: mov (%rsp),%rax
0x0000003a412163ef <+1711>: imul %edx,%edi
0x0000003a412163f2 <+1714>: sar $0xc,%rcx
0x0000003a412163f6 <+1718>: pushq 0x40(%rsp)
0x0000003a412163fa <+1722>: and $0xf,%ecx
0x0000003a412163fd <+1725>: push %r14
0x0000003a412163ff <+1727>: mov %rcx,%r8
0x0000003a41216402 <+1730>: movslq %edi,%rcx
0x0000003a41216405 <+1733>: imul %r8,%rcx
0x0000003a41216409 <+1737>: mov %ebp,%r8d
0x0000003a4121640c <+1740>: add $0x1,%ebp
0x0000003a4121640f <+1743>: lea (%rax,%rcx,4),%rdi
0x0000003a41216413 <+1747>: mov 0x48(%rsp),%eax
0x0000003a41216417 <+1751>: mov %rbx,%rcx
0x0000003a4121641a <+1754>: sar $0x10,%rcx
0x0000003a4121641e <+1758>: push %rax
0x0000003a4121641f <+1759>: mov 0x38(%rsp),%eax
0x0000003a41216423 <+1763>: push %rax
0x0000003a41216424 <+1764>: mov 0x48(%rsp),%eax
0x0000003a41216428 <+1768>: push %rax
0x0000003a41216429 <+1769>: push %rcx
0x0000003a4121642a <+1770>: mov %r12,%rcx
0x0000003a4121642d <+1773>: mov 0x64(%rsp),%eax
0x0000003a41216431 <+1777>: push %rax
0x0000003a41216432 <+1778>: mov 0x68(%rsp),%eax
0x0000003a41216436 <+1782>: push %rax
0x0000003a41216437 <+1783>: push %r15
0x0000003a41216439 <+1785>: mov 0x74(%rsp),%eax
0x0000003a4121643d <+1789>: push %rax
0x0000003a4121643e <+1790>: mov 0x74(%rsp),%r9d
0x0000003a41216443 <+1795>: callq 0x3a41214d10 <process_pixel>
0x0000003a41216448 <+1800>: add 0x60(%rsp),%rbx
0x0000003a4121644d <+1805>: add 0x68(%rsp),%r12
0x0000003a41216452 <+1810>: add $0x50,%rsp
0x0000003a41216456 <+1814>: mov %rbx,%rdx
0x0000003a41216459 <+1817>: shr $0x10,%rdx
0x0000003a4121645d <+1821>: test %edx,%edx
0x0000003a4121645f <+1823>: js 0x3a412163d3 <pixops_process+1683>
0x0000003a41216465 <+1829>: mov %r12,%r10
0x0000003a41216468 <+1832>: mov %ebp,%r12d
0x0000003a4121646b <+1835>: mov %r13,%rbp
0x0000003a4121646e <+1838>: mov 0x18(%rbp),%edx
0x0000003a41216471 <+1841>: mov 0x38(%rsp),%r13d
0x0000003a41216476 <+1846>: mov 0x0(%rbp),%esi
0x0000003a41216479 <+1849>: sub $0x8,%rsp
0x0000003a4121647d <+1853>: mov %r10,%rcx
0x0000003a41216480 <+1856>: mov %r12d,%r8d
0x0000003a41216483 <+1859>: push %r14
0x0000003a41216485 <+1861>: push %r13
0x0000003a41216487 <+1863>: mov 0x38(%rsp),%eax
0x0000003a4121648b <+1867>: push %rax
0x0000003a4121648c <+1868>: mov 0x48(%rsp),%eax
0x0000003a41216490 <+1872>: push %rax
0x0000003a41216491 <+1873>: mov 0xf4(%rsp),%eax
0x0000003a41216498 <+1880>: push %rax
0x0000003a41216499 <+1881>: push %rbx
0x0000003a4121649a <+1882>: mov 0x6c(%rsp),%eax
0x0000003a4121649e <+1886>: push %rax
0x0000003a4121649f <+1887>: mov 0x70(%rsp),%eax
0x0000003a412164a3 <+1891>: push %rax
0x0000003a412164a4 <+1892>: push %r15
0x0000003a412164a6 <+1894>: mov 0x7c(%rsp),%eax
0x0000003a412164aa <+1898>: push %rax
0x0000003a412164ab <+1899>: mov 0x7c(%rsp),%eax
0x0000003a412164af <+1903>: push %rax
0x0000003a412164b0 <+1904>: mov 0xa8(%rsp),%rax
0x0000003a412164b8 <+1912>: mov 0x140(%rsp),%rdi
0x0000003a412164c0 <+1920>: mov %r10,0x98(%rsp)
0x0000003a412164c8 <+1928>: lea (%rax,%rdi,1),%r9
0x0000003a412164cc <+1932>: mov 0x60(%rsp),%rdi
0x0000003a412164d1 <+1937>: mov 0x150(%rsp),%rax
0x0000003a412164d9 <+1945>: callq *%rax
0x0000003a412164db <+1947>: mov 0x98(%rsp),%r10
0x0000003a412164e3 <+1955>: mov %rax,%rbx
0x0000003a412164e6 <+1958>: sub %r10,%rax
0x0000003a412164e9 <+1961>: cqto
0x0000003a412164eb <+1963>: idivq 0x78(%rsp)
0x0000003a412164f0 <+1968>: lea (%r12,%rax,1),%r11d
0x0000003a412164f4 <+1972>: mov %r11d,%eax
0x0000003a412164f7 <+1975>: sub 0xcc(%rsp),%eax
0x0000003a412164fe <+1982>: add 0x128(%rsp),%eax
0x0000003a41216505 <+1989>: cltq
0x0000003a41216507 <+1991>: imul 0x70(%rsp),%rax
0x0000003a4121650d <+1997>: add 0xd8(%rsp),%rax
0x0000003a41216515 <+2005>: add $0x60,%rsp
0x0000003a41216519 <+2009>: cmp 0x8(%rsp),%rbx
0x0000003a4121651e <+2014>: jae 0x3a412165b7 <pixops_process+2167>
0x0000003a41216524 <+2020>: mov %r13d,0x38(%rsp)
0x0000003a41216529 <+2025>: mov %rax,%r12
0x0000003a4121652c <+2028>: mov %rbp,%r13
0x0000003a4121652f <+2031>: mov %rbx,%rbp
0x0000003a41216532 <+2034>: mov %r11d,%ebx
0x0000003a41216535 <+2037>: mov 0x0(%r13),%esi
0x0000003a41216539 <+2041>: mov 0x18(%r13),%edx
0x0000003a4121653d <+2045>: mov %r12,%rcx
0x0000003a41216540 <+2048>: sar $0xc,%rcx
0x0000003a41216544 <+2052>: mov (%rsp),%rax
0x0000003a41216548 <+2056>: pushq 0x40(%rsp)
0x0000003a4121654c <+2060>: and $0xf,%ecx
0x0000003a4121654f <+2063>: push %r14
0x0000003a41216551 <+2065>: mov %esi,%edi
0x0000003a41216553 <+2067>: mov %rcx,%r8
0x0000003a41216556 <+2070>: imul %edx,%edi
0x0000003a41216559 <+2073>: movslq %edi,%rcx
0x0000003a4121655c <+2076>: imul %r8,%rcx
0x0000003a41216560 <+2080>: mov %ebx,%r8d
0x0000003a41216563 <+2083>: add $0x1,%ebx
0x0000003a41216566 <+2086>: lea (%rax,%rcx,4),%rdi
0x0000003a4121656a <+2090>: mov 0x48(%rsp),%eax
0x0000003a4121656e <+2094>: mov %r12,%rcx
0x0000003a41216571 <+2097>: sar $0x10,%rcx
0x0000003a41216575 <+2101>: push %rax
0x0000003a41216576 <+2102>: mov 0x38(%rsp),%eax
0x0000003a4121657a <+2106>: push %rax
0x0000003a4121657b <+2107>: mov 0x48(%rsp),%eax
0x0000003a4121657f <+2111>: push %rax
0x0000003a41216580 <+2112>: push %rcx
0x0000003a41216581 <+2113>: mov %rbp,%rcx
0x0000003a41216584 <+2116>: mov 0x64(%rsp),%eax
0x0000003a41216588 <+2120>: push %rax
0x0000003a41216589 <+2121>: mov 0x68(%rsp),%eax
0x0000003a4121658d <+2125>: push %rax
0x0000003a4121658e <+2126>: push %r15
0x0000003a41216590 <+2128>: mov 0x74(%rsp),%eax
0x0000003a41216594 <+2132>: push %rax
0x0000003a41216595 <+2133>: mov 0x74(%rsp),%r9d
0x0000003a4121659a <+2138>: callq 0x3a41214d10 <process_pixel>
0x0000003a4121659f <+2143>: add 0x60(%rsp),%r12
0x0000003a412165a4 <+2148>: add 0x68(%rsp),%rbp
0x0000003a412165a9 <+2153>: add $0x50,%rsp
0x0000003a412165ad <+2157>: cmp 0x8(%rsp),%rbp
0x0000003a412165b2 <+2162>: jb 0x3a41216535 <pixops_process+2037>
0x0000003a412165b4 <+2164>: mov %r13,%rbp
0x0000003a412165b7 <+2167>: addq $0x1,0x50(%rsp)
0x0000003a412165bd <+2173>: mov 0x70(%rsp),%rsi
0x0000003a412165c2 <+2178>: mov 0x50(%rsp),%rax
0x0000003a412165c7 <+2183>: add %rsi,0x80(%rsp)
0x0000003a412165cf <+2191>: mov 0xb8(%rsp),%rdi
0x0000003a412165d7 <+2199>: add %rdi,0x48(%rsp)
0x0000003a412165dc <+2204>: cmp 0xa8(%rsp),%rax
0x0000003a412165e4 <+2212>: je 0x3a412166a6 <pixops_process+2406>
0x0000003a412165ea <+2218>: mov 0x0(%rbp),%esi
0x0000003a412165ed <+2221>: jmpq 0x3a412162c1 <pixops_process+1409>
0x0000003a412165f2 <+2226>: nopw 0x0(%rax,%rax,1)
0x0000003a412165f8 <+2232>: mov %edx,%ecx
0x0000003a412165fa <+2234>: shr $0x1f,%ecx
0x0000003a412165fd <+2237>: test %cl,%cl
0x0000003a412165ff <+2239>: je 0x3a4121660b <pixops_process+2251>
0x0000003a41216601 <+2241>: cmp %eax,%edx
0x0000003a41216603 <+2243>: mov %edx,%ecx
0x0000003a41216605 <+2245>: jg 0x3a4121607e <pixops_process+830>
0x0000003a4121660b <+2251>: sub $0x1,%r15d
0x0000003a4121660f <+2255>: js 0x3a41216624 <pixops_process+2276>
0x0000003a41216611 <+2257>: sub $0x4,%r14
0x0000003a41216615 <+2261>: test %edx,%edx
0x0000003a41216617 <+2263>: je 0x3a412160b0 <pixops_process+880>
0x0000003a4121661d <+2269>: mov %edx,%ecx
0x0000003a4121661f <+2271>: jmpq 0x3a41216060 <pixops_process+800>
0x0000003a41216624 <+2276>: mov %edx,%ecx
0x0000003a41216626 <+2278>: jmpq 0x3a41216099 <pixops_process+857>
0x0000003a4121662b <+2283>: movapd %xmm4,%xmm0
0x0000003a4121662f <+2287>: mulsd %xmm2,%xmm0
0x0000003a41216633 <+2291>: addsd %xmm3,%xmm0
0x0000003a41216637 <+2295>: cvttsd2si %xmm0,%r12d
0x0000003a4121663c <+2300>: test %r12d,%r12d
0x0000003a4121663f <+2303>: jne 0x3a4121603b <pixops_process+763>
0x0000003a41216645 <+2309>: add 0x8(%rsp),%rsi
0x0000003a4121664a <+2314>: add %ebx,%r10d
0x0000003a4121664d <+2317>: sub $0x1,%r9d
0x0000003a41216651 <+2321>: jne 0x3a41215fa8 <pixops_process+616>
0x0000003a41216657 <+2327>: jmpq 0x3a412160c2 <pixops_process+898>
0x0000003a4121665c <+2332>: nopl 0x0(%rax)
0x0000003a41216660 <+2336>: add $0x108,%rsp
0x0000003a41216667 <+2343>: pop %rbx
0x0000003a41216668 <+2344>: pop %rbp
0x0000003a41216669 <+2345>: pop %r12
0x0000003a4121666b <+2347>: pop %r13
0x0000003a4121666d <+2349>: pop %r14
0x0000003a4121666f <+2351>: pop %r15
0x0000003a41216671 <+2353>: retq
0x0000003a41216672 <+2354>: mov 0x60(%rsp),%rbx
0x0000003a41216677 <+2359>: mov %rbx,(%rcx)
0x0000003a4121667a <+2362>: jmpq 0x3a41216360 <pixops_process+1568>
0x0000003a4121667f <+2367>: mov 0x94(%rsp),%r14d
0x0000003a41216687 <+2375>: mov 0x90(%rsp),%r13d
0x0000003a4121668f <+2383>: jmpq 0x3a41216339 <pixops_process+1529>
0x0000003a41216694 <+2388>: mov 0x6c(%rsp),%r12d
0x0000003a41216699 <+2393>: mov 0x88(%rsp),%rbx
0x0000003a412166a1 <+2401>: jmpq 0x3a41216479 <pixops_process+1849>
0x0000003a412166a6 <+2406>: mov %r15,%rdi
0x0000003a412166a9 <+2409>: callq 0x3a41206080
0x0000003a412166ae <+2414>: mov 0x58(%rsp),%rdi
0x0000003a412166b3 <+2419>: add $0x108,%rsp
0x0000003a412166ba <+2426>: pop %rbx
0x0000003a412166bb <+2427>: pop %rbp
0x0000003a412166bc <+2428>: pop %r12
0x0000003a412166be <+2430>: pop %r13
0x0000003a412166c0 <+2432>: pop %r14
0x0000003a412166c2 <+2434>: pop %r15
0x0000003a412166c4 <+2436>: jmpq 0x3a41206080
0x0000003a412166c9 <+2441>: mov 0x10(%rsp),%rdi
0x0000003a412166ce <+2446>: sub %rdi,%rax
0x0000003a412166d1 <+2449>: cqto
0x0000003a412166d3 <+2451>: idiv %rdi
0x0000003a412166d6 <+2454>: jmpq 0x3a41216173 <pixops_process+1075>
-- System Information:
Debian Release: 8.2
APT prefers stable
APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.1.13-040113-generic (SMP w/12 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
More information about the pkg-gnome-maintainers
mailing list