Skip to content

Issue: MontageImage returning nil MagickWand obj #236

Open
@asaleem772

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions