[Bug 1095664] New: Crash in g_type_free_instance for instance objects at an address > 4GB on win64

bugzilla at redhat.com bugzilla at redhat.com
Thu May 8 10:18:31 UTC 2014


https://bugzilla.redhat.com/show_bug.cgi?id=1095664

            Bug ID: 1095664
           Summary: Crash in g_type_free_instance for instance objects at
                    an address > 4GB on win64
           Product: Fedora
           Version: 20
         Component: mingw-glib2
          Severity: medium
          Assignee: rjones at redhat.com
          Reporter: bernhard.loos at ruecker.de
        QA Contact: extras-qa at fedoraproject.org
                CC: erik-fedora at vanpienbroek.nl,
                    fedora-mingw at lists.fedoraproject.org,
                    kalevlember at gmail.com, lfarkas at lfarkas.org,
                    marcandre.lureau at redhat.com, rjones at redhat.com,
                    t.sailer at alumni.ethz.ch



Description of problem:
For some reason, glib2 is compiled with valgrind support.
This leads to a special code sequence to check if valgrind is running.
Among other things, this code sequence also contains an xchg ebx, ebx
instruction.
In g_type_free_instance, the address of the memory to be freed is stored in
rbx, and the xchg ebx,ebx zeros out the upper 32bit of the address.
This has no effect for most programs, but for large programs which use more
then 4GB of memory, it will lead to suprise crashes.
IMPORTANT: The valgrind check only happens for types with private data.

Adding NVALGRIND=1 to the compiler defines disables valgrind support and fixes
the problem.


Version-Release number of selected component (if applicable):
mingw64-glib2-2.38.2-1.fc20

How reproducible:
always

Steps to Reproduce:
1. Use loads of memory
2. create a GTypeInstance (with private data or the bug won't trigger) at an
address > 4GB. Most GObject types should also work
3. free the instance with g_type_free_instance (or g_object_unref)
4. -> crash

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=KFtUOGV4mk&a=cc_unsubscribe


More information about the mingw mailing list