From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Mar 18 08:00:15 2010 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CB0F1065675 for ; Thu, 18 Mar 2010 08:00:15 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 229F98FC18 for ; Thu, 18 Mar 2010 08:00:15 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o2I80FGF074325 for ; Thu, 18 Mar 2010 08:00:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o2I80ECT074324; Thu, 18 Mar 2010 08:00:14 GMT (envelope-from gnats) Resent-Date: Thu, 18 Mar 2010 08:00:14 GMT Resent-Message-Id: <201003180800.o2I80ECT074324@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Kravchuk Sergey Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DF57106567C for ; Thu, 18 Mar 2010 07:50:45 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 3BE408FC1F for ; Thu, 18 Mar 2010 07:50:45 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o2I7oil4097403 for ; Thu, 18 Mar 2010 07:50:44 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o2I7oiWS097402; Thu, 18 Mar 2010 07:50:44 GMT (envelope-from nobody) Message-Id: <201003180750.o2I7oiWS097402@www.freebsd.org> Date: Thu, 18 Mar 2010 07:50:44 GMT From: Kravchuk Sergey To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/144847: problem ports ImageMagick (6.5.8-10) X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Mar 2010 08:00:15 -0000 >Number: 144847 >Category: ports >Synopsis: problem ports ImageMagick (6.5.8-10) >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Mar 18 08:00:14 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Kravchuk Sergey >Release: 7.2-RELEASE-p7 >Organization: Astrotech >Environment: FreeBSD 7.2-RELEASE-p7 FreeBSD 7.2-RELEASE-p7 #0: Thu Mar 11 20:57:00 MSK 2010 root :/usr/obj/usr/src/sys/GENERIC amd64 >Description: Hello, use Magick++ in 10 threads code: Magick::Image master; try { master.read(path_source + image_filename); float ratio = (float)master.baseColumns()/master.baseRows(); if(ratio >= 1.19 && ratio <= 1.46) { //nothing } else if(ratio > 1.46 && ratio < 1.6) { master.crop(Magick::Geometry((int)master.baseColumns()*0.9, master.baseRows(), (int)master.baseColumns()*0.05, 0)); LOG::log_file->WriteLog(LOG::INFO, "%s", ("Image " + image_filename + " cropped").c_str()); } else if(ratio > 1.07 && ratio < 1.19) { master.crop(Magick::Geometry(master.baseColumns(), (int)master.baseRows()*0.9, 0, (int)master.baseRows()*0.05)); } else { return 1; } for(uint i = 0; i < m_config.img_size.size(); i++) { Magick::Image image_tmp = master; image_tmp.resize(m_config.img_size[i].size); image_tmp.magick("JPEG"); std::string path_res = m_config.Media_storage; path_res += m_config.img_size[i].name + "/" + image_filename.substr(0,1) + "/" + image_filename.substr(1,2) + "/"; if (! boost::filesystem::exists(path_res)) { boost::filesystem::create_directories(path_res); } image_tmp.write(path_res + image_filename + ".jpg"); } } catch( Magick::Exception &error ) { LOG::log_file->WriteLog(LOG::ERROR, error.what()); return 1; } catch( std::exception &error) { LOG::log_file->WriteLog(LOG::ERROR, error.what()); return 1; } And Magic++ crash with message in stderr " Assertion failed: (semaphore_info != (SemaphoreInfo *) NULL), function LockSemaphoreInfo, file magick/semaphore.c, line 288" Gdb bugtrace: gdb) bt #0 0x0000000802a12a9c in thr_kill () from /lib/libc.so.7 #1 0x0000000802aa1ffb in abort () from /lib/libc.so.7 #2 0x0000000802a89fc5 in __assert () from /lib/libc.so.7 #3 0x000000080185a56d in LockSemaphoreInfo () from /usr/local/lib/libMagickCore.so.2 #4 0x00000008017e5650 in DestroyExceptionInfo () from /usr/local/lib/libMagickCore.so.2 #5 0x0000000801801c5a in DestroyImage () from /usr/local/lib/libMagickCore.so.2 #6 0x000000080180c658 in DestroyImageList () from /usr/local/lib/libMagickCore.so.2 #7 0x0000000801e50035 in Magick::ImageRef::~ImageRef () from /usr/local/lib/libMagick++.so.2 #8 0x0000000801e495a9 in Magick::Image::~Image () from /usr/local/lib/libMagick++.so.2 #9 0x0000000000423012 in UpdaterSlave::ResizeImage (this=0x806e17000, image_filename=Variable "image_filename" is not available. ) at HarvesterSlave.cpp:944 #10 0x0000000000424f7b in UpdaterSlave::GetPropPhoto (this=0x806e17000, hex_name=@0x7fffff9fdd30, html=Variable "html" is not available. ) at HarvesterSlave.cpp:1623 #11 0x00000000004323d6 in UpdaterSlave::harvest_thread (US=Variable "US" is not available. ) at HarvesterSlave.cpp:1113 #12 0x00000008014554d1 in pthread_getprio () from /lib/libthr.so.3 #13 0x0000000000000000 in ?? () Cannot access memory at address 0x7fffff9fe000 >How-To-Repeat: >Fix: Update to 6.6.0-5 Patch port in attachment. Patch attached with submission follows: diff -ur /usr/ports/graphics/ImageMagick.orig/Makefile /usr/ports/graphics/ImageMagick/Makefile --- /usr/ports/graphics/ImageMagick.orig/Makefile 2010-02-05 14:38:10.000000000 +0300 +++ /usr/ports/graphics/ImageMagick/Makefile 2010-03-16 20:40:42.000000000 +0300 @@ -6,13 +6,13 @@ # PORTNAME= ImageMagick -DISTVERSION= 6.5.8-10 +DISTVERSION= 6.6.0-5 PORTREVISION= 1 CATEGORIES= graphics perl5 MASTER_SITES= ftp://ftp.imagemagick.org/pub/ImageMagick/ \ ftp://ftp.nluug.nl/pub/ImageMagick/ \ ftp://gd.tuwien.ac.at/pub/graphics/ImageMagick/ \ - SF/${PORTNAME:L}/${PORTNAME}/6.5 \ + SF/${PORTNAME:L}/${PORTNAME}/6.6 \ MAINTAINER= mm@FreeBSD.org COMMENT= Image processing tools @@ -97,20 +97,10 @@ .endif # PerlMagick not works with threads, if perl is not threaded, and vice versa -.if defined(WITH_IMAGEMAGICK_THREADS) || \ - (!defined(WITHOUT_IMAGEMAGICK_PERL) && \ - defined(PERL_THREADED) && ${PERL_THREADED} == "true") CONFIGURE_ARGS+= --with-threads CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" PTHREAD_LIBS="${PTHREAD_LIBS}" LDFLAGS+= ${PTHREAD_LIBS} WITH_IMAGEMAGICK_THREADS=yes -.else -CONFIGURE_ARGS+= --without-threads -.undef WITH_IMAGEMAGICK_THREADS -.if defined(WITH_IMAGEMAGICK_DJVU) -. undef WITH_IMAGEMAGICK_DJVU -.endif -.endif # Faster, but poor quality .if defined(WITHOUT_IMAGEMAGICK_16BIT_PIXEL) diff -ur /usr/ports/graphics/ImageMagick.orig/distinfo /usr/ports/graphics/ImageMagick/distinfo --- /usr/ports/graphics/ImageMagick.orig/distinfo 2009-12-31 14:01:14.000000000 +0300 +++ /usr/ports/graphics/ImageMagick/distinfo 2010-03-16 20:41:44.000000000 +0300 @@ -1,3 +1,3 @@ -MD5 (ImageMagick-6.5.8-10.tar.bz2) = fc04d56c32bb2eebba7885d0db042f9a -SHA256 (ImageMagick-6.5.8-10.tar.bz2) = ad47980454adbc41d3b3dcc1c968e90f08c08a86b5006da8b0a357248f3ed74c -SIZE (ImageMagick-6.5.8-10.tar.bz2) = 8713910 +MD5 (ImageMagick-6.6.0-5.tar.bz2) = fb57509760a902af5bf535b8da15fdc7 +SHA256 (ImageMagick-6.6.0-5.tar.bz2) = 7d5cb30042ea1ee88485499aa6ed187893a24301be2b7e48eb975a813a68e940 +SIZE (ImageMagick-6.6.0-5.tar.bz2) = 8779522 Only in /usr/ports/graphics/ImageMagick.orig/files: patch-coders::jp2.c diff -ur /usr/ports/graphics/ImageMagick.orig/files/patch-magick-fourier.c /usr/ports/graphics/ImageMagick/files/patch-magick-fourier.c --- /usr/ports/graphics/ImageMagick.orig/files/patch-magick-fourier.c 2009-08-13 11:18:52.000000000 +0400 +++ /usr/ports/graphics/ImageMagick/files/patch-magick-fourier.c 2010-03-16 20:57:39.000000000 +0300 @@ -1,5 +1,5 @@ ---- magick/fourier.c.orig 2009-08-13 09:03:13.924505718 +0200 -+++ magick/fourier.c 2009-08-13 09:03:24.685881339 +0200 +--- magick/fourier.c.orig 2010-03-16 20:54:10.000000000 +0300 ++++ magick/fourier.c 2010-03-16 20:54:39.000000000 +0300 @@ -515,7 +515,7 @@ for (x=0L; x < (long) fourier_info->center; x++) { Only in /usr/ports/graphics/ImageMagick.orig/files: patch-tests-validate.h diff -ur /usr/ports/graphics/ImageMagick.orig/pkg-plist /usr/ports/graphics/ImageMagick/pkg-plist --- /usr/ports/graphics/ImageMagick.orig/pkg-plist 2009-12-31 14:01:14.000000000 +0300 +++ /usr/ports/graphics/ImageMagick/pkg-plist 2010-03-16 21:10:10.000000000 +0300 @@ -367,15 +367,15 @@ lib/libMagick++.a lib/libMagick++.la lib/libMagick++.so -lib/libMagick++.so.2 +lib/libMagick++.so.3 lib/libMagickCore.a lib/libMagickCore.la lib/libMagickCore.so -lib/libMagickCore.so.2 +lib/libMagickCore.so.3 lib/libMagickWand.a lib/libMagickWand.la lib/libMagickWand.so -lib/libMagickWand.so.2 +lib/libMagickWand.so.3 libdata/pkgconfig/ImageMagick++.pc libdata/pkgconfig/Magick++.pc libdata/pkgconfig/ImageMagick.pc >Release-Note: >Audit-Trail: >Unformatted: