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 Reply-To: cygwin AT cygwin DOT com To: Cygwin Mailing List Subject: Re: ImageMagick not working on Vista/Server 2008 64-bit In-Reply-To: <0sho35p4hsgunmi6in1q8uercfg137snkg@4ax.com> Message-ID: References: <0sho35p4hsgunmi6in1q8uercfg137snkg AT 4ax DOT com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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