delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/06/25/17:03:56

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,WEIRD_PORT
X-Spam-Check-By: sourceware.org
Date: Thu, 25 Jun 2009 16:03:38 -0500
From: Brian Ford <Brian DOT Ford AT FlightSafety DOT com>
Reply-To: cygwin AT cygwin DOT com
To: Cygwin Mailing List <cygwin AT cygwin DOT com>
Subject: Re: ImageMagick not working on Vista/Server 2008 64-bit
In-Reply-To: <0sho35p4hsgunmi6in1q8uercfg137snkg@4ax.com>
Message-ID: <Pine.CYG.4.58.0906251557030.5884@PC1163-8460-XP.flightsafety.com>
References: <0sho35p4hsgunmi6in1q8uercfg137snkg AT 4ax DOT com>
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Sat, 20 Jun 2009, Barry Kelly wrote:

> I have a Windows Server 2008 64-bit install, and I've found that
> ImageMagick cannot convert a simple JPG into a BMP, or resize a JPG.
>
> Steps to reproduce:
>
> * Start mspaint
> * Create 200x200px white image
> * Save as test.jpg
> * Try this command: 'convert test.jpg test.bmp'
> This fails for me, with a Windows-generated "convert.exe has stopped
> working" dialog.
>
> Other ImageMagick commands fail also, such as mogrify, or using the
> -resize command rather than format conversion.

We are seeing this as well on Server 2008 32-bit.  It dies in
winsup/cygwin/thread.cc:113 with a STATUS_ACCESS_VIOLATION:

static inline verifyable_object_state
verifyable_object_isvalid (void const *objectptr, long magic, void
*static_ptr1,
                           void *static_ptr2, void *static_ptr3)
{
  myfault efault;
  /* Check for NULL pointer specifically since it is a cheap test and
avoids the
     overhead of setting up the fault handler.  */
  //if (!objectptr || efault.faulted ())
  if (efault.faulted ())
    return INVALID_OBJECT;

  verifyable_object **object = (verifyable_object **) objectptr;

  if ((static_ptr1 && *object == static_ptr1) ||
      (static_ptr2 && *object == static_ptr2) ||
      (static_ptr3 && *object == static_ptr3))
    return VALID_STATIC_OBJECT;
113:  if ((*object)->magic != magic)
    return INVALID_OBJECT;
  return VALID_OBJECT;
}

but I can't figure out how to get a back trace or any more information.
Running under gdb just shows the 0xC0000005 exit code without stopping.
Isn't the efault handler supposed to catch this anyway?  Any further
debugging ideas?  Thanks.

-- 
Brian Ford
Staff Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained crew...

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019