Skip to content

Issue: MontageImage returning nil MagickWand obj #236

Description

@asaleem772

Using 7.0.9-8 for ImageMagick
9.52 Gslib
and 3.30 for golang imagegick

`

   imagick.Initialize()
   defer imagick.Terminate()

mwResult := imagick.NewMagickWand()
defer mwResult.Destroy()

mw := imagick.NewMagickWand()
defer mw.Clear()

err := mw.SetResolution(150, 150)
if err != nil {
	return nil, err
}

dw := imagick.NewDrawingWand()
defer dw.Clear()

mon := imagick.NewMagickWand()
defer mon.Clear()

err = mon.SetResourceLimit(imagick.RESOURCE_MEMORY, 8589934592)
if err != nil {
	return nil, err
}
err = mon.SetResourceLimit(imagick.RESOURCE_MAP, 8589934592)
if err != nil {
	return nil, err
}

data, err := ioutil.ReadFile(localPDFFilePath)
if err != nil {
	return nil, err
}

zerologger.Info().Msg("ReadImageBlob started")
err = mw.ReadImageBlob(data)
if err != nil {
	return nil, err
}
zerologger.Info().Msg("ReadImageBlob completed")

zerologger.Info().Msg("MontageImage started")
mon = mw.MontageImage(dw, "4x4+0+0", "640x480+0+0", imagick.MONTAGE_MODE_UNFRAME, "0x0+0+0")
zerologger.Info().Msg("MontageImage completed")

dw.Clear()
mw.Clear()
//HERE: ERR: mon obj has nil 'mw' object, and causing issue
err = mon.SharpenImage(2, 1)
if err != nil {
	return nil, err
}

err = mon.SetImageFormat("pdf")
if err != nil {
	return nil, err
}

err = mwResult.AddImage(mon)
if err != nil {
	return nil, err
}

zerologger.Info().Msg("GetImagesBlob started")
result := mwResult.GetImagesBlob()
zerologger.Info().Msg("GetImagesBlob completed")
return result, nil`

It returns Assertion Failed error after

Assertion failed: wand != (MagickWand *) NULL,file ../ImageMagick-7.0.9-2/MagickWand/magick-image.c, line 11467

This issue only comes if we pass large PDF file which contains more than 300+ pages depends on content of page.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions