привет лор. Трабла в следующем: есть некий StoneGate Management Client который работает через java web start (на страничке ссылка на хмл файл в котором описание приложение, что откуда качать и тд). Вот вводная информация:
Сам файл
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+"
codebase="http://192.168.160.100:8080/"
href="smcclient.jnlp">
<information>
<title>StoneGate Management Center 4.3.6 [7949]</title>
<vendor>Stonesoft Corp.</vendor>
<homepage href="http://www.stonegate.com"/>
<description>StoneGate Management Center 4.3.6 [7949]</description>
<icon href="images/32_app.gif"/>
<icon kind="splash" href="images/splash.gif"/>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+" initial-heap-size="10m" max-heap-size="400m"/>
<property name="SG_ROOT_DIR" value="${user.home}/.stonegate"/>
<property name="app.id" value="WEB_CLIENT"/>
<jar href="lib/smc.jar"/>
<jar href="lib/smc_resources.jar"/>
<jar href="lib/config.jar"/>
<jar href="lib/batik.jar"/>
<jar href="lib/jai_codec.jar"/>
<jar href="lib/jai_core.jar"/>
<jar href="lib/jlfgr-1_0.jar"/>
<jar href="lib/ldapjdk.jar"/>
<jar href="lib/ldapsp.jar"/>
<jar href="lib/log4j.jar"/>
<jar href="lib/mlibwrapper_jai.jar"/>
<jar href="lib/postgresql-jdbc3.jar"/>
<jar href="lib/xalan.jar"/>
<jar href="lib/xml.jar"/>
<jar href="lib/TableLayout.jar"/>
<extension name="itext" href="itext.jnlp"/>
<extension name="Bouncy Castle" href="bouncycastle.jnlp"/>
<extension name="Java Help" href="javahelp.jnlp"/>
<extension name="Java Help" href="smcclienthelp.jnlp"/>
</resources>
<application-desc main-class="com.stonesoft.h2a.gui.StartWindow"/>
</jnlp>
вот что происходит при запуске этого поделья
17:34 test@debian /home/test % javaws "http://192.168.160.100:8080/smcclient.jnlp"
Exception in thread "StoneGate Management Center 4.3.6 [7949]" java.lang.ExceptionInInitializerError
at com.stonesoft.util.log.c.<clinit>(c.java:34)
at com.stonesoft.util.x.g.<clinit>(g.java:179)
при этом вылезает окошко со сплешскрином после чего успешно валится с этой бякой.
У наших местных арчеводов все работает, у меня на генту оно с начала не работало на сановской жабе (как ни странно) версии 1.6.21, жаба процесс просто повисал и ничего не происходило. Диагностировал strace - оно ждало futex и не могло дождаться - в итоге я его прибивал. Потом поставил icedtea-1.8.1 и под этой жабой все кагбе заработало.
Теперь собсно где оно не работает - это дебиан под любой джавой, под любым пользователем (даже рут ага) поделка валится с вышеуказанным высером. Алсо вот вывод strace:
open("/usr/lib/gcc/i486-pc-linux-gnu/4.2.4/tls/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i486-pc-linux-gnu/4.2.4/tls", 0xbf870c1c) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc/i486-pc-linux-gnu/4.2.4/i686/sse2/cmov/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/gcc/i486-pc-linux-gnu/4.2.4/i686/sse2/cmov", 0xbf870c1c) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc/i486-pc-linux-gnu/4.2.4/i686/sse2/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
....
....
....
и последние 50 строк
readlink("/proc/self/exe", "/usr/lib/jvm/java-6-openjdk/jre/bin/javaws.real", 4096) = 47
access("/usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so", F_OK) = 0
open("/usr/lib/jvm/java-6-openjdk/jre/lib/i386/jvm.cfg", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1725, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76e3000
read(3, "# Copyright 2001-2004 Sun Micros"..., 4096) = 1725
read(3, "", 4096) = 0
close(3) = 0
munmap(0xb76e3000, 4096) = 0
open("/proc/meminfo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76e3000
read(3, "MemTotal: 513804 kB\nMemF"..., 1024) = 1024
close(3) = 0
munmap(0xb76e3000, 4096) = 0
stat64("/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so", {st_mode=S_IFREG|0644, st_size=4298904, ...}) = 0
getgid32() = 1001
getegid32() = 1001
getuid32() = 1001
geteuid32() = 1001
futex(0xb76a206c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`r\3\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=4298904, ...}) = 0
mmap2(NULL, 8624932, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d1c000
mmap2(0xb7114000, 143360, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3f7) = 0xb7114000
mmap2(0xb7137000, 4320036, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7137000
close(3) = 0
open("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/i386/jli/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/jvm/java-6-openjdk/jre/lib/i386/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=61065, ...}) = 0
mmap2(NULL, 61065, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb76d5000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`4\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=149392, ...}) = 0
mmap2(NULL, 151680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6cf6000
mmap2(0xb6d1a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb6d1a000
close(3) = 0
mprotect(0xb6d1a000, 4096, PROT_READ) = 0
munmap(0xb76d5000, 61065) = 0
umask(077) = 022
mmap2(NULL, 331776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb6ca5000
mprotect(0xb6ca5000, 4096, PROT_NONE) = 0
clone(child_stack=0xb6cf5494, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb6cf5bd8, {entry_number:6, base_addr:0xb6cf5b70, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb6cf5bd8) = 11086
futex(0xb6cf5bd8, FUTEX_WAIT, 11086, NULL) = 0
exit_group(0) = ?
размер сообщения подходит к максимальному внимание вопрос: как еще диагностировать ?