Skip to main content

[JAVA2D] JVM death from AffineTransformOp

3 replies [Last post]
Anonymous

Hi all,

I'm getting the below error when trying to rescale an image. The same code
(at the bottom) has been working successfully on other platforms for months
and appears to work /most/ of the time on solaris arch... Anyone seen
anything similar and know what may be wrong?

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0xFF242714 Function=[Unknown.
Nearest:realloc+0x784] Library=/usr/lib/libc.so.1 Current Java thread:
at
sun.awt.image.ImagingLib.transformBI(Native Method)
at
sun.awt.image.ImagingLib.filter(Unknown Source)
at
java.awt.image.AffineTransformOp.filter(Unknown Source)
at com.scrittura.imaging.TiffImage.getSquareResolutionImage
(TiffImage.java:307)
at com.scrittura.imaging.plugins.TasbarPlugin.processDocument
(TasbarPlugin.java
:241)
at
com.scrittura.imaging.ImageProcessing.processDocument
(ImageProcessing.java:1
55)
at
com.scrittura.imaging.ImageProcessingDaemon.run
(ImageProcessingDaemon.java:2
05)
Dynamic libraries:
0x10000 /opt/scrittura/j2re1.4.2_06/bin/java
0xff350000 /usr/lib/libthread.so.1
0xff340000 /usr/lib/libdl.so.1
0xff200000 /usr/lib/libc.so.1
0xff390000 /usr/platform/SUNW,Sun-Fire-V440/lib/libc_psr.so.1
0xfe000000 /opt/scrittura/j2re1.4.2_06/lib/sparc/client/libjvm.so
0xff2e0000 /usr/lib/libCrun.so.1
0xff1e0000 /usr/lib/libsocket.so.1
0xff100000 /usr/lib/libnsl.so.1
0xff0b0000 /usr/lib/libm.so.1
0xff1c0000 /usr/lib/libsched.so.1
0xff090000 /usr/lib/libmp.so.2
0xff050000 /opt/scrittura/j2re1.4.2_06/lib/sparc/native_threads/libhpi.s
o
0xfe7d0000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libverify.so
0xfe790000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libjava.so
0xfe770000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libzip.so
0xfe610000 /usr/lib/locale/en_GB.ISO8859-15/en_GB.ISO8859-15.so.2
0xfc550000 /opt/scrittura/imageProcessing7001/lib/libwrapper.so
0xfbf90000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libnet.so
0xfbeb0000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libcmm.so
0xfbdb0000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libjpeg.so
0xe1f80000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libclib_jiio.so
0xfbe90000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libnio.so
0xfbd90000 /usr/lib/librt.so.1
0xfbce0000 /usr/lib/libaio.so.1
0xfbcc0000 /usr/lib/libsendfile.so.1
0xe1d80000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libawt.so
0xfbc40000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libmlib_image.so
0xfbc20000 /opt/scrittura/j2re1.4.2_06/lib/sparc/headless/libmawt.so
0xe1a80000 /opt/scrittura/j2re1.4.2_06/lib/sparc/cpu/sparcv9+vis2/libcli
b_jiio.so
0xe1900000 /opt/scrittura/j2re1.4.2_06/lib/sparc/libmlib_image_v.so
Heap at VM Abort:
Heap
def new generation total 2112K,
used 490K [0xe2c00000, 0xe2e20000, 0xe4d50000)
eden space 2048K, 23% used
[0xe2c00000, 0xe2c7abb8, 0xe2e00000)
from space 64K, 0% used
[0xe2e00000, 0xe2e00000, 0xe2e10000)
to space 64K, 0% used
[0xe2e10000, 0xe2e10000, 0xe2e20000)
tenured generation total 1784K,
used 1068K [0xe4d50000, 0xe4f0e000, 0xf5800000)
the space 1784K, 59% used
[0xe4d50000, 0xe4e5b0f8, 0xe4e5b200, 0xe4f0e000)
compacting perm gen total 5632K,
used 5576K [0xf5800000, 0xf5d80000, 0xf9800000)
the space 5632K, 99% used
[0xf5800000, 0xf5d72108, 0xf5d72200, 0xf5d80000)

Caused from the last line of:

AffineTransform trans = new AffineTransform(new float[]{ xscale, 0f, 0f,
yscale }); AffineTransformOp affineTransOp = new AffineTransformOp(trans,
AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
BufferedImage postTransImg = affineTransOp.createCompatibleDestImage
(preTransImg, null);

affineTransOp.filter(preTransImg, postTransImg);

Where preTransImg is a successfully loaded RenderedImage.

Robert

***********************************************************************************
The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB.
Authorised and regulated by the Financial Services Authority

This e-mail message is confidential and for use by the
addressee only. If the message is received by anyone other
than the addressee, please return the message to the sender
by replying to it and then delete the message from your
computer. Internet e-mails are not necessarily secure. The
Royal Bank of Scotland plc does not accept responsibility for
changes made to this message after it was sent.

Whilst all reasonable care has been taken to avoid the
transmission of viruses, it is the responsibility of the recipient to
ensure that the onward transmission, opening or use of this
message and any attachments will not adversely affect its
systems or data. No responsibility is accepted by The Royal
Bank of Scotland plc in this regard and the recipient should carry
out such virus and other checks as it considers appropriate.
Visit our websites at:
http://www.rbs.co.uk/CBFM
http://www.rbsmarkets.com
********************************************************************************

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
PATRICK, Robert, FM

In this case they were 1.0 x 2.0816326.

-----Original Message-----
From: Discussion list for Java 2D API [mailto:JAVA2D-INTEREST@JAVA.SUN.COM]
On Behalf Of Andrei Kouznetsov
Sent: 14 April 2005 07:14
To: JAVA2D-INTEREST@JAVA.SUN.COM
Subject: Re: [JAVA2D] JVM death from AffineTransformOp

>Caused from the last line of:
>
>AffineTransform trans = new AffineTransform(new float[]{ xscale, 0f, 0f,
>yscale }); AffineTransformOp affineTransOp = new AffineTransformOp(trans,
>AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
>BufferedImage postTransImg = affineTransOp.createCompatibleDestImage
>(preTransImg, null);
>
>affineTransOp.filter(preTransImg, postTransImg);
>
>Where preTransImg is a successfully loaded RenderedImage.
>
>Robert
>
>

which values has xscale and yscale?

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

***********************************************************************************
The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB.
Authorised and regulated by the Financial Services Authority

This e-mail message is confidential and for use by the
addressee only. If the message is received by anyone other
than the addressee, please return the message to the sender
by replying to it and then delete the message from your
computer. Internet e-mails are not necessarily secure. The
Royal Bank of Scotland plc does not accept responsibility for
changes made to this message after it was sent.

Whilst all reasonable care has been taken to avoid the
transmission of viruses, it is the responsibility of the recipient to
ensure that the onward transmission, opening or use of this
message and any attachments will not adversely affect its
systems or data. No responsibility is accepted by The Royal
Bank of Scotland plc in this regard and the recipient should carry
out such virus and other checks as it considers appropriate.
Visit our websites at:
http://www.rbs.co.uk/CBFM
http://www.rbsmarkets.com
********************************************************************************

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Andrew Brygin

Hi Patrick,

could you please provide more information about preTransImg? In
particular what color model and raster are used?
If you just want to apply scale-only transfrom then you may try
something like:

BufferedImage postTransImg =
affineTransOp.createCompatibleDestImage(preTransImg, null);
Graphics g = postTransImg.createGraphics();
g.drawImahe(preTransImg, 0, 0,
x_scale * preTransImg.getWidth(),
y_scale * preTransImg.getHeight(), null);

This way should work fine with jdk 5.0u2 or recent jdk 6.0 binary
snapshot (b06 or later).

Thanks,
Andrew.

PATRICK, Robert, FM пишет:

>In this case they were 1.0 x 2.0816326.
>
>-----Original Message-----
>From: Discussion list for Java 2D API [mailto:JAVA2D-INTEREST@JAVA.SUN.COM]
>On Behalf Of Andrei Kouznetsov
>Sent: 14 April 2005 07:14
>To: JAVA2D-INTEREST@JAVA.SUN.COM
>Subject: Re: [JAVA2D] JVM death from AffineTransformOp
>
>
>
>>Caused from the last line of:
>>
>>AffineTransform trans = new AffineTransform(new float[]{ xscale, 0f, 0f,
>>yscale }); AffineTransformOp affineTransOp = new AffineTransformOp(trans,
>>AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
>>BufferedImage postTransImg = affineTransOp.createCompatibleDestImage
>>(preTransImg, null);
>>
>>affineTransOp.filter(preTransImg, postTransImg);
>>
>>Where preTransImg is a successfully loaded RenderedImage.
>>
>>Robert
>>
>>
>>
>>
>
>which values has xscale and yscale?
>
>===========================================================================
>To unsubscribe, send email to listserv@java.sun.com and include in the body
>of the message "signoff JAVA2D-INTEREST". For general help, send email to
>listserv@java.sun.com and include in the body of the message "help".
>
>
>***********************************************************************************
>The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB.
>Authorised and regulated by the Financial Services Authority
>
>This e-mail message is confidential and for use by the
>addressee only. If the message is received by anyone other
>than the addressee, please return the message to the sender
>by replying to it and then delete the message from your
>computer. Internet e-mails are not necessarily secure. The
>Royal Bank of Scotland plc does not accept responsibility for
>changes made to this message after it was sent.
>
>Whilst all reasonable care has been taken to avoid the
>transmission of viruses, it is the responsibility of the recipient to
>ensure that the onward transmission, opening or use of this
>message and any attachments will not adversely affect its
>systems or data. No responsibility is accepted by The Royal
>Bank of Scotland plc in this regard and the recipient should carry
>out such virus and other checks as it considers appropriate.
> Visit our websites at:
>http://www.rbs.co.uk/CBFM
>http://www.rbsmarkets.com
> ********************************************************************************
>
>===========================================================================
>To unsubscribe, send email to listserv@java.sun.com and include in the body
>of the message "signoff JAVA2D-INTEREST". For general help, send email to
>listserv@java.sun.com and include in the body of the message "help".
>
>

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Andrei Kouznetsov

>Caused from the last line of:
>
>AffineTransform trans = new AffineTransform(new float[]{ xscale, 0f, 0f,
>yscale }); AffineTransformOp affineTransOp = new AffineTransformOp(trans,
>AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
>BufferedImage postTransImg = affineTransOp.createCompatibleDestImage
>(preTransImg, null);
>
>affineTransOp.filter(preTransImg, postTransImg);
>
>Where preTransImg is a successfully loaded RenderedImage.
>
>Robert
>
>

which values has xscale and yscale?

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".