Skip to Content
0
Former Member
Aug 12, 2009 at 10:26 AM

JRC doesn't release open file descriptors

235 Views

Hi everyone!<br>

We're running a small process on Red Hat Enterprise Linux version 4 based on the JRC 2.0-libraries (crjava-runtime_12.2.202) which renders some different reports for printing and creating pdf-files. This process needs to open different font-files (.ttf) when it renders the reports. These open files are released correctly after finishing the rendering, except of the Lucida-font-files which are included in the JRE (we tried all 1.6_xx-versions). I think it only happens if this font is used in the reports.

Every rendered report leaves some of these open files for the process until the system-side limit is reached what makes the process hang-up. Here's an example for the list of open files after several rendered reports:

<br><br>

[root@xyz]# lsof -p 30141<br>
COMMAND   PID USER   FD   TYPE     DEVICE     SIZE     NODE NAME  <br>
<br>
*faded out .jar-files and others*<br>
<br>
java    30141 root   93r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root   94r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root   95r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root   96r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root   97r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root   98r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root   99r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  100r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  101r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  102r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  103r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  104r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  105u   REG  8,5  8167424 47 /tmp/db-56611.crtmp <br>
java    30141 root  106r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  107r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  108r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  109r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  110r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  111r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  112u  IPv6   82449414 TCP localhost:60982->loc
alhost:1972 (ESTABLISHED)  <br>
java    30141 root  113r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  114r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  115r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  116r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  117r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  118r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  119r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  120r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  121r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  122u   REG  8,5  3481600 40 /tmp/db-56655.crtmp <br>
java    30141 root  123r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  124r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  125r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  126r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  127r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  128r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  129r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  130r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  131r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  132r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  133r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  134r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  135r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  136r   REG  8,2   344908   212956 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaBrightRegular.ttf   <br>
java    30141 root  137r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  138r   REG  8,2   242700   212960 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaTypewriterRegular.ttf <br>
java    30141 root  139r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf     <br>
java    30141 root  140r   REG  8,2   698236   212958 /usr/java/jdk1.6.0_0
6/jre/lib/fonts/LucidaSansRegular.ttf <br>
<br>
etc.<br>
etc.

<br><br>

I already tried to force the JRE not to use its own Lucida-fonts by installing them as "regular" fonts to the system and manipulating the fontconfig.properties-files, but that doesn't work at all.<br>

Anyway, I think it's a bug in the JRC-libraries which is really annoying and should be fixed as soon as possible.<br>

<br>

Any help and hints for workarounds are very welcome :)<br>

<br>

<br>

Best regards,<br>

Volker Deuss<br>

<br>

<br>

// edit: Formatting some text as code doesn't seem to be working, just like carriage return without using html-tags?

<br><br>Edited by: Volker Deuss on Aug 12, 2009 12:39 PM