java.lang.InternalError - No RenderingEngine module found

Jiri Vanek jvanek at
Mon Mar 19 07:40:59 PDT 2012

On 03/17/2012 12:24 AM, Omair Majid wrote:
> On 03/14/2012 12:19 PM, Jiri Vanek wrote:
>> On 03/14/2012 05:11 PM, Omair Majid wrote:
>>> On 03/14/2012 11:36 AM, Jiri Vanek wrote:
>>>>    It happend when trying to create  jframe from test, run inside junit,
>>>> run from make from commandline.
>>> Can you post the code that is causing the error and tell us exactly how
>>> you are running it?
> Sorry about the delay in getting back.
>>      @Test
>>      public void frame() throws AWTException, IOException{
>>          JFrame f = new JFrame();
>>          f.setSize(800,600);
>>          f.setVisible(true);
>>          Assert.assertNotNull(f);
>>          Robot r =new Robot();
>>          BufferedImage bi=r.createScreenCapture(new Rectangle(0,0,800,600));
>>          Assert.assertNotNull(bi);
>>          ImageIO.write(bi, "png", new
>> File("/home/jvanek/Desktop/xp13.png"));
>>      }
>> in any testclass from jnlp testcases or unittests.
>> Then  ./ ; ./configure
>> --prefix=/home/jvanek/icedtea-web-image --disable-docs; make check; make
>> install;make run-netx-dist-tests. In all cases the frame test failed on
>> first line with mentioned exception.
> Thanks for the reproducer and the steps.
> Ok, I see the problem now. Implementations of RenderingEngine are stored
> in rt.jar, but java uses the ServiceLoader mechanism to locate and use
> an implementation of RenderingEngine. In this case, ServiceLoader looks
> for META-INF/services/sun.java2d.pipe.RenderingEngine files in any jars
> on the classpath to find the implementations of RenderingEngine. This
> file, in icedtea (and openjdk), is stored in resources.jar which we do
> not add to the classpath when building.
> The attached patch works for me. It runs the test (which fails).
Wooou! Tyvm for wise advice!
In case this will be needed, will it be possible to apply this patch for 
icedtea-web head? If no - then only for tests running?
> That said, I am a little confused. Are you trying to use junit to run
> entire applications and take screenshots and do comparisons? I am not
50/50% right and wrong :)
What I want to is to enable reprodcures with gui, yes. But not complex 
applications.  For lunching comlex applications we are thinking little 
bit outside of junit sandbox, but it is in early stage of planing.
> sure if junit is the best tool for this. Perhaps a simple java program
> will suffice (unless you need the various
> annoations/methods/integration-support provided by junit).
Will be probably needed. We can already now launch reproducers with gui, 
we can also run browsers (extension to this topic is coming) we can read 
the stdout/err of their runs, and we can generate quite useful outputs. 
but we cannot examine gui and we can not affect it. Awt robot should be 
more then helpful.

Whole concept is working very well and I think this can just enrich it. 
The jnlp reprodcures are working quite well (Although I found nasty bug 
today inside the engine:-/), In-browser tests as I have designed them 
last week are also working very well. Do yo think it is really bad idea 
to include some more capacity by adding awt.robot in some future?

Bets regards and thank you very much for help with rendering device!

> Cheers,
> Omair

More information about the distro-pkg-dev mailing list