After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 759602 - Crash resizing windows on 32bit windows systems (due to libpixman)
Crash resizing windows on 32bit windows systems (due to libpixman)
Status: RESOLVED FIXED
Product: GIMP
Classification: Other
Component: Windows Installer
2.8.16
Other Windows
: Normal critical
: 2.8
Assigned To: GIMP Bugs
Jernej Simončič
: 758652 759144 759627 760380 761237 762588 763060 763145 765741 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2015-12-17 16:32 UTC by Valerio Messina
Modified: 2016-06-21 19:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
WinDBG crashLog (6.73 KB, text/plain)
2016-01-11 14:56 UTC, Valerio Messina
Details
WinDBG callStack (930 bytes, text/plain)
2016-01-11 14:57 UTC, Valerio Messina
Details
WinDBG disassembly (723 bytes, text/plain)
2016-01-11 14:58 UTC, Valerio Messina
Details
pixman-0.32.8 cross-compiled to win32 with:CFLAGS="-O3 -mstackrealign", stripped (688.50 KB, application/x-msdos-program)
2016-01-11 23:33 UTC, Valerio Messina
Details
built on a Linux32bit with O2 and O3, with and without realign (1.18 MB, application/x-compressed)
2016-01-12 22:52 UTC, Valerio Messina
Details
libpixman-1-0.dll packaged with GIMP 2.8.14 for Windows. It contain valid Jernej Simoncic SHA1 signature on ‎martedì ‎2 ‎settembre ‎2014 22:25:56 I used 7zip 15.14 to compress (204.41 KB, application/x-7z-compressed)
2016-03-24 18:16 UTC, Valerio Messina
Details

Description Valerio Messina 2015-12-17 16:32:12 UTC
step to reproduce:
open GIMP 2.8.16 on WinXP 32 bit
create a new default empty image
resize windows

always reproducible crash
Comment 1 Valerio Messina 2015-12-18 16:23:47 UTC
on Win7 64 bit work as expected
Comment 2 Michael Natterer 2015-12-25 20:45:23 UTC
*** Bug 759627 has been marked as a duplicate of this bug. ***
Comment 3 Jed Val 2016-01-10 20:52:52 UTC
This seems to be the same as the bug 760380
Comment 4 Michael Natterer 2016-01-10 21:13:00 UTC
*** Bug 760380 has been marked as a duplicate of this bug. ***
Comment 5 Michael Natterer 2016-01-10 21:13:19 UTC
Thanks, indeed.
Comment 6 Michael Natterer 2016-01-10 21:14:45 UTC
What we need here is *one* windows user with some development and
debugging skills.

The same is needed for almost all other windows bugs.
Guys, contribute something or live with this broken shit.
Comment 7 Valerio Messina 2016-01-10 21:26:01 UTC
I have few skills and tryed to contribute to simple task, see:
https://bugzilla.gnome.org/show_bug.cgi?id=560337
So with some good hints, I will willingly help to fix this.
What is the first step to do? A stack trace? How to do that on Win32?
I had to install mingw32 on the target?
thanks for any helps
Comment 8 Jed Val 2016-01-11 00:30:16 UTC
I also started to look for answers:

You can see a crash report in the bug 760380 that I reported before.

To debug, I'm investigating https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063%28v=vs.85%29.aspx

When gimp has crashed, before leaving it use the context menu in the task manager to create a dump file of theprocess gimp.exe
Comment 9 Jed Val 2016-01-11 00:32:01 UTC
Just one question: why is the status of this bug still unconfirmed? I can reproduce It on my computer and I use windows vista 32 bits.
Comment 10 Michael Natterer 2016-01-11 01:31:06 UTC
Because nobody changes the status :)
Comment 11 Michael Natterer 2016-01-11 01:32:17 UTC
s/changes/changed/
Comment 12 Valerio Messina 2016-01-11 09:26:35 UTC
OK for the .DMP binary file, but how to generate a stack trace?

I looked at "Windows SDK", it say support Win8.1 minimum, so I imagine Win64 only, and no WinXP 32bit.
I know something of coding in Unix env, but few on Win env.
I suppose mingw or cygwin supply a gdb to investigate this.
What is the preferred way?
Comment 13 Valerio Messina 2016-01-11 09:41:43 UTC
found, the Win SDK for Win7, support XP too:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=8279
I will try to analize the DMP file
Comment 14 Massimo 2016-01-11 12:16:32 UTC
I think this one is likely a duplicate of 

https://bugzilla.gnome.org/show_bug.cgi?id=707653

pixman developers did not completely follow the
suggestions I made in 

https://bugs.freedesktop.org/show_bug.cgi?id=68300

and so now for Win 32bit it is still necessary to
use a libpixman built disabling sse2 or adding 

-mstackrealign

to CFLAGS
Comment 15 Valerio Messina 2016-01-11 12:21:51 UTC
first result:
swapping the GIMP 2.8.16 library:
17/11/2015  21.05           610.379 libpixman-1-0.dll
with the one supplied with:

1) GIMP 2.8.14:
02/09/2014  23.25           644.464 libpixman-1-0.dll
OR
2) GIMP 2.9.3 32bit (that work very well):
17/12/2015  06.42         6.251.316 libpixman-1-0.dll

GIMP 2.8.16 doesn't crash, nor it complaint for missing symbols in the 2.8.14 case.

The library for debug version probably has lot of symbols and so is really big.
I cannot understand why the DLL miss the Version tab in Properties dialog box, so I cannot know version of the library itself, many other DLLs has this useful tab.
Comment 16 Jed Val 2016-01-11 12:31:06 UTC
I tried use see if the bug is present in the version of gimp from portable apps, and the bug is absent. The libpixman-1-0.dll has a different size.

But another bug is present in the display: there is a problem of character display in the zoom part.
Comment 17 Michael Schumacher 2016-01-11 12:38:11 UTC
The corresponding bug is now https://bugs.freedesktop.org/show_bug.cgi?id=70348 - not sure if they have made a release with this fix yet. 

Maybe we just need to require a recent enough version of the library for the windows platforms?
Comment 18 Michael Schumacher 2016-01-11 12:39:34 UTC
Jed, the character problem is a thin space in the zoom button text, see bug 735505.
Comment 19 Valerio Messina 2016-01-11 14:56:31 UTC
Created attachment 318741 [details]
WinDBG crashLog
Comment 20 Valerio Messina 2016-01-11 14:57:27 UTC
Created attachment 318742 [details]
WinDBG callStack
Comment 21 Valerio Messina 2016-01-11 14:58:06 UTC
Created attachment 318743 [details]
WinDBG disassembly
Comment 22 Valerio Messina 2016-01-11 14:59:45 UTC
I can confirm the problematic instructions is:

movaps  xmmword ptr [esp+20h],xmm3 ss:0023:0022925c=0022933c0022926c3fe0000000001f00

To go further I need the symbol file
Comment 23 Michael Schumacher 2016-01-11 15:57:55 UTC
Do you really need to go further? 

You have identified that this is exactly the instruction that causes the problem (see the libpixman bug reports), which is more than most people on the windows platforms will do. 

What's left to is is to find out:

- whether there has been a libpixman release with that fix
- require that version of libpixman when building GIMP for Windows platforms (this is done via the configure.ac/configure script)

The latter is done for fontconfig, for example:

https://git.gnome.org/browse/gimp/tree/configure.ac#n56
https://git.gnome.org/browse/gimp/tree/configure.ac#n720

(with some intermediate steps, but that's the interesting parts).
Comment 24 Valerio Messina 2016-01-11 16:26:46 UTC
I will try to compile
http://cairographics.org/releases/pixman-0.32.8.tar.gz
with alignment
Comment 25 Valerio Messina 2016-01-11 23:33:12 UTC
Created attachment 318828 [details]
pixman-0.32.8 cross-compiled to win32 with:CFLAGS="-O3 -mstackrealign", stripped
Comment 26 Valerio Messina 2016-01-12 09:38:55 UTC
swapping GIMP2.8.16's libpixman-1-0.dll with binary generated from 0.32.8 sources:
https://bugzilla.gnome.org/attachment.cgi?id=318828
GIMP does not crash anymore resizing the main windows.
I will try to submit a configure.ac/Makefile patch to the source repository
I saw some build log use -O2 instead -O3, what I have to do?

The GIMP repository list an old (dated 2011) pixman Win32 binary:
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pixman-dev_0.24.0-1_win32.zip
What is the exact version of pixman library GIMP 2.8.16 official release is now compiled against?
Comment 27 Michael Schumacher 2016-01-12 09:45:47 UTC
This is not the GIMP repository, but the GNOME FTP server. The outdated version there could do with some replacement, of course.

GIMP itself - at least the officially installers - are cross-compile with mingw and the libraries available from http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Factory/noarch/ - there#s a 0.30 there, but as this packages dates 2016-01-10. it is certainly not the same as shipped with the current 2.8.16 installer.

If we can identify a minimum version of the libarary that should have the fix by default (as the bugs linked here indicate), then we should set this as a minimum dependency in the GIMP configure.ac file, similar to how it is done for the fontconfig library.

libpixman itself is *not* built during a GIMP build, so you can not influence the compiler flags used for it.
Comment 28 Massimo 2016-01-12 14:04:51 UTC
(In reply to Michael Schumacher from comment #27)
> 
> If we can identify a minimum version of the libarary that should have the
> fix by default (as the bugs linked here indicate), then we should set this
> as a minimum dependency in the GIMP configure.ac file, similar to how it is
> done for the fontconfig library.
> 

the commit that mentions the bugs linked here is

http://cgit.freedesktop.org/pixman/commit/?id=3c2f4b651747c1ac484c39d5128cae5483094342

and precedes the 0.32.0 release, this means that
it is in the tar that Valerio just build. So if he can
confirms that without adding -mstackrealign to CFLAGS
GIMP crashes, the fix they committed was not sufficient
Otherwise the minimum version including the fix is
0.32.0
Comment 29 Valerio Messina 2016-01-12 14:11:05 UTC
will try 0.32 without mstackrealign
Comment 30 Valerio Messina 2016-01-12 22:52:55 UTC
Created attachment 318926 [details]
built on a Linux32bit with O2 and O3, with and without realign

as expected realigned versions are little bigger, it add 4 bytes for each function
Comment 31 Massimo 2016-01-13 12:56:38 UTC
(In reply to Valerio Messina from comment #30)
> Created attachment 318926 [details]
> built on a Linux32bit with O2 and O3, with and without realign
> 
> as expected realigned versions are little bigger, it add 4 bytes for each
> function

Valerio thank you for building the 4 libraries.

I could not test the official GIMP because the installer
says that it requires XP SP3 (mine is SP2).

I downloaded the nightly build (2016-01-12) and tested** that
one instead. It crashes with the libpixman that it ships
and does not crash with the 4 in the .tgz

Judging from 

https://git.gnome.org/browse/gimp/tree/build/windows/jhbuild/gtk+.moduleset#n38

the version that it ships should be already recent enough
to include the fix.

So there is something in the versions built for the nightlies
that differs from these 4. Gcc version or a -march or the explicit
CFLAGS

I suggest to add to the installer a libpixman built like babl
and gegl (it has few dependencies) rather than using that from
OpenSUSE. This way it is easier to control the build environment
(--disable-sse2 or CFLAGS=-mstackreaalign or whatever is necessary)



** It seems that help-browser, web-page and file-pdf were built
with a different libstdc++, because during startup it shows the dialog
for symbols not found.
Comment 32 Valerio Messina 2016-01-13 16:27:58 UTC
I can confirm, with and without mstackreaalign (and with 02 or O3), GIMP 2.8.16 with my generated DLL never crash, instead with the original DLL I got always reproducible crash.
So seems to me that stackrealign is not related to this bug. Maybe the _attribute in the functions code, do the same, but we know where and when was added?

I can add the following results on my WinXP sp3 32bit:
Using GIMP 2.8.14 32bit pixman DLL with GIMP 2.8.16 does not crash.
Using GIMP 2.8stable-i686-2016-01-12 (darkrefractions) pixman DLL with GIMP 2.8.16 does not crash. 
Using GIMP 2.9.3dev-i686-2015-12-17 (darkrefractions) pixman DLL with GIMP 2.8.16 does not crash.
Note1: pixman DLL file from 2.8stable-i686-2016-01-12 and 2.9.3dev-i686-2015-12-17 are binary identical.
Note2: I had not tested the whole GIMP 2.8stable-i686-2016-01-12
So to me the only version that cause the crash is the one supplied with 2.8.16 standard release :)

The link you provided require pixman 0.32.6, while the one I compiled is 0.32.8
not the same minor.

I strongly suggest to not disable SSE for performance reasons

We can compare the standard release build chain with nightly options
Comment 33 Valerio Messina 2016-01-13 17:10:06 UTC
just tested gimp-2.9.3dev-i686-2015-12-17 with the pixman DLL supplied with GIMP 2.8.16 release: it crash reliably

To test gimp-2.8.17stable-i686-2016-01-12 I had to copy "libgcc_s_sjlj-1.dll" from 2.9.3 because is missing in the package and so does not start.

Just tested gimp-2.8.17stable-i686-2016-01-12 with the pixman DLL supplied with GIMP 2.8.16 release: it crash reliably
while using the DLL one in the package: to me work well
Comment 34 Michael Schumacher 2016-01-13 17:37:23 UTC
Massimo, I am pretty sure that jhbuild is not used for the official installers.
Comment 35 Michael Natterer 2016-01-13 18:01:28 UTC
Don't the installers use the libs built by jhbuild?
Comment 36 Massimo 2016-01-13 18:08:21 UTC
(In reply to Michael Schumacher from comment #34)
> Massimo, I am pretty sure that jhbuild is not used for the official
> installers.

Yes, but on my machine (Athlon64) also the nightly libpixman
crashes and that should be 0.32.6. I also experienced the crash
with a nightly dev version from 3 december or so. Crash that did not
happen after substituting libpixman with one with sse2 disabled.

Anyway I don't use Windows XP, so if it crashes only here
simply set the minimum version required > 0.32
Comment 37 Valerio Messina 2016-01-13 23:56:57 UTC
mmmh, can be related to the exact set of assembler ops available on the processor.
Tomorrow I will report the exact processor on my WinXP machine, anyway I think newer than an Athlon64.

Is it possible to discover the version of libpixman that was used to package the standard release of GIMP 2.8.16 ?
Comment 38 Massimo 2016-01-14 05:50:39 UTC
(In reply to Valerio Messina from comment #37)
> mmmh, can be related to the exact set of assembler ops available on the
> processor.
> Tomorrow I will report the exact processor on my WinXP machine, anyway I
> think newer than an Athlon64.
> 
> Is it possible to discover the version of libpixman that was used to package
> the standard release of GIMP 2.8.16 ?

The link in comment #27 suggests it could be 0.30.0 

http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Factory/noarch/mingw32-libpixman-1-0-0.30.0-8.238.noarch.rpm

it's not the exact same binary, but hardly it is an older
version than what was available when the installer was
prepared.
Comment 39 Valerio Messina 2016-01-14 16:19:45 UTC
on that machine with WinXP 32bit the CPU is an Intel Core 2 Duo T5870 @2GHz
with: MMX, SSE, SSE2, SSE3, SSSE3, EM64T
Comment 40 Valerio Messina 2016-01-15 09:16:13 UTC
now? Can be better someone try to (cross)build libpixman 0.30.x using the "standard" generation chain on the usual build SW fabbric used for the GIMP release. Then I and Massimo will test that with GIMP 2.8stable and 2.9dev on our old HW to be sure no other issues with instruction code, before the release of GIMP 2.8.18. Other suggestion?
Comment 41 Valerio Messina 2016-01-19 12:49:01 UTC
are the build parameters/tools used for GIMP release public or accessible to us?
Comment 42 Valerio Messina 2016-01-19 16:25:57 UTC
I had tested the MSYS2
https://msys2.github.io/
proposed as the standard Win build chain (on Windows) at:
http://www.gtk.org/download/windows.php

I tested it on both WinXP 32 bit and Win7 64 bit.

The build commands was:
$ ./configure CFLAGS=-O2 --build=i686-w64-mingw32 --host=i686-w64-mingw32
(or simply $ ./configure CFLAGS=-O2)
$ make

I got about the same dll size of the cross-compiled one from Linux:

  762.761 libpixman-1-0_0.32.8_builtOnLinux32_O2.dll
  771.977 libpixman-1-0_0.32.8_builtOnLinux32_O2align.dll
  840.570 libpixman-1-0_0.32.8_builtOnLinux32_O3.dll
  849.274 libpixman-1-0_0.32.8_builtOnLinux32_O3align.dll
  705.024 libpixman-1-0_0.32.8_builtOnLinux32_O3alignStrip.dll
  825.865 libpixman-1-0_0.32.8_MinGW-w64_Win32_on_Win32_O2.dll
  825.865 libpixman-1-0_0.32.8_MinGW-w64_Win32_on_Win32_O2_target+host.dll
  825.865 libpixman-1-0_0.32.8_MinGW-w64_Win32_on_Win64_O2_target+host.dll

all work with GIMP 2.8.16
Comment 43 Michael Schumacher 2016-01-19 17:19:04 UTC
So just requiring the current 0.32 of the library should be enough?
Comment 44 Valerio Messina 2016-01-20 08:30:49 UTC
not sure, it may depend to build parameters/tools used for GIMP release.

As now we tested:
1) 0.32 built with our build parameters/tools and work
2) GIMP release 2.8.16's libpixman (uncertain version) built with with uncertain parameters/tools and crash

At least we should test crossed to understand what is really necessary, so:
3) 0.32 built with official GIMP release 2.8.16's parameters/tools
4) GIMP release 2.8.16's libpixman (uncertain version) built with our build parameters/tools
Comment 45 Valerio Messina 2016-01-20 12:56:00 UTC
I'm available to do point 3), but someone had to respond to:
https://bugzilla.gnome.org/show_bug.cgi?id=759602#c41
and I'm available to do point 4), but someone had to link the "real" source.tgz of libpixman used to package GIMP 2.8.16
Comment 46 Michael Schumacher 2016-01-28 12:44:28 UTC
*** Bug 761237 has been marked as a duplicate of this bug. ***
Comment 47 Michael Schumacher 2016-01-30 22:54:25 UTC
*** Bug 758652 has been marked as a duplicate of this bug. ***
Comment 48 Michael Schumacher 2016-01-30 22:59:24 UTC
*** Bug 759144 has been marked as a duplicate of this bug. ***
Comment 49 Michael Schumacher 2016-03-05 16:08:38 UTC
*** Bug 762588 has been marked as a duplicate of this bug. ***
Comment 50 Alain G. 2016-03-09 23:45:16 UTC
Hello All,
I am new here and I have just installed The Gimp 2.8.16 downloaded from www.gimp.org on a PC running an up-to-date 32-bit Windows 7 Pro with SP1. I can confirm the crash when resizing the image windows with libpixman-1-0.dll as the culprit. Maybe these infos can help : my processor is an AMD Athlon II X4 640 and my graphics card is an Nvidia GeForce GT740 with drivers version 358.50.
I can also say that Gimp 2.8.14 crashes the same way. Using libpixman-1-0.dll (604 266 bytes, dated 08/25/2014) from version 2.8.14 with Gimp 2.8.16 does not help :-(
Regards.
Comment 51 Michael Schumacher 2016-03-10 16:47:20 UTC
The current release of libpixman is 0.34. We could just require that for the Windows platforms, but I'd like to know the answer to the following question:

- does a libpixman 0.34 build without any special flags just work?


To clarify, the dependencies for the official cross-compiled installers are taken as precomplied packages from http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Factory/noarch/, so build flags used during a GIMP build will be irrelevant - and if defaults work, it will be very likes that any arbitrary prebuilt package will work flawlessly.
Comment 52 Michael Natterer 2016-03-16 20:02:42 UTC
*** Bug 763145 has been marked as a duplicate of this bug. ***
Comment 53 Alain G. 2016-03-23 14:47:07 UTC
To all those who are stuck with a failing libpixman-1-0.dll,

I have been seeking for a working version of libpixman-1-0 to use with The Gimp 2.8.16 on my 32-bit Windows 7 machine and I found one here :
https://rpmfind.net/linux/rpm2html/search.php?query=mingw32%28libpixman-1-0.dll%29

I replaced libpixman-1-0.dll in The Gimp bin folder by the one contained in the package mingw32-pixman-0.33.2-1.fc23.noarch.rpm (size 450 635, date 08/23/2015).
So far, so good...

Any feedback in case you discover some compatibility issues with this version of libpixman-1-0.dll will be appreciated...

Enjoy !
Comment 54 Tolmino Muccitelli 2016-03-23 17:41:40 UTC
i have tried that libpixman:

https://rpmfind.net/linux/rpm2html/search.php?query=mingw32%28libpixman-1-0.dll%29

but on windows XP 32 bit , gimp crash again
Comment 55 Alain G. 2016-03-23 18:53:28 UTC
Hi Tolmino,

Please, could you be me more specific.
- Did you use the libpixman-1-0.dll of package mingw32-pixman-0.33.2-1.fc23.noarch.rpm ?
- Where and how Gimp crashes again ? When resizing picture screen ?
Thank you.
Comment 56 Alain G. 2016-03-23 18:54:13 UTC
(In reply to Tolmino Muccitelli from comment #54)
> i have tried that libpixman:
> 
> https://rpmfind.net/linux/rpm2html/search.php?query=mingw32%28libpixman-1-0.
> dll%29
> 
> but on windows XP 32 bit , gimp crash again

Hi Tolmino,

Please, could you be more specific.
- Did you use the libpixman-1-0.dll of package mingw32-pixman-0.33.2-1.fc23.noarch.rpm ?
- Where and how Gimp crashes again ? When resizing picture screen ?
Thank you.
Comment 57 Tolmino Muccitelli 2016-03-24 08:45:22 UTC
Hi Alain.

i am using libpixman-1-0.dll of package mingw32-pixman-0.33.2-1.fc23.noarch.rpm

and gimp crashes when i resize picture screen!

and i am on windows XP 32 bit
Comment 58 mchinlilly 2016-03-24 14:17:27 UTC
(In reply to Alain G. from comment #56)
Just an end user chiming in here.  I took the libpixman-1-0.dll suggested by Alain G. 
mingw32-pixman-0.33.2-1.fc23.noarch.rpm (size 450 635, date 08/23/2015)
Replaced the 'shipping' dll on GIMP 2.8.16 on Windows XP, Win 7, Win 8.1, Win 10, all 32 bit.
NO crashing.
These same systems were crashing using 2.8.16 with the original shipping DLL.  I copy the old shipping DLL back to the bin folder, crash again, copy the new DLL suggested by Alain into the bin folder, NO crashing.  Did this several times on all systems listed above; i.e. flip back and forth between shipping and the new DLL.  With the shipping DLL, crashes every time, with the new one, no crashing.

Alain's system was Windows 7, so with his testing and mine, that covers every 32 bit Windows except Vista.   My systems are all Intel CPU's of at least Core 2 Duo or later, all the way upto i5's and i7's, all supporting SSE2.  The XP system was C2Duo.

I'm not discounting what Tolmino is saying, just reporting my results.  My copy of XP is installed from authentic MSDN ISO, Service pack 3 already integrated.

Tolmino, is your CPU Intel or AMD? Just looking for something that might be different.  Maybe it has to do with SSE2 support or if it is correctly recognized by libpixman-1-0.dll?
Comment 59 Michael Schumacher 2016-03-24 14:41:13 UTC
Tolmino, please describe exactly what you did. We've seen too many "Oh, but I thought..." replies in similar cases.
Comment 60 mchinlilly 2016-03-24 14:48:54 UTC
I should have mentioned just to confirm, on the web site pointed to by Alain, I'm using the third one down from the top on the list, marked 'Fedora 23 for i386', which usually means 32 bit when something is marked 'i386'.   the one below that is marked 'Fedora for x86_64' which would indicate for 64 bit.

Thought maybe Tolmino had downloaded the 'x86_64' build by accident, but I downloaded both to see if using the 'x86_64'one caused  a crash, but it turns out they are both binary identical (same SHA1 hash), so it wouldn't have mattered which one.
Comment 61 Tolmino Muccitelli 2016-03-24 15:57:06 UTC
Hi 

here i'm

i have a windows XP prosessional Version 2002 Service Pack 3
Cpu is a Intel Core (TM)2 Quad CPU Q8400 @ 2.66GHz 2.68GHz

In the download page i have after click on the link, i have dowloaded the first

mingw32-libpixman-1-0-0.30.0-8.16.noarch.html	MinGW Windows port of the pixel manipulation library for cairo	SourceForge	mingw32-libpixman-1-0-0.30.0-8.16.noarch.rpm

there is no i386- x64 specification in package
but a diplomatic noarch that means a 32bit version (i think).

is not that one?
Comment 62 Valerio Messina 2016-03-24 18:16:53 UTC
Created attachment 324700 [details]
libpixman-1-0.dll packaged with GIMP 2.8.14 for Windows.
It contain valid Jernej Simoncic SHA1 signature on ‎martedì ‎2 ‎settembre ‎2014 22:25:56
I used 7zip 15.14 to compress

It contain Jernej Simoncic SHA1 signature ‎on martedì ‎2 ‎settembre ‎2014 22:25:56
I used 7zip 15.14 with LZMA2 to compress
Comment 63 Valerio Messina 2016-03-24 18:18:20 UTC
someone other can test the libpixman packaged with GIMP 2.8.14?
To me GIMP 2.8.16 with this DLL never crash
Comment 64 Valerio Messina 2016-03-24 18:20:28 UTC
Comment on attachment 324700 [details]
libpixman-1-0.dll packaged with GIMP 2.8.14 for Windows.
It contain valid Jernej Simoncic SHA1 signature on ‎martedì ‎2 ‎settembre ‎2014 22:25:56
I used 7zip 15.14 to compress

It contain valid Jernej Simoncic SHA1 signature on ‎martedì ‎2 ‎settembre ‎2014 22:25:56
I used 7zip 15.14 to compress
Comment 65 Tolmino Muccitelli 2016-03-24 18:51:06 UTC
Hi Valerio
I have tried that libpixman you attached ,
an now i can resize without crash

this is a working version .

I have tried only on windows XP sp3 32 bit

thanks
Comment 66 mchinlilly 2016-03-25 03:00:15 UTC
> is not that one?

No, I don't believe that is the one Alain is referring, and it is not the one I tested.  Look at the version numbers, the first line on that page points to 0.30.0-8.16.   Alain specifically says 0.33.2-1.fc2, that's the third down in the main block of links.  The third column lists architecture. In that third column, third row down, it says "Fedora 23 for i386".

 that's the one i used and Alain used.  filessize of the dll is 450,635 bytes, date 08/23/2015,  SHA1 hash is B53A263F2F79F30399FB1208F1C70B7858AAAC39.  It's a much later build than the one shipped with 2.8.14.
Comment 67 mchinlilly 2016-03-25 03:11:49 UTC
(In reply to Valerio Messina from comment #63)
> someone other can test the libpixman packaged with GIMP 2.8.14?
> To me GIMP 2.8.16 with this DLL never crash

I tested the libpixman packaged with GIMP 2.8.14 dated Sept 2, 2014, with the app GIMP 2.8.16, on Win XP, 7, 8.1 and 10, 32bit.  No crashing.  Not clear to me what 'build' number that DLL is that shipped with 2.8.14.  

The 0.33.2-1 build dated 8.23.2015, size 450,635 bytes, that Alain G. found at 
https://rpmfind.net/linux/rpm2html/search.php?query=mingw32%28libpixman-1-0.dll%29 

also does not crash for me on the same platforms.

For my money, until there is an official updated DLL, I would use the 0.33.2-1 build dated 8.23.2015, for no other reason than it is almost a year newer and presumably a later build, and contains any bug fixes included since 2.8.14 was released.
Comment 68 Valerio Messina 2016-03-25 17:25:59 UTC
if you look at the first bug Attachments, from the callStack you can see what is wrong in libpixman with my computer.
In the function "pixman_implementation_create_mmx()"
at offset +0x20e32 it execute an assembler instruction that cause the 
Microsoft "Access violation - code c0000005"
that is the Intel "General Protection Exception"
The instruction is:

movaps  xmmword ptr [esp+20h],xmm3 ss:0023:0022925c=0022933c0022926c3fe0000000001f00

movaps is "Move Aligned Packed Single-Precision Floating-Point Values"
(the one with 0F29 is the version from memory to an XMM register)
data must be aligned, instruction reference say:
"When the source or destination operand is a memory operand,
the operand must be aligned on a 16-byte boundary
or a general-protection exception (#GP) is generated"

That access is not 16 B aligned (look at the C in 0x0022925c) 

xmmword is a MS custom type for 128 bit (I think)

As sayd by Massimo, the crash may depend by inexistant CPU support of that SSE3 extention, or by missing -mstackrealign while compiling,
though my CPU has "MMX, SSE, SSE2, SSE3, SSSE3, EM64T" and still crash with 2.8.16 lib,
and I tested a recent copy of the lib compiled without -mstackrealign and not crash.
Comment 69 Alain G. 2016-03-25 19:29:01 UTC
Hi all,

Some more infos about my experiments.
My computer is equipped with an AMD Athlon II x4 640 processor and I can dual-boot Windows XP Pro SP3 and Windows 7 Pro SP1, both 32-bit versions.
I am new with Gimp and my first install attempt was version 2.8.16 that fails on both OSes when resizing the image window.
I googled for a solution and read that libpixman-1-0.dll from Gimp 2.8.14 was a valid workaround. Unfortunately, it also failed, so I searched for another version and found one in the mingw32-pixman-0.33.2-1.fc23.noarch.rpm package that works well so far. I was then puzzled by the fact that Valerio says he got a working libpixman-1-0.dll from Gimp 2.8.14. I downloaded it from the link Valerio posted here and found it was different from the one of my Gimp 2.8.14 package and I can confirm it is also a valid workaround.
I then discovered here https://download.gimp.org/pub/gimp/v2.8/windows/ that there are two installable versions of Gimp 2.8.14...  :
gimp-2.8.14-setup.exe
gimp-2.8.14-setup-1.exe.

The first (and older) version crashes on resize while the second one does not. Valerio's libpixman-1-0.dll comes from the gimp-2.8.14-setup-1.exe package apparently.
I also notice there are two verions of Gimp 2.8.16. I tested both.
Here are the results of my testings, on both XP and Seven :

gimp-2.8.14-setup.exe : fails
gimp-2.8.14-setup-1.exe : OK
gimp-2.8.16-setup.exe : fails
gimp-2.8.16-setup-1.exe : fails
gimp-2.8.16-setup-1.exe with libpixman-1-0.dll from gimp-2.8.14-setup-1.exe : OK
gimp-2.8.16-setup-1.exe with libpixman-1-0.dll from mingw32-pixman-0.33.2-1.fc23.noarch.rpm : OK

libpixman-1-0.dll from mingw32-pixman-0.33.2-1.fc23.noarch.rpm is newer (08/23/2015 versus 09/03/2014), but smaller (450 635 versus 644 464 bytes )than the one from gimp-2.8.14-setup-1.exe. I hope the smaller size does not mean less features...
Comment 70 Michael Schumacher 2016-04-29 07:13:32 UTC
*** Bug 765741 has been marked as a duplicate of this bug. ***
Comment 71 Michael Schumacher 2016-05-03 13:52:20 UTC
*** Bug 763060 has been marked as a duplicate of this bug. ***
Comment 72 Loky 2016-05-28 08:02:58 UTC
I then discovered here https://download.gimp.org/pub/gimp/v2.8/windows/ that Since the 07-Apr-2016 there a new setup available...

gimp-2.8.16-setup-3.exe
I tried and same same.... I will say even more reactive (faster to crash)!!
Comment 73 Michael Schumacher 2016-06-21 10:39:14 UTC
The -4 and newer installers fix this.
Comment 74 Valerio Messina 2016-06-21 16:29:12 UTC
just tested -6 that should be younger, on both Win7-64 and WinXP-32 and work well