From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: IcedTea Java 8 font problems Date: Thu, 21 Jul 2016 00:13:09 +0200 Message-ID: <20160721001309.482be96f@scratchpost.org> References: <20160530045937.GA32652@jasmine> <87pos2ca7z.fsf@elephly.net> <20160531225234.GA19511@jasmine> <87oa7lcuh2.fsf@elephly.net> <20160601062954.GA14412@jasmine> <20160616040212.339f3e6f@scratchpost.org> <8760t9y64z.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPzk1-0006EF-BD for guix-devel@gnu.org; Wed, 20 Jul 2016 18:13:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPzjv-00072C-8g for guix-devel@gnu.org; Wed, 20 Jul 2016 18:13:20 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:59925) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPzju-0006zf-UW for guix-devel@gnu.org; Wed, 20 Jul 2016 18:13:15 -0400 In-Reply-To: <8760t9y64z.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: guix-devel@gnu.org On Thu, 16 Jun 2016 08:55:40 +0200 Ricardo Wurmus wrote: > This looks font-related. Do you have files in ~/.java/fonts? If so, > maybe they are invalid? Nope. > The changes Leo submitted apply to IcedTea 6, but you are using 8. Yeah, sorry. In any case my problem persists across multiple updates. I tried $ guix package -i icedtea:jdk now and I still get Exception in thread "main" java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.FontConfiguration.init(FontConfiguration.java:107) at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) at sun.font.SunFontManager$2.run(SunFontManager.java:431) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.(SunFontManager.java:376) at sun.awt.FcFontManager.(FcFontManager.java:35) at sun.awt.X11FontManager.(X11FontManager.java:57) I checked the source code it uses and it turns out it tries to load a file ${java.home}/lib/fontconfig.${os.name}.${os.version} where $ is an abreviation for System.getProperty. I ran a Java app I wrote which does this System.getProperty so I'm sure what the values are. They are: $java.home = /gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre $os.name = Linux $os.version = 4.6.2-gnu However, /gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre does not contain any fontconfig* files. Hmm... not sure how it's supposed to find any fonts, then. And indeed, $strace -f java A 2>&1 |grep /fontconfig gives: [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.6.2-gnu.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.6.2-gnu.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.6.2-gnu.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.6.2-gnu.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.6.2-gnu.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.6.2-gnu.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.4.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.Linux.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.6.2-gnu.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.6.2-gnu.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.4.bfc", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.properties", R_OK) = -1 ENOENT (No such file or directory) [pid 3533] access("/gnu/store/6ln2p3ynmymdvnqh3lf87hdyip0p3wdm-icedtea-3.0.1-jdk/jre/lib/fontconfig.bfc", R_OK) = -1 ENOENT (No such file or directory)