Jmeter:java.lang.IllegalArgumentException:尺寸(宽度=27118 高度=6346092)太大。在虚拟采样器

Jmeter : java.lang.IllegalArgumentException: Dimensions (width=27118 height=6346092) are too large. at dummy sampler

我有虚拟采样器,其中添加了 json 大小为 220 kb 的响应,

每当点击这个虚拟采样器时都会看到这个错误

当前Xss =1.5G ,Xmx=2.5G

2021-10-25 16:04:02,779 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[AWT-EventQueue-0,6,main]
java.lang.IllegalArgumentException: Dimensions (width=27118 height=6346092) are too large
    at java.awt.image.SampleModel.<init>(SampleModel.java:130) ~[?:?]
    at java.awt.image.SinglePixelPackedSampleModel.<init>(SinglePixelPackedSampleModel.java:144) ~[?:?]
    at java.awt.image.Raster.createPackedRaster(Raster.java:798) ~[?:?]
    at java.awt.image.Raster.createPackedRaster(Raster.java:475) ~[?:?]
    at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032) ~[?:?]
    at java.awt.image.BufferedImage.<init>(BufferedImage.java:351) ~[?:?]
    at com.apple.laf.AquaPainter$AquaSingleImagePainter.createImage(AquaPainter.java:193) ~[?:?]
    at com.apple.laf.AquaPainter$AquaSingleImagePainter.lambda$paintFromSingleCachedImage[=11=](AquaPainter.java:178) ~[?:?]
    at sun.awt.image.MultiResolutionCachedImage.getResolutionVariant(MultiResolutionCachedImage.java:84) ~[?:?]
    at sun.java2d.SunGraphics2D.getResolutionVariant(SunGraphics2D.java:3310) ~[?:?]
    at sun.java2d.SunGraphics2D.drawHiDPIImage(SunGraphics2D.java:3138) ~[?:?]
    at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3376) ~[?:?]
    at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3326) ~[?:?]
    at

原因是您的 window 尺寸(高度和宽度)是 somehow too large

public SampleModel(int dataType, int w, int h, int numBands)
{
    long size = (long)w * h;
    if (w <= 0 || h <= 0) {
        throw new IllegalArgumentException("Width ("+w+") and height ("+
                                           h+") must be > 0");
    }
    if (size >= Integer.MAX_VALUE) {
        throw new IllegalArgumentException("Dimensions (width="+w+
                                           " height="+h+") are too large");
    }

你有 27118 * 6346092 得到 17209332285632-bit integer maximum value

大一点

为什么 JMeter 试图显示这么大的 window 的问题是我无法在没有看到完整 jmeter.log file preferably with debug logging enabled 的情况下回答的问题,它可能与 LAF/MacOS 有某种联系,你可以尝试类似的东西从“选项 -> 外观”菜单中选择另一个 LAF:

或者如果您也无法访问它,您可以使用 [-J 命令行参数]6,例如:

jmeter -Jjmeter.laf=CrossPlatform -t /path/to/your/test.jmx