On 2/5/13 2:23 PM, Alexander Hansen wrote: > On 2/5/13 1:52 PM, Eigil Krogh Sorensen wrote: >> >> Den 05/02/13 21.03 skrev "Alexander Hansen" <alexanderk.han...@gmail.com>: >> >>> On 2/5/13 10:35 AM, Eigil Krogh Sorensen wrote: >>>> I don't know if this is the right place to post this, but anyway... >>>> >>>> I have this small octave function, that runs fine on my Windows Octave, >>>> but crashes on my fink octave-atlas(3.6.3): >>>> >>>> " >>>> function simpleImageExample >>>> imageFile = "100-0039_IMG.JPG"; >>>> info = imfinfo (imageFile) >>>> I = imread (imageFile); >>>> subplot(2,1,1); >>>> imshow(I); >>>> endfunction >>>> " >>>> >>>> >>>> If I run the function as shown above, octave crashes with this messages >>>> " >>>> warning: your version of GraphicsMagick limits images to 16 bits per >>>> pixel >>>> octave(18942,0x10b2db180) malloc: *** error for object 0x10b989570: >>>> pointer bei >>>> ng freed was not allocated >>>> *** set a breakpoint in malloc_error_break to debug >>>> panic: Abort trap: 6 -- stopping myself... >>>> attempting to save variables to `octave-core'... >>>> save to `octave-core' complete >>>> " >>>> >>>> >>>> The problem occurs in "imfinfo" because if I remove the line >>>> "info = imfinfo (imageFile)" >>>> >>>> then I only get the warning >>>> " >>>>>>> simpleImageExample >>>> warning: your version of GraphicsMagick limits images to 16 bits per >>>> pixel >>>>>>> >>>> " >>>> >>>> and the picture looks OK. >>>> >>>> >>>> --Eigil >>>> >>>> >>>> >>> >>> I can confirm this behavior. >>> >>> When I tried a local rebuild of graphicsmagick using >>> "--with-quantum-depth=32" I still got a "warning: your version of >>> GraphicsMagick limits images to 16 bits per pixel" message from Octave. >>> >>> The malloc() error goes away, but then the behavior gets really strange. >>> I made up identical test.jpg and test.jpeg files, so one would think >>> the error messages, if any, would be the same, but instead I get >>> (10.8/x86_64): >>> >>> octave:1> imfinfo ("test.jpeg") >>> warning: your version of GraphicsMagick limits images to 16 bits per pixel >>> error: Magick++ exception: Magick: Unable to open file (g) reported by >>> magick/constitute.c:1533 (ReadImage) >>> error: called from: >>> error: /sw/share/octave/3.6.3/m/image/imfinfo.m at line 147, column 10 >>> octave:1> imfinfo ("test.jpg") >>> error: Magick++ exception: Magick: No decode delegate for this image >>> format () reported by magick/constitute.c:1522 (ReadImage) >>> error: called from: >>> error: /sw/share/octave/3.6.3/m/image/imfinfo.m at line 147, column 10 >>> >>> When I rebuilt graphicsmagick using "--with-quantum-depth=8" the results >>> are still wrong, but at least more consistent: >>> >>> octave:1> imfinfo ("test.jpeg") >>> warning: your version of GraphicsMagick limits images to 16 bits per pixel >>> error: Magick++ exception: Magick: No decode delegate for this image >>> format () reported by magick/constitute.c:1522 (ReadImage) >>> error: called from: >>> error: /sw/share/octave/3.6.3/m/image/imfinfo.m at line 147, column 10 >>> octave:1> imfinfo ("test.jpg") >>> error: Magick++ exception: Magick: No decode delegate for this image >>> format () reported by magick/constitute.c:1522 (ReadImage) >>> error: called from: >>> error: /sw/share/octave/3.6.3/m/image/imfinfo.m at line 147, column 10 >>> >>> >>> >>> On 10.5/powerpc I get malloc() error messages but the image information >>> shows up (same test.jpg and test.jpeg): >>> >>> octave:2> imfinfo ("test.jpeg") >>> octave(47725) malloc: *** error for object 0xa08bf708: Non-aligned >>> pointer being freed >>> *** set a breakpoint in malloc_error_break to debug >>> octave(47725) malloc: *** error for object 0xa08bf708: Non-aligned >>> pointer being freed >>> *** set a breakpoint in malloc_error_break to debug >>> ans = >>> >>> scalar structure containing the fields: >>> >>> Filename = /Users/hansen/test.jpeg >>> FileModDate = 5-Feb-2013 12:21:54 >>> FileSize = 26699 >>> Height = 241 >>> Width = 241 >>> BitDepth = 8 >>> Format = JPEG >>> LongFormat = Joint Photographic Experts Group JFIF format >>> XResolution = 0 >>> YResolution = 0 >>> TotalColors = 68 >>> TileName = >>> AnimationDelay = 0 >>> AnimationIterations = 0 >>> ByteOrder = undefined >>> Gamma = 0 >>> Matte = 0 >>> ModulusDepth = 8 >>> Quality = 75 >>> QuantizeColors = 256 >>> ResolutionUnits = undefined >>> ColorType = grayscale >>> View = >>> >>> octave:3> imfinfo ("test.jpg") >>> octave(47725) malloc: *** error for object 0xa08bf708: Non-aligned >>> pointer being freed >>> *** set a breakpoint in malloc_error_break to debug >>> octave(47725) malloc: *** error for object 0xa08bf708: Non-aligned >>> pointer being freed >>> *** set a breakpoint in malloc_error_break to debug >>> ans = >>> >>> scalar structure containing the fields: >>> >>> Filename = /Users/hansen/test.jpg >>> FileModDate = 5-Feb-2013 12:21:54 >>> FileSize = 26699 >>> Height = 241 >>> Width = 241 >>> BitDepth = 8 >>> Format = JPEG >>> LongFormat = Joint Photographic Experts Group JFIF format >>> XResolution = 0 >>> YResolution = 0 >>> TotalColors = 68 >>> TileName = >>> AnimationDelay = 0 >>> AnimationIterations = 0 >>> ByteOrder = undefined >>> Gamma = 0 >>> Matte = 0 >>> ModulusDepth = 8 >>> Quality = 75 >>> QuantizeColors = 256 >>> ResolutionUnits = undefined >>> ColorType = grayscale >>> View = >>> >>> I'll investigate this further. >>> >>> -- >>> Alexander Hansen, Ph.D. >>> Fink User Liaison >>> My package updates: http://finkakh.wordpress.com/ >> >> FYI: >> Did try to rebuild graphicsMagick (and octave-atlas had to be build also) >> to 32 bits. On my system that din not make the performance noticeably >> worse. >> >> Now I'm back on latest fink versions of GraphicsMagick and octave-atlas >> >> >> --Eigil >> >> >> >> >> >> >> >> >> > > I wouldn't think that you'd need to rebuild octave-atlas. It links to > graphicsmagick dynamically rather than statically. >
Ah, but I thought incorrectly. You're quite correct that you need to rebuild Octave when you change the GraphicsMagick quantum size. For further tests, I tried Fink's ImageMagick instead of GraphicsMagick, but I got the same error. And I tried different compilers and optimizations, but the error persists. I'm trying 10.6/i386 and 10.6/x86_64 now, to see if the problem is restricted to 64-bit builds. -- Alexander Hansen, Ph.D. Fink User Liaison My package updates: http://finkakh.wordpress.com/ ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ Fink-users mailing list Fink-users@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.macosx.fink.user Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-users