From bugzilla-daemon at icedtea.classpath.org Wed Jul 1 01:19:19 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 01 Jul 2009 08:19:19 +0000 Subject: [Bug 359] New: Firefox crashed on Bandwidth Speed Test plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=359 Summary: Firefox crashed on Bandwidth Speed Test plugin Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: mvyskocil at suse.cz Moved from https://bugzilla.novell.com/show_bug.cgi?id=486588 The Bandwidth Speed Test plugin [1] [2] causes a Firefox crash. Used versions MozillaFirefox-3.5b99-1.2 openjdk b16 with icedtea 1.5 [1] http://www.google.com/ig/adde?moduleurl=http://hosting.gmodules.com/ig/gadgets/file/111311123200664007084/speedtest.xml&source=imag [2] http://tinyurl.com/rarsga -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 1 01:20:19 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 01 Jul 2009 08:20:19 +0000 Subject: [Bug 359] Firefox crashed on Bandwidth Speed Test plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=359 ------- Comment #1 from mvyskocil at suse.cz 2009-07-01 08:20 ------- Output of ICEDTEA_PLUGIN=1 firefox *** NSPlugin Viewer *** ERROR: /usr/lib/browser-plugins/nphelix.so: cannot open shared object file: No such file or directory *** nss-shared-helper: Shared database disabled (set NSS_USE_SHARED_DB to enable). ICEDTEA PLUGIN: Factory::IcedTeaPluginFactory CONSTRUCTING FACTORY ICEDTEAPLUGIN_DEBUG = 1 ICEDTEA PLUGIN: Factory::IcedTeaPluginFactory return ICEDTEA PLUGIN: Factory::Initialize ICEDTEA PLUGIN: Factory::Initialize: using /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/lib/amd64/../../bin/java ICEDTEA PLUGIN: thread manager ICEDTEA PLUGIN: current thread Initializing JVM... ICEDTEA PLUGIN: get component manager ICEDTEA PLUGIN: liveconnect ICEDTEA PLUGIN: thread manager ICEDTEA PLUGIN: Instance::StartAppletviewer ICEDTEA PLUGIN: get component manager ICEDTEA PLUGIN: create local file ICEDTEA PLUGIN: init with path ICEDTEA PLUGIN: create process ICEDTEA PLUGIN: init process ICEDTEA PLUGIN: clearing old input fifo (if any): /home/mvyskocil/.icedteaplugin/icedtea-appletviewer-to-plugin ICEDTEA PLUGIN: creating input fifo: /home/mvyskocil/.icedteaplugin/icedtea-appletviewer-to-plugin ICEDTEA PLUGIN: created input fifo: /home/mvyskocil/.icedteaplugin/icedtea-appletviewer-to-plugin ICEDTEA PLUGIN: got confirmation that appletviewer is running ICEDTEA PLUGIN: clearing old output fifo (if any): /home/mvyskocil/.icedteaplugin/icedtea-plugin-to-appletviewer ICEDTEA PLUGIN: creating output fifo: /home/mvyskocil/.icedteaplugin/icedtea-plugin-to-appletviewer ICEDTEA PLUGIN: created output fifo: /home/mvyskocil/.icedteaplugin/icedtea-plugin-to-appletviewer ICEDTEA PLUGIN: run process Listening for transport dt_socket at address: 8787 ICEDTEA PLUGIN: Instance::StartAppletviewer return ICEDTEA PLUGIN: started appletviewer ICEDTEA PLUGIN: Factory::Initialize return ICEDTEA PLUGIN: Factory::CreateSecureEnv ICEDTEA PLUGIN: JNIEnv::IcedTeaJNIEnv ICEDTEA PLUGIN: JNIEnv::IcedTeaJNIEnv return CREATESECUREENV ICEDTEA PLUGIN: Factory::CreateSecureEnv return ICEDTEA PLUGIN: Factory::CreateInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance return ICEDTEA PLUGIN: Factory::CreateInstance return ICEDTEA PLUGIN: Instance::Initialize TAG FROM BROWSER = instance 1 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 1 cookie Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 1 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home Wrote 901 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return SETTING PEER!!!: 0x7f38a0c3bc40 DONE SETTING PEER!!!: 0x7f38a0c3bc40 ICEDTEA PLUGIN: Instance::Initialize return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Start() ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return GETTING PEER!!!: 0x7f38a0c3bc40 DONE GETTING PEER!!!: 0x7f38a0c3bc40, 0x7f38a0c3bc40 ICEDTEA PLUGIN: Factory::GetValue ICEDTEA PLUGIN: Factory::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: setting window. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 1 handle 33556662 Wrote 27 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f38a56d3f40 waiting for initialization... sh: pactl: command not found (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", (npviewer.bin:10790): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine", ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f38a56d3f40 waiting for initialization... ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 1 status starting applet... PIPE: plugin read: instance 1 status starting applet... ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 1 status starting applet... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: plugin PluginProxyInfo http://wattaman.evonet.ro//speed-test-mare/speedometer.jar PIPE: plugin read: plugin PluginProxyInfo http://wattaman.evonet.ro//speed-test-mare/speedometer.jar ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: plugin PluginProxyInfo http://wattaman.evonet.ro//speed-test-mare/speedometer.jar http://wattaman.evonet.ro//speed-test-mare/speedometer.jar does not need a proxy No suitable proxy found for http://wattaman.evonet.ro//speed-test-mare/speedometer.jar ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: plugin PluginProxyInfo Wrote 24 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 1 status Applet loaded. PIPE: plugin read: instance 1 status Applet loaded. ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 1 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). PIPE: plugin read: instance 1 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 1 status Start: applet not initialized. PIPE: plugin read: instance 1 status Start: applet not initialized. ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 1 status Applet loaded. Processing complete received message: instance 1 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). Processing complete received message: instance 1 status Start: applet not initialized. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 1 initialized PIPE: plugin read: instance 1 initialized ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 1 initialized Setting instance.initialized for 0x7f38a56d3f40 from 0 to 1... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return Instance 0x7f38a56d3f40 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow: window width changed. ICEDTEA PLUGIN: Instance::SetWindow: window height changed. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 1 width 407 height 157 Wrote 32 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return Instance 0x7f38a56d3f40 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Factory::CreateInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance return ICEDTEA PLUGIN: Factory::CreateInstance return ICEDTEA PLUGIN: Instance::Initialize TAG FROM BROWSER = instance 2 tag http://atat.ro/page.php?104 ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 2 cookie __utma=77999940.298669121.1246435665.1246435665.1246435665.1; __utmb=77999940.3.10.1246435665; __utmz=77999940.1246435665.1.1.utmcsr=wattaman.evonet.ro|utmccn=(referral)|utmcmd=referral|utmcct=/speed-test-mare/; _csuid=49743b8a472a4f27; e107_tdOffset=1; e107_tdSetTime=1246435663; e107_tzOffset=-120; __utmc=77999940 Wrote 335 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 2 tag http://atat.ro/page.php?104 Wrote 513 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return SETTING PEER!!!: 0x7f389b597330 DONE SETTING PEER!!!: 0x7f389b597330 ICEDTEA PLUGIN: Instance::Initialize return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Start() ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return GETTING PEER!!!: 0x7f389b597330 DONE GETTING PEER!!!: 0x7f389b597330, 0x7f389b597330 ICEDTEA PLUGIN: Factory::GetValue ICEDTEA PLUGIN: Factory::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: setting window. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 2 handle 33564937 Wrote 27 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f389bacf160 waiting for initialization... ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 2 status starting applet... PIPE: plugin read: instance 2 status starting applet... ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 2 status starting applet... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: plugin PluginProxyInfo http://atat.ro//speed_test/speedometer.jar PIPE: plugin read: plugin PluginProxyInfo http://atat.ro//speed_test/speedometer.jar ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: plugin PluginProxyInfo http://atat.ro//speed_test/speedometer.jar http://atat.ro//speed_test/speedometer.jar does not need a proxy No suitable proxy found for http://atat.ro//speed_test/speedometer.jar ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: plugin PluginProxyInfo Wrote 24 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 2 status Applet loaded. PIPE: plugin read: instance 2 status Applet loaded. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 2 status Applet loaded. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 2 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). PIPE: plugin read: instance 2 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 2 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 2 status Start: applet not initialized. PIPE: plugin read: instance 2 status Start: applet not initialized. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 2 status Start: applet not initialized. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: got NULL window. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Stop() ICEDTEA PLUGIN: Instance::Destroy ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 2 destroy Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::Destroy return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 2 initialized PIPE: plugin read: instance 2 initialized ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 2 initialized Setting instance.initialized for 0x7f389bacf160 from 0 to 1... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return Instance 0x7f389bacf160 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow: window width changed. ICEDTEA PLUGIN: Instance::SetWindow: window height changed. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 2 width 407 height 157 Wrote 32 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: got NULL window. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Stop() ICEDTEA PLUGIN: Instance::Destroy ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 1 destroy Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::Destroy return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::~IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::~IcedTeaPluginInstance return ICEDTEA PLUGIN: Factory::CreateInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance return ICEDTEA PLUGIN: Factory::CreateInstance return ICEDTEA PLUGIN: Instance::Initialize TAG FROM BROWSER = instance 3 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 3 cookie Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 3 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home Wrote 901 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return SETTING PEER!!!: 0x7f389b27a470 DONE SETTING PEER!!!: 0x7f389b27a470 ICEDTEA PLUGIN: Instance::Initialize return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Start() ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return GETTING PEER!!!: 0x7f389b27a470 DONE GETTING PEER!!!: 0x7f389b27a470, 0x7f389b27a470 ICEDTEA PLUGIN: Factory::GetValue ICEDTEA PLUGIN: Factory::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: setting window. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 3 handle 33569968 Wrote 27 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f389b629640 waiting for initialization... ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 3 status starting applet... PIPE: plugin read: instance 3 status starting applet... ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 3 status starting applet... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 3 status Applet loaded. PIPE: plugin read: instance 3 status Applet loaded. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 3 status Applet loaded. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 3 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). PIPE: plugin read: instance 3 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 3 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 3 status Start: applet not initialized. PIPE: plugin read: instance 3 status Start: applet not initialized. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 3 status Start: applet not initialized. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: got NULL window. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Stop() ICEDTEA PLUGIN: Instance::Destroy ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 3 destroy Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::Destroy return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Factory::CreateInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance return ICEDTEA PLUGIN: Factory::CreateInstance return ICEDTEA PLUGIN: Instance::Initialize TAG FROM BROWSER = instance 4 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 4 cookie Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 4 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home Wrote 901 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return SETTING PEER!!!: 0x7f389b27a920 DONE SETTING PEER!!!: 0x7f389b27a920 ICEDTEA PLUGIN: Instance::Initialize return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Start() ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return GETTING PEER!!!: 0x7f389b27a920 DONE GETTING PEER!!!: 0x7f389b27a920, 0x7f389b27a920 ICEDTEA PLUGIN: Factory::GetValue ICEDTEA PLUGIN: Factory::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: setting window. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 4 handle 33571725 Wrote 27 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f38ac13f940 waiting for initialization... ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f38ac13f940 waiting for initialization... ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 3 initialized PIPE: plugin read: instance 3 initialized ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 3 initialized Setting instance.initialized for 0x7f389b629640 from 0 to 1... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status starting applet... PIPE: plugin read: instance 4 status starting applet... ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 4 status starting applet... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status Applet loaded. PIPE: plugin read: instance 4 status Applet loaded. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 4 status Applet loaded. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). PIPE: plugin read: instance 4 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 4 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status Start: applet not initialized. PIPE: plugin read: instance 4 status Start: applet not initialized. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 4 status Start: applet not initialized. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 initialized PIPE: plugin read: instance 4 initialized ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 4 initialized Setting instance.initialized for 0x7f38ac13f940 from 0 to 1... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return Instance 0x7f38ac13f940 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow: window width changed. ICEDTEA PLUGIN: Instance::SetWindow: window height changed. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 4 width 407 height 157 Wrote 32 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return Instance 0x7f38ac13f940 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow return Instance 0x7f389b629640 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: parent window changed. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: window already exists. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: got NULL window. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Stop() ICEDTEA PLUGIN: Instance::Destroy ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 4 destroy Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::Destroy return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::~IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::~IcedTeaPluginInstance return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status Stop: applet not started. PIPE: plugin read: instance 4 status Stop: applet not started. ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status Destroy: applet not stopped. PIPE: plugin read: instance 4 status Destroy: applet not stopped. ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 4 status Dispose: applet not destroyed. PIPE: plugin read: instance 4 status Dispose: applet not destroyed. ICEDTEA PLUGIN: plugin_in_pipe_callback return received message: instance 4 status Stop: applet not started. Processing complete received message: instance 4 status Destroy: applet not stopped. Processing complete received message: instance 4 status Dispose: applet not destroyed. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: Factory::CreateInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance ICEDTEA PLUGIN: Instance::IcedTeaPluginInstance return ICEDTEA PLUGIN: Factory::CreateInstance return ICEDTEA PLUGIN: Instance::Initialize TAG FROM BROWSER = instance 5 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 5 cookie Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 5 tag http://wattaman.evonet.ro/speed-test-mare/?lang=en&country=us&.lang=en&.country=us&synd=ig&mid=10&use_hc=1&ifpctok=-428377367656088245&exp_split_js=1&exp_track_js=1&exp_ids=17259,300473&parent=http://www.google.com&libs=7GiCFv4OBq0/lib/liberror_tracker.js,VDxLZ7xAewY/lib/libcore.js&extern_js=/extern_js/f/CgJlbhICdXMrMAo4ACwrMBI4ACwrMBM4ACwrMBU4ACw/VuBgOjZjTd4.js&view=home Wrote 901 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return SETTING PEER!!!: 0x7f389b2b0d30 DONE SETTING PEER!!!: 0x7f389b2b0d30 ICEDTEA PLUGIN: Instance::Initialize return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Start() ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return GETTING PEER!!!: 0x7f389b2b0d30 DONE GETTING PEER!!!: 0x7f389b2b0d30, 0x7f389b2b0d30 ICEDTEA PLUGIN: Factory::GetValue ICEDTEA PLUGIN: Factory::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: setting window. ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 5 handle 33574333 Wrote 27 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::SetWindow IcedTeaPluginInstance::SetWindow: Instance 0x7f389bc6f100 waiting for initialization... ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 5 status starting applet... PIPE: plugin read: instance 5 status starting applet... ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 5 status starting applet... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return Pending event processed (this) ... 1 ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 5 status Applet loaded. PIPE: plugin read: instance 5 status Applet loaded. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 5 status Applet loaded. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return Pending event processed (this) ... 1 ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 5 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). PIPE: plugin read: instance 5 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 5 status exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader). Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return Pending event processed (this) ... 1 ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 5 status Start: applet not initialized. PIPE: plugin read: instance 5 status Start: applet not initialized. ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 5 status Start: applet not initialized. Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return Pending event processed (this) ... 1 ICEDTEA PLUGIN: plugin_in_pipe_callback return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::SetWindow ICEDTEA PLUGIN: Instance::SetWindow: got NULL window. ICEDTEA PLUGIN: Instance::SetWindow return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return NOT IMPLEMENTED: virtual nsresult IcedTeaPluginInstance::Stop() ICEDTEA PLUGIN: Instance::Destroy ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer Writing to JVM: instance 5 destroy Wrote 19 bytes to pipe ICEDTEA PLUGIN: Instance::SendMessageToAppletViewer return ICEDTEA PLUGIN: Instance::Destroy return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: Instance::GetValue ICEDTEA PLUGIN: Instance::GetValue return ICEDTEA PLUGIN: plugin_in_pipe_callback Received message: instance 5 initialized PIPE: plugin read: instance 5 initialized ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM received message: instance 5 initialized Setting instance.initialized for 0x7f389bc6f100 from 0 to 1... Processing complete ICEDTEA PLUGIN: Instance::ConsumeMsgFromJVM return ICEDTEA PLUGIN: plugin_in_pipe_callback return Instance 0x7f389bc6f100 initialization complete... ICEDTEA PLUGIN: Instance::SetWindow: parent window changed. ICEDTEA PLUGIN: Instance::SetWindow return /usr/bin/firefox: line 126: 10717 Segmentation fault (core dumped) $MOZ_PROGRAM "$@" -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 1 01:21:12 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 01 Jul 2009 08:21:12 +0000 Subject: [Bug 359] Firefox crashed on Bandwidth Speed Test plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=359 ------- Comment #2 from mvyskocil at suse.cz 2009-07-01 08:21 ------- Created an attachment (id=234) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=234&action=view) ~/.icedteaplugin/java.stderr The java.stdout remains empty -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 1 01:22:11 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 01 Jul 2009 08:22:11 +0000 Subject: [Bug 359] Firefox crashed on Bandwidth Speed Test plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=359 ------- Comment #3 from mvyskocil at suse.cz 2009-07-01 08:22 ------- Created an attachment (id=235) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=235&action=view) Core dump of firefox -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From Andrei.Dmitriev at Sun.COM Wed Jul 1 01:18:28 2009 From: Andrei.Dmitriev at Sun.COM (Andrei Dmitriev) Date: Wed, 01 Jul 2009 12:18:28 +0400 Subject: Patch for SelectionAutoscrollTest In-Reply-To: <1147001799.691391246393508970.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> References: <1147001799.691391246393508970.JavaMail.root@zmail04.collab.prod.int.phx2.redhat.com> Message-ID: <4A4B1BD4.90606@sun.com> Hi Man Lung Wong, generally speaking this approach is good enough but the better way is to use SunToolkit.realSync() method which synchronously guarantees the events from the queue are dispatched. You may notice that call from within some other tests in the test/ folder. Just make a "grep" for it to get an example. But from the other hand, we have similar defect: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6615847 and the report mentions some issues with this approach mentioned above. BTW, did you already created a defect in bugzilla? It would be just fine to have a reference for every patch suggested and not let them sunk in email boxes/mailing lists archives. :) Thanks, Andrei Man Wong wrote: > Hi > > I have encountered the jtreg failure of the selection autoscroll test (openjdk/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest). I found out the problem occurs because in the test, the mouse is not pressed for long enough outside the text box to allow the highlight to reach the bottom (even though the behaviour is still correct). Hence, all that was needed was to add a delay on the mouse press event after it had moved outside of the text box. The only concern I have is whether the duration for the delay I set is reasonable (I have it at 2s) or would a more generalized approach be more suitable (i.e. find a way to check if the highlighting is still moving on to the next character). Let me know what you think and thanks. > > By the way, my system is Fedora 10 32 bits running on gnome 2.24.3, icedtea6 build with openjdk6. > > Man Lung Wong > From gbenson at redhat.com Fri Jul 3 03:50:53 2009 From: gbenson at redhat.com (Gary Benson) Date: Fri, 03 Jul 2009 10:50:53 +0000 Subject: changeset in /hg/icedtea6: 2009-07-03 Gary Benson changeset 308c172cd230 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=308c172cd230 description: 2009-07-03 Gary Benson * ports/hotspot/src/share/vm/shark/sharkEntry.hpp (SharkEntry::print_statistics): Removed. * ports/hotspot/src/share/vm/shark/sharkEntry.cpp: Removed. * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (SharkCompiler::compile_method): Save location of native code across the call to ciEnv::register_method (which frees the buffer blob it's in), and inline what was SharkEntry::print_statistics. * ports/hotspot/src/share/vm/includeDB_shark: Updated. diffstat: 5 files changed, 22 insertions(+), 49 deletions(-) ChangeLog | 13 ++++++ ports/hotspot/src/share/vm/includeDB_shark | 2 - ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 15 ++++--- ports/hotspot/src/share/vm/shark/sharkEntry.cpp | 38 -------------------- ports/hotspot/src/share/vm/shark/sharkEntry.hpp | 3 - diffs (119 lines): diff -r 9247751a966e -r 308c172cd230 ChangeLog --- a/ChangeLog Fri Jun 26 04:51:17 2009 -0400 +++ b/ChangeLog Fri Jul 03 11:52:45 2009 +0100 @@ -1,3 +1,16 @@ 2009-06-26 Gary Benson + + * ports/hotspot/src/share/vm/shark/sharkEntry.hpp + (SharkEntry::print_statistics): Removed. + * ports/hotspot/src/share/vm/shark/sharkEntry.cpp: Removed. + + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::compile_method): Save location of native code + across the call to ciEnv::register_method (which frees the buffer + blob it's in), and inline what was SharkEntry::print_statistics. + + * ports/hotspot/src/share/vm/includeDB_shark: Updated. + 2009-06-26 Gary Benson * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp diff -r 9247751a966e -r 308c172cd230 ports/hotspot/src/share/vm/includeDB_shark --- a/ports/hotspot/src/share/vm/includeDB_shark Fri Jun 26 04:51:17 2009 -0400 +++ b/ports/hotspot/src/share/vm/includeDB_shark Fri Jul 03 11:52:45 2009 +0100 @@ -166,8 +166,6 @@ sharkConstant.hpp sharkConstant.hpp ciStreams.hpp sharkConstant.hpp sharkBuilder.hpp sharkConstant.hpp sharkValue.hpp - -sharkEntry.cpp sharkEntry.hpp sharkEntry.hpp llvmHeaders.hpp diff -r 9247751a966e -r 308c172cd230 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Fri Jun 26 04:51:17 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Fri Jul 03 11:52:45 2009 +0100 @@ -166,12 +166,12 @@ void SharkCompiler::compile_method(ciEnv entry->set_entry_point( (ZeroEntry::method_entry_t) execution_engine()->getPointerToFunction(function)); + address code_start = entry->code_start(); + address code_limit = entry->code_limit(); // Register generated code for profiling, etc - if (JvmtiExport::should_post_dynamic_code_generated()) { - JvmtiExport::post_dynamic_code_generated( - name, entry->code_start(), entry->code_limit()); - } + if (JvmtiExport::should_post_dynamic_code_generated()) + JvmtiExport::post_dynamic_code_generated(name, code_start, code_limit); // Install the method into the VM CodeOffsets offsets; @@ -198,8 +198,11 @@ void SharkCompiler::compile_method(ciEnv false); // Print statistics, if requested - if (SharkTraceInstalls) - entry->print_statistics(name); + if (SharkTraceInstalls) { + tty->print_cr( + " [%p-%p): %s (%d bytes code)", + code_start, code_limit, name, code_limit - code_start); + } } const char* SharkCompiler::methodname(const ciMethod* target) diff -r 9247751a966e -r 308c172cd230 ports/hotspot/src/share/vm/shark/sharkEntry.cpp --- a/ports/hotspot/src/share/vm/shark/sharkEntry.cpp Fri Jun 26 04:51:17 2009 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008, 2009 Red Hat, Inc. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - * - */ - -#include "incls/_precompiled.incl" -#include "incls/_sharkEntry.cpp.incl" - -#ifndef PRODUCT -void SharkEntry::print_statistics(const char* name) const -{ - address start = code_start(); - address limit = code_limit(); - - tty->print_cr( - " [%p-%p): %s (%d bytes code)", start, limit, name, limit - start); -} -#endif // !PRODUCT diff -r 9247751a966e -r 308c172cd230 ports/hotspot/src/share/vm/shark/sharkEntry.hpp --- a/ports/hotspot/src/share/vm/shark/sharkEntry.hpp Fri Jun 26 04:51:17 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkEntry.hpp Fri Jul 03 11:52:45 2009 +0100 @@ -43,7 +43,4 @@ class SharkEntry : public ZeroEntry { { _code_limit = code_limit; } - - public: - void print_statistics(const char* name) const PRODUCT_RETURN; }; From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 04:47:53 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 11:47:53 +0000 Subject: [Bug 360] New: IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 Summary: IDE crashes and can't continue Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: major Priority: P4 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: mrjava.javaman at gmail.com One of my JAVA-developers team was developing under windows using Netbeans, he created a heavy bean that extends JPanel, its constructor simply contains initcomponents() and some variables initializations only. once he tried to drag and drop it into another JPanel, netbeans crashes and exit without any warnings. I then took the source code into my PC which is running fedora 11, and tried to do the same thing then I got the bug reporting tool with this text: ---start--- System: Linux 2.6.29.5-191.fc11.i686.PAE #1 SMP Tue Jun 16 23:19:53 EDT 2009 i686 X Vendor: The X.Org Foundation X Vendor Release: 10601901 Selinux: No Accessibility: Disabled GTK+ Theme: Nodoka Icon Theme: Fedora GTK+ Modules: canberra-gtk-module, pk-gtk-module, gnomebreakpad Memory status: size: 0 vsize: 0 resident: 0 share: 0 rss: 0 rss_rlim: 0 CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 0 ----------- .xsession-errors --------------------- # V [libjvm.so+0x1b8ac2] # # An error report file with more information is saved as: # /home/Amahdy/hs_err_pid2953.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # [error occurred during error reporting , id 0xb] [error occurred during error reporting , id 0xb] -------------------------------------------------- ---End--- file "/home/Amahdy/hs_err_pid2953.log" will be attached, -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 04:50:45 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 11:50:45 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #1 from mrjava.javaman at gmail.com 2009-07-03 11:50 ------- Created an attachment (id=236) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=236&action=view) the generated file by the bug reporting tool -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 06:35:01 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 13:35:01 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-03 13:34 ------- I am curious - is your other Dev using openJDK (or derivative, such as IcedTea) on his Windows box? Or is this happening under Sun's non-open Java as well? If it happens also in Sun's Java then I would begin to suspect either Netbeans or the bean under deveopment. Also, can you attach source code? (or some example which can reproduce the crash). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 07:18:13 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 14:18:13 +0000 Subject: [Bug 130] -XX:+TraceThreadEvents hangs or crashes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=130 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from jon.vanalten at redhat.com 2009-07-03 14:18 ------- If this problem is reproducible in current versions, please reopen and attach sample and/or log. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 07:42:15 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 14:42:15 +0000 Subject: [Bug 137] icedtea6 build fails on Debian unstable (sid) with "missing return value" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=137 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #6 from jon.vanalten at redhat.com 2009-07-03 14:42 ------- Please reopen and include relevant information if necessary. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 07:53:02 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 14:53:02 +0000 Subject: [Bug 165] seg fault with sisc/jdbc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=165 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from jon.vanalten at redhat.com 2009-07-03 14:53 ------- Please reopen and include enough info to reproduce crash if applicable. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:03:28 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:03:28 +0000 Subject: [Bug 171] Crash running Solr 1.3 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=171 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:06:59 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:06:59 +0000 Subject: [Bug 173] Cannot play two sounds simultaneously (Linux) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=173 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:22:19 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:22:19 +0000 Subject: [Bug 210] Eclipse IDE for C/C++ crashes while running code Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=210 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from jon.vanalten at redhat.com 2009-07-03 15:22 ------- Go ahead and reopen this if you still have this problem. Please provide info as indicated in previous comment. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:23:41 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:23:41 +0000 Subject: [Bug 216] OpenJDK java web start fails to open jnlp files version 1.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=216 ------- Comment #6 from jon.vanalten at redhat.com 2009-07-03 15:23 ------- No other issues here. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:25:36 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:25:36 +0000 Subject: [Bug 228] Since I have installed Mandriva 2009, brutal breakdown of my eclipse 3.3.2 platform with JDK 1.6. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=228 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from jon.vanalten at redhat.com 2009-07-03 15:25 ------- As noted, if this is still a problem please reopen and provide info to reproduce this problem. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:36:15 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:36:15 +0000 Subject: [Bug 251] ubuntu 8.04 amd64 - Java applet loop: openjdk-6 icedtea6-plugin Firefox Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=251 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #2 from jon.vanalten at redhat.com 2009-07-03 15:36 ------- If this is still an issue for you, please reopen and provide additional details. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:37:43 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:37:43 +0000 Subject: [Bug 254] dancing dude not vertically aligned in applet area Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=254 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #4 from jon.vanalten at redhat.com 2009-07-03 15:37 ------- If this is still an issue for you, please reopen and provide additional details. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 08:40:24 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 15:40:24 +0000 Subject: [Bug 173] Cannot play two sounds simultaneously (Linux) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=173 ------- Comment #6 from ryan at ryanheise.com 2009-07-03 15:40 ------- (In reply to comment #5) > Also it seems that in your case the > information in question has already been available in plain text on your own > web site for some time. > http://web.archive.org/web/20060619211335/http://www.ryanheise.com/ The email address on that page is actually obfuscated using Javascript. Although it'd be a good thing for publicly displayed email addressed to be truncated, in my case the damage has already been done so I have no motivation to file a bug report. I encourage the people of IcedTea to take it upon themselves to consider the privacy issue. > I am not able to reproduce your issue with current build. Are you still > experiencing this problem? > > (if no further response I will close this as FIXED in one week) Ah, that's good news, although since the time I submitted that bug report, I have actually stopped using the JVM and am unable to test it. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 13:48:16 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 20:48:16 +0000 Subject: [Bug 290] plugin crash on amd64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=290 ------- Comment #3 from jon.vanalten at redhat.com 2009-07-03 20:48 ------- I've tried this several more times. Managed to crash firefox once. Unfortunately didn't run from the command line that time.... However, I have come to realize something about what happens when it 'times out'. The web site goes to a page indicating applet timed out, however the applet keeps on running (java process using high CPU) for some time before ending. Tried running from the command line and the applet seems to terminate normally, and at the end spits out a URL whose page indicates satisfactory test results. Not sure yet why the browser believes it has timed out and doesn't get sent to the URL generated. I have occasionally had the applet simply fail to load, with output along the lines of: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:495) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:441) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:620) Caused by: java.lang.NullPointerException at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:481) ... 2 more Caused by: java.lang.NullPointerException at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:481) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:441) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:620) java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:102) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:636) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:430) at java.lang.Thread.run(Thread.java:636) I've also been trying this with Sun's Java, and the timeout and failure to load issues happen there too (albeit with less frequency). I suppose I should mention that all of this is using Firefox 3.5. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 3 14:07:00 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jul 2009 21:07:00 +0000 Subject: [Bug 336] Add support for JSR-200 to javaws and appletviewer Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=336 ------- Comment #5 from omajid at redhat.com 2009-07-03 21:06 ------- Created an attachment (id=237) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=237&action=view) Add pack200 support - initial implementation -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Fri Jul 3 14:49:31 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 3 Jul 2009 17:49:31 -0400 Subject: RFC: Rewrite of cookie support in plugin Message-ID: <20090703214931.GB28859@redhat.com> This patch rewrites cookie support in the plugin. The old way was static, set at initialization time. Additionally, it did not support cookie provision for connection requests made by the applet internally. This patch fixes all of that. Cookie information is now supplied to Java in real-time from Mozilla side, as it should be. Thanks to Omair for the initial error trace. This patch fixes rhbz 506730: https://bugzilla.redhat.com/show_bug.cgi?id=506730 http://www.sbm.no/ will now load correctly with this patch. ChangeLog: * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. * plugin/icedtea/sun/applet/PluginAppletViewer.java: Rework cookie support to make it dynamic. * plugin/icedtea/sun/applet/PluginMain.java: Wire in custom cookie store that dynamically requests cookie information from C++ side. * rt/net/sourceforge/jnlp/JNLPFile.java: Remove old cookie handling code. * rt/net/sourceforge/jnlp/Launcher.java: Same. * rt/net/sourceforge/jnlp/NetxPanel.java: Same. * rt/net/sourceforge/jnlp/PluginBridge.java: Same. * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Same. * rt/net/sourceforge/jnlp/cache/Resource.java: Same. * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Same. * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Same. Comments? Deepak -------------- next part -------------- diff -r 308c172cd230 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Fri Jul 03 11:52:45 2009 +0100 +++ b/IcedTeaPlugin.cc Fri Jul 03 17:40:05 2009 -0400 @@ -1012,6 +1012,7 @@ void ProcessMessage(); void ConsumeMsgFromJVM(); nsresult GetProxyInfo(const char* siteAddr, char** proxyScheme, char** proxyHost, char** proxyPort); + nsresult GetCookieInfo(const char* siteAddr, char** cookieString); nsCOMPtr sink; nsCOMPtr transport; nsCOMPtr applet_viewer_process; @@ -1070,7 +1071,6 @@ IcedTeaPluginFactory* factory; PRUint32 instance_identifier; nsCString instanceIdentifierPrefix; - nsresult GetCookie(const char* siteAddr, char** cookieString); }; @@ -2380,16 +2380,6 @@ encodedAppletTag += tagMessage.get()[i]; } - nsCString cookieInfo(instanceIdentifierPrefix); - cookieInfo += "cookie "; - - char* cookieString; - if (GetCookie(documentbase, &cookieString) == NS_OK) - { - cookieInfo += cookieString; - } - - factory->SendMessageToAppletViewer (cookieInfo); factory->SendMessageToAppletViewer (encodedAppletTag); // Set back-pointer to peer instance. @@ -2760,8 +2750,15 @@ return NS_OK; } -NS_IMETHODIMP -IcedTeaPluginInstance::GetCookie(const char* siteAddr, char** cookieString) +/** + * Returns the cookie information for the given url + * + * @param siteAddr The URI to check (must be decoded) + * @return cookieString The cookie string for the given URI + */ + +NS_IMETHODIMP +IcedTeaPluginFactory::GetCookieInfo(const char* siteAddr, char** cookieString) { nsresult rv; @@ -3497,6 +3494,35 @@ // free allocated memory delete proxyScheme, proxyHost, proxyPort; + + } else if (command == "PluginCookieInfo") + { + + nsresult rv; + nsCOMPtr net_util = do_GetService(NS_NETUTIL_CONTRACTID, &rv); + + if (!net_util) + printf("Error instantiating NetUtil service.\n"); + + // decode the url + nsDependentCSubstring url; + net_util->UnescapeString(rest, 0, url); + + nsCString cookieInfo("plugin PluginCookieInfo "); + cookieInfo += rest; + cookieInfo += " "; + + char* cookieString; + if (GetCookieInfo(((nsCString) url).get(), &cookieString) == NS_OK) + { + cookieInfo += cookieString; + PLUGIN_DEBUG_2ARG("Cookie for %s is %s\n", ((nsCString) url).get(), cookieString); + } else { + PLUGIN_DEBUG_1ARG("No cookie found for %s\n", ((nsCString) url).get()); + } + + // send back what we found + SendMessageToAppletViewer (cookieInfo); } } diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Fri Jul 03 11:52:45 2009 +0100 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Fri Jul 03 17:40:05 2009 -0400 @@ -84,6 +84,7 @@ import java.io.PrintStream; import java.io.Reader; import java.io.StringReader; +import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.net.SocketPermission; @@ -180,9 +181,6 @@ private static PluginStreamHandler streamhandler; private static PluginCallRequestFactory requestFactory; - - private static HashMap siteCookies = - new HashMap(); private static HashMap status = new HashMap(); @@ -226,7 +224,7 @@ AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - panel = new NetxPanel(doc, siteCookies.get(identifier), atts, false); + panel = new NetxPanel(doc, atts, false); AppletViewerPanel.debug("Using NetX panel"); PluginDebug.debug(atts.toString()); } catch (Exception ex) { @@ -483,16 +481,6 @@ PluginDebug.debug ("REQUEST TAG NOT SET: " + request.tag + ". BYPASSING"); } } - } else if (message.startsWith("cookie")) { - - int cookieStrIndex = message.indexOf(" "); - String cookieStr = null; - - if (cookieStrIndex > 0) - cookieStr = message.substring(cookieStrIndex); - - // Always set the cookie -- even if it is null - siteCookies.put(identifier, cookieStr); } else { PluginDebug.debug ("Handling message: " + message + " instance " + identifier + " " + Thread.currentThread()); @@ -842,7 +830,6 @@ * applets on this page. */ public Enumeration getApplets() { - AppletSecurity security = (AppletSecurity)System.getSecurityManager(); Vector v = new Vector(); SocketPermission panelSp = new SocketPermission(panel.getCodeBase().getHost(), "connect"); @@ -896,7 +883,7 @@ // streamhandler.pluginOutputStream has been closed. } } - + public long getWindow() { PluginDebug.debug ("STARTING getWindow"); PluginCallRequest request = requestFactory.getPluginCallRequest("window", @@ -1113,6 +1100,40 @@ return request.getObject(); } + public static Object requestPluginCookieInfo(URI uri) { + + PluginCallRequest request; + try + { + String encodedURI = UrlUtil.encode(uri.toString(), "UTF-8"); + request = requestFactory.getPluginCallRequest("cookieinfo", + "plugin PluginCookieInfo " + encodedURI, + "plugin PluginCookieInfo " + encodedURI); + + } catch (UnsupportedEncodingException e) + { + e.printStackTrace(); + return null; + } + + streamhandler.postCallRequest(request); + streamhandler.write(request.getMessage()); + try { + PluginDebug.debug ("wait cookieinfo request 1"); + synchronized(request) { + PluginDebug.debug ("wait cookieinfo request 2"); + while (request.isDone() == false) + request.wait(); + PluginDebug.debug ("wait cookieinfo request 3"); + } + } catch (InterruptedException e) { + throw new RuntimeException("Interrupted waiting for cookieinfo request.", + e); + } + PluginDebug.debug (" Cookieinfo DONE"); + return request.getObject(); + } + public static Object requestPluginProxyInfo(URI uri) { String requestURI = null; @@ -1623,10 +1644,6 @@ public static void parse(int identifier, long handle, Reader in, URL url) throws IOException { - // wait until cookie is set (even if cookie is null, it needs to be - // "set" to that first - while (!siteCookies.containsKey(identifier)); - final int fIdentifier = identifier; final long fHandle = handle; final Reader fIn = in; diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginCallRequestFactory.java --- a/plugin/icedtea/sun/applet/PluginCallRequestFactory.java Fri Jul 03 11:52:45 2009 +0100 +++ b/plugin/icedtea/sun/applet/PluginCallRequestFactory.java Fri Jul 03 17:40:05 2009 -0400 @@ -51,6 +51,8 @@ return new GetWindowPluginCallRequest(message, returnString); } else if (id == "proxyinfo") { return new PluginProxyInfoRequest(message, returnString); + } else if (id == "cookieinfo") { + return new PluginCookieInfoRequest(message, returnString); } else { throw new RuntimeException ("Unknown plugin call request type requested from factory"); } diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginMain.java --- a/plugin/icedtea/sun/applet/PluginMain.java Fri Jul 03 11:52:45 2009 +0100 +++ b/plugin/icedtea/sun/applet/PluginMain.java Fri Jul 03 17:40:05 2009 -0400 @@ -68,10 +68,11 @@ import java.io.IOException; import java.io.PrintStream; import java.net.Authenticator; +import java.net.CookieHandler; +import java.net.CookieManager; import java.net.PasswordAuthentication; import java.net.ProxySelector; import java.util.Enumeration; -import java.util.HashMap; import java.util.Properties; import javax.net.ssl.HttpsURLConnection; @@ -218,6 +219,9 @@ // plug in a custom authenticator and proxy selector Authenticator.setDefault(new CustomAuthenticator()); ProxySelector.setDefault(new PluginProxySelector()); + + CookieManager ckManager = new CookieManager(new PluginCookieStore(), null); + CookieHandler.setDefault(ckManager); } static boolean messageAvailable() { diff -r 308c172cd230 rt/net/sourceforge/jnlp/JNLPFile.java --- a/rt/net/sourceforge/jnlp/JNLPFile.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Fri Jul 03 17:40:05 2009 -0400 @@ -69,9 +69,6 @@ /** the URL used to resolve relative URLs in the file */ protected URL codeBase; - - /** cookie string to send alongwith resource requests */ - protected String cookieStr; /** file version */ protected Version fileVersion; @@ -159,7 +156,6 @@ parse(root, strict, location); this.fileLocation = location; - this.cookieStr = cookieStr; } /** @@ -196,7 +192,7 @@ try { ResourceTracker tracker = new ResourceTracker(false); // no prefetch - tracker.addResource(location, cookieStr, null/*version*/, policy); + tracker.addResource(location, null/*version*/, policy); return tracker.getInputStream(location); } @@ -255,13 +251,6 @@ */ public URL getCodeBase() { return codeBase; - } - - /** - * Returns the cookie string that will be send when resources for this file are requested - */ - public String getCookieStr() { - return cookieStr; } /** diff -r 308c172cd230 rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 03 17:40:06 2009 -0400 @@ -389,7 +389,7 @@ IconDesc.SPLASH, preferredWidth, preferredHeight); if (splashImageURL != null) { ResourceTracker resourceTracker = new ResourceTracker(true); - resourceTracker.addResource(splashImageURL, "SPLASH", file.getFileVersion(), updatePolicy); + resourceTracker.addResource(splashImageURL, file.getFileVersion(), updatePolicy); splashScreen = new JNLPSplashScreen(resourceTracker, null, null); splashScreen.setSplashImageURL(splashImageURL); if (splashScreen.isSplashScreenValid()) { diff -r 308c172cd230 rt/net/sourceforge/jnlp/NetxPanel.java --- a/rt/net/sourceforge/jnlp/NetxPanel.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/NetxPanel.java Fri Jul 03 17:40:06 2009 -0400 @@ -41,7 +41,6 @@ private PluginBridge bridge = null; private boolean exitOnFailure = true; private AppletInstance appInst = null; - private String cookieStr; private boolean appletAlive; public NetxPanel(URL documentURL, Hashtable atts) @@ -50,11 +49,10 @@ } // overloaded constructor, called when initialized via plugin - public NetxPanel(URL documentURL, String cookieStr, Hashtable atts, boolean exitOnFailure) + public NetxPanel(URL documentURL, Hashtable atts, boolean exitOnFailure) { this(documentURL, atts); this.exitOnFailure = exitOnFailure; - this.cookieStr = cookieStr; this.appletAlive = true; } @@ -64,7 +62,6 @@ try { bridge = new PluginBridge(baseURL, - cookieStr, getDocumentBase(), getJarFiles(), getCode(), diff -r 308c172cd230 rt/net/sourceforge/jnlp/PluginBridge.java --- a/rt/net/sourceforge/jnlp/PluginBridge.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/PluginBridge.java Fri Jul 03 17:40:06 2009 -0400 @@ -43,7 +43,7 @@ String[] cache_ex_jars = new String[0]; Hashtable atts; - public PluginBridge(URL codebase, String cookieStr, URL documentBase, String jar, String main, + public PluginBridge(URL codebase, URL documentBase, String jar, String main, int width, int height, Hashtable atts) throws Exception { @@ -104,7 +104,6 @@ else security = null; - this.cookieStr = cookieStr; } public String getTitle() diff -r 308c172cd230 rt/net/sourceforge/jnlp/cache/CacheUtil.java --- a/rt/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 03 17:40:06 2009 -0400 @@ -75,9 +75,9 @@ * @param version the version, or null * @return either the location in the cache or the original location */ - public static URL getCachedResource(URL location, String cookieStr, Version version, UpdatePolicy policy) { + public static URL getCachedResource(URL location, Version version, UpdatePolicy policy) { ResourceTracker rt = new ResourceTracker(); - rt.addResource(location, cookieStr, version, policy); + rt.addResource(location, version, policy); try { File f = rt.getCacheFile(location); return f.toURL(); diff -r 308c172cd230 rt/net/sourceforge/jnlp/cache/Resource.java --- a/rt/net/sourceforge/jnlp/cache/Resource.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/cache/Resource.java Fri Jul 03 17:40:06 2009 -0400 @@ -68,9 +68,6 @@ /** the remote location of the resource */ URL location; - /** cookie string to send with the resource request */ - String cookieStr; - /** the local file downloaded to */ File localFile; @@ -98,20 +95,19 @@ /** * Create a resource. */ - private Resource(URL location, String cookieStr, UpdatePolicy updatePolicy, Version requestVersion) { + private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { this.location = location; this.requestVersion = requestVersion; this.updatePolicy = updatePolicy; - this.cookieStr = cookieStr; } /** * Return a shared Resource object representing the given * location and version. */ - public static Resource getResource(URL location, String cookieStr, UpdatePolicy updatePolicy, Version requestVersion) { + public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { synchronized (resources) { - Resource resource = new Resource(location, cookieStr, updatePolicy, requestVersion); + Resource resource = new Resource(location, updatePolicy, requestVersion); int index = resources.indexOf(resource); if (index >= 0) { // return existing object @@ -132,13 +128,6 @@ */ public URL getLocation() { return location; - } - - /** - * Returns the cookie string associated with this resource - */ - public String getCookieStr() { - return cookieStr; } /** diff -r 308c172cd230 rt/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Fri Jul 03 17:40:06 2009 -0400 @@ -148,11 +148,11 @@ * @param version the resource version * @param updatePolicy whether to check for updates if already in cache */ - public void addResource(URL location, String cookieStr, Version version, UpdatePolicy updatePolicy) { + public void addResource(URL location, Version version, UpdatePolicy updatePolicy) { if (location == null) throw new IllegalArgumentException("location==null"); - Resource resource = Resource.getResource(location, cookieStr, updatePolicy, version); + Resource resource = Resource.getResource(location, updatePolicy, version); boolean downloaded = false; synchronized (resources) { @@ -606,9 +606,6 @@ try { // create out second in case in does not exist URLConnection con = getVersionedResourceURL(resource).openConnection(); - - if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) - con.setRequestProperty("Cookie", resource.getCookieStr()); InputStream in = new BufferedInputStream(con.getInputStream()); OutputStream out = CacheUtil.getOutputStream(resource.location, resource.downloadVersion); @@ -657,9 +654,6 @@ // connect URLConnection connection = getVersionedResourceURL(resource).openConnection(); // this won't change so should be okay unsynchronized - - if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) - connection.setRequestProperty("Cookie", resource.getCookieStr()); int size = connection.getContentLength(); boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; diff -r 308c172cd230 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 03 17:40:06 2009 -0400 @@ -314,7 +314,6 @@ initialJars.add(jars[i]); // regardless of part tracker.addResource(jars[i].getLocation(), - file.getCookieStr(), jars[i].getVersion(), jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE ); @@ -776,8 +775,7 @@ available.add(desc); - tracker.addResource(desc.getLocation(), - file.getCookieStr(), + tracker.addResource(desc.getLocation(), desc.getVersion(), JNLPRuntime.getDefaultUpdatePolicy() ); From dbhole at redhat.com Fri Jul 3 15:30:03 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 3 Jul 2009 18:30:03 -0400 Subject: RFC: Rewrite of cookie support in plugin In-Reply-To: <20090703214931.GB28859@redhat.com> References: <20090703214931.GB28859@redhat.com> Message-ID: <20090703223003.GA21560@redhat.com> Oops. Original message is missing 2 new files from the patch. Sorry about that. New patch attached. Deepak * Deepak Bhole [2009-07-03 17:48]: > This patch rewrites cookie support in the plugin. The old way was > static, set at initialization time. Additionally, it did not support > cookie provision for connection requests made by the applet internally. > > This patch fixes all of that. Cookie information is now supplied to Java > in real-time from Mozilla side, as it should be. > > Thanks to Omair for the initial error trace. > > This patch fixes rhbz 506730: > https://bugzilla.redhat.com/show_bug.cgi?id=506730 > > http://www.sbm.no/ will now load correctly with this patch. > > ChangeLog: > * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. > * plugin/icedtea/sun/applet/PluginAppletViewer.java: Rework cookie support > to make it dynamic. > * plugin/icedtea/sun/applet/PluginMain.java: Wire in custom cookie store > that dynamically requests cookie information from C++ side. > * rt/net/sourceforge/jnlp/JNLPFile.java: Remove old cookie handling code. > * rt/net/sourceforge/jnlp/Launcher.java: Same. > * rt/net/sourceforge/jnlp/NetxPanel.java: Same. > * rt/net/sourceforge/jnlp/PluginBridge.java: Same. > * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Same. > * rt/net/sourceforge/jnlp/cache/Resource.java: Same. > * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Same. > * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Same. > > Comments? > > Deepak -------------- next part -------------- diff -r 308c172cd230 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Fri Jul 03 11:52:45 2009 +0100 +++ b/IcedTeaPlugin.cc Fri Jul 03 18:28:13 2009 -0400 @@ -1012,6 +1012,7 @@ void ProcessMessage(); void ConsumeMsgFromJVM(); nsresult GetProxyInfo(const char* siteAddr, char** proxyScheme, char** proxyHost, char** proxyPort); + nsresult GetCookieInfo(const char* siteAddr, char** cookieString); nsCOMPtr sink; nsCOMPtr transport; nsCOMPtr applet_viewer_process; @@ -1070,7 +1071,6 @@ IcedTeaPluginFactory* factory; PRUint32 instance_identifier; nsCString instanceIdentifierPrefix; - nsresult GetCookie(const char* siteAddr, char** cookieString); }; @@ -2380,16 +2380,6 @@ encodedAppletTag += tagMessage.get()[i]; } - nsCString cookieInfo(instanceIdentifierPrefix); - cookieInfo += "cookie "; - - char* cookieString; - if (GetCookie(documentbase, &cookieString) == NS_OK) - { - cookieInfo += cookieString; - } - - factory->SendMessageToAppletViewer (cookieInfo); factory->SendMessageToAppletViewer (encodedAppletTag); // Set back-pointer to peer instance. @@ -2760,8 +2750,15 @@ return NS_OK; } -NS_IMETHODIMP -IcedTeaPluginInstance::GetCookie(const char* siteAddr, char** cookieString) +/** + * Returns the cookie information for the given url + * + * @param siteAddr The URI to check (must be decoded) + * @return cookieString The cookie string for the given URI + */ + +NS_IMETHODIMP +IcedTeaPluginFactory::GetCookieInfo(const char* siteAddr, char** cookieString) { nsresult rv; @@ -3497,6 +3494,35 @@ // free allocated memory delete proxyScheme, proxyHost, proxyPort; + + } else if (command == "PluginCookieInfo") + { + + nsresult rv; + nsCOMPtr net_util = do_GetService(NS_NETUTIL_CONTRACTID, &rv); + + if (!net_util) + printf("Error instantiating NetUtil service.\n"); + + // decode the url + nsDependentCSubstring url; + net_util->UnescapeString(rest, 0, url); + + nsCString cookieInfo("plugin PluginCookieInfo "); + cookieInfo += rest; + cookieInfo += " "; + + char* cookieString; + if (GetCookieInfo(((nsCString) url).get(), &cookieString) == NS_OK) + { + cookieInfo += cookieString; + PLUGIN_DEBUG_2ARG("Cookie for %s is %s\n", ((nsCString) url).get(), cookieString); + } else { + PLUGIN_DEBUG_1ARG("No cookie found for %s\n", ((nsCString) url).get()); + } + + // send back what we found + SendMessageToAppletViewer (cookieInfo); } } diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Fri Jul 03 11:52:45 2009 +0100 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Fri Jul 03 18:28:13 2009 -0400 @@ -84,6 +84,7 @@ import java.io.PrintStream; import java.io.Reader; import java.io.StringReader; +import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.net.SocketPermission; @@ -180,9 +181,6 @@ private static PluginStreamHandler streamhandler; private static PluginCallRequestFactory requestFactory; - - private static HashMap siteCookies = - new HashMap(); private static HashMap status = new HashMap(); @@ -226,7 +224,7 @@ AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - panel = new NetxPanel(doc, siteCookies.get(identifier), atts, false); + panel = new NetxPanel(doc, atts, false); AppletViewerPanel.debug("Using NetX panel"); PluginDebug.debug(atts.toString()); } catch (Exception ex) { @@ -483,16 +481,6 @@ PluginDebug.debug ("REQUEST TAG NOT SET: " + request.tag + ". BYPASSING"); } } - } else if (message.startsWith("cookie")) { - - int cookieStrIndex = message.indexOf(" "); - String cookieStr = null; - - if (cookieStrIndex > 0) - cookieStr = message.substring(cookieStrIndex); - - // Always set the cookie -- even if it is null - siteCookies.put(identifier, cookieStr); } else { PluginDebug.debug ("Handling message: " + message + " instance " + identifier + " " + Thread.currentThread()); @@ -842,7 +830,6 @@ * applets on this page. */ public Enumeration getApplets() { - AppletSecurity security = (AppletSecurity)System.getSecurityManager(); Vector v = new Vector(); SocketPermission panelSp = new SocketPermission(panel.getCodeBase().getHost(), "connect"); @@ -896,7 +883,7 @@ // streamhandler.pluginOutputStream has been closed. } } - + public long getWindow() { PluginDebug.debug ("STARTING getWindow"); PluginCallRequest request = requestFactory.getPluginCallRequest("window", @@ -1113,6 +1100,40 @@ return request.getObject(); } + public static Object requestPluginCookieInfo(URI uri) { + + PluginCallRequest request; + try + { + String encodedURI = UrlUtil.encode(uri.toString(), "UTF-8"); + request = requestFactory.getPluginCallRequest("cookieinfo", + "plugin PluginCookieInfo " + encodedURI, + "plugin PluginCookieInfo " + encodedURI); + + } catch (UnsupportedEncodingException e) + { + e.printStackTrace(); + return null; + } + + streamhandler.postCallRequest(request); + streamhandler.write(request.getMessage()); + try { + PluginDebug.debug ("wait cookieinfo request 1"); + synchronized(request) { + PluginDebug.debug ("wait cookieinfo request 2"); + while (request.isDone() == false) + request.wait(); + PluginDebug.debug ("wait cookieinfo request 3"); + } + } catch (InterruptedException e) { + throw new RuntimeException("Interrupted waiting for cookieinfo request.", + e); + } + PluginDebug.debug (" Cookieinfo DONE"); + return request.getObject(); + } + public static Object requestPluginProxyInfo(URI uri) { String requestURI = null; @@ -1623,10 +1644,6 @@ public static void parse(int identifier, long handle, Reader in, URL url) throws IOException { - // wait until cookie is set (even if cookie is null, it needs to be - // "set" to that first - while (!siteCookies.containsKey(identifier)); - final int fIdentifier = identifier; final long fHandle = handle; final Reader fIn = in; diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginCallRequestFactory.java --- a/plugin/icedtea/sun/applet/PluginCallRequestFactory.java Fri Jul 03 11:52:45 2009 +0100 +++ b/plugin/icedtea/sun/applet/PluginCallRequestFactory.java Fri Jul 03 18:28:13 2009 -0400 @@ -51,6 +51,8 @@ return new GetWindowPluginCallRequest(message, returnString); } else if (id == "proxyinfo") { return new PluginProxyInfoRequest(message, returnString); + } else if (id == "cookieinfo") { + return new PluginCookieInfoRequest(message, returnString); } else { throw new RuntimeException ("Unknown plugin call request type requested from factory"); } diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginCookieInfoRequest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedtea/sun/applet/PluginCookieInfoRequest.java Fri Jul 03 18:28:13 2009 -0400 @@ -0,0 +1,122 @@ +/* PluginCookieInfoRequest -- Object representing a request for cookie information from the browser + Copyright (C) 2009 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package sun.applet; + +import java.net.HttpCookie; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import com.sun.jndi.toolkit.url.UrlUtil; + +/** + * This class represents a request object for cookie information for a given URI + */ + +public class PluginCookieInfoRequest extends PluginCallRequest { + + List cookieObjects = new ArrayList(); + + public PluginCookieInfoRequest(String message, String returnString) { + super(message, returnString); + } + + public void parseReturn(String cookieInfo) { + + // try to parse the proxy information. If things go wrong, do nothing .. + // this will keep internal = null which forces a direct connection + + PluginDebug.debug ("PluginCookieInfoRequest GOT: " + cookieInfo); + + String encodedURI = cookieInfo.split(" ")[2]; + + // Skip the first 3 components. We are guaranteed 3 components, + // so no index -1 to worry about + cookieInfo = cookieInfo.substring(cookieInfo.indexOf(' ')+1); + cookieInfo = cookieInfo.substring(cookieInfo.indexOf(' ')+1); + cookieInfo = cookieInfo.substring(cookieInfo.indexOf(' ')+1); + + URI siteURI; + try + { + siteURI = new URI(UrlUtil.decode(encodedURI, "UTF-8")); + } catch (Exception e) + { + e.printStackTrace(); + return; + } + + if (cookieInfo != null && cookieInfo.length() > 0) + { + String[] cookies = cookieInfo.split(";"); + + for (int i = 0; i < cookies.length; i++) + { + ArrayList l = new ArrayList(); + + String cookie = cookies[i]; + cookie = cookie.trim(); + String cookieName = cookie.substring(0, cookie.indexOf("=")); + String cookieValue = cookie.substring(cookie.indexOf("=")+1); + + HttpCookie httpCookieObj = new HttpCookie(cookieName, cookieValue); + httpCookieObj.setPath(siteURI.getPath()); + httpCookieObj.setVersion(0); // force v0 + + PluginDebug.debug("Adding cookie info COOKIEN=" + cookieName + " and COOKIEV=" + cookieValue); + cookieObjects.add(httpCookieObj); + } + } + + setDone(true); + } + + /** + * Returns whether the given message is serviceable by this object + * + * @param message The message to service + * @return boolean indicating if message is serviceable + */ + public boolean serviceable(String message) { + return message.startsWith(returnString); + } + + public List getObject() { + return this.cookieObjects; + } +} diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginCookieStore.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedtea/sun/applet/PluginCookieStore.java Fri Jul 03 18:28:13 2009 -0400 @@ -0,0 +1,73 @@ +/* PluginCookieStore -- Storage for cookie information + Copyright (C) 2009 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package sun.applet; + +import java.net.HttpCookie; +import java.net.URI; +import java.util.List; + +import sun.net.www.protocol.http.InMemoryCookieStore; + +public class PluginCookieStore extends InMemoryCookieStore +{ + public List get(URI uri) + { + List cookies; + + // Try to fetch it from the plugin, but if something goes + // wrong, fall back. Don't crash! + try + { + cookies = (List) PluginAppletViewer.requestPluginCookieInfo(uri); + + // If cookies is null, something went wrong. Fall back. + if (cookies == null) throw new NullPointerException("Null cookie"); + + } catch (Exception e) + { + PluginDebug.debug("Unable to fetch cookie information from plugin. " + + "Falling back to default."); + e.printStackTrace(); + cookies = super.get(uri); + } + + PluginDebug.debug("Returning cookies " + cookies + " for site: " + uri); + + return cookies; + } +} diff -r 308c172cd230 plugin/icedtea/sun/applet/PluginMain.java --- a/plugin/icedtea/sun/applet/PluginMain.java Fri Jul 03 11:52:45 2009 +0100 +++ b/plugin/icedtea/sun/applet/PluginMain.java Fri Jul 03 18:28:13 2009 -0400 @@ -68,10 +68,11 @@ import java.io.IOException; import java.io.PrintStream; import java.net.Authenticator; +import java.net.CookieHandler; +import java.net.CookieManager; import java.net.PasswordAuthentication; import java.net.ProxySelector; import java.util.Enumeration; -import java.util.HashMap; import java.util.Properties; import javax.net.ssl.HttpsURLConnection; @@ -218,6 +219,9 @@ // plug in a custom authenticator and proxy selector Authenticator.setDefault(new CustomAuthenticator()); ProxySelector.setDefault(new PluginProxySelector()); + + CookieManager ckManager = new CookieManager(new PluginCookieStore(), null); + CookieHandler.setDefault(ckManager); } static boolean messageAvailable() { diff -r 308c172cd230 rt/net/sourceforge/jnlp/JNLPFile.java --- a/rt/net/sourceforge/jnlp/JNLPFile.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Fri Jul 03 18:28:13 2009 -0400 @@ -69,9 +69,6 @@ /** the URL used to resolve relative URLs in the file */ protected URL codeBase; - - /** cookie string to send alongwith resource requests */ - protected String cookieStr; /** file version */ protected Version fileVersion; @@ -159,7 +156,6 @@ parse(root, strict, location); this.fileLocation = location; - this.cookieStr = cookieStr; } /** @@ -196,7 +192,7 @@ try { ResourceTracker tracker = new ResourceTracker(false); // no prefetch - tracker.addResource(location, cookieStr, null/*version*/, policy); + tracker.addResource(location, null/*version*/, policy); return tracker.getInputStream(location); } @@ -255,13 +251,6 @@ */ public URL getCodeBase() { return codeBase; - } - - /** - * Returns the cookie string that will be send when resources for this file are requested - */ - public String getCookieStr() { - return cookieStr; } /** diff -r 308c172cd230 rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 03 18:28:13 2009 -0400 @@ -389,7 +389,7 @@ IconDesc.SPLASH, preferredWidth, preferredHeight); if (splashImageURL != null) { ResourceTracker resourceTracker = new ResourceTracker(true); - resourceTracker.addResource(splashImageURL, "SPLASH", file.getFileVersion(), updatePolicy); + resourceTracker.addResource(splashImageURL, file.getFileVersion(), updatePolicy); splashScreen = new JNLPSplashScreen(resourceTracker, null, null); splashScreen.setSplashImageURL(splashImageURL); if (splashScreen.isSplashScreenValid()) { diff -r 308c172cd230 rt/net/sourceforge/jnlp/NetxPanel.java --- a/rt/net/sourceforge/jnlp/NetxPanel.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/NetxPanel.java Fri Jul 03 18:28:13 2009 -0400 @@ -41,7 +41,6 @@ private PluginBridge bridge = null; private boolean exitOnFailure = true; private AppletInstance appInst = null; - private String cookieStr; private boolean appletAlive; public NetxPanel(URL documentURL, Hashtable atts) @@ -50,11 +49,10 @@ } // overloaded constructor, called when initialized via plugin - public NetxPanel(URL documentURL, String cookieStr, Hashtable atts, boolean exitOnFailure) + public NetxPanel(URL documentURL, Hashtable atts, boolean exitOnFailure) { this(documentURL, atts); this.exitOnFailure = exitOnFailure; - this.cookieStr = cookieStr; this.appletAlive = true; } @@ -64,7 +62,6 @@ try { bridge = new PluginBridge(baseURL, - cookieStr, getDocumentBase(), getJarFiles(), getCode(), diff -r 308c172cd230 rt/net/sourceforge/jnlp/PluginBridge.java --- a/rt/net/sourceforge/jnlp/PluginBridge.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/PluginBridge.java Fri Jul 03 18:28:13 2009 -0400 @@ -43,7 +43,7 @@ String[] cache_ex_jars = new String[0]; Hashtable atts; - public PluginBridge(URL codebase, String cookieStr, URL documentBase, String jar, String main, + public PluginBridge(URL codebase, URL documentBase, String jar, String main, int width, int height, Hashtable atts) throws Exception { @@ -104,7 +104,6 @@ else security = null; - this.cookieStr = cookieStr; } public String getTitle() diff -r 308c172cd230 rt/net/sourceforge/jnlp/cache/CacheUtil.java --- a/rt/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 03 18:28:13 2009 -0400 @@ -75,9 +75,9 @@ * @param version the version, or null * @return either the location in the cache or the original location */ - public static URL getCachedResource(URL location, String cookieStr, Version version, UpdatePolicy policy) { + public static URL getCachedResource(URL location, Version version, UpdatePolicy policy) { ResourceTracker rt = new ResourceTracker(); - rt.addResource(location, cookieStr, version, policy); + rt.addResource(location, version, policy); try { File f = rt.getCacheFile(location); return f.toURL(); diff -r 308c172cd230 rt/net/sourceforge/jnlp/cache/Resource.java --- a/rt/net/sourceforge/jnlp/cache/Resource.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/cache/Resource.java Fri Jul 03 18:28:13 2009 -0400 @@ -68,9 +68,6 @@ /** the remote location of the resource */ URL location; - /** cookie string to send with the resource request */ - String cookieStr; - /** the local file downloaded to */ File localFile; @@ -98,20 +95,19 @@ /** * Create a resource. */ - private Resource(URL location, String cookieStr, UpdatePolicy updatePolicy, Version requestVersion) { + private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { this.location = location; this.requestVersion = requestVersion; this.updatePolicy = updatePolicy; - this.cookieStr = cookieStr; } /** * Return a shared Resource object representing the given * location and version. */ - public static Resource getResource(URL location, String cookieStr, UpdatePolicy updatePolicy, Version requestVersion) { + public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { synchronized (resources) { - Resource resource = new Resource(location, cookieStr, updatePolicy, requestVersion); + Resource resource = new Resource(location, updatePolicy, requestVersion); int index = resources.indexOf(resource); if (index >= 0) { // return existing object @@ -132,13 +128,6 @@ */ public URL getLocation() { return location; - } - - /** - * Returns the cookie string associated with this resource - */ - public String getCookieStr() { - return cookieStr; } /** diff -r 308c172cd230 rt/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Fri Jul 03 18:28:13 2009 -0400 @@ -148,11 +148,11 @@ * @param version the resource version * @param updatePolicy whether to check for updates if already in cache */ - public void addResource(URL location, String cookieStr, Version version, UpdatePolicy updatePolicy) { + public void addResource(URL location, Version version, UpdatePolicy updatePolicy) { if (location == null) throw new IllegalArgumentException("location==null"); - Resource resource = Resource.getResource(location, cookieStr, updatePolicy, version); + Resource resource = Resource.getResource(location, updatePolicy, version); boolean downloaded = false; synchronized (resources) { @@ -606,9 +606,6 @@ try { // create out second in case in does not exist URLConnection con = getVersionedResourceURL(resource).openConnection(); - - if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) - con.setRequestProperty("Cookie", resource.getCookieStr()); InputStream in = new BufferedInputStream(con.getInputStream()); OutputStream out = CacheUtil.getOutputStream(resource.location, resource.downloadVersion); @@ -657,9 +654,6 @@ // connect URLConnection connection = getVersionedResourceURL(resource).openConnection(); // this won't change so should be okay unsynchronized - - if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) - connection.setRequestProperty("Cookie", resource.getCookieStr()); int size = connection.getContentLength(); boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; diff -r 308c172cd230 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 03 11:52:45 2009 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 03 18:28:13 2009 -0400 @@ -314,7 +314,6 @@ initialJars.add(jars[i]); // regardless of part tracker.addResource(jars[i].getLocation(), - file.getCookieStr(), jars[i].getVersion(), jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE ); @@ -776,8 +775,7 @@ available.add(desc); - tracker.addResource(desc.getLocation(), - file.getCookieStr(), + tracker.addResource(desc.getLocation(), desc.getVersion(), JNLPRuntime.getDefaultUpdatePolicy() ); From xerxes at zafena.se Fri Jul 3 17:34:04 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Sat, 04 Jul 2009 02:34:04 +0200 Subject: RFC: shark + llvm2.6svn LLVMContext api change Message-ID: <4A4EA37C.2000309@zafena.se> LLVM 2.6svn trunk now require the passing of a LLVMContext while creating a LLVM Module in order for LLVM clients to use the LLVM JIT multithreaded. [1] Fortunate for us LLVM have also provided a new backward compatible API, by using getGlobalContext() a LLVMContext are returned that can be used by current singlethreaded compiler clients to quickly fullfill this change. [2] I have added some comments to help future shark hackers find what needs to change if someone wants to make the shark compiler multi-threaded. I have tested this patch using llvm r74781 and icedtea6 http://icedtea.classpath.org/hg/icedtea6/rev/308c172cd230 on ia32 / F11 [1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-June/023505.html - [LLVMdev] MAJOR API CHANGE: LLVMContext [2] http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-June/023507.html Cheers Xerxes -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 4jun_shark_llvm2.6svn_LLVMContext.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090704/658827d6/4jun_shark_llvm2.6svn_LLVMContext.patch From bugzilla-daemon at icedtea.classpath.org Sat Jul 4 04:45:27 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 04 Jul 2009 11:45:27 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #3 from mrjava.javaman at gmail.com 2009-07-04 11:45 ------- Well I'm pretty sure it's a Netbeans problem, the Bean itself doesn't contain something different from what's needed to make a bean works in a drag and drop manner, moreover when I add the Bean to my form pragmatically it works just fine. The problem is that I want to change its size and anchor in the design view. Well if you ask why I'm posting here instead of Netbeans bugzilla that it was written in the bug report to post here (refer to my first post) ... should I repost this to netbeans? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 02:44:33 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 09:44:33 +0000 Subject: [Bug 361] New: Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 Summary: Arithmetic problems Product: IcedTea Version: unspecified Platform: Other OS/Version: Linux Status: NEW Severity: major Priority: P3 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: interface at bitoffice.at For some reason, the repeated execution of the same calculations fails after some thousand iterations (Testcase attached). This happens on PPC32 (Freescale MPC5121e, e300c PowerPC) with IcedTea-1.5 and Shark. The problem does not occur with IcedTea-1.4.1, no matter if JITted or interpreted and not with the interpreted version of zero (-Xint) on the exact same system. LLVM version is 2.4. java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5) (build 1.6.0_0-b16) OpenJDK Shark VM (build 14.0-b15, mixed mode) It also looks like the number of iterations needed to fail depends on the CPU usage by other processes. On an idle CPU I only need ~2500 iterations, on a busy CPU ~9500. The problem seems to be at line 37 of the testcase. getVoltage() always returns the same value (1950.2075), however the division fails after some time (0.9928497 instead of 0.97510374). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 02:45:17 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 09:45:17 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #1 from interface at bitoffice.at 2009-07-06 09:45 ------- Created an attachment (id=238) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=238&action=view) Test Case -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 03:15:35 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 10:15:35 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #2 from xerxes at zafena.se 2009-07-06 10:15 ------- This might be a duplicate of bug: 350 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=350 it would be great if you could run the testcase of bug 350: ./appletviewer ../demo/applets/MoleculeViewer/example1.html using shark/icedtea6 1.4.1 on PPC to see if icedtea6 1.4.1 are immune to all linear algebra truncations on PPC. Thank you. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 03:24:41 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 10:24:41 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #3 from xerxes at zafena.se 2009-07-06 10:24 ------- try running your testcase using java -XX:+PrintCompilation ArithFail to see what method got compiler before to the getVoltage output change and before the division change. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 03:32:33 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 10:32:33 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #4 from interface at bitoffice.at 2009-07-06 10:32 ------- # java -XX:+PrintCompilation ArithFail 1 java.lang.String::hashCode (60 bytes) 2 java.lang.Object:: (1 bytes) 21.815643 3 ! sun.nio.cs.US_ASCII$Encoder::encodeArrayLoop (279 bytes) 21.815643 21.815643 21.815643 21.815643 21.815643 21.815643 21.815643 4 java.lang.Number:: (5 bytes) 5 ArithFail::calculate (67 bytes) 21.815643 6 ArithFail::getVoltage (20 bytes) Failed with 1.514903 after 9591 iterations 1950.2075 1950.2075 true 0.9928497 0.97510374 false 7 ArithFail::convertValue (6 bytes) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 03:35:01 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 10:35:01 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #5 from interface at bitoffice.at 2009-07-06 10:35 ------- I have to see if I can get X up and running to test the applet. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 03:50:39 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 10:50:39 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #6 from xerxes at zafena.se 2009-07-06 10:50 ------- Thank you for the clean testcase!, i think we have quite a lot to work at right now. The compilation are done in a separate thread and the compiled method gets inserted into the jvm a bit after PrintCompilation reports it begun compiling so the order of the messages are all in order. If you want to create a shark debug build that can print the llvm bitcode then apply the mixtec-hacks.patch found in http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2009-April/005361.html it enables some more shark specific debug options like: -XX:+SharkTraceInstalls that will print when the compilation are finnished and the method are inserted into the jvm -XX:SharkPrintBitcodeOf=ArithFail::convertValue displays the llvm ir -XX:SharkPrintAsmOf=ArithFail::convertValue hopefully displays the generated PPC assembler -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 03:58:37 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 10:58:37 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #7 from interface at bitoffice.at 2009-07-06 10:58 ------- 1. I can reproduce bug #350 with IcedTea6-1.5 2. I can also reproduce #350 with IcedTea6-1.4.1 The output of -J-XX:PrintCompilation with 1.4.1 is attached. I will see if I can test the patches, however that system is rather slow and compiling IcedTea takes quite some time (and I didn't want to fiddle around with the experimental cross compilation). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 04:00:34 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 11:00:34 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #8 from interface at bitoffice.at 2009-07-06 11:00 ------- Created an attachment (id=239) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=239&action=view) PrintCompilation output Output of molecule test with 1.4.1 and -XX:PrintCompilation enabled. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 05:05:00 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 12:05:00 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #9 from xerxes at zafena.se 2009-07-06 12:05 ------- > I will see if I can test the patches, however that system is rather slow and > compiling IcedTea takes quite some time (and I didn't want to fiddle around > with the experimental cross compilation). > The only project currently making use of the experimental cross compilation are jalimo. The fastest way if you want to use cross compilation then follow the instructions on: http://icedtea.classpath.org/wiki/CrossCompileFaq the shark builds generated by following that guide will contains all the shark debugging out of the box. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 06:40:37 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 13:40:37 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #4 from jon.vanalten at redhat.com 2009-07-06 13:40 ------- Indeed, when the IcedTea java virtual machine crashes the error report refers you to this bugzilla. Natural reaction for you to follow such instructions. I believe whether this is a bug in NetBeans or a bug in IcedTea depends mainly depends on whether the same behaviour occurs under Sun's proprietary JRE. If the same crash happens in JRE, then bug is likely with NetBeans (and so should be reported with them). If, however, you can take the same action under Sun's JRE without a crash, this is a bug restricted to openJKD/IcedTea. Note that IcedTea can be built for windows as well, so knowing that the crash was initially observed on a windows box does not answer the critical question. On either windows or linux you can type 'java -version' at command prompt to find out what flavour of java you are using. Can you check if this crash also happens under Sun's JRE, and/or provide source and specific instructions to reproduce crash so that we can test? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 06:48:10 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 13:48:10 +0000 Subject: [Bug 259] i found that error in my ~/ so i`m adding it Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=259 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from jon.vanalten at redhat.com 2009-07-06 13:48 ------- Unable to reproduce, and original reporter not responding. Please reopen if this can be reproduced. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 07:10:12 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 14:10:12 +0000 Subject: [Bug 262] Alt Graph doesnot generate any key event when pressing in French locale Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=262 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 07:31:15 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 14:31:15 +0000 Subject: [Bug 280] icedtea-bin-3.3.0-r1 fails to open HP WebAdmin interface on HP4050n Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=280 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX ------- Comment #3 from jon.vanalten at redhat.com 2009-07-06 14:31 ------- We won't be able to fix this unless someone with same/similar printer is willing to do some testing. Such a person should reopen this bug if they find similar issue under current IcedTea version. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 07:36:01 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 14:36:01 +0000 Subject: [Bug 286] problems running the eclipse, Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=286 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #2 from jon.vanalten at redhat.com 2009-07-06 14:36 ------- I do not have the problem reported using current IcedTea build. If this is still happening, please reopen and include appropriate details. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 11:09:23 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 18:09:23 +0000 Subject: [Bug 287] crash during eclipse update or aptana installation Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=287 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #2 from jon.vanalten at redhat.com 2009-07-06 18:09 ------- Please reopen and attach log with other relevant details, if applicable. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 11:24:13 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 18:24:13 +0000 Subject: [Bug 294] JavaFX sample not starting as applet due to ZipException, runs fine with javaws or java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=294 ------- Comment #4 from jon.vanalten at redhat.com 2009-07-06 18:24 ------- Odd that this would show up in .xsessionerrors... I tried this with current IcedTea build, not exactly working but I get different results. I get a security dialog and once confirmed the browser (Firefox 3.5) believes the applet starts. But nothing shows up. If I do this with firefox started from the command line I get this: JNLPAppletLauncher: static initializer Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javax.swing.ImageIcon.(ImageIcon.java:155) at com.sun.javafx.eula.EulaDialog$2.(Unknown Source) at com.sun.javafx.eula.EulaDialog.getBackgroundPanel(Unknown Source) at com.sun.javafx.eula.EulaDialog.(Unknown Source) at com.sun.javafx.eula.EulaDialog$12.run(Unknown Source) at com.sun.javafx.eula.EulaDialog.askUserAcceptEULA(Unknown Source) at com.sun.javafx.eula.EulaImpl.askUserAcceptEULA(Unknown Source) at com.sun.javafx.eula.EulaImpl.show(Unknown Source) at com.sun.javafx.tk.swing.SwingToolkit$StartupRoutine.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEvent(EventQueue.java:602) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 11:39:24 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 18:39:24 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #1 from pktoss at gmail.com 2009-07-06 18:39 ------- Created an attachment (id=240) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=240&action=view) A small testcase that illustrates the missing SHA384withECDSA Signature Algorithm problem. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 12:14:33 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 19:14:33 +0000 Subject: [Bug 298] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=298 ------- Comment #1 from jon.vanalten at redhat.com 2009-07-06 19:14 ------- Hi, Going through some stale bug reports here. Are you still having this crash? Is it reliably reproducible, and if so can you provide details so that we can further debug this? (if no response in 1 week, will assume that this is no longer happening in current version and close this bug). thx -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 12:26:18 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 19:26:18 +0000 Subject: [Bug 297] icedtea crash maybe because of libpolyester ... Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=297 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-06 19:26 ------- I have polyester-2.0-0.4.beta1.fc9.x86_64 installed in F11, and do not have Eclipse crashing problems. Are you still experiencing this crash? If so, can you provide more details on how it can be reproduced (ie what are you doing when it crashes). Will assume this is fixed in current IcedTea/Eclipse/polyester versions if no response after 1 week. thx -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 13:02:34 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 20:02:34 +0000 Subject: [Bug 336] Add support for JSR-200 to javaws and appletviewer Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=336 omajid at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #237 is|0 |1 obsolete| | ------- Comment #6 from omajid at redhat.com 2009-07-06 20:02 ------- Created an attachment (id=241) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=241&action=view) pack200 support for plugin - second implementation Rely on http headers instead of file extensions. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 13:18:17 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 20:18:17 +0000 Subject: [Bug 299] eclipse crashes during file download in a tomcat test scenario Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=299 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-06 20:18 ------- Hi, is this still happening for you? If so, even more useful than log files would be a reliable way to reproduce this crash. A thorough description of what you do to produce this crash would suffice, but even better would be a simple test case. Any files you have to submit can be added to this bug as an attachment. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 13:35:37 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 20:35:37 +0000 Subject: [Bug 302] JRE fatal error Problematic frame Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=302 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-06 20:35 ------- Hi, Are you still seeing this crash? If this is happening with current builds of Vuze/xulrunner/IcedTea can you post a fresh log? thx -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 13:44:30 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 20:44:30 +0000 Subject: [Bug 327] SIGSEGV (0xb) at pc=0xa5fd779c, pid=6255, tid=2833329040 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=327 mwong at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from mwong at redhat.com 2009-07-06 20:44 ------- If the bug is still a problem for you, feel free to reopen it. Man Lung Wong -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 13:59:21 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 20:59:21 +0000 Subject: [Bug 305] eclipse crashes if I try to configure PyDev plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=305 ------- Comment #6 from jon.vanalten at redhat.com 2009-07-06 20:59 ------- Hi, I also do not reproduce this issue. Fedora 11 java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5) (fedora-22.b16.fc11-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode) Eclipse Version: 3.4.2 Based on build id: 20090211-1700 PyDev 1.4.4.2636 Python 2-6.9 Is this still happening for you? If so can you post a fresh log of this using up-to-date Java and Python packages? (otherwise will assume this is no longer an issue and close this bug after 1 week). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Jul 6 16:53:57 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jul 2009 23:53:57 +0000 Subject: [Bug 302] JRE fatal error Problematic frame Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=302 ------- Comment #3 from dgahling at hotmail.com 2009-07-06 23:53 ------- this is still happening, recently, the version is recent. latest release won't even load at all, no indication of loading, its even worse. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gbenson at redhat.com Tue Jul 7 01:38:02 2009 From: gbenson at redhat.com (Gary Benson) Date: Tue, 7 Jul 2009 09:38:02 +0100 Subject: RFC: shark + llvm2.6svn LLVMContext api change In-Reply-To: <4A4EA37C.2000309@zafena.se> References: <4A4EA37C.2000309@zafena.se> Message-ID: <20090707083801.GA3224@redhat.com> Please commit this, it's better than the solution I made :) Cheers, Gary Xerxes R?nby wrote: > LLVM 2.6svn trunk now require the passing of a LLVMContext while > creating a LLVM Module in order for LLVM clients to use the LLVM JIT > multithreaded. [1] > Fortunate for us LLVM have also provided a new backward compatible API, > by using getGlobalContext() a LLVMContext are returned that can be used > by current singlethreaded compiler clients to quickly fullfill this > change. [2] > > I have added some comments to help future shark hackers find what needs > to change if someone wants to make the shark compiler multi-threaded. > > I have tested this patch using llvm r74781 and icedtea6 > http://icedtea.classpath.org/hg/icedtea6/rev/308c172cd230 on ia32 / F11 > > [1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-June/023505.html - > [LLVMdev] MAJOR API CHANGE: LLVMContext > [2] http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-June/023507.html > > Cheers > Xerxes > > > > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp > @@ -43,7 +43,15 @@ SharkCompiler::SharkCompiler() > #endif > > // Create a module to build our functions into > +#if SHARK_LLVM_VERSION >= 26 > + // LLVM 2.6 and later requires passing a LLVMContext during module > + // creation. The LLVM API getGlobalContext() returns a LLVMContext that > + // can be used safely as long as the shark compiler stays single threaded > + // and only uses one module. > + _module = new Module("shark", getGlobalContext()); > +#else > _module = new Module("shark"); > +#endif > > // Create the builder to build our functions > _builder = new SharkBuilder(this); > Index: icedtea6/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp > +++ icedtea6/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp > @@ -32,6 +32,9 @@ > #include > #include > #include > +#if SHARK_LLVM_VERSION >= 26 > +#include > +#endif > #include > #include > #include -- http://gbenson.net/ From xerxes at zafena.se Tue Jul 7 01:57:37 2009 From: xerxes at zafena.se (Xerxes R?nby) Date: Tue, 07 Jul 2009 08:57:37 +0000 Subject: changeset in /hg/icedtea6: 2009-07-07 Xerxes R?nby changeset 051f9a48387c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=051f9a48387c description: 2009-07-07 Xerxes R?nby * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Include llvm/LLVMContext.h used by getGlobalContext() when llvm version are 2.6 or later. * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (SharkCompiler::SharkCompiler): Pass the LLVMContext returned from getGlobalContext() to the new Module constructor when llvm version are 2.6 or later to handle LLVM API change. diffstat: 3 files changed, 21 insertions(+) ChangeLog | 10 ++++++++++ ports/hotspot/src/share/vm/shark/llvmHeaders.hpp | 3 +++ ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 8 ++++++++ diffs (49 lines): diff -r 308c172cd230 -r 051f9a48387c ChangeLog --- a/ChangeLog Fri Jul 03 11:52:45 2009 +0100 +++ b/ChangeLog Tue Jul 07 10:58:02 2009 +0200 @@ -1,3 +1,13 @@ 2009-07-03 Gary Benson + + * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp + Include llvm/LLVMContext.h used by getGlobalContext() + when llvm version are 2.6 or later. + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::SharkCompiler): Pass the LLVMContext returned + from getGlobalContext() to the new Module constructor + when llvm version are 2.6 or later to handle LLVM API change. + 2009-07-03 Gary Benson * ports/hotspot/src/share/vm/shark/sharkEntry.hpp diff -r 308c172cd230 -r 051f9a48387c ports/hotspot/src/share/vm/shark/llvmHeaders.hpp --- a/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Fri Jul 03 11:52:45 2009 +0100 +++ b/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Tue Jul 07 10:58:02 2009 +0200 @@ -32,6 +32,9 @@ #include #include #include +#if SHARK_LLVM_VERSION >= 26 +#include +#endif #include #include #include diff -r 308c172cd230 -r 051f9a48387c ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Fri Jul 03 11:52:45 2009 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Tue Jul 07 10:58:02 2009 +0200 @@ -43,7 +43,15 @@ SharkCompiler::SharkCompiler() #endif // Create a module to build our functions into +#if SHARK_LLVM_VERSION >= 26 + // LLVM 2.6 and later requires passing a LLVMContext during module + // creation. The LLVM API getGlobalContext() returns a LLVMContext that + // can be used safely as long as the shark compiler stays single threaded + // and only uses one module. + _module = new Module("shark", getGlobalContext()); +#else _module = new Module("shark"); +#endif // Create the builder to build our functions _builder = new SharkBuilder(this); From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 02:40:53 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 09:40:53 +0000 Subject: [Bug 305] eclipse crashes if I try to configure PyDev plugin Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=305 ------- Comment #7 from nikita.manovich at gmail.com 2009-07-07 09:40 ------- I will check it as soon as possible... Please give me some time. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 03:34:51 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 10:34:51 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #10 from interface at bitoffice.at 2009-07-07 10:34 ------- Here it is, I hope it helps: # java -XX:+SharkTraceInstalls -XX:SharkPrintBitcodeOf=ArithFail::convertValue -XX:SharkPrintAsmOf=ArithFail::convertValue ArithFail [0x6e9da010-0x6e9da314): java.lang.String::charAt (772 bytes code) [0x6e9da320-0x6e9da7c4): java.lang.String::hashCode (1188 bytes code) [0x6e9da7d0-0x6e9db068): java.lang.String::indexOf (2200 bytes code) [0x6e9db070-0x6e9db1cc): java.lang.Object:: (348 bytes code) [0x6e9db1d0-0x6e9db3d0): java.lang.Number:: (512 bytes code) [0x6e9db3f8-0x6e9db7c8): ArithFail::calculate (976 bytes code) [0x6e9db7d0-0x6e9dbb44): ArithFail::getVoltage (884 bytes code) define internal void @"ArithFail::convertValue"([84 x i8]* %method, i32 %base_pc, [788 x i8]* %thread) { %1 = getelementptr [788 x i8]* %thread, i32 0, i32 756 ; [#uses=1] %zero_stack = bitcast i8* %1 to [12 x i8]* ; <[12 x i8]*> [#uses=2] %2 = getelementptr [12 x i8]* %zero_stack, i32 0, i32 0 ; [#uses=1] %3 = bitcast i8* %2 to i32* ; [#uses=1] %zero_stack_base = load i32* %3 ; [#uses=1] %4 = getelementptr [12 x i8]* %zero_stack, i32 0, i32 8 ; [#uses=1] %zero_stack_pointer_addr = bitcast i8* %4 to i32* ; [#uses=5] %5 = getelementptr [788 x i8]* %thread, i32 0, i32 768 ; [#uses=1] %zero_frame_pointer_addr = bitcast i8* %5 to i32* ; [#uses=7] %6 = load i32* %zero_stack_pointer_addr ; [#uses=1] %7 = sub i32 %6, 32 ; [#uses=4] %8 = icmp ult i32 %7, %zero_stack_base ; [#uses=1] br i1 %8, label %stack_overflow, label %no_overflow stack_overflow: ; preds = %0 call void @report_unimplemented(i32 ptrtoint (i32* @pointer_constant_0xfbe586c24 to i32), i32 181) unreachable no_overflow: ; preds = %0 store i32 %7, i32* %zero_stack_pointer_addr %frame = inttoptr i32 %7 to [10 x i32]* ; <[10 x i32]*> [#uses=14] %9 = getelementptr [10 x i32]* %frame, i32 0, i32 2 ; [#uses=1] %exception_slot = bitcast i32* %9 to [8 x i8]** ; <[8 x i8]**> [#uses=1] store [8 x i8]* null, [8 x i8]** %exception_slot %10 = getelementptr [10 x i32]* %frame, i32 0, i32 4 ; [#uses=1] store i32 %7, i32* %10 %11 = getelementptr [10 x i32]* %frame, i32 0, i32 6 ; [#uses=1] store i32 -889275712, i32* %11 %12 = getelementptr [10 x i32]* %frame, i32 0, i32 7 ; [#uses=2] %13 = load i32* %zero_frame_pointer_addr ; [#uses=1] store i32 %13, i32* %12 %14 = ptrtoint i32* %12 to i32 ; [#uses=1] store i32 %14, i32* %zero_frame_pointer_addr %15 = getelementptr [10 x i32]* %frame, i32 0, i32 3 ; [#uses=1] %method_slot = bitcast i32* %15 to [84 x i8]** ; <[84 x i8]**> [#uses=1] store [84 x i8]* %method, [84 x i8]** %method_slot %16 = getelementptr [10 x i32]* %frame, i32 0, i32 9 ; [#uses=1] %17 = bitcast i32* %16 to [8 x i8]** ; <[8 x i8]**> [#uses=1] %18 = load [8 x i8]** %17 ; <[8 x i8]*> [#uses=1] %19 = getelementptr [10 x i32]* %frame, i32 0, i32 8 ; [#uses=1] %20 = load i32* %19 ; [#uses=3] br label %bci_0 bci_0: ; preds = %no_overflow %21 = sitofp i32 %20 to float ; [#uses=1] %22 = mul float %21, 0x3F74050140000000 ; [#uses=2] %state = load i32* inttoptr (i32 ptrtoint (i32* @pointer_constant_0xfd541b025 to i32) to i32*) ; [#uses=1] %23 = icmp eq i32 %state, 1 ; [#uses=1] br i1 %23, label %do_safepoint, label %safepointed do_safepoint: ; preds = %bci_0 %24 = getelementptr [10 x i32]* %frame, i32 0, i32 1 ; [#uses=1] %25 = ptrtoint i32* %24 to i32 ; [#uses=1] store i32 %25, i32* %zero_stack_pointer_addr %26 = getelementptr [10 x i32]* %frame, i32 0, i32 3 ; [#uses=1] %27 = bitcast i32* %26 to [84 x i8]** ; <[84 x i8]**> [#uses=1] store [84 x i8]* %method, [84 x i8]** %27 %28 = add i32 %base_pc, 12 ; [#uses=1] %29 = getelementptr [10 x i32]* %frame, i32 0, i32 5 ; [#uses=1] store i32 %28, i32* %29 %30 = load i32* %zero_frame_pointer_addr ; [#uses=1] %31 = getelementptr [788 x i8]* %thread, i32 0, i32 280 ; [#uses=1] %last_Java_sp_addr = bitcast i8* %31 to i32* ; [#uses=1] store i32 %30, i32* %last_Java_sp_addr call void @SafepointSynchronize__block([788 x i8]* %thread) %32 = getelementptr [788 x i8]* %thread, i32 0, i32 280 ; [#uses=1] %last_Java_sp_addr1 = bitcast i8* %32 to i32* ; [#uses=1] store i32 0, i32* %last_Java_sp_addr1 %33 = getelementptr [10 x i32]* %frame, i32 0, i32 3 ; [#uses=1] %34 = bitcast i32* %33 to [84 x i8]** ; <[84 x i8]**> [#uses=1] %35 = load [84 x i8]** %34 ; <[84 x i8]*> [#uses=1] %36 = getelementptr [10 x i32]* %frame, i32 0, i32 9 ; [#uses=1] %37 = bitcast i32* %36 to [8 x i8]** ; <[8 x i8]**> [#uses=1] %38 = load [8 x i8]** %37 ; <[8 x i8]*> [#uses=1] %39 = getelementptr [788 x i8]* %thread, i32 0, i32 4 ; [#uses=1] %pending_exception_addr = bitcast i8* %39 to [8 x i8]** ; <[8 x i8]**> [#uses=2] %pending_exception = load [8 x i8]** %pending_exception_addr ; <[8 x i8]*> [#uses=2] %40 = icmp eq [8 x i8]* %pending_exception, null ; [#uses=1] br i1 %40, label %no_exception, label %exception safepointed: ; preds = %no_exception, %bci_0 %method5 = phi [84 x i8]* [ %35, %no_exception ], [ %method, %bci_0 ] ; <[84 x i8]*> [#uses=0] %local_0_ = phi [8 x i8]* [ %38, %no_exception ], [ %18, %bci_0 ] ; <[8 x i8]*> [#uses=0] %local_1_ = phi i32 [ %20, %no_exception ], [ %20, %bci_0 ] ; [#uses=0] %stack_0_ = phi float [ %22, %no_exception ], [ %22, %bci_0 ] ; [#uses=1] %41 = load i32* %zero_frame_pointer_addr ; [#uses=2] %42 = add i32 %41, 8 ; [#uses=2] store i32 %42, i32* %zero_stack_pointer_addr %43 = inttoptr i32 %41 to i32* ; [#uses=1] %44 = load i32* %43 ; [#uses=1] store i32 %44, i32* %zero_frame_pointer_addr %45 = inttoptr i32 %42 to float* ; [#uses=1] store float %stack_0_, float* %45 ret void exception: ; preds = %do_safepoint store [8 x i8]* null, [8 x i8]** %pending_exception_addr %46 = getelementptr [10 x i32]* %frame, i32 0, i32 2 ; [#uses=1] %exception_slot2 = bitcast i32* %46 to [8 x i8]** ; <[8 x i8]**> [#uses=1] store [8 x i8]* %pending_exception, [8 x i8]** %exception_slot2 %47 = getelementptr [10 x i32]* %frame, i32 0, i32 2 ; [#uses=1] %exception_slot3 = bitcast i32* %47 to [8 x i8]** ; <[8 x i8]**> [#uses=1] %48 = load [8 x i8]** %exception_slot3 ; <[8 x i8]*> [#uses=1] %49 = getelementptr [788 x i8]* %thread, i32 0, i32 4 ; [#uses=1] %pending_exception_addr4 = bitcast i8* %49 to [8 x i8]** ; <[8 x i8]**> [#uses=1] store [8 x i8]* %48, [8 x i8]** %pending_exception_addr4 %50 = load i32* %zero_frame_pointer_addr ; [#uses=2] %51 = add i32 %50, 12 ; [#uses=1] store i32 %51, i32* %zero_stack_pointer_addr %52 = inttoptr i32 %50 to i32* ; [#uses=1] %53 = load i32* %52 ; [#uses=1] store i32 %53, i32* %zero_frame_pointer_addr ret void no_exception: ; preds = %do_safepoint br label %safepointed } [0x6e9dbb58-0x6e9dbcf4): ArithFail::convertValue (412 bytes code) [0x6e9dbd08-0x6e9dbe74): ArithFail::getRSerial (364 bytes code) [0x6e9dbe88-0x6e9dbff4): ArithFail::getU0 (364 bytes code) [0x6e9dc000-0x6e9dc188): java.lang.Math::sqrt (392 bytes code) [0x6e9dc190-0x6e9dc4f0): java.lang.Float::valueOf (864 bytes code) [0x6e9dc500-0x6e9dc71c): java.lang.Float:: (540 bytes code) [0x6e9dc720-0x6e9dc888): java.lang.Float::floatValue (360 bytes code) Failed with 1.514903 after 1617 iterations 1950.2075 1950.2075 true 0.9928497 0.97510374 false -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 03:36:48 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 10:36:48 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 ------- Comment #11 from interface at bitoffice.at 2009-07-07 10:36 ------- Created an attachment (id=242) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=242&action=view) Debug output Testcase The paste is quite unreadable, sorry. Someone may delete my previous post. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 03:37:35 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 10:37:35 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 interface at bitoffice.at changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #242|application/octet-stream |text/plain mime type| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 04:19:28 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 11:19:28 +0000 Subject: [Bug 361] Arithmetic problems Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=361 gbenson at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gbenson at redhat.com |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 07:08:35 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 14:08:35 +0000 Subject: [Bug 302] JRE fatal error Problematic frame Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=302 ------- Comment #4 from jon.vanalten at redhat.com 2009-07-07 14:08 ------- This looks very similar to http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=354 , in which the problem is not within java but in libxul.so, which is mozilla's xulrunner library. Your log from March indicates that this is the problem frame. I notice that my xulrunner is newer than the one in the log you posted. The tldr in the thread referenced in above bug is: Firefox 3 and newer bundles its own (current) xulrunner libraries, you probably don't need xulrunner installed separately, and other people have had problems with vuze evaporate by removing older xulrunner packages from their systems or updating to newer version. I haven't looked at the internals of Vuze but from vuze forum posts I've seen it will use the bundled Firefox xulrunner if a separate package is not there. On my system however I have xulrunner package separate (but as noted above a newer/current version). If this does not help with your crash, can you be more specific about what version of these components you are running? My Vuze/Azureus is: azureus-4.0.0.4-3 My xulrunner library: xulrunner-1.9.1-1 And my Java: $ java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5) (fedora-22.b16.fc11-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode) In this combination I am able to run Vuze. Can you post details about your versions *and* a fresh log please? Also it would be helpful if you try running from command line and post output (type either 'vuze' or 'azureus' at command prompt). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Tue Jul 7 07:11:36 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 07 Jul 2009 14:11:36 +0000 Subject: changeset in /hg/icedtea6: 2009-07-07 Omair Majid changeset 742216fd1f8f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=742216fd1f8f description: 2009-07-07 Omair Majid * rt/net/sourceforge/jnlp/resources/Messages.properties: Add RNestedJarExtration. * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJar): Create parent directories for nested jars. diffstat: 3 files changed, 12 insertions(+) ChangeLog | 7 +++++++ rt/net/sourceforge/jnlp/resources/Messages.properties | 1 + rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 4 ++++ diffs (39 lines): diff -r 051f9a48387c -r 742216fd1f8f ChangeLog --- a/ChangeLog Tue Jul 07 10:58:02 2009 +0200 +++ b/ChangeLog Tue Jul 07 10:12:31 2009 -0400 @@ -1,3 +1,10 @@ 2009-07-07 Xerxes R??nby + + * rt/net/sourceforge/jnlp/resources/Messages.properties: Add + RNestedJarExtration. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (activateJar): Create parent directories for nested jars. + 2009-07-07 Xerxes R??nby * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp diff -r 051f9a48387c -r 742216fd1f8f rt/net/sourceforge/jnlp/resources/Messages.properties --- a/rt/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 07 10:58:02 2009 +0200 +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 07 10:12:31 2009 -0400 @@ -111,6 +111,7 @@ RDenyStopped=Stopped applications have n RDenyStopped=Stopped applications have no permissions. RExitNoApp=Can not exit the JVM because the current application cannot be determined. RNoLockDir=Unable to create locks directory ({0}) +RNestedJarExtration=Unable to extract nested jar. RUnexpected=Unexpected {0} at {1} # Boot options, message should be shorter than this ----------------> diff -r 051f9a48387c -r 742216fd1f8f rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 07 10:58:02 2009 +0200 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 07 10:12:31 2009 -0400 @@ -521,6 +521,10 @@ public class JNLPClassLoader extends URL // with standard classloader methods) String extractedJarLocation = localFile.getParent() + "/" + je.getName(); + File parentDir = new File(extractedJarLocation).getParentFile(); + if (!parentDir.isDirectory() && !parentDir.mkdirs()) { + throw new RuntimeException(R("RNestedJarExtration")); + } FileOutputStream extractedJar = new FileOutputStream(extractedJarLocation); InputStream is = jarFile.getInputStream(je); From omajid at redhat.com Tue Jul 7 07:15:00 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 07 Jul 2009 10:15:00 -0400 Subject: RFC: Bug in JNLPClassloader when using nested jars In-Reply-To: <20090629205118.GA15067@redhat.com> References: <4A492375.5050308@redhat.com> <20090629205118.GA15067@redhat.com> Message-ID: <4A535864.90604@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-06-29 16:27]: >> Hi, >> >> The attached patch fixes a bug in JNLPClassloader that occurs when >> JNLPClassloader tries to load nested jars in nested directories. >> >> To reproduce the issue: >> $ javaws http://dnld0.sparkom.com/sparkangels/sangels/sparkangels.jnlp >> [snip] >> Caused by: java.lang.NoClassDefFoundError: sparkangels/vb >> at com.sparkom.launcher.Main.main(Unknown Source) >> ... 6 more >> [snip] >> > > Looks good to me. > Thanks. Pushed as changeset 742216fd1f8f. Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 07:30:35 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 14:30:35 +0000 Subject: [Bug 216] OpenJDK java web start fails to open jnlp files version 1.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=216 omajid at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #7 from omajid at redhat.com 2009-07-07 14:30 ------- Closing bug as FIXED. Please file any specific issues as separate bugs. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From jon.vanalten at redhat.com Tue Jul 7 07:43:14 2009 From: jon.vanalten at redhat.com (jon.vanalten at redhat.com) Date: Tue, 7 Jul 2009 10:43:14 -0400 (EDT) Subject: RFC: Minor build correctness patch In-Reply-To: <1883048676.122321246977742772.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Hi, The attached patch corrects a minor issue noted in http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 Include statements for the .c files affected are missing, resulting in compiler warnings. While this wasn't affecting the build or correct performance, it is good practice to include headers where appropriate. This patch, adapted from that provided by the original bug reporter above, adds the include statements. Comments welcome. jon -------------- next part -------------- A non-text attachment was scrubbed... Name: header_correctness.patch Type: application/octet-stream Size: 1625 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090707/d5b34af0/header_correctness.patch From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 07:46:32 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 14:46:32 +0000 Subject: [Bug 311] JAVA-Based programs won't run and craches Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=311 ------- Comment #5 from jon.vanalten at redhat.com 2009-07-07 14:46 ------- Hi, cleaning up some stale bug reports here. Has this problem been happening still for you? Or does it seem to be resolved? (will leave open for 1 week then assume fixed by updates as noted above) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From langel at redhat.com Tue Jul 7 08:04:29 2009 From: langel at redhat.com (Lillian Angel) Date: Tue, 07 Jul 2009 11:04:29 -0400 Subject: RFC: Minor build correctness patch In-Reply-To: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> Message-ID: <4A5363FD.801@redhat.com> jon.vanalten at redhat.com wrote: > Hi, > > The attached patch corrects a minor issue noted in http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 > > Include statements for the .c files affected are missing, resulting in compiler warnings. While this wasn't affecting the build or correct performance, it is good practice to include headers where appropriate. This patch, adapted from that provided by the original bug reporter above, adds the include statements. > > Comments welcome. As per Andrew Hughes comments in the bug, I would like to see this filed upstream to Sun. I have CC'ed Matthew Flaschen. For now, it is fine to commit. Cheers, Lillian From omajid at redhat.com Tue Jul 7 08:27:09 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 07 Jul 2009 11:27:09 -0400 Subject: RFC: Use correct node object when parsing ext-download elements Message-ID: <4A53694D.9000100@redhat.com> Hi, The attached patch fixes typos in the node name in Parser.getExtension. The variable node refers to the extension node, and dload[i] refers to the ext-download node. This patch was originally posted for bug 271: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 ChangeLog: 2009-07-07 Omair Majid * rt/net/sourceforge/jnlp/Parser.java (getExtension): Fix typo. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-parser-ext-node-name.patch Type: text/x-patch Size: 835 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090707/656c5ce6/netx-parser-ext-node-name.patch From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 08:26:01 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 15:26:01 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #2 from ankostis at gmail.com 2009-07-07 15:26 ------- * Needed to add a suitable for 'SHA384withECDSA' provider into 'java.security' config-file. * Supposedly SHA384withECDSA provided by sun.security.pkcs11.SunPKCS11 with NSS as the native backend, as described in: http://blogs.sun.com/andreas/entry/the_java_pkcs_11_provider with the following config-file: name = NSS nssLibraryDirectory = /opt/tests/nss/lib nssDbMode = noDb attributes = compatibility * In fedora needed to install nss-devel-3.12.3-4.fc11.i586 due to a missing NSS lib. * Debug java-prop: java.security.debug={all|provider|sunpkcs11} * But NSS does *NOT* by default compile ECC! according to: http://www.mozilla.org/projects/security/pki/nss/nss-3.11/nss-3.11-algorithms.html * BUT Testcrypto.java TestCase also fails in sun's jdk!! -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 09:35:11 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 16:35:11 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #3 from ankostis at gmail.com 2009-07-07 16:35 ------- Managed to import COMODO's ECC certificate. This bug is present also in sun's JDK and it gets fixed as prescribed by Andreas Sterbenz: http://blogs.sun.com/andreas/entry/the_java_pkcs_11_provider We need to add the 'sun.security.pkcs11.SunPKCS11' provider with a single config-arg pointing to a file containing the following properties: name = NSS nssLibraryDirectory = /usr/lib nssDbMode = noDb attributes = compatibility Tested on: * Gentoo, needs devlibs/nss installed and a minor config modification: nssLibraryDirectory=/usr/lib/nss and it works ok. * Debian just needs libnss3-1d installed, and it also works ok. * Fedora's NSS, by default is compiled most probably *without* ECC! So it fails. (see: http://www.mozilla.org/projects/security/pki/nss/nss-3.11/nss-3.11-algorithms.html) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 09:51:07 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 16:51:07 +0000 Subject: [Bug 311] JAVA-Based programs won't run and craches Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=311 mrjava.javaman at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED ------- Comment #6 from mrjava.javaman at gmail.com 2009-07-07 16:51 ------- As announced somewhere at redhat website, this was a known bug in imsetting and was fixed a while ago in fedora 10. Thanks! -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Tue Jul 7 09:59:13 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 7 Jul 2009 12:59:13 -0400 Subject: RFC: Use correct node object when parsing ext-download elements In-Reply-To: <4A53694D.9000100@redhat.com> References: <4A53694D.9000100@redhat.com> Message-ID: <20090707165913.GA11824@redhat.com> * Omair Majid [2009-07-07 11:27]: > Hi, > > The attached patch fixes typos in the node name in Parser.getExtension. > The variable node refers to the extension node, and dload[i] refers to > the ext-download node. > > This patch was originally posted for bug 271: > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 > > ChangeLog: > 2009-07-07 Omair Majid > > * rt/net/sourceforge/jnlp/Parser.java > (getExtension): Fix typo. > > Any comments? > Looks good. Deepak > Cheers, > Omair From omajid at redhat.com Tue Jul 7 10:43:46 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 07 Jul 2009 17:43:46 +0000 Subject: changeset in /hg/icedtea6: 2009-07-07 Omair Majid changeset b4bb02c70835 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b4bb02c70835 description: 2009-07-07 Omair Majid * rt/net/sourceforge/jnlp/Parser.java (getExtension): Fix typo in node name. diffstat: 2 files changed, 9 insertions(+), 4 deletions(-) ChangeLog | 5 +++++ rt/net/sourceforge/jnlp/Parser.java | 8 ++++---- diffs (30 lines): diff -r 742216fd1f8f -r b4bb02c70835 ChangeLog --- a/ChangeLog Tue Jul 07 10:12:31 2009 -0400 +++ b/ChangeLog Tue Jul 07 13:44:35 2009 -0400 @@ -1,3 +1,8 @@ 2009-07-07 Omair Majid + + * rt/net/sourceforge/jnlp/Parser.java + (getExtension): Fix typo in node name. + 2009-07-07 Omair Majid * rt/net/sourceforge/jnlp/resources/Messages.properties: Add diff -r 742216fd1f8f -r b4bb02c70835 rt/net/sourceforge/jnlp/Parser.java --- a/rt/net/sourceforge/jnlp/Parser.java Tue Jul 07 10:12:31 2009 -0400 +++ b/rt/net/sourceforge/jnlp/Parser.java Tue Jul 07 13:44:35 2009 -0400 @@ -336,10 +336,10 @@ class Parser { Node dload[] = getChildNodes(node, "ext-download"); for (int i=0; i < dload.length; i++) { - boolean lazy = "lazy".equals(getAttribute(node, "download", "eager")); - - ext.addPart(getRequiredAttribute(node, "ext-part", null), - getAttribute(node, "part", null), + boolean lazy = "lazy".equals(getAttribute(dload[i], "download", "eager")); + + ext.addPart(getRequiredAttribute(dload[i], "ext-part", null), + getAttribute(dload[i], "part", null), lazy); } From omajid at redhat.com Tue Jul 7 10:46:38 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 07 Jul 2009 13:46:38 -0400 Subject: RFC: Use correct node object when parsing ext-download elements In-Reply-To: <20090707165913.GA11824@redhat.com> References: <4A53694D.9000100@redhat.com> <20090707165913.GA11824@redhat.com> Message-ID: <4A5389FE.2060002@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-07 11:27]: >> Hi, >> >> The attached patch fixes typos in the node name in Parser.getExtension. >> The variable node refers to the extension node, and dload[i] refers to >> the ext-download node. >> >> This patch was originally posted for bug 271: >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 >> >> ChangeLog: >> 2009-07-07 Omair Majid >> >> * rt/net/sourceforge/jnlp/Parser.java >> (getExtension): Fix typo. >> >> Any comments? >> > > Looks good. > Pushed as changeset b4bb02c70835. Thanks, Omair From gnu_andrew at member.fsf.org Tue Jul 7 11:21:39 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 7 Jul 2009 19:21:39 +0100 Subject: RFC: Minor build correctness patch In-Reply-To: <4A5363FD.801@redhat.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> Message-ID: <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> 2009/7/7 Lillian Angel : > jon.vanalten at redhat.com wrote: >> >> Hi, >> >> The attached patch corrects a minor issue noted in >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 >> >> Include statements for the .c files affected are missing, resulting in >> compiler warnings. ?While this wasn't affecting the build or correct >> performance, it is good practice to include headers where appropriate. ?This >> patch, adapted from that provided by the original bug reporter above, adds >> the include statements. >> >> Comments welcome. > > > As per Andrew Hughes comments in the bug, I would like to see this filed > upstream to Sun. I have CC'ed Matthew Flaschen. > > For now, it is fine to commit. > > > Cheers, > Lillian > I'd much prefer we didn't commit this to IcedTea, as it is just another patch we have to manage and maintain. The arguments Jon makes for including this (it doesn't affect performance or the build) can equally be used as very good reasons for not including it in IcedTea. The majority of the developers on this list, who have been hacking on IcedTea for a while, will be aware of how much of a pain it is to have to test the build with different patches applied and to have to recreate them when a new build drop appears upstream. The current aim (at least of those at Red Hat) is to try and reduce this burden by getting the majority of patches upstream. Jon, as you're still new to the project, you're probably unaware of a lot of this pain so you'll have to take what we say on trust for now :) Believe me, I think your efforts would be better spent applying this to the appropriate JDK7 tree and creating a webrev for it. I can't see an appropriate tree, but presumably those on the net-dev mailing list can provide appropriate hints. Lillian: there already is a bug, http://bugs.sun.com/view_bug.do?bug_id=6562614 (referenced in our IcedTea bug) so it should be a simple matter of just getting the patch approved (the bug has been) and someone pushing it. BTW, I'm aware I said 'I'd commit this' on the bug, but take the fact that I didn't as a reconsideration on my part... ;) -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From langel at redhat.com Tue Jul 7 11:27:18 2009 From: langel at redhat.com (Lillian Angel) Date: Tue, 07 Jul 2009 14:27:18 -0400 Subject: RFC: Minor build correctness patch In-Reply-To: <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> Message-ID: <4A539386.1040801@redhat.com> Andrew John Hughes wrote: > 2009/7/7 Lillian Angel : > >> jon.vanalten at redhat.com wrote: >> >>> Hi, >>> >>> The attached patch corrects a minor issue noted in >>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 >>> >>> Include statements for the .c files affected are missing, resulting in >>> compiler warnings. ? While this wasn't affecting the build or correct >>> performance, it is good practice to include headers where appropriate. ? This >>> patch, adapted from that provided by the original bug reporter above, adds >>> the include statements. >>> >>> Comments welcome. >>> >> As per Andrew Hughes comments in the bug, I would like to see this filed >> upstream to Sun. I have CC'ed Matthew Flaschen. >> >> For now, it is fine to commit. >> >> >> Cheers, >> Lillian >> >> > > I'd much prefer we didn't commit this to IcedTea, as it is just > another patch we have to manage and maintain. The arguments Jon makes > for including this (it doesn't affect performance or the build) can > equally be used as very good reasons for not including it in IcedTea. > The majority of the developers on this list, who have been hacking on > IcedTea for a while, will be aware of how much of a pain it is to have > to test the build with different patches applied and to have to > recreate them when a new build drop appears upstream. The current aim > (at least of those at Red Hat) is to try and reduce this burden by > getting the majority of patches upstream. > > Jon, as you're still new to the project, you're probably unaware of a > lot of this pain so you'll have to take what we say on trust for now > :) Believe me, I think your efforts would be better spent applying > this to the appropriate JDK7 tree and creating a webrev for it. I > can't see an appropriate tree, but presumably those on the net-dev > mailing list can provide appropriate hints. > > Lillian: there already is a bug, > http://bugs.sun.com/view_bug.do?bug_id=6562614 (referenced in our > IcedTea bug) so it should be a simple matter of just getting the patch > approved (the bug has been) and someone pushing it. > > BTW, I'm aware I said 'I'd commit this' on the bug, but take the fact > that I didn't as a reconsideration on my part... ;) Agreed. But there is a good chance if no one takes responsibility for this patch, it will never get committed. IcedTea is a place where we keep track of what needs to go upstream, and make sure we follow up on this. If Jon hadn't been doing a bug clean up, how long would it have been until we came across this again? While the patch doesn't fix any build/performance issues, it is still a bug that should be fixed. Who should be responsible for watching it? Should we leave this up to the reporter? Cheers, Lillian From gnu_andrew at member.fsf.org Tue Jul 7 11:44:55 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 7 Jul 2009 19:44:55 +0100 Subject: RFC: Minor build correctness patch In-Reply-To: <4A539386.1040801@redhat.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> <4A539386.1040801@redhat.com> Message-ID: <17c6771e0907071144y5039508eh69ad77da025b787e@mail.gmail.com> 2009/7/7 Lillian Angel : > Andrew John Hughes wrote: >> >> 2009/7/7 Lillian Angel : >> >>> >>> jon.vanalten at redhat.com wrote: >>> >>>> >>>> Hi, >>>> >>>> The attached patch corrects a minor issue noted in >>>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 >>>> >>>> Include statements for the .c files affected are missing, resulting in >>>> compiler warnings. ? While this wasn't affecting the build or correct >>>> performance, it is good practice to include headers where appropriate. ? >>>> This >>>> patch, adapted from that provided by the original bug reporter above, >>>> adds >>>> the include statements. >>>> >>>> Comments welcome. >>>> >>> >>> As per Andrew Hughes comments in the bug, I would like to see this filed >>> upstream to Sun. I have CC'ed Matthew Flaschen. >>> >>> For now, it is fine to commit. >>> >>> >>> Cheers, >>> Lillian >>> >>> >> >> I'd much prefer we didn't commit this to IcedTea, as it is just >> another patch we have to manage and maintain. ?The arguments Jon makes >> for including this (it doesn't affect performance or the build) can >> equally be used as very good reasons for not including it in IcedTea. >> The majority of the developers on this list, who have been hacking on >> IcedTea for a while, will be aware of how much of a pain it is to have >> to test the build with different patches applied and to have to >> recreate them when a new build drop appears upstream. ?The current aim >> (at least of those at Red Hat) is to try and reduce this burden by >> getting the majority of patches upstream. >> >> Jon, as you're still new to the project, you're probably unaware of a >> lot of this pain so you'll have to take what we say on trust for now >> :) ?Believe me, I think your efforts would be better spent applying >> this to the appropriate JDK7 tree and creating a webrev for it. ?I >> can't see an appropriate tree, but presumably those on the net-dev >> mailing list can provide appropriate hints. >> >> Lillian: there already is a bug, >> http://bugs.sun.com/view_bug.do?bug_id=6562614 (referenced in our >> IcedTea bug) so it should be a simple matter of just getting the patch >> approved (the bug has been) and someone pushing it. >> >> BTW, I'm aware I said 'I'd commit this' on the bug, but take the fact >> that I didn't as a reconsideration on my part... ;) > > > Agreed. But there is a good chance if no one takes responsibility for this > patch, it will never get committed. IcedTea is a place where we keep track > of what needs to go upstream, and make sure we follow up on this. If Jon > hadn't been doing a bug clean up, how long would it have been until we came > across this again? > > While the patch doesn't fix any build/performance issues, it is still a bug > that should be fixed. Who should be responsible for watching it? Should we > leave this up to the reporter? > I agree that IcedTea has a place as an envoy, tracking fixes from users and pushing them upstream. But there is a difference between IcedTea as in the repository with our code and patches in, and IcedTea as a project. Jon is certainly right in doing such bug cleanup and helping push this patch forward. I just don't see any advantage in having a festering copy in our repository when you need to recreate the patch against OpenJDK to push it upstream anyway. As I suggested above, the better solution is for Jon to use this as a trivial patch to get some experience in pushing a patch upstream. My feeling is that we only want to be adding more patches to the IcedTea pile when we need it for some functionality only we support, where it isn't appropriate for upstream or it's so critical (e.g. a security or TCK fix) that we need it now. In the latter case, it's expected to become obsolete in time. I know this isn't the easiest option, but I think in the long run we want to be doing most work on one project - OpenJDK - with IcedTea being more a stepping stone between the distros and OpenJDK, which avoids divergence between packaged binaries and acts as a workplace for things yet to go upstream (like the plugin). I'm biased though because I feel this whole patch thing a lot more. While with IcedTea6, rerolling the patches is becoming almost a biannually event, there are some patches I'm already recreating on a weekly basis with IcedTea7... > > Cheers, > Lillian > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From martinrb at google.com Tue Jul 7 11:48:27 2009 From: martinrb at google.com (Martin Buchholz) Date: Tue, 7 Jul 2009 11:48:27 -0700 Subject: RFC: Minor build correctness patch In-Reply-To: <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> Message-ID: <1ccfd1c10907071148n49038004r3faa0caec922b7d3@mail.gmail.com> On Tue, Jul 7, 2009 at 11:21, Andrew John Hughes wrote: > 2009/7/7 Lillian Angel : > > jon.vanalten at redhat.com wrote: > >> > >> Hi, > >> > >> The attached patch corrects a minor issue noted in > >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 > >> > >> Include statements for the .c files affected are missing, resulting in > >> compiler warnings. While this wasn't affecting the build or correct > >> performance, it is good practice to include headers where appropriate. > This > >> patch, adapted from that provided by the original bug reporter above, > adds > >> the include statements. > >> > >> Comments welcome. > > > > > > As per Andrew Hughes comments in the bug, I would like to see this filed > > upstream to Sun. I have CC'ed Matthew Flaschen. > > > > For now, it is fine to commit. > > > > > > Cheers, > > Lillian > > > > I'd much prefer we didn't commit this to IcedTea, as it is just > another patch we have to manage and maintain. The arguments Jon makes > for including this (it doesn't affect performance or the build) can > equally be used as very good reasons for not including it in IcedTea. > The majority of the developers on this list, who have been hacking on > IcedTea for a while, will be aware of how much of a pain it is to have > to test the build with different patches applied and to have to > recreate them when a new build drop appears upstream. The current aim > (at least of those at Red Hat) is to try and reduce this burden by > getting the majority of patches upstream. > > Jon, as you're still new to the project, you're probably unaware of a > lot of this pain so you'll have to take what we say on trust for now > :) Believe me, I think your efforts would be better spent applying > this to the appropriate JDK7 tree and creating a webrev for it. I > can't see an appropriate tree, but presumably those on the net-dev > mailing list can provide appropriate hints. > The tl forest is the right tree. You can use me ("martin") as a "reviewer" when pushing this upstream. Martin > > Lillian: there already is a bug, > http://bugs.sun.com/view_bug.do?bug_id=6562614 (referenced in our > IcedTea bug) so it should be a simple matter of just getting the patch > approved (the bug has been) and someone pushing it. > > BTW, I'm aware I said 'I'd commit this' on the bug, but take the fact > that I didn't as a reconsideration on my part... ;) > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090707/bb0a0004/attachment.html From Tim.Bell at Sun.COM Tue Jul 7 11:57:15 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Tue, 07 Jul 2009 11:57:15 -0700 Subject: RFC: Minor build correctness patch In-Reply-To: <1ccfd1c10907071148n49038004r3faa0caec922b7d3@mail.gmail.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> <1ccfd1c10907071148n49038004r3faa0caec922b7d3@mail.gmail.com> Message-ID: <4A539A8B.9000601@sun.com> Martin Buchholz wrote: > The tl forest is the right tree. > You can use me ("martin") as a "reviewer" when pushing this upstream. > > Martin That is correct. TL is open for b66 fixes at the moment [1]. Tim (gatekeeper for TL) [1] http://openjdk.java.net/projects/jdk7/builds/ From gnu_andrew at member.fsf.org Tue Jul 7 12:47:08 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 7 Jul 2009 20:47:08 +0100 Subject: RFC: Minor build correctness patch In-Reply-To: <4A539A8B.9000601@sun.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> <1ccfd1c10907071148n49038004r3faa0caec922b7d3@mail.gmail.com> <4A539A8B.9000601@sun.com> Message-ID: <17c6771e0907071247u4fe9fa57s86d91a6bc778213@mail.gmail.com> 2009/7/7 Tim Bell : > Martin Buchholz wrote: > >> The tl forest is the right tree. You can use me ("martin") as a "reviewer" >> when pushing this upstream. >> >> Martin > > That is correct. ?TL is open for b66 fixes at the moment [1]. > > Tim (gatekeeper for TL) > > [1] http://openjdk.java.net/projects/jdk7/builds/ > Oh that's interesting... I didn't realise tl only got to integrate every other week. Not that I'm complaining; given how much tl includes, this probably greatly reduces the amount of change in some of the build drops! -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From omajid at redhat.com Tue Jul 7 12:48:57 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 07 Jul 2009 15:48:57 -0400 Subject: RFC: Rewrite of cookie support in plugin In-Reply-To: <20090703223003.GA21560@redhat.com> References: <20090703214931.GB28859@redhat.com> <20090703223003.GA21560@redhat.com> Message-ID: <4A53A6A9.1030802@redhat.com> Hi, Deepak Bhole wrote: > Oops. Original message is missing 2 new files from the patch. Sorry > about that. New patch attached. > > Deepak > > * Deepak Bhole [2009-07-03 17:48]: >> This patch rewrites cookie support in the plugin. The old way was >> static, set at initialization time. Additionally, it did not support >> cookie provision for connection requests made by the applet internally. >> >> This patch fixes all of that. Cookie information is now supplied to Java >> in real-time from Mozilla side, as it should be. >> >> Thanks to Omair for the initial error trace. >> >> This patch fixes rhbz 506730: >> https://bugzilla.redhat.com/show_bug.cgi?id=506730 >> >> http://www.sbm.no/ will now load correctly with this patch. >> >> ChangeLog: >> * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. >> * plugin/icedtea/sun/applet/PluginAppletViewer.java: Rework cookie support >> to make it dynamic. >> * plugin/icedtea/sun/applet/PluginMain.java: Wire in custom cookie store >> that dynamically requests cookie information from C++ side. >> * rt/net/sourceforge/jnlp/JNLPFile.java: Remove old cookie handling code. >> * rt/net/sourceforge/jnlp/Launcher.java: Same. >> * rt/net/sourceforge/jnlp/NetxPanel.java: Same. >> * rt/net/sourceforge/jnlp/PluginBridge.java: Same. >> * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Same. >> * rt/net/sourceforge/jnlp/cache/Resource.java: Same. >> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Same. >> * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Same. >> >> Comments? >> >> Deepak > I am assuming that aside from the classes that manage cookies, nothing should be storing or passing them around. However, there are still many references to cookies. For example,net.sourceforge.jnlp.ExtensionDesc contains: public ExtensionDesc(String name, Version version, URL location, String cookieStr) Please remove all unused references to cookies. Thanks, Omair From Tim.Bell at Sun.COM Tue Jul 7 12:54:25 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Tue, 07 Jul 2009 12:54:25 -0700 Subject: RFC: Minor build correctness patch In-Reply-To: <17c6771e0907071247u4fe9fa57s86d91a6bc778213@mail.gmail.com> References: <1598841206.122401246977794055.JavaMail.root@zmail01.collab.prod.int.phx2.redhat.com> <4A5363FD.801@redhat.com> <17c6771e0907071121l2396190fi5fbb121a83cd2aab@mail.gmail.com> <1ccfd1c10907071148n49038004r3faa0caec922b7d3@mail.gmail.com> <4A539A8B.9000601@sun.com> <17c6771e0907071247u4fe9fa57s86d91a6bc778213@mail.gmail.com> Message-ID: <4A53A7F1.1050409@sun.com> Andrew John Hughes wrote: >> [1] http://openjdk.java.net/projects/jdk7/builds/ >> > > Oh that's interesting... I didn't realise tl only got to integrate > every other week. Not that I'm complaining; given how much tl > includes, this probably greatly reduces the amount of change in some > of the build drops! That is correct. At the moment tl is hitting the even numbered builds. If tl integrated every week, not only would it completely take over my life as gatekeeper, it would put extra demands on the test teams. We build and test every night, but PIT (Pre Integration Testing) calls for extra effort from many people. Also, as you see on the schedule, there are not very many open slots during business days. If every team tried to integrate every week, we would be stepping all over each other. Tim From dbhole at redhat.com Tue Jul 7 13:26:58 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 7 Jul 2009 16:26:58 -0400 Subject: RFC: Rewrite of cookie support in plugin In-Reply-To: <4A53A6A9.1030802@redhat.com> References: <20090703214931.GB28859@redhat.com> <20090703223003.GA21560@redhat.com> <4A53A6A9.1030802@redhat.com> Message-ID: <20090707202658.GA6352@redhat.com> * Omair Majid [2009-07-07 15:48]: > Hi, > > Deepak Bhole wrote: >> Oops. Original message is missing 2 new files from the patch. Sorry >> about that. New patch attached. >> >> Deepak >> >> * Deepak Bhole [2009-07-03 17:48]: >>> This patch rewrites cookie support in the plugin. The old way was >>> static, set at initialization time. Additionally, it did not support >>> cookie provision for connection requests made by the applet internally. >>> >>> This patch fixes all of that. Cookie information is now supplied to Java >>> in real-time from Mozilla side, as it should be. >>> >>> Thanks to Omair for the initial error trace. >>> >>> This patch fixes rhbz 506730: >>> https://bugzilla.redhat.com/show_bug.cgi?id=506730 >>> >>> http://www.sbm.no/ will now load correctly with this patch. >>> >>> ChangeLog: >>> * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. >>> * plugin/icedtea/sun/applet/PluginAppletViewer.java: Rework cookie support >>> to make it dynamic. >>> * plugin/icedtea/sun/applet/PluginMain.java: Wire in custom cookie store >>> that dynamically requests cookie information from C++ side. >>> * rt/net/sourceforge/jnlp/JNLPFile.java: Remove old cookie handling code. >>> * rt/net/sourceforge/jnlp/Launcher.java: Same. >>> * rt/net/sourceforge/jnlp/NetxPanel.java: Same. >>> * rt/net/sourceforge/jnlp/PluginBridge.java: Same. >>> * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Same. >>> * rt/net/sourceforge/jnlp/cache/Resource.java: Same. >>> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Same. >>> * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Same. >>> >>> Comments? >>> >>> Deepak >> > > I am assuming that aside from the classes that manage cookies, nothing > should be storing or passing them around. However, there are still many > references to cookies. For example,net.sourceforge.jnlp.ExtensionDesc > contains: > public ExtensionDesc(String name, Version version, URL location, String > cookieStr) > > Please remove all unused references to cookies. > Good catch! New patch attached. Cheers, Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: ITP-cookie-support-rewrite2.patch Type: text/x-patch Size: 33277 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090707/08114f1d/ITP-cookie-support-rewrite2.patch From dbhole at redhat.com Tue Jul 7 13:39:28 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 7 Jul 2009 16:39:28 -0400 Subject: RFC: Rewrite of cookie support in plugin In-Reply-To: <20090707202658.GA6352@redhat.com> References: <20090703214931.GB28859@redhat.com> <20090703223003.GA21560@redhat.com> <4A53A6A9.1030802@redhat.com> <20090707202658.GA6352@redhat.com> Message-ID: <20090707203928.GB6352@redhat.com> * Deepak Bhole [2009-07-07 16:25]: > * Omair Majid [2009-07-07 15:48]: > > Hi, > > > > Deepak Bhole wrote: > >> Oops. Original message is missing 2 new files from the patch. Sorry > >> about that. New patch attached. > >> > >> Deepak > >> > >> * Deepak Bhole [2009-07-03 17:48]: > >>> This patch rewrites cookie support in the plugin. The old way was > >>> static, set at initialization time. Additionally, it did not support > >>> cookie provision for connection requests made by the applet internally. > >>> > >>> This patch fixes all of that. Cookie information is now supplied to Java > >>> in real-time from Mozilla side, as it should be. > >>> > >>> Thanks to Omair for the initial error trace. > >>> > >>> This patch fixes rhbz 506730: > >>> https://bugzilla.redhat.com/show_bug.cgi?id=506730 > >>> > >>> http://www.sbm.no/ will now load correctly with this patch. > >>> > >>> ChangeLog: > >>> * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. > >>> * plugin/icedtea/sun/applet/PluginAppletViewer.java: Rework cookie support > >>> to make it dynamic. > >>> * plugin/icedtea/sun/applet/PluginMain.java: Wire in custom cookie store > >>> that dynamically requests cookie information from C++ side. > >>> * rt/net/sourceforge/jnlp/JNLPFile.java: Remove old cookie handling code. > >>> * rt/net/sourceforge/jnlp/Launcher.java: Same. > >>> * rt/net/sourceforge/jnlp/NetxPanel.java: Same. > >>> * rt/net/sourceforge/jnlp/PluginBridge.java: Same. > >>> * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Same. > >>> * rt/net/sourceforge/jnlp/cache/Resource.java: Same. > >>> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Same. > >>> * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Same. > >>> > >>> Comments? > >>> > >>> Deepak > >> > > > > I am assuming that aside from the classes that manage cookies, nothing > > should be storing or passing them around. However, there are still many > > references to cookies. For example,net.sourceforge.jnlp.ExtensionDesc > > contains: > > public ExtensionDesc(String name, Version version, URL location, String > > cookieStr) > > > > Please remove all unused references to cookies. > > > > Good catch! New patch attached. > Just my luck. That patch breaks javaws (not sure how it compiled in the first place when I tested it :/). Anyways, THIS one should work. The previous one was missing a change to the JNLPFile constructor call in Boot.java Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: ITP-cookie-support-rewrite3.patch Type: text/x-patch Size: 33780 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090707/93ce679c/ITP-cookie-support-rewrite3.patch From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 13:46:45 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 20:46:45 +0000 Subject: [Bug 271] JavaFX sample no longer runs with javaws, runs fine with java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 ------- Comment #9 from omajid at redhat.com 2009-07-07 20:46 ------- (In reply to comment #8) > This patch causes the extensions to load. It now fails at a later stage trying > to load http://dl.javafx.com/jogl.jnlp > Netx isnt using versioned downloads for jnlp files :(. http://dl.javafx.com/jogl.jnlp?version-id=1.1.1a works just fine. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 7 16:00:28 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jul 2009 23:00:28 +0000 Subject: [Bug 362] New: graphical window appears blank when using icedtea instead of Sun's JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=362 Summary: graphical window appears blank when using icedtea instead of Sun's JRE Product: IcedTea Version: unspecified Platform: PC URL: http://sourceforge.net/projects/arianne/ OS/Version: Linux Status: NEW Severity: blocker Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: oslsach at yahoo.com The game client's graphical window appears blank when using IcedTea/OpenJDK instead of Sun's JRE, making this online game unplayable with the former JVM. JVM Version used (though the problem has always appeared in any version or flavour ;-) - IcedTea or not): OpenJDK Runtime Environment (build 1.6.0_0-b11) OpenJDK Client VM (build 1.6.0_0-b11, mixed mode, sharing) 1) Download the game client zip at http://sourceforge.net/projects/arianne/ stendhal-0.74.zip (lighter version, without sounds) or stendhal-FULL-0.74.zip and unpack it into a directory. 2) Run from the command line using: java -jar stendhal-0.74.jar 3) Create an account and connect to the server. Result: The main window, which is a graphical window, appears blank, making the game unplayable. The chat/event window below it works normally, though. No error message is reported on the console: either from the application or the JVM. 4)Quit the game. 5)Switch to Sun's JRE (version 5 or later required): 6) Repeat the previous procedure from step 2)(no need to create a new account, though) Result: The graphical window renders the game image and the game is flawlessly playable. This bug is always reproducible. The game developers failed trying to isolate a minimal test case, though their knowledge about awt/swing (which is where it is suspected that the problem may reside, given the graphical nature of the symptom) is admittedly limited. Being a project hosted in Sourceforge the source code is freely available for inspection. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Wed Jul 8 02:09:57 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Wed, 08 Jul 2009 11:09:57 +0200 Subject: RFC: GlobalVariable shark + llvm2.6svn LLVMContext api change Message-ID: <4A546265.4040206@zafena.se> Similar to yesterdays llvm2.6svn api change patch, today the llvm GlobalVariable constructor got LLVMContextifyed and shark needs patching accordingly. Cheers Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: LLVMContext_sharkBuilder_GlobalVariable.patch Type: text/x-patch Size: 1838 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090708/6a7bc457/LLVMContext_sharkBuilder_GlobalVariable.patch From gbenson at redhat.com Wed Jul 8 02:15:43 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 8 Jul 2009 10:15:43 +0100 Subject: RFC: GlobalVariable shark + llvm2.6svn LLVMContext api change In-Reply-To: <4A546265.4040206@zafena.se> References: <4A546265.4040206@zafena.se> Message-ID: <20090708091542.GB3236@redhat.com> Hi Xerxes, Please commit this. Cheers, Gary Xerxes R?nby wrote: > Similar to yesterdays llvm2.6svn api change patch, today the llvm > GlobalVariable constructor got LLVMContextifyed and shark needs patching > accordingly. > > Cheers > Xerxes > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp 2009-07-08 10:31:09.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp 2009-07-08 10:44:05.000000000 +0200 > @@ -174,7 +174,14 @@ > char name[128]; > snprintf(name, sizeof name - 1, "pointer_constant_%p", ptr); > > - GlobalVariable *value = new GlobalVariable(SharkType::intptr_type(), > + GlobalVariable *value = new GlobalVariable( > +#if SHARK_LLVM_VERSION >= 26 > + // LLVM 2.6 requires a LLVMContext during GlobalVariable construction. > + // getGlobalConext() returns one that can be used as long as the shark > + // compiler are single-threaded. > + getGlobalContext(), > +#endif > + SharkType::intptr_type(), > false, GlobalValue::ExternalLinkage, > NULL, name, module()); > execution_engine()->addGlobalMapping(value, const_cast(ptr)); > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-07-08 10:43:34.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-07-08 10:44:43.000000000 +0200 > @@ -187,6 +187,12 @@ > Value *name = CreatePtrToInt( > CreateStructGEP( > new GlobalVariable( > +#if SHARK_LLVM_VERSION >= 26 > + // LLVM 2.6 requires a LLVMContext during GlobalVariable construction. > + // getGlobalConext() returns one that can be used as long as the shark > + // compiler are single-threaded. > + getGlobalContext(), > +#endif > const_name->getType(), > true, GlobalValue::InternalLinkage, > const_name, "dump", module()), -- http://gbenson.net/ From xerxes at zafena.se Wed Jul 8 02:26:47 2009 From: xerxes at zafena.se (Xerxes R?nby) Date: Wed, 08 Jul 2009 09:26:47 +0000 Subject: changeset in /hg/icedtea6: 2009-07-08 Xerxes R?nby changeset 36ad06193338 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=36ad06193338 description: 2009-07-08 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp (SharkBuilder::pointer_constant): Pass the LLVMContext returned from getGlobalContext() to the new GlobalVariable constructor when llvm version are 2.6 or later to handle LLVM API change. * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp (SharkBuilder::CreateDump): Likewise. diffstat: 3 files changed, 23 insertions(+), 1 deletion(-) ChangeLog | 9 +++++++++ ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 6 ++++++ ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 9 ++++++++- diffs (51 lines): diff -r b4bb02c70835 -r 36ad06193338 ChangeLog --- a/ChangeLog Tue Jul 07 13:44:35 2009 -0400 +++ b/ChangeLog Wed Jul 08 11:28:08 2009 +0200 @@ -1,3 +1,12 @@ 2009-07-07 Omair Majid + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (SharkBuilder::pointer_constant): Pass the LLVMContext returned + from getGlobalContext() to the new GlobalVariable constructor + when llvm version are 2.6 or later to handle LLVM API change. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::CreateDump): Likewise. + 2009-07-07 Omair Majid * rt/net/sourceforge/jnlp/Parser.java diff -r b4bb02c70835 -r 36ad06193338 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Tue Jul 07 13:44:35 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Jul 08 11:28:08 2009 +0200 @@ -187,6 +187,12 @@ CallInst* SharkBuilder::CreateDump(llvm: Value *name = CreatePtrToInt( CreateStructGEP( new GlobalVariable( +#if SHARK_LLVM_VERSION >= 26 + // LLVM 2.6 requires a LLVMContext during GlobalVariable construction. + // getGlobalConext() returns one that can be used as long as the shark + // compiler are single-threaded. + getGlobalContext(), +#endif const_name->getType(), true, GlobalValue::InternalLinkage, const_name, "dump", module()), diff -r b4bb02c70835 -r 36ad06193338 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Tue Jul 07 13:44:35 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Wed Jul 08 11:28:08 2009 +0200 @@ -174,7 +174,14 @@ class SharkBuilder : public llvm::IRBuil char name[128]; snprintf(name, sizeof name - 1, "pointer_constant_%p", ptr); - GlobalVariable *value = new GlobalVariable(SharkType::intptr_type(), + GlobalVariable *value = new GlobalVariable( +#if SHARK_LLVM_VERSION >= 26 + // LLVM 2.6 requires a LLVMContext during GlobalVariable construction. + // getGlobalConext() returns one that can be used as long as the shark + // compiler are single-threaded. + getGlobalContext(), +#endif + SharkType::intptr_type(), false, GlobalValue::ExternalLinkage, NULL, name, module()); execution_engine()->addGlobalMapping(value, const_cast(ptr)); From bugzilla-daemon at icedtea.classpath.org Wed Jul 8 09:16:20 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 08 Jul 2009 16:16:20 +0000 Subject: [Bug 363] New: SIGBUS error at [libzip.so+0x40d1] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=363 Summary: SIGBUS error at [libzip.so+0x40d1] Product: IcedTea Version: unspecified Platform: PC OS/Version: Other Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: m.a.young at durham.ac.uk We have a big teaching and learning application called blackboard on RHEL5 using the java-1.6.0-openjdk-1.6.0.0-0.30.b09.el5.x86_64 package, which is crashing occasionally. The crash trace starts # # An unexpected error has been detected by Java Runtime Environment: # # SIGBUS (0x7) at pc=0x00002aaaab1120d1, pid=14875, tid=1098516800 # # Java VM: OpenJDK 64-Bit Server VM (1.6.0-b09 mixed mode linux-amd64) # Problematic frame: # C [libzip.so+0x40d1] # # If you would like to submit a bug report, please visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x00002aab24359c00): JavaThread "Timer-0" daemon [_thread_in_native, id=14902, stack(0x0000000041750000,0x00000000417a1000)] siginfo:si_signo=SIGBUS: si_errno=0, si_code=2 (BUS_ADRERR), si_addr=0x00002aab2842c7c0 Registers: RAX=0x00002aab24724ff0, RBX=0x00002aab2842c7a3, RCX=0x00002aab24359c00, RDX=0x0000000000000008 RSP=0x000000004179e0e0, RBP=0x000000004179e120, RSI=0x0000000000000040, RDI=0x00002aab24000020 R8 =0x7373616c632e6769, R9 =0x62702f6e6f697470, R10=0x6769666e6f632f65, R11=0x0000000000000000 R12=0x00002aab2500f0f0, R13=0x00002aab24724ff0, R14=0x0000000092e08077, R15=0x000000004179e190 RIP=0x00002aaaab1120d1, EFL=0x0000000000010206, CSGSFS=0x0000000000000033, ERR=0x0000000000000004 TRAPNO=0x000000000000000e Top of Stack: (sp=0x000000004179e0e0) 0x000000004179e0e0: 00002aab25308f00 00002b247912501c 0x000000004179e0f0: 00002aab24724ff0 00002aab247875f0 0x000000004179e100: 00002aab2500f0f0 0000000000000000 0x000000004179e110: 0000000092e08077 000000004179e190 0x000000004179e120: 000000004179e160 00002aaaab1124ae 0x000000004179e130: 0000003024359c00 00002aab24359d98 0x000000004179e140: 000000004179e190 0000000000000030 0x000000004179e150: 000000004179e5e8 0000000000000030 0x000000004179e160: 000000004179e5d0 00002aaaab1115b5 0x000000004179e170: 000000001e660740 000000004179e190 0x000000004179e180: 01002b24795e8610 00002aab2500f0f0 0x000000004179e190: 7973616a2f67726f 7972636e652f7470 0x000000004179e1a0: 62702f6e6f697470 6769666e6f632f65 0x000000004179e1b0: 666e6f434542502f 7373616c632e6769 0x000000004179e1c0: 00002aab24350000 0000000000000000 0x000000004179e1d0: 00002aaaae3e1290 00002aab15ee3038 0x000000004179e1e0: 000000004179e280 00002b24791a8f01 0x000000004179e1f0: 000000004179e210 000000004179e240 0x000000004179e200: 000000004179e210 000000001e660748 0x000000004179e210: 00002aab24359c00 00002aab24001b20 0x000000004179e220: 00002aab20400b40 00002aab20400d60 0x000000004179e230: 00002aab20408b28 000000004179eb70 0x000000004179e240: 0000000000000000 0000000100000000 0x000000004179e250: 8000000100000001 00002aab24359c60 0x000000004179e260: 0000000000000001 00002aab24359c60 0x000000004179e270: 0000000000000029 00002b2479637c38 0x000000004179e280: 000000004179e2b0 00002b247923a08f 0x000000004179e290: 000000004179e2b0 00002b2479239e7a 0x000000004179e2a0: 000000000000018f 000000000000018f 0x000000004179e2b0: 000000004179e2f0 00002b2478eac86d 0x000000004179e2c0: 00002aaaaef30428 0000000000000029 0x000000004179e2d0: 00002b2479637c38 0000000000000096 Instructions: (pc=0x00002aaaab1120d1) 0x00002aaaab1120c1: 00 00 00 8b 5b 04 49 03 5c 24 18 49 2b 5c 24 28 0x00002aaaab1120d1: 44 0f b6 73 1d 0f b6 43 1c 41 c1 e6 08 41 09 c6 Stack: [0x0000000041750000,0x00000000417a1000], sp=0x000000004179e0e0, free space=312k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)C [libzip.so+0x40d1] C [libzip.so+0x44ae] ZIP_GetEntry+0xae C [libzip.so+0x35b5] Java_java_util_zip_ZipFile_getEntry+0x115 J java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J J java.util.jar.JarFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; J org.apache.catalina.loader.WebappClassLoader.findResourceInternal(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/catalina/loader/ResourceEntry; J org.apache.catalina.loader.WebappClassLoader.findClassInternal(Ljava/lang/String;)Ljava/lang/Class; J org.apache.catalina.loader.WebappClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class; J org.apache.catalina.loader.WebappClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; J org.apache.catalina.loader.WebappClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; v ~BufferBlob::Interpreter v ~BufferBlob::StubRoutines (1) v ~BufferBlob::Interpreter J java.lang.Class.privateGetDeclaredFields(Z)[Ljava/lang/reflect/Field; v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter J blackboard.persist.BbPersistenceManager.runSignalUpdate()V v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::StubRoutines (1) and the error in the log file leading up to this is java.util.zip.ZipException: error reading zip file at java.util.zip.ZipFile.read(Native Method) at java.util.zip.ZipFile.access$1200(ZipFile.java:46) at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:464) at java.util.zip.ZipFile$1.fill(ZipFile.java:247) at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2093) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1786) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2308) at java.lang.Class.getDeclaredFields(Class.java:1760) at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1627) at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1524) at org.apache.catalina.loader.WebappLoader.stop(WebappLoader.java:707) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4557) at blackboard.tomcat.servletcontainer.TomcatContainerAdapter.removeWebApp(TomcatContainerAdapter.java:158) at blackboard.platform.plugin.Deployer.unregisterWebApp(Deployer.java:425) at blackboard.platform.plugin.Deployer.undeploy(Deployer.java:127) at blackboard.platform.plugin.PlugInManager.checkDeployAction(PlugInManager.java:1379) at blackboard.platform.plugin.PlugInManager.initVICache(PlugInManager.java:805) at blackboard.platform.plugin.PlugInManager.refreshCachedInfo(PlugInManager.java:247) at blackboard.platform.plugin.PlugInManager.reInit(PlugInManager.java:268) at blackboard.platform.plugin.impl.PlugInDbLoaderImpl.refreshCache(PlugInDbLoaderImpl.java:50) at blackboard.persist.CachingLoaderListener.refresh(CachingLoaderListener.java:58) at blackboard.persist.BbPersistenceManager.runSignalUpdate(BbPersistenceManager.java:744) at blackboard.persist.PersistenceCacheTask.updateCache(PersistenceCacheTask.java:85) at blackboard.persist.PersistenceCacheTask.run(PersistenceCacheTask.java:69) at blackboard.platform.impl.services.task.TaskManagerService$TimerTaskProxy.run(TaskManagerService.java:328) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:484) so I am guessing there is some read failure that is subsequently causing the java process to crash. I had a quick look at the code and I think the problem is as a result of ZIP_GetEntry doing ze = newEntry(zip, zc, ACCESS_RANDOM); (at about line 990 of jdk/src/share/native/java/util/zip/zip_util.c) with the crash happening within the newEntry call. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 8 10:34:08 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 08 Jul 2009 17:34:08 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #5 from mrjava.javaman at gmail.com 2009-07-08 17:34 ------- Under windows we use the JRE from SUN version 1.6u11 Again I'm sure it's a netbeans problem, please tell me if I should re-post this in a netbeans forums? * I haven't a specific steps that reproduce the problem, sometimes when I change sometimes when I open the design view, sometimes when I drag or even touch the object ... I'll attach a class "test3D" that reproduce the problem, to reproduce the problem try this: (required is java3d) - USE netbeans! - create a new JFrame using wizard - drag the "test3D" class into the JFrame from the design view - try resize and move the "test3D" many times to many locations until it crashes :D - if it didnt crash, try open the "design" of "test3D" while changing in the newly created JFrame, and also try to add other objets to the JFrame, or maybe drag another object from "test3D" -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 8 10:36:41 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 08 Jul 2009 17:36:41 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #6 from mrjava.javaman at gmail.com 2009-07-08 17:36 ------- Created an attachment (id=244) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=244&action=view) the bean that reproduce the problem -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 8 10:58:23 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 08 Jul 2009 17:58:23 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #7 from jon.vanalten at redhat.com 2009-07-08 17:58 ------- >Under windows we use the JRE from SUN version 1.6u11 >Again I'm sure it's a netbeans problem, please tell me if I should re-post this >in a netbeans forums? Yep, if same behavior occurs under JRE then this is not an openJDK/IcedTea bug. Thanks for the details, but it looks like this should be reported to netbeans after all. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 8 13:30:41 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 08 Jul 2009 20:30:41 +0000 Subject: [Bug 360] IDE crashes and can't continue Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=360 ------- Comment #8 from mrjava.javaman at gmail.com 2009-07-08 20:30 ------- I'm just wondering why the bug reporting tool told me to post here "giving me link to here" not to netbeans or anything similar. well netbeans itself wasn't able to handel the exception and didnt displayed any crash report or message. in all cases here is the bug re-opened at netbeans for reference: http://www.netbeans.org/issues/show_bug.cgi?id=168304 Thanks! -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Thu Jul 9 03:15:23 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 09 Jul 2009 12:15:23 +0200 Subject: RFC: IRBuilder shark + llvm2.6svn LLVMContext api change + shark mm Message-ID: <4A55C33B.2000003@zafena.se> This patch fixes the following build errors: /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBuilder.cpp: In constructor 'SharkBuilder::SharkBuilder(SharkCompiler*)': /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBuilder.cpp:65: error: no matching function for call to 'llvm::IRBuilder::IRBuilder()' /usr/local/include/llvm/Support/IRBuilder.h:56: note: candidates are: llvm::IRBuilder::IRBuilder(llvm::BasicBlock*, llvm::ilist_iterator, const T&) [with bool preserveNames = true, T = llvm::ConstantFolder] /usr/local/include/llvm/Support/IRBuilder.h:51: note: llvm::IRBuilder::IRBuilder(llvm::BasicBlock*, const T&) [with bool preserveNames = true, T = llvm::ConstantFolder] /usr/local/include/llvm/Support/IRBuilder.h:48: note: llvm::IRBuilder::IRBuilder(llvm::LLVMContext&, const T&) [with bool preserveNames = true, T = llvm::ConstantFolder] /usr/local/include/llvm/Support/IRBuilder.h:42: note: llvm::IRBuilder::IRBuilder(const llvm::IRBuilder&) make[7]: *** [sharkBuilder.o] Error 1 and /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkCompiler.cpp: In constructor 'SharkCompiler::SharkCompiler()': /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkCompiler.cpp:67: error: cannot allocate an object of abstract type 'SharkMemoryManager' /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkMemoryManager.hpp:30: note: because the following virtual functions are pure within 'SharkMemoryManager': /usr/local/include/llvm/ExecutionEngine/JITMemoryManager.h:50: note: virtual void llvm::JITMemoryManager::setPoisonMemory(bool) /usr/local/include/llvm/ExecutionEngine/JITMemoryManager.h:125: note: virtual uint8_t* llvm::JITMemoryManager::allocateGlobal(uintptr_t, unsigned int) with this patch it builds fine but... I have had a bit trouble running shark using the latest llvm svn tip. r75126 got segfaults compiling string::indexOf on ia32 Cheers Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: IRBuilder_LLVMContext.patch Type: text/x-patch Size: 2208 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090709/eb9938b8/IRBuilder_LLVMContext.patch From gbenson at redhat.com Thu Jul 9 03:35:23 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 9 Jul 2009 11:35:23 +0100 Subject: RFC: IRBuilder shark + llvm2.6svn LLVMContext api change + shark mm In-Reply-To: <4A55C33B.2000003@zafena.se> References: <4A55C33B.2000003@zafena.se> Message-ID: <20090709103522.GE3175@redhat.com> Commit away! Xerxes R?nby wrote: > This patch fixes the following build errors: > > /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBuilder.cpp: > In constructor 'SharkBuilder::SharkBuilder(SharkCompiler*)': > /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBuilder.cpp:65: > error: no matching function for call to 'llvm::IRBuilder llvm::ConstantFolder>::IRBuilder()' > /usr/local/include/llvm/Support/IRBuilder.h:56: note: candidates are: > llvm::IRBuilder::IRBuilder(llvm::BasicBlock*, > llvm::ilist_iterator, const T&) [with bool > preserveNames = true, T = llvm::ConstantFolder] > /usr/local/include/llvm/Support/IRBuilder.h:51: note: > llvm::IRBuilder::IRBuilder(llvm::BasicBlock*, const > T&) [with bool preserveNames = true, T = llvm::ConstantFolder] > /usr/local/include/llvm/Support/IRBuilder.h:48: note: > llvm::IRBuilder::IRBuilder(llvm::LLVMContext&, const > T&) [with bool preserveNames = true, T = llvm::ConstantFolder] > /usr/local/include/llvm/Support/IRBuilder.h:42: note: > llvm::IRBuilder::IRBuilder(const > llvm::IRBuilder&) > make[7]: *** [sharkBuilder.o] Error 1 > > and > > /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkCompiler.cpp: > In constructor 'SharkCompiler::SharkCompiler()': > /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkCompiler.cpp:67: > error: cannot allocate an object of abstract type 'SharkMemoryManager' > /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkMemoryManager.hpp:30: > note: because the following virtual functions are pure within > 'SharkMemoryManager': > /usr/local/include/llvm/ExecutionEngine/JITMemoryManager.h:50: note: > virtual void llvm::JITMemoryManager::setPoisonMemory(bool) > /usr/local/include/llvm/ExecutionEngine/JITMemoryManager.h:125: note: > virtual uint8_t* llvm::JITMemoryManager::allocateGlobal(uintptr_t, > unsigned int) > > with this patch it builds fine but... > > I have had a bit trouble running shark using the latest llvm svn tip. r75126 > got segfaults compiling string::indexOf on ia32 > > Cheers > Xerxes > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-07-09 11:02:37.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-07-09 11:13:29.000000000 +0200 > @@ -61,7 +61,14 @@ > #endif > > SharkBuilder::SharkBuilder(SharkCompiler* compiler) > +#if SHARK_LLVM_VERSION >= 26 > + // LLVM 2.6 requires a LLVMContext during IRBuilder construction. > + // getGlobalConext() returns one that can be used as long as the shark > + // compiler are single-threaded. > + : IRBuilder<>(getGlobalContext()), > +#else > : IRBuilder<>(), > +#endif > _compiler(compiler) > { > init_external_functions(); > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp 2009-07-09 11:24:52.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp 2009-07-09 11:32:14.000000000 +0200 > @@ -92,6 +92,11 @@ > } > > #if SHARK_LLVM_VERSION >= 26 > +uint8_t* SharkMemoryManager::allocateGlobal(uintptr_t Size, unsigned int Alignment) > +{ > + return mm()->allocateGlobal(Size, Alignment); > +} > + > void* SharkMemoryManager::getDlsymTable() const > { > return mm()->getDlsymTable(); > @@ -102,6 +107,11 @@ > mm()->SetDlsymTable(ptr); > } > > +void SharkMemoryManager::setPoisonMemory(bool poison) > +{ > + mm()->setPoisonMemory(poison); > +} > + > #endif > > #if SHARK_LLVM_VERSION >= 25 > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp 2009-07-09 11:14:47.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp 2009-07-09 11:16:31.000000000 +0200 > @@ -74,6 +74,8 @@ > #if SHARK_LLVM_VERSION >= 26 > void* getDlsymTable() const; > void SetDlsymTable(void *ptr); > + void setPoisonMemory(bool); > + uint8_t* allocateGlobal(uintptr_t, unsigned int); > #endif > void setMemoryWritable(); > void setMemoryExecutable(); -- http://gbenson.net/ From xerxes at zafena.se Thu Jul 9 03:47:50 2009 From: xerxes at zafena.se (Xerxes R?nby) Date: Thu, 09 Jul 2009 10:47:50 +0000 Subject: changeset in /hg/icedtea6: 2009-07-09 Xerxes R?nby changeset bb7ad7d43804 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=bb7ad7d43804 description: 2009-07-09 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp (SharkBuilder::SharkBuilder): Pass the LLVMContext returned from getGlobalContext() to the new IRBuilder constructor when llvm version are 2.6 or later to handle LLVM API change. * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp: New methods allocateGlobal, setPoisonMemory, dependent on the llvm version. * ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: Likewise. diffstat: 4 files changed, 31 insertions(+) ChangeLog | 12 ++++++++++++ ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 7 +++++++ ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp | 10 ++++++++++ ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp | 2 ++ diffs (76 lines): diff -r 36ad06193338 -r bb7ad7d43804 ChangeLog --- a/ChangeLog Wed Jul 08 11:28:08 2009 +0200 +++ b/ChangeLog Thu Jul 09 12:49:11 2009 +0200 @@ -1,3 +1,15 @@ 2009-07-08 Xerxes R??nby + + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::SharkBuilder): Pass the LLVMContext returned + from getGlobalContext() to the new IRBuilder constructor + when llvm version are 2.6 or later to handle LLVM API change. + * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp: + New methods allocateGlobal, setPoisonMemory, dependent on the + llvm version. + * ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: + Likewise. + 2009-07-08 Xerxes R??nby * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp diff -r 36ad06193338 -r bb7ad7d43804 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Jul 08 11:28:08 2009 +0200 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Thu Jul 09 12:49:11 2009 +0200 @@ -61,7 +61,14 @@ extern "C" { #endif SharkBuilder::SharkBuilder(SharkCompiler* compiler) +#if SHARK_LLVM_VERSION >= 26 + // LLVM 2.6 requires a LLVMContext during IRBuilder construction. + // getGlobalConext() returns one that can be used as long as the shark + // compiler are single-threaded. + : IRBuilder<>(getGlobalContext()), +#else : IRBuilder<>(), +#endif _compiler(compiler) { init_external_functions(); diff -r 36ad06193338 -r bb7ad7d43804 ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp --- a/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp Wed Jul 08 11:28:08 2009 +0200 +++ b/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp Thu Jul 09 12:49:11 2009 +0200 @@ -92,6 +92,11 @@ void SharkMemoryManager::deallocateMemFo } #if SHARK_LLVM_VERSION >= 26 +uint8_t* SharkMemoryManager::allocateGlobal(uintptr_t Size, unsigned int Alignment) +{ + return mm()->allocateGlobal(Size, Alignment); +} + void* SharkMemoryManager::getDlsymTable() const { return mm()->getDlsymTable(); @@ -100,6 +105,11 @@ void SharkMemoryManager::SetDlsymTable(v void SharkMemoryManager::SetDlsymTable(void *ptr) { mm()->SetDlsymTable(ptr); +} + +void SharkMemoryManager::setPoisonMemory(bool poison) +{ + mm()->setPoisonMemory(poison); } #endif diff -r 36ad06193338 -r bb7ad7d43804 ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp --- a/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp Wed Jul 08 11:28:08 2009 +0200 +++ b/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp Thu Jul 09 12:49:11 2009 +0200 @@ -74,6 +74,8 @@ class SharkMemoryManager : public llvm:: #if SHARK_LLVM_VERSION >= 26 void* getDlsymTable() const; void SetDlsymTable(void *ptr); + void setPoisonMemory(bool); + uint8_t* allocateGlobal(uintptr_t, unsigned int); #endif void setMemoryWritable(); void setMemoryExecutable(); From omajid at redhat.com Thu Jul 9 08:57:43 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 09 Jul 2009 11:57:43 -0400 Subject: RFC: Netx - Set JNLPClassloader as the classloader for system created threads Message-ID: <4A561377.2020705@redhat.com> Hi, The attached patch makes JNLPClassLoader the context classloader for threads created before the JNLP application starts. This deals with the case where the JNLP application needs a previously created thread (such as the Swing Event Dispatch Thread) to load a resource provided by the application. Bugs: https://bugzilla.redhat.com/show_bug.cgi?id=509301 http://kenai.com/jira/browse/TRIDENT-1?focusedCommentId=15776&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_15776 ChangeLog: 2009-07-09 Omair Majid * rt/net/sourceforge/jnlp/Launcher.java (launchApplication): Call setContextClassLoaderForAllThreads. (setContextClassLoaderForAllThreads): New function. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-classloader-all-threads.patch Type: text/x-patch Size: 2752 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090709/cb02e8c9/netx-classloader-all-threads.patch From ahughes at redhat.com Thu Jul 9 09:21:23 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 09 Jul 2009 16:21:23 +0000 Subject: changeset in /hg/icedtea: Bump to b63. Message-ID: changeset 3340f0afa232 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=3340f0afa232 description: Bump to b63. 2009-07-09 Andrew John Hughes * Makefile.am: Bump to b63 and latest IcedTea changesets. Add ANT_RESPECT_JAVA_HOME for Gentoo ant support. Support patches for PR40616 and PR40630. Only apply Scanner patches when needed. * acinclude.m4: (IT_LIBRARY_CHECK): Check for PR40616, missing PrintStream constructors in GCJ. (IT_SCANNER_CHECK): Check for PR30436, missing java.util.Scanner class. (IT_PR40630_CHECK): Check for PR40630, broken java.util.Scanner#hasNextLine(). * configure.ac: Apply new macros. * patches/ecj/icedtea-dbcs.patch: Replace java.util.Scanner in GenerateDBCS. * patches/ecj/icedtea-sbcs.patch, * patches/ecj/icedtea.patch, * patches/hotspot/default/icedtea-shark.patch, * patches/icedtea-libraries.patch, * patches/icedtea-liveconnect.patch, * patches/icedtea-webstart.patch: Recreated. diffstat: 11 files changed, 424 insertions(+), 249 deletions(-) ChangeLog | 24 +++ Makefile.am | 56 +++++--- acinclude.m4 | 101 ++++++++++++++ configure.ac | 3 patches/ecj/icedtea-dbcs.patch | 40 +++++ patches/ecj/icedtea-sbcs.patch | 12 - patches/ecj/icedtea.patch | 183 ++++++++++++--------------- patches/hotspot/default/icedtea-shark.patch | 40 ++--- patches/icedtea-libraries.patch | 90 ++++++------- patches/icedtea-liveconnect.patch | 10 - patches/icedtea-webstart.patch | 114 ++++++++-------- diffs (truncated from 1440 to 500 lines): diff -r cba3ed800419 -r 3340f0afa232 ChangeLog --- a/ChangeLog Wed Jun 24 10:31:06 2009 +0200 +++ b/ChangeLog Thu Jul 09 16:43:16 2009 +0100 @@ -1,3 +1,27 @@ 2009-06-24 Matthias Klose + + * Makefile.am: + Bump to b63 and latest IcedTea changesets. + Add ANT_RESPECT_JAVA_HOME for Gentoo ant support. + Support patches for PR40616 and PR40630. Only + apply Scanner patches when needed. + * acinclude.m4: + (IT_LIBRARY_CHECK): Check for PR40616, missing + PrintStream constructors in GCJ. + (IT_SCANNER_CHECK): Check for PR30436, missing + java.util.Scanner class. + (IT_PR40630_CHECK): Check for PR40630, broken + java.util.Scanner#hasNextLine(). + * configure.ac: Apply new macros. + * patches/ecj/icedtea-dbcs.patch: Replace java.util.Scanner + in GenerateDBCS. + * patches/ecj/icedtea-sbcs.patch, + * patches/ecj/icedtea.patch, + * patches/hotspot/default/icedtea-shark.patch, + * patches/icedtea-libraries.patch, + * patches/icedtea-liveconnect.patch, + * patches/icedtea-webstart.patch: Recreated. + 2009-06-24 Matthias Klose * patches/cacao/no-strict-aliasing.patch: Apply for configure.ac. diff -r cba3ed800419 -r 3340f0afa232 Makefile.am --- a/Makefile.am Wed Jun 24 10:31:06 2009 +0200 +++ b/Makefile.am Thu Jul 09 16:43:16 2009 +0100 @@ -1,20 +1,20 @@ OPENJDK_VERSION = b60 -OPENJDK_VERSION = b60 - -OPENJDK_CHANGESET = 472c21584cfd -CORBA_CHANGESET = e906b16a12a9 -JAXP_CHANGESET = f1ac756616ea -JAXWS_CHANGESET = 55ffcbca5f46 -JDK_CHANGESET = 1a01c90431a7 -LANGTOOLS_CHANGESET = 522520757dd3 -HOTSPOT_CHANGESET = 86092459c54d - -OPENJDK_MD5SUM = 9f5e15067cf5207760a83cea8ba41da8 -CORBA_MD5SUM = 7f00e0b5d16046d116cd53c9f43c7122 -JAXP_MD5SUM = 2de0ec54014eb7f25c811e40fc2e3e3f -JAXWS_MD5SUM = 9c0131755eefaa929ca8e47abe21cc58 -JDK_MD5SUM = 1fd637880521f3e2c274a1db8bfed89b -LANGTOOLS_MD5SUM = e7c0ac7a9d67d361cc64fc15312d4a85 -HOTSPOT_MD5SUM = 18c922319545d7e907a2d6cbb265865d +OPENJDK_VERSION = b63 + +OPENJDK_CHANGESET = 57f7e028c7ad +CORBA_CHANGESET = d20e45cd539f +JAXP_CHANGESET = ae449e9c04c1 +JAXWS_CHANGESET = 5b9e8315aab2 +JDK_CHANGESET = 6388560a8d7e +LANGTOOLS_CHANGESET = 5c2c81120555 +HOTSPOT_CHANGESET = 32c83fb84370 + +OPENJDK_MD5SUM = 01a2fe09452d8579fb251120e37dc45a +CORBA_MD5SUM = 865e397135e2b9f8e4a256b4146b6852 +JAXP_MD5SUM = 008c8971c40aca1759dd0129a025f9b8 +JAXWS_MD5SUM = 86d18ba378cb83a2bd33b334c7bd610e +JDK_MD5SUM = 68b034a7d0906a0f7b471e080b45407a +LANGTOOLS_MD5SUM = 5ff432cec3ddf86ae5dbd147da1a7f92 +HOTSPOT_MD5SUM = a97947d03665b39b806ddcf2e48b9fc8 CACAO_VERSION = 0.99.4 CACAO_MD5SUM = 63220327925ace13756ae334c55a3baa @@ -1567,6 +1567,7 @@ ICEDTEA_ENV = \ "ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \ "HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)" \ "JAVAC=" \ + "ANT_RESPECT_JAVA_HOME=TRUE" \ "RHINO_JAR=$(RHINO_JAR)" \ "DISTRIBUTION_ID=$(DIST_ID)" \ "ALT_JIBX_LIBS_PATH=$(JIBX_DEPS_DIR)" \ @@ -2479,9 +2480,7 @@ stamps/ports-ecj.stamp: stamps/clone-ecj # Patch OpenJDK for ecj/gcj builds. ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \ patches/ecj/icedtea-hotspot-$(HSBUILD).patch \ - patches/ecj/icedtea-spp.patch \ patches/ecj/icedtea-jopt.patch \ - patches/ecj/icedtea-sbcs.patch \ patches/ecj/icedtea-dyn.patch if CP39408_JAVAH @@ -2490,6 +2489,25 @@ endif if CP40188_JAVAH ICEDTEA_ECJ_PATCHES += patches/ecj/icedtea-pr40188.patch +endif + +if CP40616 +ICEDTEA_ECJ_PATCHES += patches/ecj/icedtea-pr40616.patch +endif + +# Patches for when java.util.Scanner is missing +# or has the bug #40630 (all these classes rely +# on Scanner#hasNextLine() looping behaviour) +SCANNER_PATCHES = patches/ecj/icedtea-spp.patch \ + patches/ecj/icedtea-sbcs.patch \ + patches/ecj/icedtea-dbcs.patch + +if LACKS_JAVA_UTIL_SCANNER +ICEDTEA_ECJ_PATCHES += $(SCANNER_PATCHES) +else +if CP40630 +ICEDTEA_ECJ_PATCHES += $(SCANNER_PATCHES) +endif endif stamps/patch-ecj.stamp: stamps/clone-ecj.stamp diff -r cba3ed800419 -r 3340f0afa232 acinclude.m4 --- a/acinclude.m4 Wed Jun 24 10:31:06 2009 +0200 +++ b/acinclude.m4 Thu Jul 09 16:43:16 2009 +0100 @@ -1561,3 +1561,104 @@ if test "x${ADD_ZERO_BUILD_TRUE}" = x && AC_MSG_ERROR([build of additional zero/shark VM requires build with srcdir != builddir]) fi ]) + +AC_DEFUN([IT_LIBRARY_CHECK],[ +AC_CACHE_CHECK([if java.io.PrintStream is missing the 1.5 constructors (PR40616)], it_cv_cp40616, [ +CLASS=Test.java +mkdir tmp.$$ +cd tmp.$$ +cat << \EOF > $CLASS +/* [#]line __oline__ "configure" */ +public class Test +{ + public static void main(String[] args) + throws Exception + { + new java.io.PrintStream(new java.io.File("bluh"), "UTF-8"); + } +} +EOF +if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then + it_cv_cp40616=no; +else + it_cv_cp40616=yes; +fi +]) +rm -f $CLASS *.class +cd .. +rmdir tmp.$$ +AM_CONDITIONAL([CP40616], test x"${it_cv_cp40616}" = "xyes") +AC_PROVIDE([$0])dnl +]) + +AC_DEFUN([IT_SCANNER_CHECK],[ +AC_CACHE_CHECK([if java.util.Scanner is missing], it_cv_cp30436, [ +CLASS=Test.java +BYTECODE=$(echo $CLASS|sed 's#\.java##') +mkdir tmp.$$ +cd tmp.$$ +cat << \EOF > $CLASS +/* [#]line __oline__ "configure" */ +public class Test +{ + public static void main(String[] args) + throws Exception + { + new java.util.Scanner("Hello"); + } +} +EOF +if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then + if $JAVA -classpath . $BYTECODE 2>&1 | grep 'Exception'; then + it_cv_cp30436=yes; + else + it_cv_cp30436=no; + fi +else + it_cv_cp30436=yes; +fi +]) +rm -f $CLASS *.class +cd .. +rmdir tmp.$$ +AM_CONDITIONAL([LACKS_JAVA_UTIL_SCANNER], test x"${it_cv_cp30436}" = "xyes") +AC_PROVIDE([$0])dnl +]) + +AC_DEFUN([IT_PR40630_CHECK],[ +if test "x${it_cv_cp30436}" = "xno"; then + AC_CACHE_CHECK([if java.util.Scanner exhibits Classpath bug 40630], it_cv_cp40630, [ + CLASS=Test.java + mkdir tmp.$$ + cd tmp.$$ + cat << \EOF > $CLASS + /* [#]line __oline__ "configure" */ +public class Test +{ + public static void main(String[] args) + throws Exception + { + Scanner s = new Scanner("Blah\nBlah\n\nBlah\n\n"); + for (int i = 0; i < 5; ++i) + s.nextLine(); + s.hasNextLine(); + } +} +EOF + if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then + if $JAVA -classpath . $CLASS 2>&1 | grep 'Exception'; then + it_cv_cp40630=yes; + else + it_cv_cp40630=no; + fi + else + it_cv_cp40630=yes; + fi + ]) + rm -f $CLASS *.class + cd .. + rmdir tmp.$$ +fi +AM_CONDITIONAL([CP40630], test x"${it_cv_cp40630}" = "xyes") +AC_PROVIDE([$0])dnl +]) diff -r cba3ed800419 -r 3340f0afa232 configure.ac --- a/configure.ac Wed Jun 24 10:31:06 2009 +0200 +++ b/configure.ac Thu Jul 09 16:43:16 2009 +0100 @@ -290,6 +290,9 @@ fi fi fi IT_JAVAH +IT_LIBRARY_CHECK +IT_SCANNER_CHECK +IT_PR40630_CHECK FIND_RHINO_JAR WITH_OPENJDK_SRC_ZIP WITH_HOTSPOT_SRC_ZIP diff -r cba3ed800419 -r 3340f0afa232 patches/ecj/icedtea-dbcs.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-dbcs.patch Thu Jul 09 16:43:16 2009 +0100 @@ -0,0 +1,40 @@ +diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java 2009-07-08 18:00:55.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java 2009-07-08 23:45:44.000000000 +0100 +@@ -27,7 +27,6 @@ + import java.io.*; + import java.util.Arrays; + import java.util.ArrayList; +-import java.util.Scanner; + import java.util.Formatter; + import java.util.regex.*; + import java.nio.charset.*; +@@ -38,9 +37,8 @@ + static Pattern mPattern = Pattern.compile("(\\p{XDigit}++)\\s++(\\p{XDigit}++)(\\s++#.*)?"); + public static void genDBCS(String args[]) throws Exception { + +- Scanner s = new Scanner(new File(args[0], args[2])); +- while (s.hasNextLine()) { +- String line = s.nextLine(); ++ BufferedReader s = new BufferedReader(new FileReader(new File(args[0], args[2]))); ++ for (String line = s.readLine(); line != null; line = s.readLine()) { + if (line.startsWith("#") || line.length() == 0) + continue; + String[] fields = line.split("\\s+"); +@@ -239,14 +237,13 @@ + String b2cNR = b2cNRSB.toString(); + String c2bNR = c2bNRSB.toString(); + +- Scanner s = new Scanner(new File(srcDir, template)); ++ BufferedReader s = new BufferedReader(new FileReader(new File(srcDir, template))); + PrintStream out = new PrintStream(new FileOutputStream( + new File(dstDir, clzName + ".java"))); + if (hisName == null) + hisName = ""; + +- while (s.hasNextLine()) { +- String line = s.nextLine(); ++ for (String line = s.readLine(); line != null; line = s.readLine()) { + if (line.indexOf("$") == -1) { + out.println(line); + continue; diff -r cba3ed800419 -r 3340f0afa232 patches/ecj/icedtea-sbcs.patch --- a/patches/ecj/icedtea-sbcs.patch Wed Jun 24 10:31:06 2009 +0200 +++ b/patches/ecj/icedtea-sbcs.patch Thu Jul 09 16:43:16 2009 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-ecj.orig/jdk/make/tool diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java ---- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java 2009-01-18 03:30:42.000000000 +0000 -+++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java 2009-01-19 00:55:58.000000000 +0000 +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java 2009-07-01 11:39:50.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java 2009-07-01 12:24:04.000000000 +0100 @@ -27,7 +27,6 @@ import java.io.*; @@ -9,9 +9,9 @@ diff -Nru openjdk-ecj.orig/jdk/make/tool import java.util.Formatter; import java.util.regex.*; import java.nio.charset.*; -@@ -40,9 +39,8 @@ - System.exit(1); - } +@@ -37,9 +36,8 @@ + + public static void genSBCS(String args[]) throws Exception { - Scanner s = new Scanner(new File(args[0], args[2])); - while (s.hasNextLine()) { @@ -21,7 +21,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/tool if (line.startsWith("#") || line.length() == 0) continue; String[] fields = line.split("\\s+"); -@@ -201,12 +199,10 @@ +@@ -198,12 +196,10 @@ int c2blen) throws Exception { diff -r cba3ed800419 -r 3340f0afa232 patches/ecj/icedtea.patch --- a/patches/ecj/icedtea.patch Wed Jun 24 10:31:06 2009 +0200 +++ b/patches/ecj/icedtea.patch Thu Jul 09 16:43:16 2009 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-ecj.orig/corba/make/co diff -Nru openjdk-ecj.orig/corba/make/com/sun/corba/se/Makefile openjdk-ecj/corba/make/com/sun/corba/se/Makefile --- openjdk-ecj.orig/corba/make/com/sun/corba/se/Makefile 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-ecj/corba/make/com/sun/corba/se/Makefile 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/corba/make/com/sun/corba/se/Makefile 2009-07-01 13:52:45.000000000 +0100 @@ -42,7 +42,7 @@ # the rmic iiop backend needs some classes that are part of the impl/util # package. These classes use log wrappers, so they must be built after @@ -12,7 +12,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co diff -Nru openjdk-ecj.orig/corba/make/com/sun/corba/se/org/Makefile openjdk-ecj/corba/make/com/sun/corba/se/org/Makefile --- openjdk-ecj.orig/corba/make/com/sun/corba/se/org/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk-ecj/corba/make/com/sun/corba/se/org/Makefile 2009-05-28 09:03:57.000000000 +0100 ++++ openjdk-ecj/corba/make/com/sun/corba/se/org/Makefile 2009-07-01 13:52:45.000000000 +0100 @@ -0,0 +1,38 @@ +# +# Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved. @@ -54,7 +54,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co +include $(BUILDDIR)/common/Classes.gmk diff -Nru openjdk-ecj.orig/corba/make/common/Defs.gmk openjdk-ecj/corba/make/common/Defs.gmk --- openjdk-ecj.orig/corba/make/common/Defs.gmk 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-ecj/corba/make/common/Defs.gmk 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Defs.gmk 2009-07-01 13:52:45.000000000 +0100 @@ -53,6 +53,13 @@ _OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH) @@ -88,8 +88,8 @@ diff -Nru openjdk-ecj.orig/corba/make/co vpath %.java $(VPATH.java) vpath %.class $(CLASSBINDIR) diff -Nru openjdk-ecj.orig/corba/make/common/Defs-linux.gmk openjdk-ecj/corba/make/common/Defs-linux.gmk ---- openjdk-ecj.orig/corba/make/common/Defs-linux.gmk 2009-06-15 17:14:30.000000000 +0100 -+++ openjdk-ecj/corba/make/common/Defs-linux.gmk 2009-06-15 17:19:32.000000000 +0100 +--- openjdk-ecj.orig/corba/make/common/Defs-linux.gmk 2009-07-01 13:42:16.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Defs-linux.gmk 2009-07-01 13:52:45.000000000 +0100 @@ -276,7 +276,7 @@ fi; \ done) @@ -101,7 +101,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co # We want to privatize JVM symbols on Solaris. This is so the user can diff -Nru openjdk-ecj.orig/corba/make/common/Rules.gmk openjdk-ecj/corba/make/common/Rules.gmk --- openjdk-ecj.orig/corba/make/common/Rules.gmk 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-ecj/corba/make/common/Rules.gmk 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Rules.gmk 2009-07-01 13:52:45.000000000 +0100 @@ -201,8 +201,10 @@ $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \ $(CAT) $(JAVA_SOURCE_LIST); \ @@ -117,7 +117,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk --- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2009-07-01 13:52:45.000000000 +0100 @@ -120,31 +120,14 @@ JAVACFLAGS += $(OTHER_JAVACFLAGS) @@ -158,7 +158,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co ifdef JAVAC diff -Nru openjdk-ecj.orig/corba/make/org/omg/sources/Makefile openjdk-ecj/corba/make/org/omg/sources/Makefile --- openjdk-ecj.orig/corba/make/org/omg/sources/Makefile 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-ecj/corba/make/org/omg/sources/Makefile 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/corba/make/org/omg/sources/Makefile 2009-07-01 13:52:45.000000000 +0100 @@ -93,8 +93,6 @@ POAHELHOLFILES = $(POA_GENERATED_HELP_HOL_java:%=$(GENSRCDIR)/%) @@ -237,7 +237,7 @@ diff -Nru openjdk-ecj.orig/corba/make/or diff -Nru openjdk-ecj.orig/corba/make/sun/rmi/corbalogsources/Makefile openjdk-ecj/corba/make/sun/rmi/corbalogsources/Makefile --- openjdk-ecj.orig/corba/make/sun/rmi/corbalogsources/Makefile 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-ecj/corba/make/sun/rmi/corbalogsources/Makefile 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/corba/make/sun/rmi/corbalogsources/Makefile 2009-07-01 13:52:45.000000000 +0100 @@ -172,7 +172,6 @@ ACTIVATIONFILES = $(com_sun_corba_se_spi_activation_java:%=$(GENSRCDIR)/%) @@ -255,8 +255,8 @@ diff -Nru openjdk-ecj.orig/corba/make/su portableactivation.idl.compile: $(PORTABLEACTIVATIONFILES) diff -Nru openjdk-ecj.orig/jaxp/make/build.xml openjdk-ecj/jaxp/make/build.xml ---- openjdk-ecj.orig/jaxp/make/build.xml 2009-06-15 14:57:04.000000000 +0100 -+++ openjdk-ecj/jaxp/make/build.xml 2009-06-15 17:21:10.000000000 +0100 +--- openjdk-ecj.orig/jaxp/make/build.xml 2009-06-30 14:24:48.000000000 +0100 ++++ openjdk-ecj/jaxp/make/build.xml 2009-07-01 13:55:31.000000000 +0100 @@ -71,7 +71,10 @@ -@@ -86,7 +89,9 @@ - memoryInitialSize="${javac.memoryInitialSize}" +@@ -87,7 +90,8 @@ memoryMaximumSize="${javac.memoryMaximumSize}" + source="${javac.source}" debug="${javac.debug}" - target="${javac.target}"> + target="${javac.target}" -+ executable="${javac.executable}" -+ source="1.5"> ++ executable="${javac.executable}"> diff -Nru openjdk-ecj.orig/jaxp/make/Makefile openjdk-ecj/jaxp/make/Makefile ---- openjdk-ecj.orig/jaxp/make/Makefile 2009-06-15 17:14:26.000000000 +0100 -+++ openjdk-ecj/jaxp/make/Makefile 2009-06-15 17:19:32.000000000 +0100 -@@ -84,7 +84,7 @@ - endif +--- openjdk-ecj.orig/jaxp/make/Makefile 2009-07-01 13:42:16.000000000 +0100 ++++ openjdk-ecj/jaxp/make/Makefile 2009-07-01 13:52:45.000000000 +0100 +@@ -92,7 +92,7 @@ + endif ifdef ALT_BOOTDIR - ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) @@ -293,9 +292,9 @@ diff -Nru openjdk-ecj.orig/jaxp/make/Mak ifdef ALT_OUTPUTDIR diff -Nru openjdk-ecj.orig/jaxws/make/build.properties openjdk-ecj/jaxws/make/build.properties ---- openjdk-ecj.orig/jaxws/make/build.properties 2009-06-15 17:14:30.000000000 +0100 -+++ openjdk-ecj/jaxws/make/build.properties 2009-06-15 17:19:32.000000000 +0100 -@@ -36,7 +36,7 @@ +--- openjdk-ecj.orig/jaxws/make/build.properties 2009-07-01 13:42:16.000000000 +0100 ++++ openjdk-ecj/jaxws/make/build.properties 2009-07-01 13:52:45.000000000 +0100 +@@ -37,7 +37,7 @@ # set the following to -version to verify the versions of javac being used javac.version.opt = # in time, there should be no exceptions to -Xlint:all @@ -305,8 +304,8 @@ diff -Nru openjdk-ecj.orig/jaxws/make/bu # JVM memory size javac.memoryInitialSize = 128m diff -Nru openjdk-ecj.orig/jaxws/make/build.xml openjdk-ecj/jaxws/make/build.xml ---- openjdk-ecj.orig/jaxws/make/build.xml 2009-06-15 14:57:13.000000000 +0100 -+++ openjdk-ecj/jaxws/make/build.xml 2009-06-15 17:22:06.000000000 +0100 +--- openjdk-ecj.orig/jaxws/make/build.xml 2009-06-30 14:24:56.000000000 +0100 ++++ openjdk-ecj/jaxws/make/build.xml 2009-07-01 13:52:45.000000000 +0100 @@ -93,7 +93,10 @@ -@@ -105,11 +108,14 @@ - -+ excludes="com/sun/tools/internal/txw2/**" -+ source="1.5"> -+ + excludes="com/sun/tools/internal/txw2/**"> ++ diff -Nru openjdk-ecj.orig/jaxws/make/Makefile openjdk-ecj/jaxws/make/Makefile ---- openjdk-ecj.orig/jaxws/make/Makefile 2009-06-15 17:14:26.000000000 +0100 -+++ openjdk-ecj/jaxws/make/Makefile 2009-06-15 17:19:32.000000000 +0100 -@@ -84,8 +84,8 @@ - endif +--- openjdk-ecj.orig/jaxws/make/Makefile 2009-07-01 13:42:16.000000000 +0100 ++++ openjdk-ecj/jaxws/make/Makefile 2009-07-01 13:52:45.000000000 +0100 +@@ -92,8 +92,8 @@ + endif ifdef ALT_BOOTDIR - ANT_OPTIONS += -Dplugs=$(ALT_BINARY_PLUGS_PATH) @@ -351,7 +342,7 @@ diff -Nru openjdk-ecj.orig/jaxws/make/Ma ifdef ALT_OUTPUTDIR diff -Nru openjdk-ecj.orig/jdk/make/common/BuildToolJar.gmk openjdk-ecj/jdk/make/common/BuildToolJar.gmk --- openjdk-ecj.orig/jdk/make/common/BuildToolJar.gmk 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-ecj/jdk/make/common/BuildToolJar.gmk 2009-06-15 17:19:32.000000000 +0100 ++++ openjdk-ecj/jdk/make/common/BuildToolJar.gmk 2009-07-01 13:52:45.000000000 +0100 @@ -43,7 +43,8 @@ @$(prep-target) @$(MKDIR) -p $(BUILDTOOLCLASSDIR) From omajid at redhat.com Thu Jul 9 11:34:14 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 09 Jul 2009 14:34:14 -0400 Subject: RFC: Netx/Plugin - Add support for pack200 and gzip compression Message-ID: <4A563826.3010406@redhat.com> Hi, The attached patch adds support for pack200 and gzip compression to Netx and plugin. ChangeLog: 2009-07-09 Omair Majid * rt/net/sourceforge/jnlp/cache/ResourceTracker.java (downloadResource): Accept and download content with pack200 or gzip compression and uncompress it on the fly. (initializeResource): Accept content with pack200 or gzip compression. (getVersionedResourceURL): Add javadoc. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-pack200.patch Type: text/x-patch Size: 6783 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090709/b28e2c96/icedtea-pack200.patch From dbhole at redhat.com Thu Jul 9 11:41:30 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 9 Jul 2009 14:41:30 -0400 Subject: RFC: Rewrite of cookie support in plugin In-Reply-To: <20090707203928.GB6352@redhat.com> References: <20090703214931.GB28859@redhat.com> <20090703223003.GA21560@redhat.com> <4A53A6A9.1030802@redhat.com> <20090707202658.GA6352@redhat.com> <20090707203928.GB6352@redhat.com> Message-ID: <20090709184130.GB18099@redhat.com> * Deepak Bhole [2009-07-07 16:37]: > * Deepak Bhole [2009-07-07 16:25]: > > * Omair Majid [2009-07-07 15:48]: > > > Hi, > > > > > > Deepak Bhole wrote: > > >> Oops. Original message is missing 2 new files from the patch. Sorry > > >> about that. New patch attached. > > >> Patch has been approved by Omair. Posting final version for reference. Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: ITP-cookie-support-rewrite.patch Type: text/x-patch Size: 25008 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090709/26387308/ITP-cookie-support-rewrite.patch From dbhole at redhat.com Thu Jul 9 11:38:21 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 09 Jul 2009 18:38:21 +0000 Subject: changeset in /hg/icedtea6: Rewrote cookie support for the plugin... Message-ID: changeset a50daec5fab4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a50daec5fab4 description: Rewrote cookie support for the plugin so that cookies are aquired dynamically from Mozilla for each http/https connection. diffstat: 16 files changed, 127 insertions(+), 108 deletions(-) ChangeLog | 16 ++++ IcedTeaPlugin.cc | 52 ++++++++++--- plugin/icedtea/sun/applet/PluginAppletViewer.java | 57 +++++++++------ plugin/icedtea/sun/applet/PluginCallRequestFactory.java | 2 plugin/icedtea/sun/applet/PluginMain.java | 6 + rt/net/sourceforge/jnlp/ExtensionDesc.java | 16 ---- rt/net/sourceforge/jnlp/JNLPFile.java | 27 ++----- rt/net/sourceforge/jnlp/Launcher.java | 6 - rt/net/sourceforge/jnlp/NetxPanel.java | 5 - rt/net/sourceforge/jnlp/Parser.java | 2 rt/net/sourceforge/jnlp/PluginBridge.java | 3 rt/net/sourceforge/jnlp/cache/CacheUtil.java | 4 - rt/net/sourceforge/jnlp/cache/Resource.java | 17 ---- rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 10 -- rt/net/sourceforge/jnlp/runtime/Boot.java | 2 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 10 +- diffs (truncated from 645 to 500 lines): diff -r bb7ad7d43804 -r a50daec5fab4 ChangeLog --- a/ChangeLog Thu Jul 09 12:49:11 2009 +0200 +++ b/ChangeLog Thu Jul 09 14:42:44 2009 -0400 @@ -1,3 +1,19 @@ 2009-07-09 Xerxes R??nby + + * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. + * plugin/icedtea/sun/applet/PluginAppletViewer.java: Rework cookie support + to make it dynamic. + * plugin/icedtea/sun/applet/PluginMain.java: Wire in custom cookie store + that dynamically requests cookie information from C++ side. + * rt/net/sourceforge/jnlp/JNLPFile.java: Remove old cookie handling code. + * rt/net/sourceforge/jnlp/Launcher.java: Same. + * rt/net/sourceforge/jnlp/NetxPanel.java: Same. + * rt/net/sourceforge/jnlp/PluginBridge.java: Same. + * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Same. + * rt/net/sourceforge/jnlp/cache/Resource.java: Same. + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Same. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Same. + 2009-07-09 Xerxes R??nby * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp diff -r bb7ad7d43804 -r a50daec5fab4 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Thu Jul 09 12:49:11 2009 +0200 +++ b/IcedTeaPlugin.cc Thu Jul 09 14:42:44 2009 -0400 @@ -1012,6 +1012,7 @@ private: void ProcessMessage(); void ConsumeMsgFromJVM(); nsresult GetProxyInfo(const char* siteAddr, char** proxyScheme, char** proxyHost, char** proxyPort); + nsresult GetCookieInfo(const char* siteAddr, char** cookieString); nsCOMPtr sink; nsCOMPtr transport; nsCOMPtr applet_viewer_process; @@ -1070,7 +1071,6 @@ private: IcedTeaPluginFactory* factory; PRUint32 instance_identifier; nsCString instanceIdentifierPrefix; - nsresult GetCookie(const char* siteAddr, char** cookieString); }; @@ -2380,16 +2380,6 @@ IcedTeaPluginInstance::Initialize (nsIPl encodedAppletTag += tagMessage.get()[i]; } - nsCString cookieInfo(instanceIdentifierPrefix); - cookieInfo += "cookie "; - - char* cookieString; - if (GetCookie(documentbase, &cookieString) == NS_OK) - { - cookieInfo += cookieString; - } - - factory->SendMessageToAppletViewer (cookieInfo); factory->SendMessageToAppletViewer (encodedAppletTag); // Set back-pointer to peer instance. @@ -2760,8 +2750,15 @@ IcedTeaPluginFactory::GetProxyInfo(const return NS_OK; } -NS_IMETHODIMP -IcedTeaPluginInstance::GetCookie(const char* siteAddr, char** cookieString) +/** + * Returns the cookie information for the given url + * + * @param siteAddr The URI to check (must be decoded) + * @return cookieString The cookie string for the given URI + */ + +NS_IMETHODIMP +IcedTeaPluginFactory::GetCookieInfo(const char* siteAddr, char** cookieString) { nsresult rv; @@ -3497,6 +3494,35 @@ IcedTeaPluginFactory::HandleMessage (nsC // free allocated memory delete proxyScheme, proxyHost, proxyPort; + + } else if (command == "PluginCookieInfo") + { + + nsresult rv; + nsCOMPtr net_util = do_GetService(NS_NETUTIL_CONTRACTID, &rv); + + if (!net_util) + printf("Error instantiating NetUtil service.\n"); + + // decode the url + nsDependentCSubstring url; + net_util->UnescapeString(rest, 0, url); + + nsCString cookieInfo("plugin PluginCookieInfo "); + cookieInfo += rest; + cookieInfo += " "; + + char* cookieString; + if (GetCookieInfo(((nsCString) url).get(), &cookieString) == NS_OK) + { + cookieInfo += cookieString; + PLUGIN_DEBUG_2ARG("Cookie for %s is %s\n", ((nsCString) url).get(), cookieString); + } else { + PLUGIN_DEBUG_1ARG("No cookie found for %s\n", ((nsCString) url).get()); + } + + // send back what we found + SendMessageToAppletViewer (cookieInfo); } } diff -r bb7ad7d43804 -r a50daec5fab4 plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Thu Jul 09 12:49:11 2009 +0200 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Thu Jul 09 14:42:44 2009 -0400 @@ -84,6 +84,7 @@ import java.io.PrintStream; import java.io.PrintStream; import java.io.Reader; import java.io.StringReader; +import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.net.SocketPermission; @@ -180,9 +181,6 @@ import com.sun.jndi.toolkit.url.UrlUtil; private static PluginStreamHandler streamhandler; private static PluginCallRequestFactory requestFactory; - - private static HashMap siteCookies = - new HashMap(); private static HashMap status = new HashMap(); @@ -226,7 +224,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - panel = new NetxPanel(doc, siteCookies.get(identifier), atts, false); + panel = new NetxPanel(doc, atts, false); AppletViewerPanel.debug("Using NetX panel"); PluginDebug.debug(atts.toString()); } catch (Exception ex) { @@ -483,16 +481,6 @@ import com.sun.jndi.toolkit.url.UrlUtil; PluginDebug.debug ("REQUEST TAG NOT SET: " + request.tag + ". BYPASSING"); } } - } else if (message.startsWith("cookie")) { - - int cookieStrIndex = message.indexOf(" "); - String cookieStr = null; - - if (cookieStrIndex > 0) - cookieStr = message.substring(cookieStrIndex); - - // Always set the cookie -- even if it is null - siteCookies.put(identifier, cookieStr); } else { PluginDebug.debug ("Handling message: " + message + " instance " + identifier + " " + Thread.currentThread()); @@ -842,7 +830,6 @@ import com.sun.jndi.toolkit.url.UrlUtil; * applets on this page. */ public Enumeration getApplets() { - AppletSecurity security = (AppletSecurity)System.getSecurityManager(); Vector v = new Vector(); SocketPermission panelSp = new SocketPermission(panel.getCodeBase().getHost(), "connect"); @@ -896,7 +883,7 @@ import com.sun.jndi.toolkit.url.UrlUtil; // streamhandler.pluginOutputStream has been closed. } } - + public long getWindow() { PluginDebug.debug ("STARTING getWindow"); PluginCallRequest request = requestFactory.getPluginCallRequest("window", @@ -1113,6 +1100,40 @@ import com.sun.jndi.toolkit.url.UrlUtil; return request.getObject(); } + public static Object requestPluginCookieInfo(URI uri) { + + PluginCallRequest request; + try + { + String encodedURI = UrlUtil.encode(uri.toString(), "UTF-8"); + request = requestFactory.getPluginCallRequest("cookieinfo", + "plugin PluginCookieInfo " + encodedURI, + "plugin PluginCookieInfo " + encodedURI); + + } catch (UnsupportedEncodingException e) + { + e.printStackTrace(); + return null; + } + + streamhandler.postCallRequest(request); + streamhandler.write(request.getMessage()); + try { + PluginDebug.debug ("wait cookieinfo request 1"); + synchronized(request) { + PluginDebug.debug ("wait cookieinfo request 2"); + while (request.isDone() == false) + request.wait(); + PluginDebug.debug ("wait cookieinfo request 3"); + } + } catch (InterruptedException e) { + throw new RuntimeException("Interrupted waiting for cookieinfo request.", + e); + } + PluginDebug.debug (" Cookieinfo DONE"); + return request.getObject(); + } + public static Object requestPluginProxyInfo(URI uri) { String requestURI = null; @@ -1623,10 +1644,6 @@ import com.sun.jndi.toolkit.url.UrlUtil; public static void parse(int identifier, long handle, Reader in, URL url) throws IOException { - // wait until cookie is set (even if cookie is null, it needs to be - // "set" to that first - while (!siteCookies.containsKey(identifier)); - final int fIdentifier = identifier; final long fHandle = handle; final Reader fIn = in; diff -r bb7ad7d43804 -r a50daec5fab4 plugin/icedtea/sun/applet/PluginCallRequestFactory.java --- a/plugin/icedtea/sun/applet/PluginCallRequestFactory.java Thu Jul 09 12:49:11 2009 +0200 +++ b/plugin/icedtea/sun/applet/PluginCallRequestFactory.java Thu Jul 09 14:42:44 2009 -0400 @@ -51,6 +51,8 @@ public class PluginCallRequestFactory { return new GetWindowPluginCallRequest(message, returnString); } else if (id == "proxyinfo") { return new PluginProxyInfoRequest(message, returnString); + } else if (id == "cookieinfo") { + return new PluginCookieInfoRequest(message, returnString); } else { throw new RuntimeException ("Unknown plugin call request type requested from factory"); } diff -r bb7ad7d43804 -r a50daec5fab4 plugin/icedtea/sun/applet/PluginMain.java --- a/plugin/icedtea/sun/applet/PluginMain.java Thu Jul 09 12:49:11 2009 +0200 +++ b/plugin/icedtea/sun/applet/PluginMain.java Thu Jul 09 14:42:44 2009 -0400 @@ -68,10 +68,11 @@ import java.io.IOException; import java.io.IOException; import java.io.PrintStream; import java.net.Authenticator; +import java.net.CookieHandler; +import java.net.CookieManager; import java.net.PasswordAuthentication; import java.net.ProxySelector; import java.util.Enumeration; -import java.util.HashMap; import java.util.Properties; import javax.net.ssl.HttpsURLConnection; @@ -218,6 +219,9 @@ public class PluginMain // plug in a custom authenticator and proxy selector Authenticator.setDefault(new CustomAuthenticator()); ProxySelector.setDefault(new PluginProxySelector()); + + CookieManager ckManager = new CookieManager(new PluginCookieStore(), null); + CookieHandler.setDefault(ckManager); } static boolean messageAvailable() { diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/ExtensionDesc.java --- a/rt/net/sourceforge/jnlp/ExtensionDesc.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/ExtensionDesc.java Thu Jul 09 14:42:44 2009 -0400 @@ -40,9 +40,6 @@ public class ExtensionDesc { /** the location of the extension JNLP file */ private URL location; - - /** the cookie string sent with resource requests */ - private String cookieStr; /** the JNLPFile the extension refers to */ private JNLPFile file; @@ -61,11 +58,10 @@ public class ExtensionDesc { * @param version the required version of the extention JNLPFile * @param location the location of the extention JNLP file */ - public ExtensionDesc(String name, Version version, URL location, String cookieStr) { + public ExtensionDesc(String name, Version version, URL location) { this.name = name; this.version = version; this.location = location; - this.cookieStr = cookieStr; } /** @@ -125,7 +121,7 @@ public class ExtensionDesc { */ public void resolve() throws ParseException, IOException { if (file == null) { - file = new JNLPFile(location, cookieStr); + file = new JNLPFile(location); if (JNLPRuntime.isDebug()) System.out.println("Resolve: "+file.getInformation().getTitle()); @@ -144,14 +140,6 @@ public class ExtensionDesc { public JNLPFile getJNLPFile() { return file; } - - /** - * Returns the cookie associated with this instance - */ - public String getCookieStr() { - return cookieStr; - } - } diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/JNLPFile.java --- a/rt/net/sourceforge/jnlp/JNLPFile.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Thu Jul 09 14:42:44 2009 -0400 @@ -69,9 +69,6 @@ public class JNLPFile { /** the URL used to resolve relative URLs in the file */ protected URL codeBase; - - /** cookie string to send alongwith resource requests */ - protected String cookieStr; /** file version */ protected Version fileVersion; @@ -127,8 +124,8 @@ public class JNLPFile { * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location, String cookieStr) throws IOException, ParseException { - this(location, cookieStr, false); // not strict + public JNLPFile(URL location) throws IOException, ParseException { + this(location, false); // not strict } /** @@ -140,8 +137,8 @@ public class JNLPFile { * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location, String cookieStr, boolean strict) throws IOException, ParseException { - this(location, cookieStr, strict, JNLPRuntime.getDefaultUpdatePolicy()); + public JNLPFile(URL location, boolean strict) throws IOException, ParseException { + this(location, strict, JNLPRuntime.getDefaultUpdatePolicy()); } /** @@ -154,12 +151,11 @@ public class JNLPFile { * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location, String cookieStr, boolean strict, UpdatePolicy policy) throws IOException, ParseException { - Node root = Parser.getRootNode(openURL(location, cookieStr, policy)); + public JNLPFile(URL location, boolean strict, UpdatePolicy policy) throws IOException, ParseException { + Node root = Parser.getRootNode(openURL(location, policy)); parse(root, strict, location); this.fileLocation = location; - this.cookieStr = cookieStr; } /** @@ -190,13 +186,13 @@ public class JNLPFile { * Open the jnlp file URL from the cache if there, otherwise * download to the cache. Called from constructor. */ - private static InputStream openURL(URL location, String cookieStr, UpdatePolicy policy) throws IOException { + private static InputStream openURL(URL location, UpdatePolicy policy) throws IOException { if (location == null || policy == null) throw new IllegalArgumentException(R("NullParameter")); try { ResourceTracker tracker = new ResourceTracker(false); // no prefetch - tracker.addResource(location, cookieStr, null/*version*/, policy); + tracker.addResource(location, null/*version*/, policy); return tracker.getInputStream(location); } @@ -255,13 +251,6 @@ public class JNLPFile { */ public URL getCodeBase() { return codeBase; - } - - /** - * Returns the cookie string that will be send when resources for this file are requested - */ - public String getCookieStr() { - return cookieStr; } /** diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 09 14:42:44 2009 -0400 @@ -335,10 +335,10 @@ public class Launcher { JNLPFile file = null; try { - file = new JNLPFile(location, null, true, updatePolicy); // strict + file = new JNLPFile(location, true, updatePolicy); // strict } catch (ParseException ex) { - file = new JNLPFile(location, null, false, updatePolicy); + file = new JNLPFile(location, false, updatePolicy); // only here if strict failed but lax did not fail LaunchException lex = @@ -389,7 +389,7 @@ public class Launcher { IconDesc.SPLASH, preferredWidth, preferredHeight); if (splashImageURL != null) { ResourceTracker resourceTracker = new ResourceTracker(true); - resourceTracker.addResource(splashImageURL, "SPLASH", file.getFileVersion(), updatePolicy); + resourceTracker.addResource(splashImageURL, file.getFileVersion(), updatePolicy); splashScreen = new JNLPSplashScreen(resourceTracker, null, null); splashScreen.setSplashImageURL(splashImageURL); if (splashScreen.isSplashScreenValid()) { diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/NetxPanel.java --- a/rt/net/sourceforge/jnlp/NetxPanel.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/NetxPanel.java Thu Jul 09 14:42:44 2009 -0400 @@ -41,7 +41,6 @@ public class NetxPanel extends AppletVie private PluginBridge bridge = null; private boolean exitOnFailure = true; private AppletInstance appInst = null; - private String cookieStr; private boolean appletAlive; public NetxPanel(URL documentURL, Hashtable atts) @@ -50,11 +49,10 @@ public class NetxPanel extends AppletVie } // overloaded constructor, called when initialized via plugin - public NetxPanel(URL documentURL, String cookieStr, Hashtable atts, boolean exitOnFailure) + public NetxPanel(URL documentURL, Hashtable atts, boolean exitOnFailure) { this(documentURL, atts); this.exitOnFailure = exitOnFailure; - this.cookieStr = cookieStr; this.appletAlive = true; } @@ -64,7 +62,6 @@ public class NetxPanel extends AppletVie try { bridge = new PluginBridge(baseURL, - cookieStr, getDocumentBase(), getJarFiles(), getCode(), diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/Parser.java --- a/rt/net/sourceforge/jnlp/Parser.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/Parser.java Thu Jul 09 14:42:44 2009 -0400 @@ -332,7 +332,7 @@ class Parser { Version version = getVersion(node, "version", null); URL location = getRequiredURL(node, "href", base); - ExtensionDesc ext = new ExtensionDesc(name, version, location, null); + ExtensionDesc ext = new ExtensionDesc(name, version, location); Node dload[] = getChildNodes(node, "ext-download"); for (int i=0; i < dload.length; i++) { diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/PluginBridge.java --- a/rt/net/sourceforge/jnlp/PluginBridge.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/PluginBridge.java Thu Jul 09 14:42:44 2009 -0400 @@ -43,7 +43,7 @@ public class PluginBridge extends JNLPFi String[] cache_ex_jars = new String[0]; Hashtable atts; - public PluginBridge(URL codebase, String cookieStr, URL documentBase, String jar, String main, + public PluginBridge(URL codebase, URL documentBase, String jar, String main, int width, int height, Hashtable atts) throws Exception { @@ -104,7 +104,6 @@ public class PluginBridge extends JNLPFi else security = null; - this.cookieStr = cookieStr; } public String getTitle() diff -r bb7ad7d43804 -r a50daec5fab4 rt/net/sourceforge/jnlp/cache/CacheUtil.java --- a/rt/net/sourceforge/jnlp/cache/CacheUtil.java Thu Jul 09 12:49:11 2009 +0200 +++ b/rt/net/sourceforge/jnlp/cache/CacheUtil.java Thu Jul 09 14:42:44 2009 -0400 @@ -75,9 +75,9 @@ public class CacheUtil { * @param version the version, or null * @return either the location in the cache or the original location */ - public static URL getCachedResource(URL location, String cookieStr, Version version, UpdatePolicy policy) { + public static URL getCachedResource(URL location, Version version, UpdatePolicy policy) { ResourceTracker rt = new ResourceTracker(); - rt.addResource(location, cookieStr, version, policy); + rt.addResource(location, version, policy); try { File f = rt.getCacheFile(location); From dbhole at redhat.com Thu Jul 9 11:43:16 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 9 Jul 2009 14:43:16 -0400 Subject: RFC: Netx/Plugin - Add support for pack200 and gzip compression In-Reply-To: <4A563826.3010406@redhat.com> References: <4A563826.3010406@redhat.com> Message-ID: <20090709184316.GC18099@redhat.com> * Omair Majid [2009-07-09 14:34]: > Hi, > > The attached patch adds support for pack200 and gzip compression to Netx > and plugin. > > ChangeLog: > 2009-07-09 Omair Majid > > * rt/net/sourceforge/jnlp/cache/ResourceTracker.java > (downloadResource): Accept and download content with pack200 or gzip > compression and uncompress it on the fly. > (initializeResource): Accept content with pack200 or gzip compression. > (getVersionedResourceURL): Add javadoc. > > Any comments? > > Cheers, > Omair Already reviewed this patch attachment to the bug. Looks good to me. Deepak > diff -r bb7ad7d43804 rt/net/sourceforge/jnlp/cache/ResourceTracker.java > --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jul 09 12:49:11 2009 +0200 > +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jul 09 14:02:35 2009 -0400 > @@ -17,14 +17,30 @@ > > package net.sourceforge.jnlp.cache; > > -import java.io.*; > -import java.net.*; > -import java.util.*; > +import java.io.BufferedInputStream; > +import java.io.BufferedOutputStream; > +import java.io.File; > +import java.io.FileInputStream; > +import java.io.FileOutputStream; > +import java.io.IOException; > +import java.io.InputStream; > +import java.io.OutputStream; > +import java.net.HttpURLConnection; > +import java.net.MalformedURLException; > +import java.net.URL; > +import java.net.URLConnection; > +import java.util.ArrayList; > +import java.util.List; > +import java.util.jar.JarOutputStream; > +import java.util.jar.Pack200; > +import java.util.jar.Pack200.Unpacker; > +import java.util.zip.GZIPInputStream; > > -import net.sourceforge.jnlp.*; > -import net.sourceforge.jnlp.event.*; > -import net.sourceforge.jnlp.runtime.*; > -import net.sourceforge.jnlp.util.*; > +import net.sourceforge.jnlp.Version; > +import net.sourceforge.jnlp.event.DownloadEvent; > +import net.sourceforge.jnlp.event.DownloadListener; > +import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.util.WeakList; > > /** > * This class tracks the downloading of various resources of a > @@ -598,7 +614,9 @@ > } > > /** > - * Downloads an resource to a file. > + * Downloads a resource to a file, uncompressing it if required > + * > + * @param resource the resource to download > */ > private void downloadResource(Resource resource) { > resource.fireDownloadEvent(); // fire DOWNLOADING > @@ -606,12 +624,37 @@ > try { > // create out second in case in does not exist > URLConnection con = getVersionedResourceURL(resource).openConnection(); > + con.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip"); > > if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) > con.setRequestProperty("Cookie", resource.getCookieStr()); > > + con.connect(); > + > + /* > + * We dont really know what we are downloading. If we ask for > + * foo.jar, the server might send us foo.jar.pack.gz or foo.jar.gz > + * instead. So we save the file with the appropriate extension > + */ > + URL downloadLocation = resource.location; > + > + String contentEncoding = con.getContentEncoding(); > + > + if (JNLPRuntime.isDebug()) { > + System.err.println("Content encoding for " + resource.location + ": " > + + contentEncoding); > + } > + > + if (contentEncoding != null) { > + if (contentEncoding.equals("gzip")) { > + downloadLocation = new URL(downloadLocation.toString() + ".gz"); > + } else if (contentEncoding.equals("pack200-gzip")) { > + downloadLocation = new URL(downloadLocation.toString() + ".pack.gz"); > + } > + } > + > InputStream in = new BufferedInputStream(con.getInputStream()); > - OutputStream out = CacheUtil.getOutputStream(resource.location, resource.downloadVersion); > + OutputStream out = CacheUtil.getOutputStream(downloadLocation, resource.downloadVersion); > byte buf[] = new byte[1024]; > int rlen; > > @@ -626,7 +669,45 @@ > // explicitly close the URLConnection. > if (con instanceof HttpURLConnection) > ((HttpURLConnection)con).disconnect(); > + > + /* > + * If the file was compressed, uncompress it. > + */ > + if (contentEncoding != null) { > + if (contentEncoding.equals("gzip")) { > + GZIPInputStream gzInputStream = new GZIPInputStream(new FileInputStream(CacheUtil > + .getCacheFile(downloadLocation, resource.downloadVersion))); > + InputStream inputStream = new BufferedInputStream(gzInputStream); > > + BufferedOutputStream outputStream = new BufferedOutputStream( > + new FileOutputStream(CacheUtil.getCacheFile(resource.location, > + resource.downloadVersion))); > + > + while (-1 != (rlen = inputStream.read(buf))) { > + outputStream.write(buf, 0, rlen); > + } > + > + outputStream.close(); > + inputStream.close(); > + gzInputStream.close(); > + > + } else if (contentEncoding.equals("pack200-gzip")) { > + GZIPInputStream gzInputStream = new GZIPInputStream(new FileInputStream( > + CacheUtil.getCacheFile(downloadLocation, resource.downloadVersion))); > + InputStream inputStream = new BufferedInputStream(gzInputStream); > + > + JarOutputStream outputStream = new JarOutputStream(new FileOutputStream( > + CacheUtil.getCacheFile(resource.location, resource.downloadVersion))); > + > + Unpacker unpacker = Pack200.newUnpacker(); > + unpacker.unpack(inputStream, outputStream); > + > + outputStream.close(); > + inputStream.close(); > + gzInputStream.close(); > + } > + } > + > resource.changeStatus(DOWNLOADING, DOWNLOADED); > synchronized(lock) { > lock.notifyAll(); // wake up wait's to check for completion > @@ -657,6 +738,7 @@ > > // connect > URLConnection connection = getVersionedResourceURL(resource).openConnection(); // this won't change so should be okay unsynchronized > + connection.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip"); > > if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) > connection.setRequestProperty("Cookie", resource.getCookieStr()); > @@ -704,8 +786,10 @@ > } > } > > - > - > + /** > + * Returns the versioned url for a resource > + * @param resource the resource to get the url for > + */ > private URL getVersionedResourceURL(Resource resource) { > String actualLocation = resource.location.getProtocol() + "://" > + resource.location.getHost(); From dbhole at redhat.com Thu Jul 9 11:45:05 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 9 Jul 2009 14:45:05 -0400 Subject: RFC: Netx - Set JNLPClassloader as the classloader for system created threads In-Reply-To: <4A561377.2020705@redhat.com> References: <4A561377.2020705@redhat.com> Message-ID: <20090709184505.GD18099@redhat.com> * Omair Majid [2009-07-09 11:58]: > Hi, > > The attached patch makes JNLPClassLoader the context classloader for > threads created before the JNLP application starts. This deals with the > case where the JNLP application needs a previously created thread (such > as the Swing Event Dispatch Thread) to load a resource provided by the > application. > > Bugs: > https://bugzilla.redhat.com/show_bug.cgi?id=509301 > http://kenai.com/jira/browse/TRIDENT-1?focusedCommentId=15776&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_15776 > > > ChangeLog: > 2009-07-09 Omair Majid > > * rt/net/sourceforge/jnlp/Launcher.java > (launchApplication): Call setContextClassLoaderForAllThreads. > (setContextClassLoaderForAllThreads): New function. > > Any comments? > > Cheers, > Omair > diff -r b4bb02c70835 rt/net/sourceforge/jnlp/Launcher.java > --- a/rt/net/sourceforge/jnlp/Launcher.java Tue Jul 07 13:44:35 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 09 11:16:04 2009 -0400 > @@ -23,6 +23,8 @@ > import java.io.File; > import java.io.IOException; > import java.io.InputStream; > +import java.lang.management.ManagementFactory; > +import java.lang.management.ThreadMXBean; > import java.lang.reflect.Method; > import java.net.URL; > import java.util.LinkedList; > @@ -425,8 +427,7 @@ > Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); > String args[] = file.getApplication().getArguments(); > > - // required to make some apps work right > - Thread.currentThread().setContextClassLoader(app.getClassLoader()); > + setContextClassLoaderForAllThreads(app.getClassLoader()); > > if (splashScreen != null) { > if (splashScreen.isSplashScreenValid()) { > @@ -447,6 +448,45 @@ > } > } > > + /** > + * Set the classloader as the context classloader for all threads. This is > + * required to make some applications work. For example, an application that > + * provides a custom Swing LnF may ask the swing thread to load resources > + * from their JNLP, which would only work if the Swing thread knows about > + * the JNLPClassLoader. > + * > + * @param classLoader the classloader to set as the context classloader > + */ > + private void setContextClassLoaderForAllThreads(ClassLoader classLoader) { > + ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); > + ThreadGroup root; > + > + root = Thread.currentThread().getThreadGroup(); > + while (root.getParent() != null) { > + root = root.getParent(); > + } > + > + /* be prepared for change in thread size */ > + int threadCountGuess = threadBean.getThreadCount(); > + Thread[] threads; > + do { > + threadCountGuess = threadCountGuess * 2; > + threads = new Thread[threadCountGuess]; > + root.enumerate(threads, true); > + } while (threads[threadCountGuess-1] != null); > + > + > + for (Thread thread: threads) { > + if (thread != null) { > + if (JNLPRuntime.isDebug()) { > + System.err.println("Setting " + classLoader + " as the classloader for thread " + thread.getName()); > + } > + thread.setContextClassLoader(classLoader); > + } > + } > + > + } > + Assuming you have tested this, go ahead and apply. Deepak > /** > * Launches a JNLP applet. This method should be called from a > * thread in the application's thread group.

From ahughes at redhat.com Thu Jul 9 11:50:28 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 09 Jul 2009 18:50:28 +0000 Subject: changeset in /hg/icedtea: Add missing patch. Message-ID: changeset e944184d6eda in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=e944184d6eda description: Add missing patch. 2009-07-09 Andrew John Hughes * patches/ecj/icedtea-pr40616.patch: Add missing patch. diffstat: 2 files changed, 20 insertions(+) ChangeLog | 5 +++++ patches/ecj/icedtea-pr40616.patch | 15 +++++++++++++++ diffs (31 lines): diff -r 3340f0afa232 -r e944184d6eda ChangeLog --- a/ChangeLog Thu Jul 09 16:43:16 2009 +0100 +++ b/ChangeLog Thu Jul 09 19:52:10 2009 +0100 @@ -1,3 +1,8 @@ 2009-07-09 Andrew John Hughes + + * patches/ecj/icedtea-pr40616.patch: + Add missing patch. + 2009-07-09 Andrew John Hughes * Makefile.am: diff -r 3340f0afa232 -r e944184d6eda patches/ecj/icedtea-pr40616.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-pr40616.patch Thu Jul 09 19:52:10 2009 +0100 @@ -0,0 +1,15 @@ +diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java 2009-07-02 12:04:10.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java 2009-07-02 12:13:09.000000000 +0100 +@@ -36,8 +36,10 @@ + public class GenerateEUC_TW { + + public static void genEUC_TW(String args[]) throws Exception { ++ FileOutputStream fos = ++ new FileOutputStream(new File(args[1], "EUC_TWMapping.java")); + genClass(new FileInputStream(new File(args[0], "euc_tw.map")), +- new PrintStream(new File(args[1], "EUC_TWMapping.java"), "ISO-8859-1"), ++ new PrintStream(fos, false, "ISO-8859-1"), + getCopyright(new File(args[3]))); + } + From dbhole at redhat.com Thu Jul 9 12:24:11 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 09 Jul 2009 19:24:11 +0000 Subject: changeset in /hg/icedtea6: Adding new plugin cookie related files. Message-ID: changeset d0694a669da3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d0694a669da3 description: Adding new plugin cookie related files. diffstat: 2 files changed, 195 insertions(+) plugin/icedtea/sun/applet/PluginCookieInfoRequest.java | 122 ++++++++++++++++ plugin/icedtea/sun/applet/PluginCookieStore.java | 73 +++++++++ diffs (203 lines): diff -r a50daec5fab4 -r d0694a669da3 plugin/icedtea/sun/applet/PluginCookieInfoRequest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedtea/sun/applet/PluginCookieInfoRequest.java Thu Jul 09 15:28:30 2009 -0400 @@ -0,0 +1,122 @@ +/* PluginCookieInfoRequest -- Object representing a request for cookie information from the browser + Copyright (C) 2009 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package sun.applet; + +import java.net.HttpCookie; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import com.sun.jndi.toolkit.url.UrlUtil; + +/** + * This class represents a request object for cookie information for a given URI + */ + +public class PluginCookieInfoRequest extends PluginCallRequest { + + List cookieObjects = new ArrayList(); + + public PluginCookieInfoRequest(String message, String returnString) { + super(message, returnString); + } + + public void parseReturn(String cookieInfo) { + + // try to parse the proxy information. If things go wrong, do nothing .. + // this will keep internal = null which forces a direct connection + + PluginDebug.debug ("PluginCookieInfoRequest GOT: " + cookieInfo); + + String encodedURI = cookieInfo.split(" ")[2]; + + // Skip the first 3 components. We are guaranteed 3 components, + // so no index -1 to worry about + cookieInfo = cookieInfo.substring(cookieInfo.indexOf(' ')+1); + cookieInfo = cookieInfo.substring(cookieInfo.indexOf(' ')+1); + cookieInfo = cookieInfo.substring(cookieInfo.indexOf(' ')+1); + + URI siteURI; + try + { + siteURI = new URI(UrlUtil.decode(encodedURI, "UTF-8")); + } catch (Exception e) + { + e.printStackTrace(); + return; + } + + if (cookieInfo != null && cookieInfo.length() > 0) + { + String[] cookies = cookieInfo.split(";"); + + for (int i = 0; i < cookies.length; i++) + { + ArrayList l = new ArrayList(); + + String cookie = cookies[i]; + cookie = cookie.trim(); + String cookieName = cookie.substring(0, cookie.indexOf("=")); + String cookieValue = cookie.substring(cookie.indexOf("=")+1); + + HttpCookie httpCookieObj = new HttpCookie(cookieName, cookieValue); + httpCookieObj.setPath(siteURI.getPath()); + httpCookieObj.setVersion(0); // force v0 + + PluginDebug.debug("Adding cookie info COOKIEN=" + cookieName + " and COOKIEV=" + cookieValue); + cookieObjects.add(httpCookieObj); + } + } + + setDone(true); + } + + /** + * Returns whether the given message is serviceable by this object + * + * @param message The message to service + * @return boolean indicating if message is serviceable + */ + public boolean serviceable(String message) { + return message.startsWith(returnString); + } + + public List getObject() { + return this.cookieObjects; + } +} diff -r a50daec5fab4 -r d0694a669da3 plugin/icedtea/sun/applet/PluginCookieStore.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedtea/sun/applet/PluginCookieStore.java Thu Jul 09 15:28:30 2009 -0400 @@ -0,0 +1,73 @@ +/* PluginCookieStore -- Storage for cookie information + Copyright (C) 2009 Red Hat + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package sun.applet; + +import java.net.HttpCookie; +import java.net.URI; +import java.util.List; + +import sun.net.www.protocol.http.InMemoryCookieStore; + +public class PluginCookieStore extends InMemoryCookieStore +{ + public List get(URI uri) + { + List cookies; + + // Try to fetch it from the plugin, but if something goes + // wrong, fall back. Don't crash! + try + { + cookies = (List) PluginAppletViewer.requestPluginCookieInfo(uri); + + // If cookies is null, something went wrong. Fall back. + if (cookies == null) throw new NullPointerException("Null cookie"); + + } catch (Exception e) + { + PluginDebug.debug("Unable to fetch cookie information from plugin. " + + "Falling back to default."); + e.printStackTrace(); + cookies = super.get(uri); + } + + PluginDebug.debug("Returning cookies " + cookies + " for site: " + uri); + + return cookies; + } +} From bugzilla-daemon at icedtea.classpath.org Thu Jul 9 13:20:25 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 09 Jul 2009 20:20:25 +0000 Subject: [Bug 320] daylight savings time status not reported correctly Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=320 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #4 from jon.vanalten at redhat.com 2009-07-09 20:20 ------- Hi, The bug in RedHat bugzilla has been marked as fixed as of new version (java-1.6.0-openjdk-1.6.0.0-18.b16.fc10 or java-1.6.0-openjdk-1.6.0.0-22.b16.fc11). I can confirm this in F11: $cat /etc/sysconfig/clock # The time zone of the system is defined by the contents of /etc/localtime. # This file is only for evaluation by system-config-date, do not rely on its # contents elsewhere. ZONE="America/New York" $ java TimeZoneTest 2009_07_09_1616_22_Eastern Daylight Time DST? = yes Note that ZONE has the space; the correction was made in the JDK and the workaround of replacing the space with underscore is not necessary. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 9 13:46:01 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 09 Jul 2009 20:46:01 +0000 Subject: [Bug 321] SIGSEGV (0xb) at pc=0x00a3dcab with Java VM: OpenJDK Server VM (1.6.0-b09 mixed mode linux-x86) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=321 ------- Comment #1 from jon.vanalten at redhat.com 2009-07-09 20:45 ------- Hi, cleaning up some bug reports here. Is this still happening for you? If so, can you provide details for how to reproduce this crash? Incidentally, since F9 is about to go EOL so you may wish to upgrade and see if the problem persists in F10 or F11. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Thu Jul 9 14:18:01 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 09 Jul 2009 21:18:01 +0000 Subject: changeset in /hg/icedtea6: Support pack200/gzip compression in Netx Message-ID: changeset 02e02b5a01c0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=02e02b5a01c0 description: Support pack200/gzip compression in Netx 2009-07-09 Omair Majid * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: (downloadResource): Accept and download content with pack200 or gzip compression and uncompress it on the fly. (initializeResource): Accept content with pack200 or gzip compression. (getVersionedResourceURL): Add javadoc. diffstat: 2 files changed, 105 insertions(+), 13 deletions(-) ChangeLog | 8 + rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 110 +++++++++++++++++--- diffs (172 lines): diff -r d0694a669da3 -r 02e02b5a01c0 ChangeLog --- a/ChangeLog Thu Jul 09 15:28:30 2009 -0400 +++ b/ChangeLog Thu Jul 09 17:18:02 2009 -0400 @@ -1,3 +1,11 @@ 2009-07-09 Deepak Bhole + + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: + (downloadResource): Accept and download content with pack200 or gzip + compression and uncompress it on the fly. + (initializeResource): Accept content with pack200 or gzip compression. + (getVersionedResourceURL): Add javadoc. + 2009-07-09 Deepak Bhole * IcedTeaPlugin.cc: Add suppport for cookie info requests from applets. diff -r d0694a669da3 -r 02e02b5a01c0 rt/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jul 09 15:28:30 2009 -0400 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jul 09 17:18:02 2009 -0400 @@ -17,14 +17,30 @@ package net.sourceforge.jnlp.cache; -import java.io.*; -import java.net.*; -import java.util.*; - -import net.sourceforge.jnlp.*; -import net.sourceforge.jnlp.event.*; -import net.sourceforge.jnlp.runtime.*; -import net.sourceforge.jnlp.util.*; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; +import java.util.List; +import java.util.jar.JarOutputStream; +import java.util.jar.Pack200; +import java.util.jar.Pack200.Unpacker; +import java.util.zip.GZIPInputStream; + +import net.sourceforge.jnlp.Version; +import net.sourceforge.jnlp.event.DownloadEvent; +import net.sourceforge.jnlp.event.DownloadListener; +import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.util.WeakList; /** * This class tracks the downloading of various resources of a @@ -598,7 +614,9 @@ public class ResourceTracker { } /** - * Downloads an resource to a file. + * Downloads a resource to a file, uncompressing it if required + * + * @param resource the resource to download */ private void downloadResource(Resource resource) { resource.fireDownloadEvent(); // fire DOWNLOADING @@ -606,9 +624,34 @@ public class ResourceTracker { try { // create out second in case in does not exist URLConnection con = getVersionedResourceURL(resource).openConnection(); + con.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip"); + + con.connect(); + + /* + * We dont really know what we are downloading. If we ask for + * foo.jar, the server might send us foo.jar.pack.gz or foo.jar.gz + * instead. So we save the file with the appropriate extension + */ + URL downloadLocation = resource.location; + + String contentEncoding = con.getContentEncoding(); + + if (JNLPRuntime.isDebug()) { + System.err.println("Content encoding for " + resource.location + ": " + + contentEncoding); + } + + if (contentEncoding != null) { + if (contentEncoding.equals("gzip")) { + downloadLocation = new URL(downloadLocation.toString() + ".gz"); + } else if (contentEncoding.equals("pack200-gzip")) { + downloadLocation = new URL(downloadLocation.toString() + ".pack.gz"); + } + } InputStream in = new BufferedInputStream(con.getInputStream()); - OutputStream out = CacheUtil.getOutputStream(resource.location, resource.downloadVersion); + OutputStream out = CacheUtil.getOutputStream(downloadLocation, resource.downloadVersion); byte buf[] = new byte[1024]; int rlen; @@ -623,7 +666,45 @@ public class ResourceTracker { // explicitly close the URLConnection. if (con instanceof HttpURLConnection) ((HttpURLConnection)con).disconnect(); - + + /* + * If the file was compressed, uncompress it. + */ + if (contentEncoding != null) { + if (contentEncoding.equals("gzip")) { + GZIPInputStream gzInputStream = new GZIPInputStream(new FileInputStream(CacheUtil + .getCacheFile(downloadLocation, resource.downloadVersion))); + InputStream inputStream = new BufferedInputStream(gzInputStream); + + BufferedOutputStream outputStream = new BufferedOutputStream( + new FileOutputStream(CacheUtil.getCacheFile(resource.location, + resource.downloadVersion))); + + while (-1 != (rlen = inputStream.read(buf))) { + outputStream.write(buf, 0, rlen); + } + + outputStream.close(); + inputStream.close(); + gzInputStream.close(); + + } else if (contentEncoding.equals("pack200-gzip")) { + GZIPInputStream gzInputStream = new GZIPInputStream(new FileInputStream( + CacheUtil.getCacheFile(downloadLocation, resource.downloadVersion))); + InputStream inputStream = new BufferedInputStream(gzInputStream); + + JarOutputStream outputStream = new JarOutputStream(new FileOutputStream( + CacheUtil.getCacheFile(resource.location, resource.downloadVersion))); + + Unpacker unpacker = Pack200.newUnpacker(); + unpacker.unpack(inputStream, outputStream); + + outputStream.close(); + inputStream.close(); + gzInputStream.close(); + } + } + resource.changeStatus(DOWNLOADING, DOWNLOADED); synchronized(lock) { lock.notifyAll(); // wake up wait's to check for completion @@ -654,6 +735,7 @@ public class ResourceTracker { // connect URLConnection connection = getVersionedResourceURL(resource).openConnection(); // this won't change so should be okay unsynchronized + connection.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip"); int size = connection.getContentLength(); boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; @@ -698,8 +780,10 @@ public class ResourceTracker { } } - - + /** + * Returns the versioned url for a resource + * @param resource the resource to get the url for + */ private URL getVersionedResourceURL(Resource resource) { String actualLocation = resource.location.getProtocol() + "://" + resource.location.getHost(); From omajid at redhat.com Thu Jul 9 14:21:00 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 09 Jul 2009 17:21:00 -0400 Subject: RFC: Netx/Plugin - Add support for pack200 and gzip compression In-Reply-To: <20090709184316.GC18099@redhat.com> References: <4A563826.3010406@redhat.com> <20090709184316.GC18099@redhat.com> Message-ID: <4A565F3C.8070302@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-09 14:34]: >> >> The attached patch adds support for pack200 and gzip compression to Netx >> and plugin. >> >> ChangeLog: >> 2009-07-09 Omair Majid >> >> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java >> (downloadResource): Accept and download content with pack200 or gzip >> compression and uncompress it on the fly. >> (initializeResource): Accept content with pack200 or gzip compression. >> (getVersionedResourceURL): Add javadoc. >> >> Any comments? > > Already reviewed this patch attachment to the bug. Looks good to me. > Thanks. Pushed as changeset 02e02b5a01c0. Cheers, Omair From omajid at redhat.com Thu Jul 9 14:27:41 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 09 Jul 2009 21:27:41 +0000 Subject: changeset in /hg/icedtea6: Netx: Set context classloader for all... Message-ID: changeset 7acbff01007f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7acbff01007f description: Netx: Set context classloader for all threads in an application 2009-07-09 Omair Majid * rt/net/sourceforge/jnlp/Launcher.java (launchApplication): Call setContextClassLoaderForAllThreads. (setContextClassLoaderForAllThreads): New function. diffstat: 2 files changed, 48 insertions(+), 2 deletions(-) ChangeLog | 6 ++++ rt/net/sourceforge/jnlp/Launcher.java | 44 +++++++++++++++++++++++++++++++-- diffs (81 lines): diff -r 02e02b5a01c0 -r 7acbff01007f ChangeLog --- a/ChangeLog Thu Jul 09 17:18:02 2009 -0400 +++ b/ChangeLog Thu Jul 09 17:29:13 2009 -0400 @@ -1,3 +1,9 @@ 2009-07-09 Omair Majid + + * rt/net/sourceforge/jnlp/Launcher.java + (launchApplication): Call setContextClassLoaderForAllThreads. + (setContextClassLoaderForAllThreads): New function. + 2009-07-09 Omair Majid * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: diff -r 02e02b5a01c0 -r 7acbff01007f rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 09 17:18:02 2009 -0400 +++ b/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 09 17:29:13 2009 -0400 @@ -23,6 +23,8 @@ import java.io.File; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.lang.management.ManagementFactory; +import java.lang.management.ThreadMXBean; import java.lang.reflect.Method; import java.net.URL; import java.util.LinkedList; @@ -425,8 +427,7 @@ public class Launcher { Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} ); String args[] = file.getApplication().getArguments(); - // required to make some apps work right - Thread.currentThread().setContextClassLoader(app.getClassLoader()); + setContextClassLoaderForAllThreads(app.getClassLoader()); if (splashScreen != null) { if (splashScreen.isSplashScreenValid()) { @@ -445,6 +446,45 @@ public class Launcher { catch (Exception ex) { throw launchError(new LaunchException(file, ex, R("LSFatal"), R("LCLaunching"), R("LCouldNotLaunch"), R("LCouldNotLaunchInfo"))); } + } + + /** + * Set the classloader as the context classloader for all threads. This is + * required to make some applications work. For example, an application that + * provides a custom Swing LnF may ask the swing thread to load resources + * from their JNLP, which would only work if the Swing thread knows about + * the JNLPClassLoader. + * + * @param classLoader the classloader to set as the context classloader + */ + private void setContextClassLoaderForAllThreads(ClassLoader classLoader) { + ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); + ThreadGroup root; + + root = Thread.currentThread().getThreadGroup(); + while (root.getParent() != null) { + root = root.getParent(); + } + + /* be prepared for change in thread size */ + int threadCountGuess = threadBean.getThreadCount(); + Thread[] threads; + do { + threadCountGuess = threadCountGuess * 2; + threads = new Thread[threadCountGuess]; + root.enumerate(threads, true); + } while (threads[threadCountGuess-1] != null); + + + for (Thread thread: threads) { + if (thread != null) { + if (JNLPRuntime.isDebug()) { + System.err.println("Setting " + classLoader + " as the classloader for thread " + thread.getName()); + } + thread.setContextClassLoader(classLoader); + } + } + } /** From omajid at redhat.com Thu Jul 9 14:30:39 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 09 Jul 2009 17:30:39 -0400 Subject: RFC: Netx - Set JNLPClassloader as the classloader for system created threads In-Reply-To: <20090709184505.GD18099@redhat.com> References: <4A561377.2020705@redhat.com> <20090709184505.GD18099@redhat.com> Message-ID: <4A56617F.6050302@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-09 11:58]: >> Hi, >> >> The attached patch makes JNLPClassLoader the context classloader for >> threads created before the JNLP application starts. This deals with the >> case where the JNLP application needs a previously created thread (such >> as the Swing Event Dispatch Thread) to load a resource provided by the >> application. >> >> Bugs: >> https://bugzilla.redhat.com/show_bug.cgi?id=509301 >> http://kenai.com/jira/browse/TRIDENT-1?focusedCommentId=15776&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_15776 >> >> >> ChangeLog: >> 2009-07-09 Omair Majid >> >> * rt/net/sourceforge/jnlp/Launcher.java >> (launchApplication): Call setContextClassLoaderForAllThreads. >> (setContextClassLoaderForAllThreads): New function. >> >> Any comments? >> > > Assuming you have tested this, go ahead and apply. > Thanks. Pushed as changeset 7acbff01007f. Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Thu Jul 9 15:00:33 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 09 Jul 2009 22:00:33 +0000 Subject: [Bug 364] New: NPE in AccessControlContext Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=364 Summary: NPE in AccessControlContext Product: IcedTea Version: unspecified Platform: PC URL: https://jira.jboss.org/jira/browse/JBAS-7049 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: david.lloyd at redhat.com There's a null check missing in OpenJDK 6 that was fixed in 7. we (well, another jboss guy really) found an NPE in AccessControlContext.java that's already fixed in 7 dmlloyd_, if you happen to know the commit that fixed it, then it will be easy to backport. hmm now we learn how well I know hg :) yes! looks like ref 65, but I'll double-check to be sure rev* yup, rev 65 of src/share/classes/java/security/AccessControlContext.java, back in 2008 I guess ref 65 is your local ref but indeed, I found it. changeset: 74:7dc3b56f220f user: xuelei date: Sat Mar 15 13:43:05 2008 -0400 summary: 6648816: REGRESSION: setting -Djava.security.debug=failure result in NPE in ACC dmlloyd_, feel free to create a bug report in http://icedtea.classpath.org/bugzilla and we take it from there. for now though, good night and sleep well ok, thanks -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From a.radke at arcor.de Thu Jul 9 23:34:24 2009 From: a.radke at arcor.de (Andreas Radke) Date: Fri, 10 Jul 2009 08:34:24 +0200 Subject: Interactive brokers fails to start Message-ID: <20090710083424.565b2bd8@workstation64.home> I'm running ArchLinux with openjdk6 java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5) (ArchLinux-1.5-4-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode) and I cannot open the broker software from http://www.interactivebrokers.com/de/p.php?f=tws&ib_entity=de the browser will stop to open it and the downloaded version under "UNIX Download" fails with the attached log. I confirmed that the downloaded version works with SUNs jre. Any idea? -Andy -------------- next part -------------- A non-text attachment was scrubbed... Name: hs_err_pid7301.log Type: text/x-log Size: 27283 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090710/5ac4bea4/hs_err_pid7301.log From bugzilla-daemon at icedtea.classpath.org Fri Jul 10 06:12:44 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 10 Jul 2009 13:12:44 +0000 Subject: [Bug 365] New: IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 Summary: IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: odoepner at gmail.com # This happens frequently on Debian Lenny with OpenJDK 6b11-9.1+lenny2 : # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fcb60fce0e6, pid=17711, tid=1102248272 # # Java VM: OpenJDK 64-Bit Server VM (1.6.0_0-b11 mixed mode linux-amd64) # Problematic frame: # V [libjvm.so+0x4760e6] # # An error report file with more information is saved as: # /tmp/hs_err_pid17711.log # # If you would like to submit a bug report, please visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 10 06:14:58 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 10 Jul 2009 13:14:58 +0000 Subject: [Bug 365] IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 ------- Comment #1 from odoepner at gmail.com 2009-07-10 13:14 ------- Created an attachment (id=245) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=245&action=view) generated error report file Attached the generated error report file (/tmp/hs_err_pid17711.log). -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From langel at redhat.com Fri Jul 10 06:40:02 2009 From: langel at redhat.com (Lillian Angel) Date: Fri, 10 Jul 2009 09:40:02 -0400 Subject: glibc/execvpe issue and openjdk In-Reply-To: <4A5645B1.2040608@redhat.com> References: <4A5645B1.2040608@redhat.com> Message-ID: <4A5744B2.8010404@redhat.com> CC'ing distro in case anyone else knows about this. Lillian Angel wrote: > Hi Martin, > > I am having trouble building IcedTea6 on Fedora 12 > (http://koji.fedoraproject.org/koji/getfile?taskID=1463798&name=build.log), > it seems because this bug was fixed in glibc-2.10-3: > http://sourceware.org/bugzilla/show_bug.cgi?id=10221 > > Do you have a patch for IcedTea/OpenJDK to get around this? > > > Cheers, > Lillian > From langel at redhat.com Fri Jul 10 07:18:40 2009 From: langel at redhat.com (Lillian Angel) Date: Fri, 10 Jul 2009 10:18:40 -0400 Subject: execvpe and glibc 2.10 In-Reply-To: <1ccfd1c10907091407q1557c49s6338614925808a23@mail.gmail.com> References: <1ccfd1c10907091407q1557c49s6338614925808a23@mail.gmail.com> Message-ID: <4A574DC0.1020104@redhat.com> Thanks! Martin Buchholz wrote: > Sorry, I should never have named a function (not even a static one) > 'execvpe'. It's amusing that I broke myself by requesting that glibc > implement 'execvpe'. > > Here's the webrev: > > http://cr.openjdk.java.net/~martin/webrevs/openjdk7/rename-execvpe/ > > > For those following things, there are now 3 pending patches for > UNIXProcess_md.c: > > rename-execvpe > vfork-exec > RESTARTABLE > > and there are more to come. > > Martin > > On Thu, Jul 9, 2009 at 12:32, Lillian Angel > wrote: > > Hi Martin, > > I am having trouble building IcedTea6 on Fedora 12 > (http://koji.fedoraproject.org/koji/getfile?taskID=1463798&name=build.log > ), > it seems because this bug was fixed in glibc-2.10-3: > http://sourceware.org/bugzilla/show_bug.cgi?id=10221 > > Do you have a patch for IcedTea/OpenJDK to get around this? > From omajid at redhat.com Fri Jul 10 08:51:07 2009 From: omajid at redhat.com (Omair Majid) Date: Fri, 10 Jul 2009 11:51:07 -0400 Subject: RFC: Netx - Use version based download protocol for JNLP files Message-ID: <4A57636B.7000503@redhat.com> Hi, This patch makes Netx use the version based download protocol for JNLP files. Netx tries to use the version based download protocol whenever possible to download files. This wasn't being done for JNLP file that were specified as extensions by other JNLP files. This patch fixes the issue making JNLP applications like aerith[1] work. This is also required to run JavaFX applications. While adding that support, I noticed that function arguments that involved Urls and versions were inconsistent: some used function(URL, Version, blah) while others used function(URL, blah, Version). I have tried to fix them to be function(URL, Version, blah) consistently. ChangeLog: 2009-07-10 Omair Majid * rt/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): Delegate to the Version-based constructor. (JNLPFile): New constructor. (JNLPFile): Modified to take an additional version argument used in downloading the JNLP file. (openURL): Take an additional version argument and use when downloading the URL. * rt/net/sourceforge/jnlp/Launcher.java (toFile): Use the new JNLPFile constructor. * rt/net/sourceforge/jnlp/cache/Resource.java (Resource): Rearrange argument order. (getResource): Likewise. Fix parameters to constructor. * rt/net/sourceforge/jnlp/cache/ResourceTracker.java (addResource): Fix arguments to Resource.getResource. * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Take additional version argument and useit when creating a JNLPFile. (initializeExtensions): Use the extension version when requesting a JNLPClassLoader. Any comments? Cheers, Omair [1] https://aerith.dev.java.net/ -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-versioned-jnlp.patch Type: text/x-patch Size: 7497 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090710/8396ada0/netx-versioned-jnlp.patch From bugzilla-daemon at icedtea.classpath.org Fri Jul 10 11:03:08 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 10 Jul 2009 18:03:08 +0000 Subject: [Bug 332] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=332 ------- Comment #1 from mwong at redhat.com 2009-07-10 18:03 ------- Yes, the log can be uploaded, just click Create a New Attachment. Man Lung Wong -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From a.radke at arcor.de Fri Jul 10 11:10:51 2009 From: a.radke at arcor.de (Andreas Radke) Date: Fri, 10 Jul 2009 20:10:51 +0200 Subject: Interactive brokers fails to start In-Reply-To: <20090710083424.565b2bd8@workstation64.home> References: <20090710083424.565b2bd8@workstation64.home> Message-ID: <20090710201051.3f50ce06@workstation64.home> Am Fri, 10 Jul 2009 08:34:24 +0200 schrieb Andreas Radke : > I'm running ArchLinux with openjdk6 java -version > java version "1.6.0_0" > OpenJDK Runtime Environment (IcedTea6 1.5) (ArchLinux-1.5-4-x86_64) > OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode) > > and I cannot open the broker software from > http://www.interactivebrokers.com/de/p.php?f=tws&ib_entity=de > > the browser will stop to open it and the downloaded version under > "UNIX Download" fails with the attached log. I confirmed that the > downloaded version works with SUNs jre. > > Any idea? > > -Andy This is probably because we have updated to libjpeg ver.7 Where are the libjpeg62 hardcoded paths? Is there a patch available? -Andy From a.radke at arcor.de Fri Jul 10 12:21:32 2009 From: a.radke at arcor.de (Andreas Radke) Date: Fri, 10 Jul 2009 21:21:32 +0200 Subject: Interactive brokers fails to start In-Reply-To: <20090710201051.3f50ce06@workstation64.home> References: <20090710083424.565b2bd8@workstation64.home> <20090710201051.3f50ce06@workstation64.home> Message-ID: <20090710212132.59cb778e@workstation64.home> Am Fri, 10 Jul 2009 20:10:51 +0200 schrieb Andreas Radke : > Am Fri, 10 Jul 2009 08:34:24 +0200 > schrieb Andreas Radke : > > > I'm running ArchLinux with openjdk6 java -version > > java version "1.6.0_0" > > OpenJDK Runtime Environment (IcedTea6 1.5) (ArchLinux-1.5-4-x86_64) > > OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode) > > > > and I cannot open the broker software from > > http://www.interactivebrokers.com/de/p.php?f=tws&ib_entity=de > > > > the browser will stop to open it and the downloaded version under > > "UNIX Download" fails with the attached log. I confirmed that the > > downloaded version works with SUNs jre. > > > > Any idea? > > > > -Andy > > This is probably because we have updated to libjpeg ver.7 > > Where are the libjpeg62 hardcoded paths? Is there a patch available? > > -Andy > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2008-February/001142.html reverted that patch. application still crashes the same way. -Andy From bugzilla-daemon at icedtea.classpath.org Fri Jul 10 12:20:48 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 10 Jul 2009 19:20:48 +0000 Subject: [Bug 336] Add support for JSR-200 to javaws and appletviewer Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=336 omajid at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED ------- Comment #7 from omajid at redhat.com 2009-07-10 19:20 ------- Patch applied as changeset 02e02b5a01c0: http://icedtea.classpath.org/hg/icedtea6/rev/02e02b5a01c0 Please reopen this bug if you experience any issues. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Fri Jul 10 15:44:47 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 10 Jul 2009 18:44:47 -0400 Subject: RFE: Patch to fix jar signature verification Message-ID: <20090710224447.GA32059@redhat.com> Hi, Currently, we use JarInputStream when reading the jar to verify signatures. JarInputStream does not work unless manifest file is the first file in the jar. As a result, signed jars end up being treated as unsigned, causing those applets to not work. This patch fixes that by using JarFile instead, which does not have the "manifest must be first" restriction. Fixes: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=325 https://bugzilla.redhat.com/show_bug.cgi?id=502318 ChangeLog: * plugin/icedtea/sun/applet/PluginMessageConsumer.java: Fix minor typo in how max worker count is interpreted. * rt/net/sourceforge/jnlp/tools/JarSigner.java: use JarFile instead of JarInputstream when verifying jars. Deepak -------------- next part -------------- A non-text attachment was scrubbed... Name: IT-325-RHBZ-502318.patch Type: text/x-patch Size: 3182 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090710/92f3aae7/IT-325-RHBZ-502318.patch From dbhole at redhat.com Fri Jul 10 15:57:41 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 10 Jul 2009 22:57:41 +0000 Subject: changeset in /hg/icedtea6: Commit changes to the new np plugin. ... Message-ID: changeset dd1ce0a6da73 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dd1ce0a6da73 description: Commit changes to the new np plugin. These changes do a lot of things to list. But most notably, they: - Lay down the scriptability framework. - Implement the new MessageBus architecture that is independent of how messages are passed. - Implement GetWindow and GetMember (partially) as proof of concept for message passing, threading, unicode translation, etc. ChangeLog: * Makefile.am: Update makefile to pick up plugin C++ files from new location. * plugin/icedtea/sun/applet/PluginMessageConsumer.java : Minor typo fix. * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: New file. Processes requests from JS/C++ side to JavaSide. * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: New file. Header for IcedTeaJavaRequestProcessor.cc. * plugin/icedteanp/IcedTeaNPPlugin.cc: Modified to work with the new MessageBus archtecture for the new plugin. Also, moved from top level directory. * plugin/icedteanp/IcedTeaNPPlugin.h: New file. Header for IcedTeaNPPlugin.cc. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: New file. Processes plugin data requests from Java side. * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: new file. Header for IcedTeaPluginRequestProcessor.cc. * plugin/icedteanp/IcedTeaPluginUtils.cc: New file. Utility functions for the rest of the plugin code. * plugin/icedteanp/IcedTeaPluginUtils.h: New file. Header for IcedTeaPluginUtils.cc. * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: New file. Scriptable object that extends NPObject and implements hooks from NPClass. * plugin/icedteanp/IcedTeaScriptablePluginObject.h: New file. Header for IcedTeaScriptablePluginObject.h * plugin/icedtea/sun/applet/PluginMessageConsumer.java: Sync with current plugin. * plugin/icedteanp/sun/applet/PluginAppletSecurityContext.java: Same. * plugin/icedteanp/sun/applet/PluginAppletViewer.java: Same. * plugin/icedteanp/sun/applet/PluginCallRequestFactory.java: Same. * plugin/icedteanp/sun/applet/PluginCookieInfoRequest.java: Same * plugin/icedteanp/sun/applet/PluginCookieStore.java: Same. * plugin/icedteanp/sun/applet/PluginMain.java: Same. * plugin/icedteanp/sun/applet/PluginMessageConsumer.java: Same. * rt/net/sourceforge/jnlp/tools/JarSigner.java: Use JarFile instead of JarInputstream when verifying jars. diffstat: 22 files changed, 4471 insertions(+), 2087 deletions(-) ChangeLog | 38 IcedTeaNPPlugin.cc | 2006 --------- Makefile.am | 26 plugin/icedtea/sun/applet/PluginMessageConsumer.java | 2 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 195 plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 107 plugin/icedteanp/IcedTeaNPPlugin.cc | 2071 ++++++++++ plugin/icedteanp/IcedTeaNPPlugin.h | 90 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 420 ++ plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 108 plugin/icedteanp/IcedTeaPluginUtils.cc | 583 ++ plugin/icedteanp/IcedTeaPluginUtils.h | 244 + plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 113 plugin/icedteanp/IcedTeaScriptablePluginObject.h | 87 plugin/icedteanp/sun/applet/PluginAppletSecurityContext.java | 2 plugin/icedteanp/sun/applet/PluginAppletViewer.java | 238 - plugin/icedteanp/sun/applet/PluginCallRequestFactory.java | 2 plugin/icedteanp/sun/applet/PluginCookieInfoRequest.java | 122 plugin/icedteanp/sun/applet/PluginCookieStore.java | 73 plugin/icedteanp/sun/applet/PluginMain.java | 6 plugin/icedteanp/sun/applet/PluginMessageConsumer.java | 2 rt/net/sourceforge/jnlp/tools/JarSigner.java | 23 diffs (truncated from 6899 to 500 lines): diff -r 1c9399ade69e -r dd1ce0a6da73 ChangeLog --- a/ChangeLog Fri Jul 10 13:12:21 2009 -0400 +++ b/ChangeLog Fri Jul 10 19:02:10 2009 -0400 @@ -1,3 +1,41 @@ 2009-07-10 Lillian Angel + + * Makefile.am: Update makefile to pick up plugin C++ files from new + location. + * plugin/icedtea/sun/applet/PluginMessageConsumer.java : Minor typo fix. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: New file. Processes + requests from JS/C++ side to JavaSide. + * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: New file. Header for + IcedTeaJavaRequestProcessor.cc. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Modified to work with the new + MessageBus archtecture for the new plugin. Also, moved from top level + directory. + * plugin/icedteanp/IcedTeaNPPlugin.h: New file. Header for + IcedTeaNPPlugin.cc. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: New file. Processes + plugin data requests from Java side. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: new file. Header for + IcedTeaPluginRequestProcessor.cc. + * plugin/icedteanp/IcedTeaPluginUtils.cc: New file. Utility functions for + the rest of the plugin code. + * plugin/icedteanp/IcedTeaPluginUtils.h: New file. Header for + IcedTeaPluginUtils.cc. + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: New file. Scriptable + object that extends NPObject and implements hooks from NPClass. + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: New file. Header for + IcedTeaScriptablePluginObject.h + * plugin/icedtea/sun/applet/PluginMessageConsumer.java: Sync with current + plugin. + * plugin/icedteanp/sun/applet/PluginAppletSecurityContext.java: Same. + * plugin/icedteanp/sun/applet/PluginAppletViewer.java: Same. + * plugin/icedteanp/sun/applet/PluginCallRequestFactory.java: Same. + * plugin/icedteanp/sun/applet/PluginCookieInfoRequest.java: Same + * plugin/icedteanp/sun/applet/PluginCookieStore.java: Same. + * plugin/icedteanp/sun/applet/PluginMain.java: Same. + * plugin/icedteanp/sun/applet/PluginMessageConsumer.java: Same. + * rt/net/sourceforge/jnlp/tools/JarSigner.java: Use JarFile instead of + JarInputstream when verifying jars. + 2009-07-10 Lillian Angel * patches/icedtea-graphics.patch: Updated patch to fix Sun bugs 6491856 and diff -r 1c9399ade69e -r dd1ce0a6da73 IcedTeaNPPlugin.cc --- a/IcedTeaNPPlugin.cc Fri Jul 10 13:12:21 2009 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2006 +0,0 @@ -/* gcjwebplugin.cc -- web browser plugin to execute Java applets - Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -// System includes. -#include -#include -#include -#include -#include -#include -#include -#include - -// Netscape plugin API includes. -#include -#include - -// GLib includes. -#include -#include - -// GTK includes. -#include - -// Documentbase retrieval includes. -#include -#include -#include - -// API's into Mozilla -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -// Debugging macros. -#define PLUGIN_DEBUG(message) \ - g_print ("GCJ PLUGIN: thread %p: %s\n", g_thread_self (), message) - -#define PLUGIN_DEBUG_TWO(first, second) \ - g_print ("GCJ PLUGIN: thread %p: %s %s\n", g_thread_self (), \ - first, second) - -// Error reporting macros. -#define PLUGIN_ERROR(message) \ - g_printerr ("%s:%d: thread %p: Error: %s\n", __FILE__, __LINE__, \ - g_thread_self (), message) - -#define PLUGIN_ERROR_TWO(first, second) \ - g_printerr ("%s:%d: thread %p: Error: %s: %s\n", __FILE__, __LINE__, \ - g_thread_self (), first, second) - -#define PLUGIN_ERROR_THREE(first, second, third) \ - g_printerr ("%s:%d: thread %p: Error: %s: %s: %s\n", __FILE__, \ - __LINE__, g_thread_self (), first, second, third) - -// Plugin information passed to about:plugins. -#define PLUGIN_NAME "IcedTea NPR Web Browser Plugin (using IcedTea)" -#define PLUGIN_DESC "The " PLUGIN_NAME PLUGIN_VERSION " executes Java applets." -#define PLUGIN_MIME_DESC \ - "application/x-java-vm:class,jar:IcedTea;" \ - "application/x-java-applet:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.1.3:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.2.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.2.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.3:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.3.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.4:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.4.1:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.4.2:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.5:class,jar:IcedTea;" \ - "application/x-java-applet;version=1.6:class,jar:IcedTea;" \ - "application/x-java-applet;jpi-version=1.6.0_00:class,jar:IcedTea;" \ - "application/x-java-bean:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.1.3:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.2.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.2.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.3:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.3.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.4:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.4.1:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.4.2:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.5:class,jar:IcedTea;" \ - "application/x-java-bean;version=1.6:class,jar:IcedTea;" \ - "application/x-java-bean;jpi-version=1.6.0_00:class,jar:IcedTea;" -#define PLUGIN_URL NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE -#define PLUGIN_MIME_TYPE "application/x-java-vm" -#define PLUGIN_FILE_EXTS "class,jar,zip" -#define PLUGIN_MIME_COUNT 1 - -#define FAILURE_MESSAGE "gcjwebplugin error: Failed to run %s." \ - " For more detail rerun \"firefox -g\" in a terminal window." - -static int plugin_debug = 1; - -#define PLUGIN_DEBUG_0ARG(str) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf(stderr, "GCJ PLUGIN: thread %p: ", g_thread_self ()); \ - fprintf(stderr, str); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_1ARG(str, arg1) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf(stderr, "GCJ PLUGIN: thread %p: ", g_thread_self ()); \ - fprintf(stderr, str, arg1); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_2ARG(str, arg1, arg2) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf(stderr, "GCJ PLUGIN: thread %p: ", g_thread_self ()); \ - fprintf(stderr, str, arg1, arg2); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_3ARG(str, arg1, arg2, arg3) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf(stderr, "GCJ PLUGIN: thread %p: ", g_thread_self ()); \ - fprintf(stderr, str, arg1, arg2, arg3); \ - } \ - } while (0) - -#define PLUGIN_DEBUG_4ARG(str, arg1, arg2, arg3, arg4) \ - do \ - { \ - if (plugin_debug) \ - { \ - fprintf(stderr, "GCJ PLUGIN: thread %p: ", g_thread_self ()); \ - fprintf(stderr, str, arg1, arg2, arg3, arg4); \ - } \ - } while (0) - -// Documentbase retrieval required definition. -static NS_DEFINE_IID (kIPluginTagInfo2IID, NS_IPLUGINTAGINFO2_IID); - -// Browser function table. -static NPNetscapeFuncs browserFunctions; - -// Data directory for plugin. -static gchar* data_directory = NULL; - -// Fully-qualified appletviewer executable. -static gchar* appletviewer_executable = NULL; - -// Applet viewer input channel (needs to be static because it is used in plugin_in_pipe_callback) -static GIOChannel* in_from_appletviewer = NULL; - -// Applet viewer input pipe name. -gchar* in_pipe_name; - -// Applet viewer input watch source. -gint in_watch_source; - -// Applet viewer output pipe name. -gchar* out_pipe_name; - -// Applet viewer output watch source. -gint out_watch_source; - -// Applet viewer output channel. -GIOChannel* out_to_appletviewer; - -// Tracks jvm status -gboolean jvm_up = FALSE; - -// Keeps track of initialization. NP_Initialize should only be -// called once. -gboolean initialized = false; - -GQuark ITNP_PLUGIN_ERROR = g_quark_from_string("IcedTeaNPPlugin"); - -// GCJPluginData stores all the data associated with a single plugin -// instance. A separate plugin instance is created for each -// tag. For now, each plugin instance spawns its own applet viewer -// process but this may need to change if we find pages containing -// multiple applets that expect to be running in the same VM. -struct GCJPluginData -{ - // A unique identifier for this plugin window. - gchar* instance_string; - // Mutex to protect appletviewer_alive. - GMutex* appletviewer_mutex; - // Back-pointer to the plugin instance to which this data belongs. - // This should not be freed but instead simply set to NULL. - NPP owner; - // The address of the plugin window. This should not be freed but - // instead simply set to NULL. - gpointer window_handle; - // The last plugin window width sent to us by the browser. - guint32 window_width; - // The last plugin window height sent to us by the browser. - guint32 window_height; -}; - -// Documentbase retrieval type-punning union. -typedef union -{ - void** void_field; - nsIPluginTagInfo2** info_field; -} info_union; - -// Static instance helper functions. -// Have the browser allocate a new GCJPluginData structure. -static void plugin_data_new (GCJPluginData** data); -// Retrieve the current document's documentbase. -static gchar* plugin_get_documentbase (NPP instance); -// Notify the user that the appletviewer is not installed correctly. -static void plugin_display_failure_dialog (); -// Callback used to monitor input pipe status. -static gboolean plugin_in_pipe_callback (GIOChannel* source, - GIOCondition condition, - gpointer plugin_data); -// Callback used to monitor output pipe status. -static gboolean plugin_out_pipe_callback (GIOChannel* source, - GIOCondition condition, - gpointer plugin_data); -static NPError plugin_start_appletviewer (GCJPluginData* data); -static gchar* plugin_create_applet_tag (int16 argc, char* argn[], - char* argv[]); -static void plugin_send_message_to_appletviewer (gchar const* message); -static void plugin_stop_appletviewer (); -// Uninitialize GCJPluginData structure -static void plugin_data_destroy (NPP instance); - -NS_IMETHODIMP get_cookie_info(const char* siteAddr, char** cookieString); -void get_proxy_info(const char* siteAddr, char** proxy_scheme, char** proxy_host, char** proxy_port, GError *error); -void decode_url(const gchar* url, gchar** decoded_url); -void consume_message(gchar* message); -void start_jvm_if_needed(); -static void appletviewer_monitor(GPid pid, gint status, gpointer data); - -// Global instance counter. -// Mutex to protect plugin_instance_counter. -static GMutex* plugin_instance_mutex = NULL; -// A global variable for reporting GLib errors. This must be free'd -// and set to NULL after each use. -static GError* channel_error = NULL; - -static GHashTable* instance_to_id_map = g_hash_table_new(NULL, NULL); -static GHashTable* id_to_instance_map = g_hash_table_new(NULL, NULL); -static gint instance_counter = 1; -static GPid appletviewer_pid = -1; -static guint appletviewer_watch_id = -1; - -// Functions prefixed by GCJ_ are instance functions. They are called -// by the browser and operate on instances of GCJPluginData. -// Functions prefixed by plugin_ are static helper functions. -// Functions prefixed by NP_ are factory functions. They are called -// by the browser and provide functionality needed to create plugin -// instances. - -// INSTANCE FUNCTIONS - -// Creates a new gcjwebplugin instance. This function creates a -// GCJPluginData* and stores it in instance->pdata. The following -// GCJPluginData fiels are initialized: instance_string, in_pipe_name, -// in_from_appletviewer, in_watch_source, out_pipe_name, -// out_to_appletviewer, out_watch_source, appletviewer_mutex, owner, -// appletviewer_alive. In addition two pipe files are created. All -// of those fields must be properly destroyed, and the pipes deleted, -// by GCJ_Destroy. If an error occurs during initialization then this -// function will free anything that's been allocated so far, set -// instance->pdata to NULL and return an error code. -NPError -GCJ_New (NPMIMEType pluginType, NPP instance, uint16 mode, - int16 argc, char* argn[], char* argv[], - NPSavedData* saved) -{ - PLUGIN_DEBUG ("GCJ_New"); - - NPError np_error = NPERR_NO_ERROR; - GCJPluginData* data = NULL; - - gchar* documentbase = NULL; - gchar* read_message = NULL; - gchar* applet_tag = NULL; - gchar* tag_message = NULL; - gchar* cookie_info = NULL; - - if (!instance) - { - PLUGIN_ERROR ("Browser-provided instance pointer is NULL."); - np_error = NPERR_INVALID_INSTANCE_ERROR; - goto cleanup_done; - } - - // data - plugin_data_new (&data); - if (data == NULL) - { - PLUGIN_ERROR ("Failed to allocate plugin data."); - np_error = NPERR_OUT_OF_MEMORY_ERROR; - goto cleanup_done; - } - - // start the jvm if needed - start_jvm_if_needed(); - - // Initialize data->instance_string. - // - // instance_string should be unique for this process so we use a - // combination of getpid and plugin_instance_counter. - // - // Critical region. Reference and increment plugin_instance_counter - // global. - g_mutex_lock (plugin_instance_mutex); - - // data->instance_string - data->instance_string = g_strdup_printf ("%d", - instance_counter); - - g_mutex_unlock (plugin_instance_mutex); - - // data->appletviewer_mutex - data->appletviewer_mutex = g_mutex_new (); - - g_mutex_lock (data->appletviewer_mutex); - - // Documentbase retrieval. - documentbase = plugin_get_documentbase (instance); - if (!documentbase) - { - PLUGIN_ERROR ("Documentbase retrieval failed." - " Browser not Mozilla-based?"); - goto cleanup_appletviewer_mutex; - } - - // Send applet tag message to appletviewer. - applet_tag = plugin_create_applet_tag (argc, argn, argv); - - tag_message = (gchar*) malloc(strlen(applet_tag)*sizeof(gchar) + 1024); - g_sprintf(tag_message, "instance %d tag %s %s", instance_counter, documentbase, applet_tag); - - //plugin_send_message_to_appletviewer (data, data->instance_string); - plugin_send_message_to_appletviewer (tag_message); - - //send cookie information - char* cookie_string; - if (get_cookie_info(documentbase, &cookie_string) == NS_OK) - { - cookie_info = (gchar*) malloc(sizeof(cookie_string) + 1024); - g_sprintf(cookie_info, "instance %d cookie %s", instance_counter, cookie_string); - } - else - { - cookie_info = (gchar*) malloc(1024); - g_sprintf(cookie_info, "instance %d cookie", instance_counter); - } - - plugin_send_message_to_appletviewer (cookie_info); - - g_mutex_unlock (data->appletviewer_mutex); - - // If initialization succeeded entirely then we store the plugin - // data in the instance structure and return. Otherwise we free the - // data we've allocated so far and set instance->pdata to NULL. - - // Set back-pointer to owner instance. - data->owner = instance; - instance->pdata = data; - goto cleanup_done; - - cleanup_appletviewer_mutex: - g_free (data->appletviewer_mutex); - data->appletviewer_mutex = NULL; - - // cleanup_instance_string: - g_free (data->instance_string); - data->instance_string = NULL; - - // cleanup_data: - // Eliminate back-pointer to plugin instance. - data->owner = NULL; - (*browserFunctions.memfree) (data); - data = NULL; - - // Initialization failed so return a NULL pointer for the browser - // data. - instance->pdata = NULL; - - cleanup_done: - g_free (tag_message); - tag_message = NULL; - g_free (applet_tag); - applet_tag = NULL; - g_free (read_message); From bugzilla-daemon at icedtea.classpath.org Fri Jul 10 23:04:03 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 11 Jul 2009 06:04:03 +0000 Subject: [Bug 366] New: [powerpc] shark enabled openjdk-6 20090710 fails with llvm 20090710 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=366 Summary: [powerpc] shark enabled openjdk-6 20090710 fails with llvm 20090710 Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: doko at ubuntu.com the stage1 jvm built with gcj fails with: mkdir -p stamps touch stamps/bootstrap-directory.stamp mkdir -p bootstrap rm -f bootstrap/jdk1.6.0 ln -sf /home/doko/openjdk/openjdk-6-6b16~pre4/build/bootstrap/icedtea bootstrap/jdk1.6.0; \ if ! bootstrap/jdk1.6.0/bin/java -version ; \ then \ echo "bootstrap/jdk1.6.0/bin/java" \ "cannot be found or is corrupted." ; \ exit 1; \ fi java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5) (6b16~pre4-0ubuntu4) OpenJDK Shark VM (build 14.0-b15, mixed mode) java: /build/buildd/llvm-2.5+svn20090710/lib/Target/PowerPC/PPCISelLowering.cpp:1159: llvm::SDValue llvm::PPCTargetLowering::LowerGlobalTLSAddress(llvm::SDValue, llvm::SelectionDAG&): Assertion `0 && "TLS not implemented for PPC."' failed. Stack dump: 0. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@"java.lang.String::hashCode"' /bin/bash: line 6: 25211 Aborted bootstrap/jdk1.6.0/bin/java -version bootstrap/jdk1.6.0/bin/java cannot be found or is corrupted. make[1]: *** [stamps/bootstrap-directory-symlink.stamp] Error 1 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sat Jul 11 09:20:35 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 11 Jul 2009 16:20:35 +0000 Subject: [Bug 367] New: Interactive brokers fails / libjpeg7 related? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 Summary: Interactive brokers fails / libjpeg7 related? Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: a.radke at arcor.de I'm running ArchLinux with openjdk6 java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.5) (ArchLinux-1.5-4-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b15, mixed mode) and I cannot open the broker software from http://www.interactivebrokers.com/de/p.php?f=tws&ib_entity=de the browser will stop to open it and the downloaded version under "UNIX Download" fails. I confirmed that the downloaded version works with SUNs jre. I have another report Openjdk6 failing another application on jpeg action. I've already tried to revert the hardcoded paths to libjpeg.so.7 http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2008-February/001142.html without success. Any idea if libjpeg update indeed causes the crash and how to solve it? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sat Jul 11 09:21:29 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 11 Jul 2009 16:21:29 +0000 Subject: [Bug 367] Interactive brokers fails / libjpeg7 related? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 ------- Comment #1 from a.radke at arcor.de 2009-07-11 16:21 ------- Created an attachment (id=246) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=246&action=view) crash.log -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From a.radke at arcor.de Sat Jul 11 09:25:32 2009 From: a.radke at arcor.de (Andreas Radke) Date: Sat, 11 Jul 2009 18:25:32 +0200 Subject: Interactive brokers fails to start In-Reply-To: <20090710212132.59cb778e@workstation64.home> References: <20090710083424.565b2bd8@workstation64.home> <20090710201051.3f50ce06@workstation64.home> <20090710212132.59cb778e@workstation64.home> Message-ID: <20090711182532.2cfdadef@workstation64.home> filed a bug... http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 From bugzilla-daemon at icedtea.classpath.org Sat Jul 11 13:08:05 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 11 Jul 2009 20:08:05 +0000 Subject: [Bug 289] Gentoo QA Notice: "poor programming practices" Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=289 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED ------- Comment #8 from gnu_andrew at member.fsf.org 2009-07-11 20:08 ------- Upstream: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/880896883a47 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From braden at endoframe.com Mon Jul 13 01:50:27 2009 From: braden at endoframe.com (Braden McDaniel) Date: Mon, 13 Jul 2009 04:50:27 -0400 Subject: Finding OpenJDK include paths Message-ID: <1247475027.6944.8503.camel@localhost> When building a Fedora package that uses JNI, I've found it necessary to set CPPFLAGS as such: CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" Is there any more clever mechanism available? -- Braden McDaniel From omajid at redhat.com Mon Jul 13 06:43:17 2009 From: omajid at redhat.com (Omair Majid) Date: Mon, 13 Jul 2009 09:43:17 -0400 Subject: Finding OpenJDK include paths In-Reply-To: <1247475027.6944.8503.camel@localhost> References: <1247475027.6944.8503.camel@localhost> Message-ID: <4A5B39F5.9080000@redhat.com> Braden McDaniel wrote: > When building a Fedora package that uses JNI, I've found it necessary to > set CPPFLAGS as such: > > CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" > > Is there any more clever mechanism available? > You might want to take a look at this: http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Mon Jul 13 06:54:34 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 13 Jul 2009 13:54:34 +0000 Subject: [Bug 330] Fedora 10 vuze SWT crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=330 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-13 13:54 ------- Hi Stu, Are you still getting these crashes post-upgrade? If so, can you post log as attachment and describe what prompts this (if anything in particular). I have not been able to reproduce this. (will close if no response in ~1 week). thx -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Mon Jul 13 11:07:48 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 13 Jul 2009 14:07:48 -0400 Subject: RFC: Netx - Use version based download protocol for JNLP files In-Reply-To: <4A57636B.7000503@redhat.com> References: <4A57636B.7000503@redhat.com> Message-ID: <20090713180748.GD3453@redhat.com> * Omair Majid [2009-07-10 11:51]: > Hi, > > This patch makes Netx use the version based download protocol for JNLP > files. > > Netx tries to use the version based download protocol whenever possible > to download files. This wasn't being done for JNLP file that were > specified as extensions by other JNLP files. This patch fixes the issue > making JNLP applications like aerith[1] work. This is also required to > run JavaFX applications. > > While adding that support, I noticed that function arguments that > involved Urls and versions were inconsistent: some used function(URL, > Version, blah) while others used function(URL, blah, Version). I have > tried to fix them to be function(URL, Version, blah) consistently. > > ChangeLog: > 2009-07-10 Omair Majid > > * rt/net/sourceforge/jnlp/JNLPFile.java > (JNLPFile): Delegate to the Version-based constructor. > (JNLPFile): New constructor. > (JNLPFile): Modified to take an additional version argument used in > downloading the JNLP file. > (openURL): Take an additional version argument and use when > downloading the URL. > * rt/net/sourceforge/jnlp/Launcher.java > (toFile): Use the new JNLPFile constructor. > * rt/net/sourceforge/jnlp/cache/Resource.java > (Resource): Rearrange argument order. > (getResource): Likewise. Fix parameters to constructor. > * rt/net/sourceforge/jnlp/cache/ResourceTracker.java > (addResource): Fix arguments to Resource.getResource. > * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (getInstance): Take additional version argument and useit when > creating a JNLPFile. > (initializeExtensions): Use the extension version when requesting a > JNLPClassLoader. > > Looks good. One question though.. why are the order of arguments to Resource() and getResource() being changed? Deepak > Any comments? > > Cheers, > Omair > > [1] https://aerith.dev.java.net/ > diff -r 7acbff01007f rt/net/sourceforge/jnlp/JNLPFile.java > --- a/rt/net/sourceforge/jnlp/JNLPFile.java Thu Jul 09 17:29:13 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Fri Jul 10 11:11:59 2009 -0400 > @@ -138,21 +138,36 @@ > * @throws ParseException if the JNLP file was invalid > */ > public JNLPFile(URL location, boolean strict) throws IOException, ParseException { > - this(location, strict, JNLPRuntime.getDefaultUpdatePolicy()); > + this(location, (Version) null, strict); > + } > + > + /** > + * Create a JNLPFile from a URL and a Version checking for updates using > + * the default policy. > + * > + * @param location the location of the JNLP file > + * @param version the version of the JNLP file > + * @param strict whether to enforce the spec when > + * @throws IOException if an IO exception occurred > + * @throws ParseException if the JNLP file was invalid > + */ > + public JNLPFile(URL location, Version version, boolean strict) throws IOException, ParseException { > + this(location, version, strict, JNLPRuntime.getDefaultUpdatePolicy()); > } > > /** > - * Create a JNLPFile from a URL checking for updates using the > - * specified policy. > + * Create a JNLPFile from a URL and a version, checking for updates > + * using the specified policy. > * > * @param location the location of the JNLP file > + * @param version the version of the JNLP file > * @param strict whether to enforce the spec when > * @param policy the update policy > * @throws IOException if an IO exception occurred > * @throws ParseException if the JNLP file was invalid > */ > - public JNLPFile(URL location, boolean strict, UpdatePolicy policy) throws IOException, ParseException { > - Node root = Parser.getRootNode(openURL(location, policy)); > + public JNLPFile(URL location, Version version, boolean strict, UpdatePolicy policy) throws IOException, ParseException { > + Node root = Parser.getRootNode(openURL(location, version, policy)); > parse(root, strict, location); > > this.fileLocation = location; > @@ -186,13 +201,13 @@ > * Open the jnlp file URL from the cache if there, otherwise > * download to the cache. Called from constructor. > */ > - private static InputStream openURL(URL location, UpdatePolicy policy) throws IOException { > + private static InputStream openURL(URL location, Version version, UpdatePolicy policy) throws IOException { > if (location == null || policy == null) > throw new IllegalArgumentException(R("NullParameter")); > > try { > ResourceTracker tracker = new ResourceTracker(false); // no prefetch > - tracker.addResource(location, null/*version*/, policy); > + tracker.addResource(location, version , policy); > > return tracker.getInputStream(location); > } > diff -r 7acbff01007f rt/net/sourceforge/jnlp/Launcher.java > --- a/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 09 17:29:13 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 10 11:11:59 2009 -0400 > @@ -337,10 +337,10 @@ > JNLPFile file = null; > > try { > - file = new JNLPFile(location, true, updatePolicy); // strict > + file = new JNLPFile(location, (Version) null, true, updatePolicy); // strict > } > catch (ParseException ex) { > - file = new JNLPFile(location, false, updatePolicy); > + file = new JNLPFile(location, (Version) null, false, updatePolicy); > > // only here if strict failed but lax did not fail > LaunchException lex = > diff -r 7acbff01007f rt/net/sourceforge/jnlp/cache/Resource.java > --- a/rt/net/sourceforge/jnlp/cache/Resource.java Thu Jul 09 17:29:13 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/cache/Resource.java Fri Jul 10 11:11:59 2009 -0400 > @@ -95,7 +95,7 @@ > /** > * Create a resource. > */ > - private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { > + private Resource(URL location, Version requestVersion, UpdatePolicy updatePolicy) { > this.location = location; > this.requestVersion = requestVersion; > this.updatePolicy = updatePolicy; > @@ -105,9 +105,9 @@ > * Return a shared Resource object representing the given > * location and version. > */ > - public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { > + public static Resource getResource(URL location, Version requestVersion, UpdatePolicy updatePolicy) { > synchronized (resources) { > - Resource resource = new Resource(location, updatePolicy, requestVersion); > + Resource resource = new Resource(location, requestVersion, updatePolicy); > > int index = resources.indexOf(resource); > if (index >= 0) { // return existing object > diff -r 7acbff01007f rt/net/sourceforge/jnlp/cache/ResourceTracker.java > --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Jul 09 17:29:13 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Fri Jul 10 11:11:59 2009 -0400 > @@ -168,7 +168,7 @@ > if (location == null) > throw new IllegalArgumentException("location==null"); > > - Resource resource = Resource.getResource(location, updatePolicy, version); > + Resource resource = Resource.getResource(location, version, updatePolicy); > boolean downloaded = false; > > synchronized (resources) { > diff -r 7acbff01007f rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Jul 09 17:29:13 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 10 11:11:59 2009 -0400 > @@ -51,6 +51,7 @@ > import net.sourceforge.jnlp.PluginBridge; > import net.sourceforge.jnlp.ResourcesDesc; > import net.sourceforge.jnlp.SecurityDesc; > +import net.sourceforge.jnlp.Version; > import net.sourceforge.jnlp.cache.CacheUtil; > import net.sourceforge.jnlp.cache.ResourceTracker; > import net.sourceforge.jnlp.cache.UpdatePolicy; > @@ -232,13 +233,15 @@ > * location. > * > * @param location the file's location > + * @param version the file's version > * @param policy the update policy to use when downloading resources > */ > - public static JNLPClassLoader getInstance(URL location, UpdatePolicy policy) throws IOException, ParseException, LaunchException { > + public static JNLPClassLoader getInstance(URL location, Version version, UpdatePolicy policy) > + throws IOException, ParseException, LaunchException { > JNLPClassLoader loader = (JNLPClassLoader) urlToLoader.get(location); > > if (loader == null) > - loader = getInstance(new JNLPFile(location, false, policy), policy); > + loader = getInstance(new JNLPFile(location, version, false, policy), policy); > > return loader; > } > @@ -256,7 +259,7 @@ > //if (ext != null) { > for (int i=0; i < ext.length; i++) { > try { > - JNLPClassLoader loader = getInstance(ext[i].getLocation(), updatePolicy); > + JNLPClassLoader loader = getInstance(ext[i].getLocation(), ext[i].getVersion(), updatePolicy); > loaderList.add(loader); > } > catch (Exception ex) { From omajid at redhat.com Mon Jul 13 11:28:15 2009 From: omajid at redhat.com (Omair Majid) Date: Mon, 13 Jul 2009 14:28:15 -0400 Subject: RFE: Patch to fix jar signature verification In-Reply-To: <20090710224447.GA32059@redhat.com> References: <20090710224447.GA32059@redhat.com> Message-ID: <4A5B7CBF.2080205@redhat.com> Deepak Bhole wrote: > Hi, > > Currently, we use JarInputStream when reading the jar to verify > signatures. JarInputStream does not work unless manifest file is the > first file in the jar. As a result, signed jars end up being treated as > unsigned, causing those applets to not work. > > This patch fixes that by using JarFile instead, which does not have the > "manifest must be first" restriction. > > Fixes: > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=325 > https://bugzilla.redhat.com/show_bug.cgi?id=502318 > > ChangeLog: > > * plugin/icedtea/sun/applet/PluginMessageConsumer.java: Fix minor typo in > how max worker count is interpreted. > * rt/net/sourceforge/jnlp/tools/JarSigner.java: use JarFile instead of > JarInputstream when verifying jars. > Looks good to me! Cheers, Omair From dbhole at redhat.com Mon Jul 13 11:48:41 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 13 Jul 2009 14:48:41 -0400 Subject: RFE: Patch to fix jar signature verification In-Reply-To: <4A5B7CBF.2080205@redhat.com> References: <20090710224447.GA32059@redhat.com> <4A5B7CBF.2080205@redhat.com> Message-ID: <20090713184841.GE3453@redhat.com> * Omair Majid [2009-07-13 14:28]: > Deepak Bhole wrote: >> Hi, >> >> Currently, we use JarInputStream when reading the jar to verify >> signatures. JarInputStream does not work unless manifest file is the >> first file in the jar. As a result, signed jars end up being treated as >> unsigned, causing those applets to not work. >> >> This patch fixes that by using JarFile instead, which does not have the >> "manifest must be first" restriction. >> >> Fixes: >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=325 >> https://bugzilla.redhat.com/show_bug.cgi?id=502318 >> >> ChangeLog: >> >> * plugin/icedtea/sun/applet/PluginMessageConsumer.java: Fix minor typo in >> how max worker count is interpreted. >> * rt/net/sourceforge/jnlp/tools/JarSigner.java: use JarFile instead of >> JarInputstream when verifying jars. >> > > Looks good to me! > Thanks! Just realized that I already accidentally committed the changes on Friday, when I committed the new plugin code. The rt/ directory is common to both old and new plugins .. so it went along with that. I guess there is nothing to do for this one. Thanks for reviewing! Deepak From omajid at redhat.com Mon Jul 13 11:47:10 2009 From: omajid at redhat.com (Omair Majid) Date: Mon, 13 Jul 2009 14:47:10 -0400 Subject: RFC: Netx - Use version based download protocol for JNLP files In-Reply-To: <20090713180748.GD3453@redhat.com> References: <4A57636B.7000503@redhat.com> <20090713180748.GD3453@redhat.com> Message-ID: <4A5B812E.10100@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-10 11:51]: >> Hi, >> >> This patch makes Netx use the version based download protocol for JNLP >> files. >> >> Netx tries to use the version based download protocol whenever possible >> to download files. This wasn't being done for JNLP file that were >> specified as extensions by other JNLP files. This patch fixes the issue >> making JNLP applications like aerith[1] work. This is also required to >> run JavaFX applications. >> >> While adding that support, I noticed that function arguments that >> involved Urls and versions were inconsistent: some used function(URL, >> Version, blah) while others used function(URL, blah, Version). I have >> tried to fix them to be function(URL, Version, blah) consistently. >> >> ChangeLog: >> 2009-07-10 Omair Majid >> >> * rt/net/sourceforge/jnlp/JNLPFile.java >> (JNLPFile): Delegate to the Version-based constructor. >> (JNLPFile): New constructor. >> (JNLPFile): Modified to take an additional version argument used in >> downloading the JNLP file. >> (openURL): Take an additional version argument and use when >> downloading the URL. >> * rt/net/sourceforge/jnlp/Launcher.java >> (toFile): Use the new JNLPFile constructor. >> * rt/net/sourceforge/jnlp/cache/Resource.java >> (Resource): Rearrange argument order. >> (getResource): Likewise. Fix parameters to constructor. >> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java >> (addResource): Fix arguments to Resource.getResource. >> * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> (getInstance): Take additional version argument and useit when >> creating a JNLPFile. >> (initializeExtensions): Use the extension version when requesting a >> JNLPClassLoader. >> >> > > Looks good. One question though.. why are the order of arguments to > Resource() and getResource() being changed? > Obviously I didnt do a good job explaining this in the original email. There are many functions in Netx that require a URL, a Version and an UpdatePolicy: $ find -iname '*java' | xargs grep 'URL.*Policy' ./cache/ResourceTracker.java: public void addResource(URL location, Version version, UpdatePolicy updatePolicy) { ./cache/CacheUtil.java: public static URL getCachedResource(URL location, Version version, UpdatePolicy policy) { ./cache/Resource.java: private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { ./cache/Resource.java: public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { ./Launcher.java: resourceTracker.addResource(splashImageURL, file.getFileVersion(), updatePolicy); These functions dont have a consistent argument order. Some take (URL, Version, UpdatePolicy) while others take (URL, UpdatePolicy, Version). I wanted to make the order consistent. To me, URL and Version are much more strongly related than URL and UpdatePolicy, so I tried to fix everything to be (URL, Version, UpdatePolicy). Is that a sensible change to make? Cheers, Omair From braden at endoframe.com Mon Jul 13 12:01:47 2009 From: braden at endoframe.com (Braden McDaniel) Date: Mon, 13 Jul 2009 15:01:47 -0400 Subject: Finding OpenJDK include paths In-Reply-To: <4A5B39F5.9080000@redhat.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> Message-ID: <4A5B849B.3060903@endoframe.com> On 7/13/09 9:43 AM, Omair Majid wrote: > Braden McDaniel wrote: >> When building a Fedora package that uses JNI, I've found it necessary to >> set CPPFLAGS as such: >> >> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" >> >> Is there any more clever mechanism available? >> > > You might want to take a look at this: > http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 Thanks... Looks like the answer is "no". :-/ -- Braden McDaniel e-mail: Jabber: From aph at redhat.com Mon Jul 13 12:07:18 2009 From: aph at redhat.com (Andrew Haley) Date: Mon, 13 Jul 2009 20:07:18 +0100 Subject: Finding OpenJDK include paths In-Reply-To: <4A5B849B.3060903@endoframe.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> Message-ID: <4A5B85E6.4090107@redhat.com> Braden McDaniel wrote: > On 7/13/09 9:43 AM, Omair Majid wrote: >> Braden McDaniel wrote: >>> When building a Fedora package that uses JNI, I've found it necessary to >>> set CPPFLAGS as such: >>> >>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" >>> >>> Is there any more clever mechanism available? >>> >> >> You might want to take a look at this: >> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 > > Thanks... Looks like the answer is "no". :-/ Try had as I can, I can't think of anything better. Looks perfect to me! :-) Andrew. From dbhole at redhat.com Mon Jul 13 12:16:01 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 13 Jul 2009 15:16:01 -0400 Subject: RFC: Netx - Use version based download protocol for JNLP files In-Reply-To: <4A5B812E.10100@redhat.com> References: <4A57636B.7000503@redhat.com> <20090713180748.GD3453@redhat.com> <4A5B812E.10100@redhat.com> Message-ID: <20090713191601.GF3453@redhat.com> * Omair Majid [2009-07-13 14:47]: > Deepak Bhole wrote: >> * Omair Majid [2009-07-10 11:51]: >>> Hi, >>> >>> This patch makes Netx use the version based download protocol for >>> JNLP files. >>> >>> Netx tries to use the version based download protocol whenever >>> possible to download files. This wasn't being done for JNLP file >>> that were specified as extensions by other JNLP files. This patch >>> fixes the issue making JNLP applications like aerith[1] work. This >>> is also required to run JavaFX applications. >>> >>> While adding that support, I noticed that function arguments that >>> involved Urls and versions were inconsistent: some used function(URL, >>> Version, blah) while others used function(URL, blah, Version). I >>> have tried to fix them to be function(URL, Version, blah) >>> consistently. >>> >>> ChangeLog: >>> 2009-07-10 Omair Majid >>> >>> * rt/net/sourceforge/jnlp/JNLPFile.java >>> (JNLPFile): Delegate to the Version-based constructor. >>> (JNLPFile): New constructor. >>> (JNLPFile): Modified to take an additional version argument used in >>> downloading the JNLP file. >>> (openURL): Take an additional version argument and use when >>> downloading the URL. >>> * rt/net/sourceforge/jnlp/Launcher.java >>> (toFile): Use the new JNLPFile constructor. >>> * rt/net/sourceforge/jnlp/cache/Resource.java >>> (Resource): Rearrange argument order. >>> (getResource): Likewise. Fix parameters to constructor. >>> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java >>> (addResource): Fix arguments to Resource.getResource. >>> * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> (getInstance): Take additional version argument and useit when >>> creating a JNLPFile. >>> (initializeExtensions): Use the extension version when requesting a >>> JNLPClassLoader. >>> >>> >> >> Looks good. One question though.. why are the order of arguments to >> Resource() and getResource() being changed? >> > > Obviously I didnt do a good job explaining this in the original email. > There are many functions in Netx that require a URL, a Version and an > UpdatePolicy: > > $ find -iname '*java' | xargs grep 'URL.*Policy' > ./cache/ResourceTracker.java: public void addResource(URL location, > Version version, UpdatePolicy updatePolicy) { > ./cache/CacheUtil.java: public static URL getCachedResource(URL > location, Version version, UpdatePolicy policy) { > ./cache/Resource.java: private Resource(URL location, UpdatePolicy > updatePolicy, Version requestVersion) { > ./cache/Resource.java: public static Resource getResource(URL > location, UpdatePolicy updatePolicy, Version requestVersion) { > ./Launcher.java: resourceTracker.addResource(splashImageURL, > file.getFileVersion(), updatePolicy); > > These functions dont have a consistent argument order. Some take (URL, > Version, UpdatePolicy) while others take (URL, UpdatePolicy, Version). I > wanted to make the order consistent. To me, URL and Version are much > more strongly related than URL and UpdatePolicy, so I tried to fix > everything to be (URL, Version, UpdatePolicy). Is that a sensible change > to make? > Fair enough. Okay, looks good. Assuming you have tested it, go ahead and commit. Deepak > Cheers, > Omair From omajid at redhat.com Mon Jul 13 12:21:01 2009 From: omajid at redhat.com (Omair Majid) Date: Mon, 13 Jul 2009 19:21:01 +0000 Subject: changeset in /hg/icedtea6: Netx: Use version based download prot... Message-ID: changeset 96da5a90598a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=96da5a90598a description: Netx: Use version based download protocol for JNLP files too 2009-07-13 Omair Majid * rt/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): Delegate to the Version-based constructor. (JNLPFile): New constructor. (JNLPFile): Modified to take an additional version argument used in downloading the JNLP file. (openURL): Take an additional version argument and use when downloading the URL. * rt/net/sourceforge/jnlp/Launcher.java (toFile): Use the new JNLPFile constructor. * rt/net/sourceforge/jnlp/cache/Resource.java (Resource): Rearrange argument order. (getResource): Likewise. Fix parameters to constructor. * rt/net/sourceforge/jnlp/cache/ResourceTracker.java (addResource): Fix arguments to Resource.getResource. * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Take additional version argument and use it when creating a JNLPFile. (initializeExtensions): Use the extension version when requesting a JNLPClassLoader. diffstat: 6 files changed, 59 insertions(+), 19 deletions(-) ChangeLog | 22 +++++++++++ rt/net/sourceforge/jnlp/JNLPFile.java | 35 ++++++++++++------ rt/net/sourceforge/jnlp/Launcher.java | 4 +- rt/net/sourceforge/jnlp/cache/Resource.java | 6 +-- rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 2 - rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 9 +++- diffs (183 lines): diff -r dd1ce0a6da73 -r 96da5a90598a ChangeLog --- a/ChangeLog Fri Jul 10 19:02:10 2009 -0400 +++ b/ChangeLog Mon Jul 13 15:22:34 2009 -0400 @@ -1,3 +1,25 @@ 2009-07-10 Deepak Bhole + + * rt/net/sourceforge/jnlp/JNLPFile.java + (JNLPFile): Delegate to the Version-based constructor. + (JNLPFile): New constructor. + (JNLPFile): Modified to take an additional version argument used in + downloading the JNLP file. + (openURL): Take an additional version argument and use when downloading + the URL. + * rt/net/sourceforge/jnlp/Launcher.java + (toFile): Use the new JNLPFile constructor. + * rt/net/sourceforge/jnlp/cache/Resource.java + (Resource): Rearrange argument order. + (getResource): Likewise. Fix parameters to constructor. + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java + (addResource): Fix arguments to Resource.getResource. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java + (getInstance): Take additional version argument and use it when creating a + JNLPFile. + (initializeExtensions): Use the extension version when requesting a + JNLPClassLoader. + 2009-07-10 Deepak Bhole * Makefile.am: Update makefile to pick up plugin C++ files from new diff -r dd1ce0a6da73 -r 96da5a90598a rt/net/sourceforge/jnlp/JNLPFile.java --- a/rt/net/sourceforge/jnlp/JNLPFile.java Fri Jul 10 19:02:10 2009 -0400 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Mon Jul 13 15:22:34 2009 -0400 @@ -138,21 +138,36 @@ public class JNLPFile { * @throws ParseException if the JNLP file was invalid */ public JNLPFile(URL location, boolean strict) throws IOException, ParseException { - this(location, strict, JNLPRuntime.getDefaultUpdatePolicy()); - } - - /** - * Create a JNLPFile from a URL checking for updates using the - * specified policy. + this(location, (Version) null, strict); + } + + /** + * Create a JNLPFile from a URL and a Version checking for updates using + * the default policy. * * @param location the location of the JNLP file + * @param version the version of the JNLP file + * @param strict whether to enforce the spec when + * @throws IOException if an IO exception occurred + * @throws ParseException if the JNLP file was invalid + */ + public JNLPFile(URL location, Version version, boolean strict) throws IOException, ParseException { + this(location, version, strict, JNLPRuntime.getDefaultUpdatePolicy()); + } + + /** + * Create a JNLPFile from a URL and a version, checking for updates + * using the specified policy. + * + * @param location the location of the JNLP file + * @param version the version of the JNLP file * @param strict whether to enforce the spec when * @param policy the update policy * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location, boolean strict, UpdatePolicy policy) throws IOException, ParseException { - Node root = Parser.getRootNode(openURL(location, policy)); + public JNLPFile(URL location, Version version, boolean strict, UpdatePolicy policy) throws IOException, ParseException { + Node root = Parser.getRootNode(openURL(location, version, policy)); parse(root, strict, location); this.fileLocation = location; @@ -186,13 +201,13 @@ public class JNLPFile { * Open the jnlp file URL from the cache if there, otherwise * download to the cache. Called from constructor. */ - private static InputStream openURL(URL location, UpdatePolicy policy) throws IOException { + private static InputStream openURL(URL location, Version version, UpdatePolicy policy) throws IOException { if (location == null || policy == null) throw new IllegalArgumentException(R("NullParameter")); try { ResourceTracker tracker = new ResourceTracker(false); // no prefetch - tracker.addResource(location, null/*version*/, policy); + tracker.addResource(location, version , policy); return tracker.getInputStream(location); } diff -r dd1ce0a6da73 -r 96da5a90598a rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Fri Jul 10 19:02:10 2009 -0400 +++ b/rt/net/sourceforge/jnlp/Launcher.java Mon Jul 13 15:22:34 2009 -0400 @@ -337,10 +337,10 @@ public class Launcher { JNLPFile file = null; try { - file = new JNLPFile(location, true, updatePolicy); // strict + file = new JNLPFile(location, (Version) null, true, updatePolicy); // strict } catch (ParseException ex) { - file = new JNLPFile(location, false, updatePolicy); + file = new JNLPFile(location, (Version) null, false, updatePolicy); // only here if strict failed but lax did not fail LaunchException lex = diff -r dd1ce0a6da73 -r 96da5a90598a rt/net/sourceforge/jnlp/cache/Resource.java --- a/rt/net/sourceforge/jnlp/cache/Resource.java Fri Jul 10 19:02:10 2009 -0400 +++ b/rt/net/sourceforge/jnlp/cache/Resource.java Mon Jul 13 15:22:34 2009 -0400 @@ -95,7 +95,7 @@ public class Resource { /** * Create a resource. */ - private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { + private Resource(URL location, Version requestVersion, UpdatePolicy updatePolicy) { this.location = location; this.requestVersion = requestVersion; this.updatePolicy = updatePolicy; @@ -105,9 +105,9 @@ public class Resource { * Return a shared Resource object representing the given * location and version. */ - public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { + public static Resource getResource(URL location, Version requestVersion, UpdatePolicy updatePolicy) { synchronized (resources) { - Resource resource = new Resource(location, updatePolicy, requestVersion); + Resource resource = new Resource(location, requestVersion, updatePolicy); int index = resources.indexOf(resource); if (index >= 0) { // return existing object diff -r dd1ce0a6da73 -r 96da5a90598a rt/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Fri Jul 10 19:02:10 2009 -0400 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Mon Jul 13 15:22:34 2009 -0400 @@ -168,7 +168,7 @@ public class ResourceTracker { if (location == null) throw new IllegalArgumentException("location==null"); - Resource resource = Resource.getResource(location, updatePolicy, version); + Resource resource = Resource.getResource(location, version, updatePolicy); boolean downloaded = false; synchronized (resources) { diff -r dd1ce0a6da73 -r 96da5a90598a rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 10 19:02:10 2009 -0400 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jul 13 15:22:34 2009 -0400 @@ -51,6 +51,7 @@ import net.sourceforge.jnlp.PluginBridge import net.sourceforge.jnlp.PluginBridge; import net.sourceforge.jnlp.ResourcesDesc; import net.sourceforge.jnlp.SecurityDesc; +import net.sourceforge.jnlp.Version; import net.sourceforge.jnlp.cache.CacheUtil; import net.sourceforge.jnlp.cache.ResourceTracker; import net.sourceforge.jnlp.cache.UpdatePolicy; @@ -232,13 +233,15 @@ public class JNLPClassLoader extends URL * location. * * @param location the file's location + * @param version the file's version * @param policy the update policy to use when downloading resources */ - public static JNLPClassLoader getInstance(URL location, UpdatePolicy policy) throws IOException, ParseException, LaunchException { + public static JNLPClassLoader getInstance(URL location, Version version, UpdatePolicy policy) + throws IOException, ParseException, LaunchException { JNLPClassLoader loader = (JNLPClassLoader) urlToLoader.get(location); if (loader == null) - loader = getInstance(new JNLPFile(location, false, policy), policy); + loader = getInstance(new JNLPFile(location, version, false, policy), policy); return loader; } @@ -256,7 +259,7 @@ public class JNLPClassLoader extends URL //if (ext != null) { for (int i=0; i < ext.length; i++) { try { - JNLPClassLoader loader = getInstance(ext[i].getLocation(), updatePolicy); + JNLPClassLoader loader = getInstance(ext[i].getLocation(), ext[i].getVersion(), updatePolicy); loaderList.add(loader); } catch (Exception ex) { From omajid at redhat.com Mon Jul 13 12:26:25 2009 From: omajid at redhat.com (Omair Majid) Date: Mon, 13 Jul 2009 15:26:25 -0400 Subject: RFC: Netx - Use version based download protocol for JNLP files In-Reply-To: <20090713191601.GF3453@redhat.com> References: <4A57636B.7000503@redhat.com> <20090713180748.GD3453@redhat.com> <4A5B812E.10100@redhat.com> <20090713191601.GF3453@redhat.com> Message-ID: <4A5B8A61.20904@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-13 14:47]: >> Deepak Bhole wrote: >>> * Omair Majid [2009-07-10 11:51]: >>>> Hi, >>>> >>>> This patch makes Netx use the version based download protocol for >>>> JNLP files. >>>> >>>> Netx tries to use the version based download protocol whenever >>>> possible to download files. This wasn't being done for JNLP file >>>> that were specified as extensions by other JNLP files. This patch >>>> fixes the issue making JNLP applications like aerith[1] work. This >>>> is also required to run JavaFX applications. >>>> >>>> While adding that support, I noticed that function arguments that >>>> involved Urls and versions were inconsistent: some used function(URL, >>>> Version, blah) while others used function(URL, blah, Version). I >>>> have tried to fix them to be function(URL, Version, blah) >>>> consistently. >>>> >>>> ChangeLog: >>>> 2009-07-10 Omair Majid >>>> >>>> * rt/net/sourceforge/jnlp/JNLPFile.java >>>> (JNLPFile): Delegate to the Version-based constructor. >>>> (JNLPFile): New constructor. >>>> (JNLPFile): Modified to take an additional version argument used in >>>> downloading the JNLP file. >>>> (openURL): Take an additional version argument and use when >>>> downloading the URL. >>>> * rt/net/sourceforge/jnlp/Launcher.java >>>> (toFile): Use the new JNLPFile constructor. >>>> * rt/net/sourceforge/jnlp/cache/Resource.java >>>> (Resource): Rearrange argument order. >>>> (getResource): Likewise. Fix parameters to constructor. >>>> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java >>>> (addResource): Fix arguments to Resource.getResource. >>>> * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>>> (getInstance): Take additional version argument and useit when >>>> creating a JNLPFile. >>>> (initializeExtensions): Use the extension version when requesting a >>>> JNLPClassLoader. >>>> >>>> >>> Looks good. One question though.. why are the order of arguments to >>> Resource() and getResource() being changed? >>> >> Obviously I didnt do a good job explaining this in the original email. >> There are many functions in Netx that require a URL, a Version and an >> UpdatePolicy: >> >> $ find -iname '*java' | xargs grep 'URL.*Policy' >> ./cache/ResourceTracker.java: public void addResource(URL location, >> Version version, UpdatePolicy updatePolicy) { >> ./cache/CacheUtil.java: public static URL getCachedResource(URL >> location, Version version, UpdatePolicy policy) { >> ./cache/Resource.java: private Resource(URL location, UpdatePolicy >> updatePolicy, Version requestVersion) { >> ./cache/Resource.java: public static Resource getResource(URL >> location, UpdatePolicy updatePolicy, Version requestVersion) { >> ./Launcher.java: resourceTracker.addResource(splashImageURL, >> file.getFileVersion(), updatePolicy); >> >> These functions dont have a consistent argument order. Some take (URL, >> Version, UpdatePolicy) while others take (URL, UpdatePolicy, Version). I >> wanted to make the order consistent. To me, URL and Version are much >> more strongly related than URL and UpdatePolicy, so I tried to fix >> everything to be (URL, Version, UpdatePolicy). Is that a sensible change >> to make? >> > > Fair enough. Okay, looks good. Assuming you have tested it, go ahead and > commit. > Thanks. Pushed as changeset 96da5a90598a. Cheers, Omair From Dalibor.Topic at Sun.COM Mon Jul 13 15:42:47 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 14 Jul 2009 00:42:47 +0200 Subject: Finding OpenJDK include paths In-Reply-To: <4A5B85E6.4090107@redhat.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> Message-ID: <4A5BB867.4040803@sun.com> Andrew Haley wrote: > Braden McDaniel wrote: >> On 7/13/09 9:43 AM, Omair Majid wrote: >>> Braden McDaniel wrote: >>>> When building a Fedora package that uses JNI, I've found it necessary to >>>> set CPPFLAGS as such: >>>> >>>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" >>>> >>>> Is there any more clever mechanism available? >>>> >>> You might want to take a look at this: >>> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 >> Thanks... Looks like the answer is "no". :-/ > > Try had as I can, I can't think of anything better. Looks perfect > to me! :-) > Any volunteers for pkg-confiscating it? cheers, dslibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin H?ring From braden at endoframe.com Mon Jul 13 17:26:34 2009 From: braden at endoframe.com (Braden McDaniel) Date: Mon, 13 Jul 2009 20:26:34 -0400 Subject: Finding OpenJDK include paths In-Reply-To: <4A5BB867.4040803@sun.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> <4A5BB867.4040803@sun.com> Message-ID: <1247531194.28314.982.camel@localhost> On Tue, 2009-07-14 at 00:42 +0200, Dalibor Topic wrote: > Andrew Haley wrote: > > Braden McDaniel wrote: > >> On 7/13/09 9:43 AM, Omair Majid wrote: > >>> Braden McDaniel wrote: > >>>> When building a Fedora package that uses JNI, I've found it necessary to > >>>> set CPPFLAGS as such: > >>>> > >>>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" > >>>> > >>>> Is there any more clever mechanism available? > >>>> > >>> You might want to take a look at this: > >>> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 > >> Thanks... Looks like the answer is "no". :-/ > > > > Try had as I can, I can't think of anything better. Looks perfect > > to me! :-) > > > > Any volunteers for pkg-confiscating it? Given that such a thing should be JDK-neutral, the question becomes, "Who owns it?" Looking at Fedora packages, the logical place seems like jpackage-utils. Does that seem sane/practical? -- Braden McDaniel From xerxes at zafena.se Tue Jul 14 03:24:40 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Tue, 14 Jul 2009 12:24:40 +0200 Subject: RFC: shark + llvm2.6svn api change ConstantFP::get implementation have been moved to LLVMContext Message-ID: <4A5C5CE8.3030108@zafena.se> The attached patch fixes the build error that orgin from the r75546 change of the llvm 2.6 svn tip. http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090713/080939.html For some reason beyond my understanding the ConstantFP::get implementation have been moved from lib/VMCore/Constants to getConstantFP in lib/VMCore/LLVMContext . Should we push this change to shark or wait some days to see if the implementation moves back to Constants again in llvm ? ... ct\"" -DHOTSPOT_BUILD_USER="\"xerxes\"" -DHOTSPOT_LIB_ARCH=\"i386\" -DJRE_RELEASE_VERSION="\"1.6.0_0-b16\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DSHARK -I/usr/local/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -g -fPIC -Woverloaded-virtual -DSHARK_LLVM_VERSION=26 -fpic -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -g -m32 -pipe -O3 -fno-strict-aliasing -DVM_LITTLE_ENDIAN -Wpointer-arith -Wconversion -Wsign-compare -c -o sharkBuilder.o /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBuilder.cpp In file included from ../generated/incls/_sharkBuilder.cpp.incl:3, from /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBuilder.cpp:27: /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp: In static member function 'static llvm::Constant* LLVMValue::jfloat_constant(jfloat)': /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp:46: error: no matching function for call to 'llvm::ConstantFP::get(const llvm::Type*, jfloat&)' /usr/local/include/llvm/Constants.h:257: note: candidates are: static llvm::ConstantFP* llvm::ConstantFP::get(const llvm::APFloat&) /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp: In static member function 'static llvm::Constant* LLVMValue::jdouble_constant(jdouble)': /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp:54: error: no matching function for call to 'llvm::ConstantFP::get(const llvm::Type*, jdouble&)' /usr/local/include/llvm/Constants.h:257: note: candidates are: static llvm::ConstantFP* llvm::ConstantFP::get(const llvm::APFloat&) In file included from ../generated/incls/_sharkBlock.cpp.incl:3, from /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/sharkBlock.cpp:27: /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp: In static member function 'static llvm::Constant* LLVMValue::jfloat_constant(jfloat)': /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp:46: error: no matching function for call to 'llvm::ConstantFP::get(const llvm::Type*, jfloat&)' /usr/local/include/llvm/Constants.h:257: note: candidates are: static llvm::ConstantFP* llvm::ConstantFP::get(const llvm::APFloat&) /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp: In static member function 'static llvm::Constant* LLVMValue::jdouble_constant(jdouble)': /home/xerxes/icedtea6/openjdk-ecj/hotspot/src/share/vm/shark/llvmValue.hpp:54: error: no matching function for call to 'llvm::ConstantFP::get(const llvm::Type*, jdouble&)' /usr/local/include/llvm/Constants.h:257: note: candidates are: static llvm::ConstantFP* llvm::ConstantFP::get(const llvm::APFloat&) make[7]: *** [sharkBuilder.o] Error 1 Cheers Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: llvmValue.hpp_LLVMContext_ConstantFP.patch Type: text/x-patch Size: 1160 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090714/7bdb7ed0/llvmValue.hpp_LLVMContext_ConstantFP.patch From gbenson at redhat.com Tue Jul 14 03:34:05 2009 From: gbenson at redhat.com (Gary Benson) Date: Tue, 14 Jul 2009 11:34:05 +0100 Subject: RFC: shark + llvm2.6svn api change ConstantFP::get implementation have been moved to LLVMContext In-Reply-To: <4A5C5CE8.3030108@zafena.se> References: <4A5C5CE8.3030108@zafena.se> Message-ID: <20090714103404.GB3177@redhat.com> Xerxes R?nby wrote: > The attached patch fixes the build error that orgin from the r75546 > change of the llvm 2.6 svn tip. > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090713/080939.html > > For some reason beyond my understanding the ConstantFP::get > implementation have been moved from lib/VMCore/Constants to > getConstantFP in lib/VMCore/LLVMContext . Should we push this > change to shark or wait some days to see if the implementation > moves back to Constants again in llvm ? Commit away. As I understand it, the constants code was leaking things between functions, and the LLVMContext stuff is an attempt to address this. I think you need to expect more of the same in the next few days as they move other stuff in there. Cheers, Gary -- http://gbenson.net/ From xerxes at zafena.se Tue Jul 14 03:53:15 2009 From: xerxes at zafena.se (Xerxes R?nby) Date: Tue, 14 Jul 2009 10:53:15 +0000 Subject: changeset in /hg/icedtea6: 2009-07-14 Xerxes R?nby changeset b788f2c0fe74 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b788f2c0fe74 description: 2009-07-14 Xerxes R?nby * ports/hotspot/src/share/vm/shark/llvmValue.hpp (jfloat_constant): Handle LLVM 2.6 svn r75546 API change. llvm::ConstantFP::get have been moved to llvm::LLVMContext::getConstantFP. (jdouble_constant): Likewise. diffstat: 2 files changed, 16 insertions(+), 2 deletions(-) ChangeLog | 8 ++++++++ ports/hotspot/src/share/vm/shark/llvmValue.hpp | 10 ++++++++-- diffs (47 lines): diff -r 96da5a90598a -r b788f2c0fe74 ChangeLog --- a/ChangeLog Mon Jul 13 15:22:34 2009 -0400 +++ b/ChangeLog Tue Jul 14 12:55:48 2009 +0200 @@ -1,3 +1,11 @@ 2009-07-13 Omair Majid + + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (jfloat_constant): Handle LLVM 2.6 svn r75546 API change. + llvm::ConstantFP::get have been moved to + llvm::LLVMContext::getConstantFP. + (jdouble_constant): Likewise. + 2009-07-13 Omair Majid * rt/net/sourceforge/jnlp/JNLPFile.java diff -r 96da5a90598a -r b788f2c0fe74 ports/hotspot/src/share/vm/shark/llvmValue.hpp --- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp Mon Jul 13 15:22:34 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp Tue Jul 14 12:55:48 2009 +0200 @@ -39,20 +39,26 @@ class LLVMValue : public AllStatic { } #if SHARK_LLVM_VERSION >= 26 static llvm::Constant* jfloat_constant(jfloat value) + { + return llvm::getGlobalContext().getConstantFP(SharkType::jfloat_type(), value); + } #else static llvm::ConstantFP* jfloat_constant(jfloat value) -#endif { return llvm::ConstantFP::get(SharkType::jfloat_type(), value); } +#endif #if SHARK_LLVM_VERSION >= 26 static llvm::Constant* jdouble_constant(jdouble value) + { + return llvm::getGlobalContext().getConstantFP(SharkType::jdouble_type(), value); + } #else static llvm::ConstantFP* jdouble_constant(jdouble value) -#endif { return llvm::ConstantFP::get(SharkType::jdouble_type(), value); } +#endif static llvm::ConstantPointerNull* null() { return llvm::ConstantPointerNull::get(SharkType::jobject_type()); From Dalibor.Topic at Sun.COM Tue Jul 14 04:02:07 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 14 Jul 2009 13:02:07 +0200 Subject: Finding OpenJDK include paths In-Reply-To: <1247531194.28314.982.camel@localhost> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> <4A5BB867.4040803@sun.com> <1247531194.28314.982.camel@localhost> Message-ID: <4A5C65AF.8000607@sun.com> Braden McDaniel wrote: > On Tue, 2009-07-14 at 00:42 +0200, Dalibor Topic wrote: >> Andrew Haley wrote: >>> Braden McDaniel wrote: >>>> On 7/13/09 9:43 AM, Omair Majid wrote: >>>>> Braden McDaniel wrote: >>>>>> When building a Fedora package that uses JNI, I've found it necessary to >>>>>> set CPPFLAGS as such: >>>>>> >>>>>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" >>>>>> >>>>>> Is there any more clever mechanism available? >>>>>> >>>>> You might want to take a look at this: >>>>> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 >>>> Thanks... Looks like the answer is "no". :-/ >>> Try had as I can, I can't think of anything better. Looks perfect >>> to me! :-) >>> >> Any volunteers for pkg-confiscating it? > > Given that such a thing should be JDK-neutral, the question becomes, > "Who owns it?" > > Looking at Fedora packages, the logical place seems like jpackage-utils. > Does that seem sane/practical? > That's probably a good question for the Fedora lists. cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin H?ring From aph at redhat.com Tue Jul 14 06:05:55 2009 From: aph at redhat.com (Andrew Haley) Date: Tue, 14 Jul 2009 14:05:55 +0100 Subject: Finding OpenJDK include paths In-Reply-To: <4A5C65AF.8000607@sun.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> <4A5BB867.4040803@sun.com> <1247531194.28314.982.camel@localhost> <4A5C65AF.8000607@sun.com> Message-ID: <4A5C82B3.2040001@redhat.com> Dalibor Topic wrote: > Braden McDaniel wrote: >> On Tue, 2009-07-14 at 00:42 +0200, Dalibor Topic wrote: >>> Andrew Haley wrote: >>>> Braden McDaniel wrote: >>>>> On 7/13/09 9:43 AM, Omair Majid wrote: >>>>>> Braden McDaniel wrote: >>>>>>> When building a Fedora package that uses JNI, I've found it necessary to >>>>>>> set CPPFLAGS as such: >>>>>>> >>>>>>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" >>>>>>> >>>>>>> Is there any more clever mechanism available? >>>>>>> >>>>>> You might want to take a look at this: >>>>>> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 >>>>> Thanks... Looks like the answer is "no". :-/ >>>> Try had as I can, I can't think of anything better. Looks perfect >>>> to me! :-) >>>> >>> Any volunteers for pkg-confiscating it? >> Given that such a thing should be JDK-neutral, the question becomes, >> "Who owns it?" >> >> Looking at Fedora packages, the logical place seems like jpackage-utils. >> Does that seem sane/practical? That's where it is: $ rpm -ql jpackage-utils ... /usr/share/java /usr/share/java-1.3.1 ... A few other packages install it as well. Andrew. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 06:53:36 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 13:53:36 +0000 Subject: [Bug 333] JVM crashes when try load LibGlade file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=333 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #6 from jon.vanalten at redhat.com 2009-07-14 13:53 ------- I've tried out this test case using (separately) IcedTea/openJDK and Sun's proprietary JDK, crash occurs under both. I think it's safe to say that Mark's suspicion is reasonably correct. I suggest report to glade devs. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 06:56:17 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 13:56:17 +0000 Subject: [Bug 297] icedtea crash maybe because of libpolyester ... Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=297 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #3 from jon.vanalten at redhat.com 2009-07-14 13:56 ------- This appears to be fixed in current version. If applicable, reopen and include specific instructions to reproduce. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 07:01:53 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 14:01:53 +0000 Subject: [Bug 298] An unexpected error has been detected by Java Runtime Environment: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=298 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #2 from jon.vanalten at redhat.com 2009-07-14 14:01 ------- Cannot reproduce. Reopen with appropriate info if necessary. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 07:04:55 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 14:04:55 +0000 Subject: [Bug 299] eclipse crashes during file download in a tomcat test scenario Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=299 ------- Comment #3 from jon.vanalten at redhat.com 2009-07-14 14:04 ------- Hi, As noted crash log does not help to find the problem if we cannot reproduce the issue. If this is still happening please comment with more info. (otherwise will close bug in 1 week). thx -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 07:08:31 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 14:08:31 +0000 Subject: [Bug 302] JRE fatal error Problematic frame Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=302 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #5 from jon.vanalten at redhat.com 2009-07-14 14:08 ------- Assuming lack of response indicates problem resolved using methods described. If not, please reopen and post 1) fresh crash log and 2) details of version for openjdk, azureus/vuze, and xulrunner. thx -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 08:38:45 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 15:38:45 +0000 Subject: [Bug 334] allow specifying explicit target arch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=334 ------- Comment #4 from jon.vanalten at redhat.com 2009-07-14 15:38 ------- These were committed to openjdk6 on May 18 as: changeset 1550 802bb547f651 and slight correction: changeset 1553 ea3bc7968a1c Is this wanted in 7 also? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 08:39:54 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 15:39:54 +0000 Subject: [Bug 334] allow specifying explicit target arch Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=334 ------- Comment #5 from jon.vanalten at redhat.com 2009-07-14 15:39 ------- ehrm s/openjdk6/icedtea6 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From braden at endoframe.com Tue Jul 14 08:52:14 2009 From: braden at endoframe.com (Braden McDaniel) Date: Tue, 14 Jul 2009 11:52:14 -0400 Subject: Finding OpenJDK include paths In-Reply-To: <4A5C65AF.8000607@sun.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> <4A5BB867.4040803@sun.com> <1247531194.28314.982.camel@localhost> <4A5C65AF.8000607@sun.com> Message-ID: <1247586734.10688.57.camel@localhost> On Tue, 2009-07-14 at 13:02 +0200, Dalibor Topic wrote: > Braden McDaniel wrote: > > On Tue, 2009-07-14 at 00:42 +0200, Dalibor Topic wrote: > >> Andrew Haley wrote: > >>> Braden McDaniel wrote: > >>>> On 7/13/09 9:43 AM, Omair Majid wrote: > >>>>> Braden McDaniel wrote: > >>>>>> When building a Fedora package that uses JNI, I've found it necessary to > >>>>>> set CPPFLAGS as such: > >>>>>> > >>>>>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" > >>>>>> > >>>>>> Is there any more clever mechanism available? > >>>>>> > >>>>> You might want to take a look at this: > >>>>> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 > >>>> Thanks... Looks like the answer is "no". :-/ > >>> Try had as I can, I can't think of anything better. Looks perfect > >>> to me! :-) > >>> > >> Any volunteers for pkg-confiscating it? > > > > Given that such a thing should be JDK-neutral, the question becomes, > > "Who owns it?" > > > > Looking at Fedora packages, the logical place seems like jpackage-utils. > > Does that seem sane/practical? > > > > That's probably a good question for the Fedora lists. Well, if that's the answer here, that explains why there's no pkg-config file. It's not a question for the Fedora lists because distribution-specific packages don't need to be in the business of adding ad hoc pkg-config metadata. It might be a question for a jpackage.org mailing list. But it's pertinent here, too, because this sort of thing needs not to happen in isolation. -- Braden McDaniel From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 09:10:05 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 16:10:05 +0000 Subject: [Bug 340] files with "ibm confidential" header files Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=340 ------- Comment #4 from jon.vanalten at redhat.com 2009-07-14 16:10 ------- IANAL but it does seem sketchy, and AFAIK this questionable license/copyright issue is why these files are removed by fsg.sh. As Andrew points out, this is an upstream issue and that is where a bug should be filed. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From Dalibor.Topic at Sun.COM Tue Jul 14 09:25:59 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 14 Jul 2009 18:25:59 +0200 Subject: Finding OpenJDK include paths In-Reply-To: <1247586734.10688.57.camel@localhost> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> <4A5BB867.4040803@sun.com> <1247531194.28314.982.camel@localhost> <4A5C65AF.8000607@sun.com> <1247586734.10688.57.camel@localhost> Message-ID: <4A5CB197.5000105@sun.com> Braden McDaniel wrote: > On Tue, 2009-07-14 at 13:02 +0200, Dalibor Topic wrote: >> Braden McDaniel wrote: >>> On Tue, 2009-07-14 at 00:42 +0200, Dalibor Topic wrote: >>>> Andrew Haley wrote: >>>>> Braden McDaniel wrote: >>>>>> On 7/13/09 9:43 AM, Omair Majid wrote: >>>>>>> Braden McDaniel wrote: >>>>>>>> When building a Fedora package that uses JNI, I've found it necessary to >>>>>>>> set CPPFLAGS as such: >>>>>>>> >>>>>>>> CPPFLAGS="-I/usr/lib/jvm/java/include -I/usr/lib/jvm/java/include/linux" >>>>>>>> >>>>>>>> Is there any more clever mechanism available? >>>>>>>> >>>>>>> You might want to take a look at this: >>>>>>> http://article.gmane.org/gmane.linux.redhat.fedora.java/3017 >>>>>> Thanks... Looks like the answer is "no". :-/ >>>>> Try had as I can, I can't think of anything better. Looks perfect >>>>> to me! :-) >>>>> >>>> Any volunteers for pkg-confiscating it? >>> Given that such a thing should be JDK-neutral, the question becomes, >>> "Who owns it?" >>> >>> Looking at Fedora packages, the logical place seems like jpackage-utils. >>> Does that seem sane/practical? >>> >> That's probably a good question for the Fedora lists. > > Well, if that's the answer here, that explains why there's no pkg-config > file. There is no pkg-config file because no one made one, afaik. It would be cool to have one, though. ;) It may, for example, make sense to come up with a mechanism to generate pkg-config files in Fedora through some RPM macro for JNI interface providing packages in general in an automated fashion, rather then maintaining them for each such package manually. It's hard to tell for me at least without consulting the experts on packaging such applications for their corresponding operating system. That's why I suggested asking on the Fedora lists. cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin H?ring From Dalibor.Topic at Sun.COM Tue Jul 14 09:36:15 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 14 Jul 2009 18:36:15 +0200 Subject: Finding OpenJDK include paths In-Reply-To: <4A5CB197.5000105@sun.com> References: <1247475027.6944.8503.camel@localhost> <4A5B39F5.9080000@redhat.com> <4A5B849B.3060903@endoframe.com> <4A5B85E6.4090107@redhat.com> <4A5BB867.4040803@sun.com> <1247531194.28314.982.camel@localhost> <4A5C65AF.8000607@sun.com> <1247586734.10688.57.camel@localhost> <4A5CB197.5000105@sun.com> Message-ID: <4A5CB3FF.4050009@sun.com> Dalibor Topic wrote: > It's hard to tell for me at least without consulting the experts on packaging > such applications for their corresponding operating system. That's why I suggested > asking on the Fedora lists. Speaking of that, as Andrew Haley pointed out on IRC, the utility of such a pkg-config file would be limited, given that distributions install OpenJDK into /usr/lib/jvm/java - i.e. the path to include files is the same across Fedora, Ubuntu, etc. cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin H?ring From aph at redhat.com Tue Jul 14 09:43:18 2009 From: aph at redhat.com (Andrew Haley) Date: Tue, 14 Jul 2009 17:43:18 +0100 Subject: OpenJDK 6 Certification for Ubuntu 9.04 (jaunty) Message-ID: <4A5CB5A6.70902@redhat.com> In https://lists.ubuntu.com/archives/ubuntu-devel-announce/2009-July/000587.html Matthias Klose wrote: > The Ubuntu Java development team is pleased to announce completed > certification of OpenJDK 6 for Ubuntu 9.04, continuing Ubuntu's tradition of > integrating the latest and greatest open source technologies into a > high-quality, easy-to-use Linux distribution. > > After signing the Sun TCK agreement earlier this year, Java developers > went to work with the certification process and received final > certification from Sun in late May. And you didn't announce it till now. Such amazing self-control. :-) > This certification means that the OpenJDK 6 package included with Ubuntu > 9.04 now passes the rigorous testing of the Java SE Test Compatibility Kit > (TCK) and is compatible with the Java(TM) SE 6 platform on the amd64 (x86_64) > and i386 (ix86) architectures. Congratulations, and welcome to the club! I was beginning to wonder if Red Hat and Fedora were going to be the only member for ever. Andrew. From dbhole at redhat.com Tue Jul 14 09:59:38 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 14 Jul 2009 16:59:38 +0000 Subject: changeset in /hg/icedtea6: Clean up directory structure of .java... Message-ID: changeset dae4c1447578 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dae4c1447578 description: Clean up directory structure of .java files before any significant amount of history gets written. This change does not alter any of the java code, just moves it around to a cleaner location. The only code change is in Makefile.am to adapt to the new location, and another minor change that affects only np plugin build. diffstat: 60 files changed, 7066 insertions(+), 6995 deletions(-) ChangeLog | 68 Makefile.am | 37 plugin/icedteanp/java/netscape/javascript/JSException.java | 140 plugin/icedteanp/java/netscape/javascript/JSObject.java | 263 + plugin/icedteanp/java/netscape/javascript/JSProxy.java | 58 plugin/icedteanp/java/netscape/javascript/JSRunnable.java | 72 plugin/icedteanp/java/netscape/javascript/JSUtil.java | 59 plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java | 71 plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java | 76 plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java | 75 plugin/icedteanp/java/sun/applet/JavaConsole.java | 365 + plugin/icedteanp/java/sun/applet/PasswordAuthenticationDialog.java | 241 + plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 1307 ++++++ plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 1988 ++++++++++ plugin/icedteanp/java/sun/applet/PluginCallRequest.java | 85 plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java | 62 plugin/icedteanp/java/sun/applet/PluginClassLoader.java | 51 plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java | 122 plugin/icedteanp/java/sun/applet/PluginCookieStore.java | 73 plugin/icedteanp/java/sun/applet/PluginDebug.java | 51 plugin/icedteanp/java/sun/applet/PluginException.java | 53 plugin/icedteanp/java/sun/applet/PluginMain.java | 319 + plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 119 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 121 plugin/icedteanp/java/sun/applet/PluginObjectStore.java | 132 plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 85 plugin/icedteanp/java/sun/applet/PluginProxySelector.java | 195 plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 479 ++ plugin/icedteanp/java/sun/applet/RequestQueue.java | 77 plugin/icedteanp/java/sun/applet/TestEnv.java | 172 plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java | 67 plugin/icedteanp/netscape/javascript/JSException.java | 140 plugin/icedteanp/netscape/javascript/JSObject.java | 263 - plugin/icedteanp/netscape/javascript/JSProxy.java | 58 plugin/icedteanp/netscape/javascript/JSRunnable.java | 72 plugin/icedteanp/netscape/javascript/JSUtil.java | 59 plugin/icedteanp/sun/applet/AppletSecurityContextManager.java | 71 plugin/icedteanp/sun/applet/GetMemberPluginCallRequest.java | 76 plugin/icedteanp/sun/applet/GetWindowPluginCallRequest.java | 75 plugin/icedteanp/sun/applet/JavaConsole.java | 365 - plugin/icedteanp/sun/applet/PasswordAuthenticationDialog.java | 241 - plugin/icedteanp/sun/applet/PluginAppletSecurityContext.java | 1307 ------ plugin/icedteanp/sun/applet/PluginAppletViewer.java | 1988 ---------- plugin/icedteanp/sun/applet/PluginCallRequest.java | 85 plugin/icedteanp/sun/applet/PluginCallRequestFactory.java | 62 plugin/icedteanp/sun/applet/PluginClassLoader.java | 51 plugin/icedteanp/sun/applet/PluginCookieInfoRequest.java | 122 plugin/icedteanp/sun/applet/PluginCookieStore.java | 73 plugin/icedteanp/sun/applet/PluginDebug.java | 51 plugin/icedteanp/sun/applet/PluginException.java | 53 plugin/icedteanp/sun/applet/PluginMain.java | 319 - plugin/icedteanp/sun/applet/PluginMessageConsumer.java | 119 plugin/icedteanp/sun/applet/PluginMessageHandlerWorker.java | 121 plugin/icedteanp/sun/applet/PluginObjectStore.java | 132 plugin/icedteanp/sun/applet/PluginProxyInfoRequest.java | 85 plugin/icedteanp/sun/applet/PluginProxySelector.java | 195 plugin/icedteanp/sun/applet/PluginStreamHandler.java | 479 -- plugin/icedteanp/sun/applet/RequestQueue.java | 77 plugin/icedteanp/sun/applet/TestEnv.java | 172 plugin/icedteanp/sun/applet/VoidPluginCallRequest.java | 67 diffs (truncated from 14375 to 500 lines): diff -r b788f2c0fe74 -r dae4c1447578 ChangeLog --- a/ChangeLog Tue Jul 14 12:55:48 2009 +0200 +++ b/ChangeLog Tue Jul 14 13:04:20 2009 -0400 @@ -1,3 +1,71 @@ 2009-07-14 Xerxes R??nby + + * Makefile.am: Fix npplugin build. + * plugin/icedteanp/java/netscape/javascript/JSException.java: Moved from + the plugin/icedteanp/netscape/javascript/ hierarchy. + * plugin/icedteanp/java/netscape/javascript/JSObject.java: Same. + * plugin/icedteanp/java/netscape/javascript/JSProxy.java: Same. + * plugin/icedteanp/java/netscape/javascript/JSRunnable.java: Same. + * plugin/icedteanp/java/netscape/javascript/JSUtil.java: Same. + * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java: + Moved from the plugin/icedteanp/sun/applet hierarchy. + * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: Same. + * plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java: Same. + * plugin/icedteanp/java/sun/applet/JavaConsole.java: Same. + * plugin/icedteanp/java/sun/applet/PasswordAuthenticationDialog.java: + Same. + * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: Same. + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Same. + * plugin/icedteanp/java/sun/applet/PluginCallRequest.java: Same. + * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: Same. + * plugin/icedteanp/java/sun/applet/PluginClassLoader.java: Same. + * plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java: Same. + * plugin/icedteanp/java/sun/applet/PluginCookieStore.java: Same. + * plugin/icedteanp/java/sun/applet/PluginDebug.java: Same. + * plugin/icedteanp/java/sun/applet/PluginException.java: Same. + * plugin/icedteanp/java/sun/applet/PluginMain.java: Same. + * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Same. + * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: Same. + * plugin/icedteanp/java/sun/applet/PluginObjectStore.java: Same. + * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java: Same. + * plugin/icedteanp/java/sun/applet/PluginProxySelector.java: Same. + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Same. + * plugin/icedteanp/java/sun/applet/RequestQueue.java: Same. + * plugin/icedteanp/java/sun/applet/TestEnv.java: Same. + * plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java: Same. + * plugin/icedteanp/netscape/javascript/JSException.java: Moved to + the plugin/icedteanp/java/netscape/javascript/ heirarchy. + * plugin/icedteanp/netscape/javascript/JSObject.java: Same. + * plugin/icedteanp/netscape/javascript/JSProxy.java: Same. + * plugin/icedteanp/netscape/javascript/JSRunnable.java: Same. + * plugin/icedteanp/netscape/javascript/JSUtil.java: Same. + * plugin/icedteanp/sun/applet/AppletSecurityContextManager.java: Moved to + the plugin/icedteanp/java/sun/applet/ heirarchy. + * plugin/icedteanp/sun/applet/GetMemberPluginCallRequest.java: Same. + * plugin/icedteanp/sun/applet/GetWindowPluginCallRequest.java: Same. + * plugin/icedteanp/sun/applet/JavaConsole.java: Same. + * plugin/icedteanp/sun/applet/PasswordAuthenticationDialog.java: Same. + * plugin/icedteanp/sun/applet/PluginAppletSecurityContext.java: Same. + * plugin/icedteanp/sun/applet/PluginAppletViewer.java: Same. + * plugin/icedteanp/sun/applet/PluginCallRequest.java: Same. + * plugin/icedteanp/sun/applet/PluginCallRequestFactory.java: Same. + * plugin/icedteanp/sun/applet/PluginClassLoader.java: Same. + * plugin/icedteanp/sun/applet/PluginCookieInfoRequest.java: Same. + * plugin/icedteanp/sun/applet/PluginCookieStore.java: Same. + * plugin/icedteanp/sun/applet/PluginDebug.java: Same. + * plugin/icedteanp/sun/applet/PluginException.java: Same. + * plugin/icedteanp/sun/applet/PluginMain.java: Same. + * plugin/icedteanp/sun/applet/PluginMessageConsumer.java: Same. + * plugin/icedteanp/sun/applet/PluginMessageHandlerWorker.java: Same. + * plugin/icedteanp/sun/applet/PluginObjectStore.java: Same. + * plugin/icedteanp/sun/applet/PluginProxyInfoRequest.java: Same. + * plugin/icedteanp/sun/applet/PluginProxySelector.java: Same. + * plugin/icedteanp/sun/applet/PluginStreamHandler.java: Same. + * plugin/icedteanp/sun/applet/RequestQueue.java: Same. + * plugin/icedteanp/sun/applet/TestEnv.java: Same. + * plugin/icedteanp/sun/applet/VoidPluginCallRequest.java: Same. + + 2009-07-14 Xerxes R??nby * ports/hotspot/src/share/vm/shark/llvmValue.hpp diff -r b788f2c0fe74 -r dae4c1447578 Makefile.am --- a/Makefile.am Tue Jul 14 12:55:48 2009 +0200 +++ b/Makefile.am Tue Jul 14 13:04:20 2009 -0400 @@ -13,17 +13,20 @@ ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.s ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape +NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch LIVECONNECT_DIR = -C lib/rt netscape +NPPLUGIN_DIR = else ICEDTEAPLUGIN_CLEAN = ICEDTEAPLUGIN_TARGET = PLUGIN_PATCH = LIVECONNECT_DIR = +NPPLUGIN_DIR = endif endif @@ -66,7 +69,7 @@ distclean-local: clean-copy clean-jtreg rm -rf visualvm rm -rf netbeans if ENABLE_NPPLUGIN - rm -f IcedTeaNPPlugin.o IcedTeaNPPlugin.so + rm -f $(NPPLUGIN_DIR)/*.o $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so else if ENABLE_PLUGIN rm -f IcedTeaPlugin.o IcedTeaPlugin.so @@ -781,9 +784,9 @@ stamps/patch.stamp: stamps/patch-fsg.sta fi if ENABLE_NPPLUGIN - cp -a $(abs_top_srcdir)/plugin/icedteanp/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ + cp -a $(abs_top_srcdir)/plugin/icedteanp/java/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ mkdir -p rt - cp -a $(abs_top_srcdir)/plugin/icedteanp/netscape rt/ + cp -a $(abs_top_srcdir)/plugin/icedteanp/java/netscape rt/ else if ENABLE_PLUGIN cp -a $(abs_top_srcdir)/plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ @@ -1106,9 +1109,9 @@ stamps/icedtea.stamp: stamps/bootstrap-d mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext if ENABLE_NPPLUGIN - cp -pPRf IcedTeaNPPlugin.so \ + cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf IcedTeaNPPlugin.so \ + cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) else if ENABLE_PLUGIN @@ -1191,9 +1194,9 @@ stamps/icedtea-debug.stamp: stamps/boots mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext if ENABLE_NPPLUGIN - cp -pPRf IcedTeaNPPlugin.so \ + cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf IcedTeaNPPlugin.so \ + cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/$(INSTALL_ARCH_DIR) else if ENABLE_PLUGIN @@ -1614,7 +1617,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaPluginUtils.o IcedTeaNPPlugin_objects: - (cd plugin/icedteanp + cd $(NPPLUGIN_DIR); \ if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ fi ; \ @@ -1627,24 +1630,24 @@ IcedTeaNPPlugin_objects: $(GLIB_CFLAGS) \ $(GTK_CFLAGS) \ $(MOZILLA_CFLAGS) \ - -fPIC -c $(NPPLUGIN_SRC) - ) + -fPIC -c $(NPPLUGIN_SRC); \ + cd ../ IcedTeaNPPlugin.so: IcedTeaNPPlugin_objects - (cd plugin/icedteanp + cd $(NPPLUGIN_DIR); \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(MOZILLA_LIBS)\ - -shared -o $@ - ) + -shared -o $@; \ + cd ../ clean-IcedTeaNPPlugin: - (cd plugin/icedteanp - rm -f $(NPPLUGIN_OBJECTS) - rm -f IcedTeaNPPlugin.so - ) + cd $(NPPLUGIN_DIR);\ + rm -f *.o; \ + rm -f IcedTeaNPPlugin.so; \ + cd ../ else if ENABLE_PLUGIN # IcedTeaPlugin.so. diff -r b788f2c0fe74 -r dae4c1447578 plugin/icedteanp/java/netscape/javascript/JSException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/java/netscape/javascript/JSException.java Tue Jul 14 13:04:20 2009 -0400 @@ -0,0 +1,140 @@ +/* -*- Mode: Java; tab-width: 8; c-basic-offset: 4 -*- + * + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code, released + * March 31, 1998. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either of the GNU General Public License Version 2 or later (the "GPL"), + * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +package netscape.javascript; + +/** + * JSException is an exception which is thrown when JavaScript code + * returns an error. + */ + +public +class JSException extends RuntimeException { + public static final int EXCEPTION_TYPE_EMPTY = -1; + public static final int EXCEPTION_TYPE_VOID = 0; + public static final int EXCEPTION_TYPE_OBJECT = 1; + public static final int EXCEPTION_TYPE_FUNCTION = 2; + public static final int EXCEPTION_TYPE_STRING = 3; + public static final int EXCEPTION_TYPE_NUMBER = 4; + public static final int EXCEPTION_TYPE_BOOLEAN = 5; + public static final int EXCEPTION_TYPE_ERROR = 6; + + public String filename; + public int lineno; + public String source; + public int tokenIndex; + public int wrappedExceptionType; + public Object wrappedException; + + /** + * Constructs a JSException without a detail message. + * A detail message is a String that describes this particular exception. + * + * @deprecated Not for public use in future versions. + */ + public JSException() { + super(); + filename = "unknown"; + lineno = 0; + source = ""; + tokenIndex = 0; + wrappedExceptionType = EXCEPTION_TYPE_EMPTY; + } + + /** + * Constructs a JSException with a detail message. + * A detail message is a String that describes this particular exception. + * @param s the detail message + * + * @deprecated Not for public use in future versions. + */ + public JSException(String s) { + super(s); + filename = "unknown"; + lineno = 0; + source = ""; + tokenIndex = 0; + wrappedExceptionType = EXCEPTION_TYPE_EMPTY; + } + + /** + * Constructs a JSException with a wrapped JavaScript exception object. + * This constructor needs to be public so that Java users can throw + * exceptions to JS cleanly. + */ + public JSException(int wrappedExceptionType, Object wrappedException) { + super(); + this.wrappedExceptionType = wrappedExceptionType; + this.wrappedException = wrappedException; + } + + /** + * Constructs a JSException with a detail message and all the + * other info that usually comes with a JavaScript error. + * @param s the detail message + * + * @deprecated Not for public use in future versions. + */ + public JSException(String s, String filename, int lineno, + String source, int tokenIndex) { + super(s); + this.filename = filename; + this.lineno = lineno; + this.source = source; + this.tokenIndex = tokenIndex; + wrappedExceptionType = EXCEPTION_TYPE_EMPTY; + } + + /** + * Instance method getWrappedExceptionType returns the int mapping of the + * type of the wrappedException Object. + */ + public int getWrappedExceptionType() { + return wrappedExceptionType; + } + + /** + * Instance method getWrappedException. + */ + public Object getWrappedException() { + return wrappedException; + } + +} + diff -r b788f2c0fe74 -r dae4c1447578 plugin/icedteanp/java/netscape/javascript/JSObject.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedteanp/java/netscape/javascript/JSObject.java Tue Jul 14 13:04:20 2009 -0400 @@ -0,0 +1,263 @@ +/* -*- Mode: Java; tab-width: 8; c-basic-offset: 4 -*- + * + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code, released + * March 31, 1998. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either of the GNU General Public License Version 2 or later (the "GPL"), + * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +/* more doc todo: + * threads + * gc + * + * + */ + +package netscape.javascript; + +import java.applet.Applet; + +import sun.applet.PluginAppletViewer; +import sun.applet.PluginDebug; + + + +/** + * JSObject allows Java to manipulate objects that are + * defined in JavaScript. + * Values passed from Java to JavaScript are converted as + * follows:
    + *
  • JSObject is converted to the original JavaScript object + *
  • Any other Java object is converted to a JavaScript wrapper, + * which can be used to access methods and fields of the java object. + * Converting this wrapper to a string will call the toString method + * on the original object, converting to a number will call the + * doubleValue method if possible and fail otherwise. Converting + * to a boolean will try to call the booleanValue method in the + * same way. + *
  • Java arrays are wrapped with a JavaScript object that understands + * array.length and array[index] + *
  • A Java boolean is converted to a JavaScript boolean + *
  • Java byte, char, short, int, long, float, and double are converted + * to JavaScript numbers + *
+ * Values passed from JavaScript to Java are converted as follows:
    + *
  • objects which are wrappers around java objects are unwrapped + *
  • other objects are wrapped with a JSObject + *
  • strings, numbers and booleans are converted to String, Double, + * and Boolean objects respectively + *
+ * This means that all JavaScript values show up as some kind + * of java.lang.Object in Java. In order to make much use of them, + * you will have to cast them to the appropriate subclass of Object, + * e.g. (String) window.getMember("name"); or + * (JSObject) window.getMember("document");. + */ +public final class JSObject { + /* the internal object data */ + private long internal; + + /** + * initialize + */ + private static void initClass() { + PluginDebug.debug ("JSObject.initClass"); + } + + static { + PluginDebug.debug ("JSObject INITIALIZER"); + } + + /** + * it is illegal to construct a JSObject manually + */ + // FIXME: make private! + public JSObject(int jsobj_addr) { + PluginDebug.debug ("JSObject int CONSTRUCTOR"); + internal = jsobj_addr; + } + + public JSObject(long jsobj_addr) { + PluginDebug.debug ("JSObject long CONSTRUCTOR"); + internal = jsobj_addr; + } + + /** + * Retrieves a named member of a JavaScript object. + * Equivalent to "this.name" in JavaScript. + */ + public Object getMember(String name) + { + PluginDebug.debug ("JSObject.getMember " + name); + + Object o = PluginAppletViewer.getMember(internal, name); + PluginDebug.debug ("JSObject.getMember GOT " + o); + return o; + } + + + /** + * Retrieves an indexed member of a JavaScript object. + * Equivalent to "this[index]" in JavaScript. + */ + // public Object getMember(int index) { return getSlot(index); } + public Object getSlot(int index) + { + PluginDebug.debug ("JSObject.getSlot " + index); + + return PluginAppletViewer.getSlot(internal, index); + } + + + /** + * Sets a named member of a JavaScript object. + * Equivalent to "this.name = value" in JavaScript. + */ + public void setMember(String name, Object value) + { + PluginDebug.debug ("JSObject.setMember " + name + " " + value); + + PluginAppletViewer.setMember(internal, name, value); + } + + /** + * Sets an indexed member of a JavaScript object. + * Equivalent to "this[index] = value" in JavaScript. + */ + // public void setMember(int index, Object value) { + // setSlot(index, value); + // } + public void setSlot(int index, Object value) + { + PluginDebug.debug ("JSObject.setSlot " + index + " " + value); + + PluginAppletViewer.setSlot(internal, index, value); From doko at ubuntu.com Tue Jul 14 10:02:25 2009 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 14 Jul 2009 13:02:25 -0400 Subject: OpenJDK 6 Certification for Ubuntu 9.04 (jaunty) In-Reply-To: <4A5CB5A6.70902@redhat.com> References: <4A5CB5A6.70902@redhat.com> Message-ID: <4A5CBA21.6070801@ubuntu.com> Andrew Haley schrieb: > In https://lists.ubuntu.com/archives/ubuntu-devel-announce/2009-July/000587.html > Matthias Klose wrote: > >> The Ubuntu Java development team is pleased to announce completed >> certification of OpenJDK 6 for Ubuntu 9.04, continuing Ubuntu's tradition of >> integrating the latest and greatest open source technologies into a >> high-quality, easy-to-use Linux distribution. >> >> After signing the Sun TCK agreement earlier this year, Java developers >> went to work with the certification process and received final >> certification from Sun in late May. > > And you didn't announce it till now. Such amazing self-control. :-) well, we had a bug in the fontconfig configuration file leading to too large vertical layout in dialogs, which was fixed in an update, and this update did migrate to jaunty-updates last Friday. >> This certification means that the OpenJDK 6 package included with Ubuntu >> 9.04 now passes the rigorous testing of the Java SE Test Compatibility Kit >> (TCK) and is compatible with the Java(TM) SE 6 platform on the amd64 (x86_64) >> and i386 (ix86) architectures. > > Congratulations, and welcome to the club! I was beginning to wonder if Red Hat > and Fedora were going to be the only member for ever. And many thanks for guiding me through the setup for the TCK! So it should be possible to certify the Debian packages as well (maybe not the ones in lenny, but more likely a backport). I will not do this myself, the certification is time consuming. If somebody wants to get involved with the certification of the Debian OpenJDK-6 packages (after doing the paperwork of signing the TCK and the SCA), please let me know, and I'll help where I can. Matthias From dbhole at redhat.com Tue Jul 14 10:08:07 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 14 Jul 2009 17:08:07 +0000 Subject: changeset in /hg/icedtea6: Fix date in ChangeLog entry from prev... Message-ID: changeset 119501af9b1c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=119501af9b1c description: Fix date in ChangeLog entry from previous commit. Bad me for copying+pasting :/ diffstat: 1 file changed, 1 insertion(+), 1 deletion(-) ChangeLog | 2 +- diffs (9 lines): diff -r dae4c1447578 -r 119501af9b1c ChangeLog --- a/ChangeLog Tue Jul 14 13:04:20 2009 -0400 +++ b/ChangeLog Tue Jul 14 13:12:50 2009 -0400 @@ -1,4 +1,4 @@ 2009-07-10 Deepak Bhole +2009-07-14 Deepak Bhole * Makefile.am: Fix npplugin build. * plugin/icedteanp/java/netscape/javascript/JSException.java: Moved from From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 13:47:47 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 20:47:47 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #4 from jon.vanalten at redhat.com 2009-07-14 20:47 ------- I'll be the first to admit I know little about nss, but it looks like you're absolutely correct as some others have had similar issues: https://bugzilla.redhat.com/show_bug.cgi?id=492124 May I suggest that you post these details (or simply a link to this bug) in a new nss bug on the Red Hat bugzilla: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora I'd do so myself but it's not my itch to scratch :D (more importantly, someone with more intimate knowledge of the issue could contribute more meaningfully to the report). >From the above convo and the bits I've read elsewhere on the subject it seems this is not an IcedTea bug, so I'm closing this. Feel free to reopen if I am mistaken. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 14:05:22 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 21:05:22 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #5 from doko at ubuntu.com 2009-07-14 21:05 ------- are you sure about closing the report? At least java.security needs to be aware of the new security provider. One possibility would be a configure check in IcedTea, and modification of the java.security file. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 14:46:31 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 21:46:31 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #6 from jon.vanalten at redhat.com 2009-07-14 21:46 ------- Fairly sure. From Andreas Sterbenz's 2006 blog posting linked by Kostis in comment #2 and #3, programs wishing to use this (not new) provider should add it (ie "Security.insertProviderAt(nss, 1);" at runtime, and set up config file as described. So unless I have misunderstood completely, this is not a build or configure issue for IcedTea. Furthermore, http://blogs.sun.com/andreas/entry/elliptic_curve_cryptography_in_java indicates that the use of ECC depends on NSS library specifically compiled with ECC support. All signs point to Fedora's NSS library not being compiled as such. Thus the recommendation to open Red Hat bug wrt the nss (really I should say nss-devel) package. If you know something I don't (which is entirely likely), please reopen the report and add info as required. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 15:04:45 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 22:04:45 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #7 from doko at ubuntu.com 2009-07-14 22:04 ------- it's keytool from OpenJDK which does need this support to add the certificate to the keystore, and read it again. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 14 16:43:50 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jul 2009 23:43:50 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID | ------- Comment #8 from gnu_andrew at member.fsf.org 2009-07-14 23:43 ------- I don't think keytool needs to be altered. We could however have NSS support enabled out of the box. We are in a better position than Sun in that we are not distributing proprietary standalone binaries, and can instead depend on NSS. Thus, it seems, from reading these blogs, that we could detect NSS using autoconf and generate the configuration, rather than leaving it to the end user. The other issue is that Fedora's NSS doesn't have elliptic curve support. This needs fixing in Fedora with the bug Jon mentioned. You'll be glad to know that a pure Java implementation of elliptic curve cryptography is slated for JDK7; http://openjdk.java.net/projects/jdk7/features/#f73 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Wed Jul 15 03:21:25 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Wed, 15 Jul 2009 12:21:25 +0200 Subject: RFC: shark + llvm2.6svn api change ConstantInt::get and ConstantArray::get implementation have been moved to LLVMContext Message-ID: <4A5DADA5.2030404@zafena.se> Patch to fix build errors with LLVM API changes in svn r75703 ConstantInt::get and ConstantArray::get implementation have been moved to LLVMContext http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090713/081100.html Cheers Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: ConstantInt_ConstantArray_moved_to_LLVMContext.patch Type: text/x-patch Size: 3356 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090715/8bb524ab/ConstantInt_ConstantArray_moved_to_LLVMContext.patch From gbenson at redhat.com Wed Jul 15 03:29:31 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 15 Jul 2009 11:29:31 +0100 Subject: RFC: shark + llvm2.6svn api change ConstantInt::get and ConstantArray::get implementation have been moved to LLVMContext In-Reply-To: <4A5DADA5.2030404@zafena.se> References: <4A5DADA5.2030404@zafena.se> Message-ID: <20090715102930.GA3179@redhat.com> Hi Xerxes, Please commit this. Feel free to commit similar API fixes in future, you're pretty good at them :) Cheers, Gary Xerxes R?nby wrote: > Patch to fix build errors with LLVM API changes in svn r75703 > ConstantInt::get and ConstantArray::get implementation have been > moved to LLVMContext > > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090713/081100.html > > Cheers > Xerxes > Index: icedtea6/ports/hotspot/src/share/vm/shark/llvmValue.hpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/llvmValue.hpp 2009-07-15 11:34:29.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/llvmValue.hpp 2009-07-15 11:39:21.000000000 +0200 > @@ -27,15 +27,27 @@ > public: > static llvm::ConstantInt* jbyte_constant(jbyte value) > { > +#if SHARK_LLVM_VERSION >= 26 > + return llvm::getGlobalContext().getConstantInt(SharkType::jbyte_type(), value, true); > +#else > return llvm::ConstantInt::get(SharkType::jbyte_type(), value, true); > +#endif > } > static llvm::ConstantInt* jint_constant(jint value) > { > +#if SHARK_LLVM_VERSION >= 26 > + return llvm::getGlobalContext().getConstantInt(SharkType::jint_type(), value, true); > +#else > return llvm::ConstantInt::get(SharkType::jint_type(), value, true); > +#endif > } > static llvm::ConstantInt* jlong_constant(jlong value) > { > +#if SHARK_LLVM_VERSION >= 26 > + return llvm::getGlobalContext().getConstantInt(SharkType::jlong_type(), value, true); > +#else > return llvm::ConstantInt::get(SharkType::jlong_type(), value, true); > +#endif > } > #if SHARK_LLVM_VERSION >= 26 > static llvm::Constant* jfloat_constant(jfloat value) > @@ -67,6 +79,10 @@ > public: > static llvm::ConstantInt* intptr_constant(intptr_t value) > { > +#if SHARK_LLVM_VERSION >= 26 > + return llvm::getGlobalContext().getConstantInt(SharkType::intptr_type(), value, false); > +#else > return llvm::ConstantInt::get(SharkType::intptr_type(), value, false); > +#endif > } > }; > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-07-15 11:40:21.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-07-15 11:44:42.000000000 +0200 > @@ -187,9 +187,15 @@ > { > Constant *const_name; > if (value->hasName()) > +#if SHARK_LLVM_VERSION >= 26 > + const_name = getGlobalContext().getConstantArray(value->getName()); > + else > + const_name = getGlobalContext().getConstantArray("unnamed_value"); > +#else > const_name = ConstantArray::get(value->getName()); > else > const_name = ConstantArray::get("unnamed_value"); > +#endif > > Value *name = CreatePtrToInt( > CreateStructGEP( > @@ -260,10 +266,18 @@ > CallInst *SharkBuilder::CreateMemoryBarrier(BarrierFlags flags) > { > Value *args[] = { > +#if SHARK_LLVM_VERSION >= 26 > + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_LOADLOAD) ? 1 : 0), > + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_LOADSTORE) ? 1 : 0), > + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_STORELOAD) ? 1 : 0), > + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_STORESTORE) ? 1 : 0), > + getGlobalContext().getConstantInt(Type::Int1Ty, 0)}; > +#else > ConstantInt::get(Type::Int1Ty, (flags & BARRIER_LOADLOAD) ? 1 : 0), > ConstantInt::get(Type::Int1Ty, (flags & BARRIER_LOADSTORE) ? 1 : 0), > ConstantInt::get(Type::Int1Ty, (flags & BARRIER_STORELOAD) ? 1 : 0), > ConstantInt::get(Type::Int1Ty, (flags & BARRIER_STORESTORE) ? 1 : 0), > ConstantInt::get(Type::Int1Ty, 0)}; > +#endif > return CreateCall(llvm_memory_barrier_fn(), args, args + 5); > } -- http://gbenson.net/ From xerxes at zafena.se Wed Jul 15 03:54:14 2009 From: xerxes at zafena.se (Xerxes R?nby) Date: Wed, 15 Jul 2009 10:54:14 +0000 Subject: changeset in /hg/icedtea6: 2009-07-15 Xerxes R?nby changeset 438cbd2f7252 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=438cbd2f7252 description: 2009-07-15 Xerxes R?nby * ports/hotspot/src/share/vm/shark/llvmValue.hpp (jbyte_constant): Handle LLVM 2.6 svn r75703 API change. llvm::ConstantInt::get have been moved to llvm::LLVMContext::getConstantInt. (jint_constant): Likewise. (jlong_constant): Likewise. (intptr_constant): Likewise. * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp (SharkBuilder::CreateMemoryBarrier): Likewise. (SharkBuilder::CreateDump): llvm::ConstantArray::get have been moved to llvm::LLVMContext::getConstantArray. diffstat: 3 files changed, 44 insertions(+) ChangeLog | 14 ++++++++++++++ ports/hotspot/src/share/vm/shark/llvmValue.hpp | 16 ++++++++++++++++ ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 14 ++++++++++++++ diffs (101 lines): diff -r 119501af9b1c -r 438cbd2f7252 ChangeLog --- a/ChangeLog Tue Jul 14 13:12:50 2009 -0400 +++ b/ChangeLog Wed Jul 15 12:56:10 2009 +0200 @@ -1,3 +1,17 @@ 2009-07-14 Deepak Bhole + + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (jbyte_constant): Handle LLVM 2.6 svn r75703 API change. + llvm::ConstantInt::get have been moved to + llvm::LLVMContext::getConstantInt. + (jint_constant): Likewise. + (jlong_constant): Likewise. + (intptr_constant): Likewise. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::CreateMemoryBarrier): Likewise. + (SharkBuilder::CreateDump): llvm::ConstantArray::get have been + moved to llvm::LLVMContext::getConstantArray. + 2009-07-14 Deepak Bhole * Makefile.am: Fix npplugin build. diff -r 119501af9b1c -r 438cbd2f7252 ports/hotspot/src/share/vm/shark/llvmValue.hpp --- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp Tue Jul 14 13:12:50 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Jul 15 12:56:10 2009 +0200 @@ -27,15 +27,27 @@ class LLVMValue : public AllStatic { public: static llvm::ConstantInt* jbyte_constant(jbyte value) { +#if SHARK_LLVM_VERSION >= 26 + return llvm::getGlobalContext().getConstantInt(SharkType::jbyte_type(), value, true); +#else return llvm::ConstantInt::get(SharkType::jbyte_type(), value, true); +#endif } static llvm::ConstantInt* jint_constant(jint value) { +#if SHARK_LLVM_VERSION >= 26 + return llvm::getGlobalContext().getConstantInt(SharkType::jint_type(), value, true); +#else return llvm::ConstantInt::get(SharkType::jint_type(), value, true); +#endif } static llvm::ConstantInt* jlong_constant(jlong value) { +#if SHARK_LLVM_VERSION >= 26 + return llvm::getGlobalContext().getConstantInt(SharkType::jlong_type(), value, true); +#else return llvm::ConstantInt::get(SharkType::jlong_type(), value, true); +#endif } #if SHARK_LLVM_VERSION >= 26 static llvm::Constant* jfloat_constant(jfloat value) @@ -67,6 +79,10 @@ class LLVMValue : public AllStatic { public: static llvm::ConstantInt* intptr_constant(intptr_t value) { +#if SHARK_LLVM_VERSION >= 26 + return llvm::getGlobalContext().getConstantInt(SharkType::intptr_type(), value, false); +#else return llvm::ConstantInt::get(SharkType::intptr_type(), value, false); +#endif } }; diff -r 119501af9b1c -r 438cbd2f7252 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Tue Jul 14 13:12:50 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Jul 15 12:56:10 2009 +0200 @@ -187,9 +187,15 @@ CallInst* SharkBuilder::CreateDump(llvm: { Constant *const_name; if (value->hasName()) +#if SHARK_LLVM_VERSION >= 26 + const_name = getGlobalContext().getConstantArray(value->getName()); + else + const_name = getGlobalContext().getConstantArray("unnamed_value"); +#else const_name = ConstantArray::get(value->getName()); else const_name = ConstantArray::get("unnamed_value"); +#endif Value *name = CreatePtrToInt( CreateStructGEP( @@ -260,10 +266,18 @@ CallInst *SharkBuilder::CreateMemoryBarr CallInst *SharkBuilder::CreateMemoryBarrier(BarrierFlags flags) { Value *args[] = { +#if SHARK_LLVM_VERSION >= 26 + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_LOADLOAD) ? 1 : 0), + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_LOADSTORE) ? 1 : 0), + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_STORELOAD) ? 1 : 0), + getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_STORESTORE) ? 1 : 0), + getGlobalContext().getConstantInt(Type::Int1Ty, 0)}; +#else ConstantInt::get(Type::Int1Ty, (flags & BARRIER_LOADLOAD) ? 1 : 0), ConstantInt::get(Type::Int1Ty, (flags & BARRIER_LOADSTORE) ? 1 : 0), ConstantInt::get(Type::Int1Ty, (flags & BARRIER_STORELOAD) ? 1 : 0), ConstantInt::get(Type::Int1Ty, (flags & BARRIER_STORESTORE) ? 1 : 0), ConstantInt::get(Type::Int1Ty, 0)}; +#endif return CreateCall(llvm_memory_barrier_fn(), args, args + 5); } From ahughes at redhat.com Wed Jul 15 05:37:19 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 15 Jul 2009 12:37:19 +0000 Subject: changeset in /hg/icedtea: Fix build on systems without java.util... Message-ID: changeset 2341c4735ea7 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=2341c4735ea7 description: Fix build on systems without java.util.Scanner. 2009-07-15 Andrew John Hughes * Makefile.am: Turn on euctw patch for systems without java.util.Scanner. * patches/ecj/icedtea-euctw.patch: Remove java.util.Scanner from GenerateEUC_TW.java diffstat: 3 files changed, 42 insertions(+), 1 deletion(-) ChangeLog | 8 ++++++++ Makefile.am | 3 ++- patches/ecj/icedtea-euctw.patch | 32 ++++++++++++++++++++++++++++++++ diffs (64 lines): diff -r e2ff1b52131d -r 2341c4735ea7 ChangeLog --- a/ChangeLog Tue Jul 14 19:44:20 2009 +0100 +++ b/ChangeLog Wed Jul 15 13:39:06 2009 +0100 @@ -1,3 +1,11 @@ 2009-07-14 Andrew John Hughes + + * Makefile.am: + Turn on euctw patch for systems without + java.util.Scanner. + * patches/ecj/icedtea-euctw.patch: + Remove java.util.Scanner from GenerateEUC_TW.java + 2009-07-14 Andrew John Hughes * patches/icedtea-messageutils.patch, diff -r e2ff1b52131d -r 2341c4735ea7 Makefile.am --- a/Makefile.am Tue Jul 14 19:44:20 2009 +0100 +++ b/Makefile.am Wed Jul 15 13:39:06 2009 +0100 @@ -2501,7 +2501,8 @@ SCANNER_PATCHES = patches/ecj/icedtea-sp patches/ecj/icedtea-dbcs.patch if LACKS_JAVA_UTIL_SCANNER -ICEDTEA_ECJ_PATCHES += $(SCANNER_PATCHES) +ICEDTEA_ECJ_PATCHES += $(SCANNER_PATCHES) \ + patches/ecj/icedtea-euctw.patch else if CP40630 ICEDTEA_ECJ_PATCHES += $(SCANNER_PATCHES) diff -r e2ff1b52131d -r 2341c4735ea7 patches/ecj/icedtea-euctw.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-euctw.patch Wed Jul 15 13:39:06 2009 +0100 @@ -0,0 +1,32 @@ +diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java 2009-07-15 13:08:40.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateEUC_TW.java 2009-07-15 13:12:08.000000000 +0100 +@@ -27,7 +27,6 @@ + + import java.io.*; + import java.util.ArrayList; +-import java.util.Scanner; + import java.util.Formatter; + import java.util.regex.*; + import java.nio.charset.*; +@@ -42,16 +41,16 @@ + } + + private static String getCopyright(File f) throws IOException { +- Scanner s = new Scanner(f, "ISO-8859-1"); ++ BufferedReader r = ++ new BufferedReader(new InputStreamReader(new FileInputStream(f), "ISO-8859-1")); + StringBuilder sb = new StringBuilder(); +- while (s.hasNextLine()) { +- String ln = s.nextLine(); ++ for (String ln = r.readLine(); ln != null; ln = r.readLine()) { + sb.append(ln + "\n"); + // assume we have the copyright as the first comment + if (ln.matches("^\\s\\*\\/$")) + break; + } +- s.close(); ++ r.close(); + return sb.toString(); + } + From ahughes at redhat.com Wed Jul 15 05:37:19 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Wed, 15 Jul 2009 12:37:19 +0000 Subject: changeset in /hg/icedtea: Bump to b64. Message-ID: changeset e2ff1b52131d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=e2ff1b52131d description: Bump to b64. 2009-07-14 Andrew John Hughes * patches/icedtea-messageutils.patch, * patches/icedtea-toolkit.patch: Dropped, committed upstream by Lillian. * Makefile.am: Bump to b64. * patches/ecj/icedtea-dbcs.patch, * patches/ecj/icedtea.patch, * patches/icedtea-linker-libs-order.patch, * patches/icedtea-webstart.patch: Recreated. diffstat: 8 files changed, 107 insertions(+), 153 deletions(-) ChangeLog | 12 ++ Makefile.am | 36 +++---- patches/ecj/icedtea-dbcs.patch | 6 - patches/ecj/icedtea.patch | 152 +++++++++++++------------------ patches/icedtea-linker-libs-order.patch | 12 +- patches/icedtea-messageutils.patch | 12 -- patches/icedtea-toolkit.patch | 11 -- patches/icedtea-webstart.patch | 19 +-- diffs (truncated from 613 to 500 lines): diff -r e944184d6eda -r e2ff1b52131d ChangeLog --- a/ChangeLog Thu Jul 09 19:52:10 2009 +0100 +++ b/ChangeLog Tue Jul 14 19:44:20 2009 +0100 @@ -1,3 +1,15 @@ 2009-07-09 Andrew John Hughes + + * patches/icedtea-messageutils.patch, + * patches/icedtea-toolkit.patch: + Dropped, committed upstream by Lillian. + * Makefile.am: Bump to b64. + * patches/ecj/icedtea-dbcs.patch, + * patches/ecj/icedtea.patch, + * patches/icedtea-linker-libs-order.patch, + * patches/icedtea-webstart.patch: + Recreated. + 2009-07-09 Andrew John Hughes * patches/ecj/icedtea-pr40616.patch: diff -r e944184d6eda -r e2ff1b52131d Makefile.am --- a/Makefile.am Thu Jul 09 19:52:10 2009 +0100 +++ b/Makefile.am Tue Jul 14 19:44:20 2009 +0100 @@ -1,20 +1,20 @@ OPENJDK_VERSION = b63 -OPENJDK_VERSION = b63 - -OPENJDK_CHANGESET = 57f7e028c7ad -CORBA_CHANGESET = d20e45cd539f -JAXP_CHANGESET = ae449e9c04c1 -JAXWS_CHANGESET = 5b9e8315aab2 -JDK_CHANGESET = 6388560a8d7e -LANGTOOLS_CHANGESET = 5c2c81120555 -HOTSPOT_CHANGESET = 32c83fb84370 - -OPENJDK_MD5SUM = 01a2fe09452d8579fb251120e37dc45a -CORBA_MD5SUM = 865e397135e2b9f8e4a256b4146b6852 -JAXP_MD5SUM = 008c8971c40aca1759dd0129a025f9b8 -JAXWS_MD5SUM = 86d18ba378cb83a2bd33b334c7bd610e -JDK_MD5SUM = 68b034a7d0906a0f7b471e080b45407a -LANGTOOLS_MD5SUM = 5ff432cec3ddf86ae5dbd147da1a7f92 -HOTSPOT_MD5SUM = a97947d03665b39b806ddcf2e48b9fc8 +OPENJDK_VERSION = b64 + +OPENJDK_CHANGESET = 269c1ec4435d +CORBA_CHANGESET = 047dd27fddb6 +JAXP_CHANGESET = a10eec7a1edf +JAXWS_CHANGESET = d1788e8fd315 +JDK_CHANGESET = d799a225c668 +LANGTOOLS_CHANGESET = d8f23a81d46f +HOTSPOT_CHANGESET = ba36394eb84b + +OPENJDK_MD5SUM = 377e7f1139d876175dd85629220213c9 +CORBA_MD5SUM = 203e6eb0231ae7848a501ee40fcc256d +JAXP_MD5SUM = b57ed800ab149e44d4d53525cf58e9a7 +JAXWS_MD5SUM = 768509b4a24dc8e3b060e68e71081f48 +JDK_MD5SUM = dab8727958b03ff1b7992a50545479c3 +LANGTOOLS_MD5SUM = bf1a06f7d30febfb332658b6d7ef5fa5 +HOTSPOT_MD5SUM = 1ffa3dd169e18e9679c56b13c04a0de9 CACAO_VERSION = 0.99.4 CACAO_MD5SUM = 63220327925ace13756ae334c55a3baa @@ -2037,7 +2037,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-override-redirect-metacity.patch \ patches/icedtea-shark-build.patch \ patches/hotspot/$(HSBUILD)/icedtea-shark-build.patch \ - patches/icedtea-toolkit.patch \ patches/icedtea-security-updates.patch \ patches/icedtea-jdk-docs-target.patch \ patches/icedtea-mbeanintrospector.patch \ @@ -2053,7 +2052,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-arch.patch \ patches/icedtea-signed-types.patch \ patches/icedtea-lc_ctype.patch \ - patches/icedtea-messageutils.patch \ patches/icedtea-xjc.patch \ patches/icedtea-renderer-crossing.patch \ patches/icedtea-tests-jdk.patch \ diff -r e944184d6eda -r e2ff1b52131d patches/ecj/icedtea-dbcs.patch --- a/patches/ecj/icedtea-dbcs.patch Thu Jul 09 19:52:10 2009 +0100 +++ b/patches/ecj/icedtea-dbcs.patch Tue Jul 14 19:44:20 2009 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-ecj.orig/jdk/make/tool diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java ---- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java 2009-07-08 18:00:55.000000000 +0100 -+++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java 2009-07-08 23:45:44.000000000 +0100 +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java 2009-07-14 18:00:31.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/charsetmapping/GenerateDBCS.java 2009-07-14 18:08:30.000000000 +0100 @@ -27,7 +27,6 @@ import java.io.*; import java.util.Arrays; @@ -10,7 +10,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/tool import java.util.regex.*; import java.nio.charset.*; @@ -38,9 +37,8 @@ - static Pattern mPattern = Pattern.compile("(\\p{XDigit}++)\\s++(\\p{XDigit}++)(\\s++#.*)?"); + static Pattern mPattern = Pattern.compile("(?:0x)?(\\p{XDigit}++)\\s++(?:0x)?(\\p{XDigit}++)(?:\\s++#.*)?"); public static void genDBCS(String args[]) throws Exception { - Scanner s = new Scanner(new File(args[0], args[2])); diff -r e944184d6eda -r e2ff1b52131d patches/ecj/icedtea.patch --- a/patches/ecj/icedtea.patch Thu Jul 09 19:52:10 2009 +0100 +++ b/patches/ecj/icedtea.patch Tue Jul 14 19:44:20 2009 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-ecj.orig/corba/make/co diff -Nru openjdk-ecj.orig/corba/make/com/sun/corba/se/Makefile openjdk-ecj/corba/make/com/sun/corba/se/Makefile --- openjdk-ecj.orig/corba/make/com/sun/corba/se/Makefile 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-ecj/corba/make/com/sun/corba/se/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/com/sun/corba/se/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -42,7 +42,7 @@ # the rmic iiop backend needs some classes that are part of the impl/util # package. These classes use log wrappers, so they must be built after @@ -12,7 +12,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co diff -Nru openjdk-ecj.orig/corba/make/com/sun/corba/se/org/Makefile openjdk-ecj/corba/make/com/sun/corba/se/org/Makefile --- openjdk-ecj.orig/corba/make/com/sun/corba/se/org/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk-ecj/corba/make/com/sun/corba/se/org/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/com/sun/corba/se/org/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -0,0 +1,38 @@ +# +# Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved. @@ -54,7 +54,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co +include $(BUILDDIR)/common/Classes.gmk diff -Nru openjdk-ecj.orig/corba/make/common/Defs.gmk openjdk-ecj/corba/make/common/Defs.gmk --- openjdk-ecj.orig/corba/make/common/Defs.gmk 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-ecj/corba/make/common/Defs.gmk 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Defs.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -53,6 +53,13 @@ _OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH) @@ -88,8 +88,8 @@ diff -Nru openjdk-ecj.orig/corba/make/co vpath %.java $(VPATH.java) vpath %.class $(CLASSBINDIR) diff -Nru openjdk-ecj.orig/corba/make/common/Defs-linux.gmk openjdk-ecj/corba/make/common/Defs-linux.gmk ---- openjdk-ecj.orig/corba/make/common/Defs-linux.gmk 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/corba/make/common/Defs-linux.gmk 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/corba/make/common/Defs-linux.gmk 2009-07-14 17:37:18.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Defs-linux.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -276,7 +276,7 @@ fi; \ done) @@ -101,7 +101,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co # We want to privatize JVM symbols on Solaris. This is so the user can diff -Nru openjdk-ecj.orig/corba/make/common/Rules.gmk openjdk-ecj/corba/make/common/Rules.gmk --- openjdk-ecj.orig/corba/make/common/Rules.gmk 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-ecj/corba/make/common/Rules.gmk 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/common/Rules.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -201,8 +201,10 @@ $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \ $(CAT) $(JAVA_SOURCE_LIST); \ @@ -117,7 +117,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk --- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -120,31 +120,14 @@ JAVACFLAGS += $(OTHER_JAVACFLAGS) @@ -158,7 +158,7 @@ diff -Nru openjdk-ecj.orig/corba/make/co ifdef JAVAC diff -Nru openjdk-ecj.orig/corba/make/org/omg/sources/Makefile openjdk-ecj/corba/make/org/omg/sources/Makefile --- openjdk-ecj.orig/corba/make/org/omg/sources/Makefile 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-ecj/corba/make/org/omg/sources/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/org/omg/sources/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -93,8 +93,6 @@ POAHELHOLFILES = $(POA_GENERATED_HELP_HOL_java:%=$(GENSRCDIR)/%) @@ -237,7 +237,7 @@ diff -Nru openjdk-ecj.orig/corba/make/or diff -Nru openjdk-ecj.orig/corba/make/sun/rmi/corbalogsources/Makefile openjdk-ecj/corba/make/sun/rmi/corbalogsources/Makefile --- openjdk-ecj.orig/corba/make/sun/rmi/corbalogsources/Makefile 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-ecj/corba/make/sun/rmi/corbalogsources/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/corba/make/sun/rmi/corbalogsources/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -172,7 +172,6 @@ ACTIVATIONFILES = $(com_sun_corba_se_spi_activation_java:%=$(GENSRCDIR)/%) @@ -256,7 +256,7 @@ diff -Nru openjdk-ecj.orig/corba/make/su diff -Nru openjdk-ecj.orig/jaxp/make/build.xml openjdk-ecj/jaxp/make/build.xml --- openjdk-ecj.orig/jaxp/make/build.xml 2009-06-30 14:24:48.000000000 +0100 -+++ openjdk-ecj/jaxp/make/build.xml 2009-07-01 13:55:31.000000000 +0100 ++++ openjdk-ecj/jaxp/make/build.xml 2009-07-14 17:47:13.000000000 +0100 @@ -71,7 +71,10 @@ diff -Nru openjdk-ecj.orig/jaxp/make/Makefile openjdk-ecj/jaxp/make/Makefile ---- openjdk-ecj.orig/jaxp/make/Makefile 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/jaxp/make/Makefile 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jaxp/make/Makefile 2009-07-14 17:37:17.000000000 +0100 ++++ openjdk-ecj/jaxp/make/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -92,7 +92,7 @@ endif @@ -292,8 +292,8 @@ diff -Nru openjdk-ecj.orig/jaxp/make/Mak ifdef ALT_OUTPUTDIR diff -Nru openjdk-ecj.orig/jaxws/make/build.properties openjdk-ecj/jaxws/make/build.properties ---- openjdk-ecj.orig/jaxws/make/build.properties 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/jaxws/make/build.properties 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jaxws/make/build.properties 2009-07-14 17:37:18.000000000 +0100 ++++ openjdk-ecj/jaxws/make/build.properties 2009-07-14 17:47:13.000000000 +0100 @@ -37,7 +37,7 @@ # set the following to -version to verify the versions of javac being used javac.version.opt = @@ -305,7 +305,7 @@ diff -Nru openjdk-ecj.orig/jaxws/make/bu javac.memoryInitialSize = 128m diff -Nru openjdk-ecj.orig/jaxws/make/build.xml openjdk-ecj/jaxws/make/build.xml --- openjdk-ecj.orig/jaxws/make/build.xml 2009-06-30 14:24:56.000000000 +0100 -+++ openjdk-ecj/jaxws/make/build.xml 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jaxws/make/build.xml 2009-07-14 17:47:13.000000000 +0100 @@ -93,7 +93,10 @@ diff -Nru openjdk-ecj.orig/jaxws/make/Makefile openjdk-ecj/jaxws/make/Makefile ---- openjdk-ecj.orig/jaxws/make/Makefile 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/jaxws/make/Makefile 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jaxws/make/Makefile 2009-07-14 17:37:17.000000000 +0100 ++++ openjdk-ecj/jaxws/make/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -92,8 +92,8 @@ endif @@ -342,7 +342,7 @@ diff -Nru openjdk-ecj.orig/jaxws/make/Ma ifdef ALT_OUTPUTDIR diff -Nru openjdk-ecj.orig/jdk/make/common/BuildToolJar.gmk openjdk-ecj/jdk/make/common/BuildToolJar.gmk --- openjdk-ecj.orig/jdk/make/common/BuildToolJar.gmk 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-ecj/jdk/make/common/BuildToolJar.gmk 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/common/BuildToolJar.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -43,7 +43,8 @@ @$(prep-target) @$(MKDIR) -p $(BUILDTOOLCLASSDIR) @@ -354,57 +354,33 @@ diff -Nru openjdk-ecj.orig/jdk/make/comm -C $(BUILDTOOLCLASSDIR) $(PKGDIR) \ $(BOOT_JAR_JFLAGS) || $(RM) $@ diff -Nru openjdk-ecj.orig/jdk/make/common/Release.gmk openjdk-ecj/jdk/make/common/Release.gmk ---- openjdk-ecj.orig/jdk/make/common/Release.gmk 2009-07-01 13:42:20.000000000 +0100 -+++ openjdk-ecj/jdk/make/common/Release.gmk 2009-07-01 13:52:45.000000000 +0100 -@@ -652,10 +652,23 @@ - $(RES_JAR_ARGLIST): $(RES_JAR_FILELIST) - $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ --$(RESOURCES_JAR): $(RES_JAR_ARGLIST) $(JAR_MANIFEST_FILE) -+$(RESOURCES_JAR): \ -+ $(if $(JAR_KNOWS_ATFILE),$(RES_JAR_FILELIST),$(RES_JAR_ARGLIST)) \ -+ $(JAR_MANIFEST_FILE) +--- openjdk-ecj.orig/jdk/make/common/Release.gmk 2009-07-14 17:37:19.000000000 +0100 ++++ openjdk-ecj/jdk/make/common/Release.gmk 2009-07-14 17:54:01.000000000 +0100 +@@ -650,10 +650,21 @@ + RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar + $(RESOURCES_JAR): $(RES_JAR_FILELIST) $(JAR_MANIFEST_FILE) $(prep-target) +ifneq (,$(JAR_KNOWS_ATFILE)) -+ (cd $(CLASSBINDIR) && \ - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ -- @$(RES_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) -+ $(JAR_JFLAGS) @$(RES_JAR_FILELIST)) + $(CD) $(CLASSBINDIR) && \ + $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ + @$(RES_JAR_FILELIST) $(BOOT_JAR_JFLAGS) +- @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) ++ @$(CD) $(CLASSBINDIR) +else ifneq (,$(JAR_ACCEPTS_STDIN_LIST)) + (cd $(CLASSBINDIR) && $(CAT) $(RES_JAR_FILELIST) | \ -+ $(BOOT_JAR_CMD) c0mf@ $(JAR_MANIFEST_FILE) $@ \ -+ $(JAR_JFLAGS)) -+else -+ (cd $(CLASSBINDIR) && \ -+ $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ -+ $(JAR_JFLAGS) `cat $(RES_JAR_FILELIST)`) -+endif - @$(java-vm-cleanup) - - # Create jsse.jar containing SunJSSE implementation classes -@@ -711,10 +724,18 @@ - $(RT_JAR_ARGLIST): $(RT_JAR_FILELIST) - $(prep-target) - $(SED) -e "s@^@-C $(CLASSBINDIR) @" $< > $@ --$(RT_JAR): $(RT_JAR_ARGLIST) $(JAR_MANIFEST_FILE) -+$(RT_JAR): $(if $(JAR_KNOWS_ATFILE),$(RT_JAR_FILELIST),$(RT_JAR_ARGLIST)) \ -+ $(JAR_MANIFEST_FILE) - $(prep-target) -+ifneq (,$(JAR_KNOWS_ATFILE)) -+ (cd $(CLASSBINDIR) && $(CAT) $(RT_JAR_FILELIST) | \ + $(BOOT_JAR_CMD) c0mf@ $(JAR_MANIFEST_FILE) $@ \ + $(BOOT_JAR_JFLAGS)) +else + (cd $(CLASSBINDIR) && \ - $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ -- @$(RT_JAR_ARGLIST) $(BOOT_JAR_JFLAGS) -+ $(BOOT_JAR_JFLAGS) `$(CAT) $(RT_JAR_FILELIST)`) ++ $(BOOT_JAR_CMD) c0mf $(JAR_MANIFEST_FILE) $@ \ ++ $(BOOT_JAR_JFLAGS) `cat $(RES_JAR_FILELIST)`) +endif - @$(java-vm-cleanup) - - # Meta-index construction to make core class loaders lazier -@@ -945,19 +966,6 @@ - @$(java-vm-cleanup) ++ $(java-vm-cleanup) + + # Create jsse.jar containing SunJSSE implementation classes + JSSE_JAR=$(ABS_TEMPDIR)/jsse-orig.jar +@@ -944,19 +955,6 @@ + @$(CD) $(CLASSBINDIR) && $(java-vm-cleanup) $(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar @# - @# lib/ct.sym @@ -423,7 +399,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/comm @# CORBA supported orb.idl and ir.idl should be copied to lib @# $(CP) $(LIBDIR)/orb.idl $(JDK_IMAGE_DIR)/lib/orb.idl -@@ -1034,16 +1042,6 @@ +@@ -1033,16 +1031,6 @@ $(CP) $(PLATFORM_SRC)/bin/java_md.h $(JDK_IMAGE_DIR)/src/launcher $(CD) $(JDK_IMAGE_DIR)/src && $(ZIPEXE) -qr ../src.zip * $(RM) -r $(JDK_IMAGE_DIR)/src @@ -442,7 +418,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/comm endif # !windows diff -Nru openjdk-ecj.orig/jdk/make/common/Rules.gmk openjdk-ecj/jdk/make/common/Rules.gmk --- openjdk-ecj.orig/jdk/make/common/Rules.gmk 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-ecj/jdk/make/common/Rules.gmk 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/common/Rules.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -237,8 +237,9 @@ $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \ $(CAT) $<.filtered; \ @@ -469,8 +445,8 @@ diff -Nru openjdk-ecj.orig/jdk/make/comm @$(TOUCH) $@ diff -Nru openjdk-ecj.orig/jdk/make/common/shared/Defs-java.gmk openjdk-ecj/jdk/make/common/shared/Defs-java.gmk ---- openjdk-ecj.orig/jdk/make/common/shared/Defs-java.gmk 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/jdk/make/common/shared/Defs-java.gmk 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jdk/make/common/shared/Defs-java.gmk 2009-07-14 17:37:18.000000000 +0100 ++++ openjdk-ecj/jdk/make/common/shared/Defs-java.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -136,33 +136,22 @@ JAVACFLAGS += $(OTHER_JAVACFLAGS) @@ -507,8 +483,8 @@ diff -Nru openjdk-ecj.orig/jdk/make/comm # Override of what javac to use (see deploy workspace) diff -Nru openjdk-ecj.orig/jdk/make/java/nio/Makefile openjdk-ecj/jdk/make/java/nio/Makefile ---- openjdk-ecj.orig/jdk/make/java/nio/Makefile 2009-07-01 13:42:19.000000000 +0100 -+++ openjdk-ecj/jdk/make/java/nio/Makefile 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jdk/make/java/nio/Makefile 2009-07-14 17:37:18.000000000 +0100 ++++ openjdk-ecj/jdk/make/java/nio/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -31,7 +31,7 @@ PACKAGE = java.nio LIBRARY = nio @@ -520,7 +496,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/java NIO_SRC = $(SHARE_SRC)/classes/java/nio diff -Nru openjdk-ecj.orig/jdk/make/java/text/Makefile openjdk-ecj/jdk/make/java/text/Makefile --- openjdk-ecj.orig/jdk/make/java/text/Makefile 2009-05-08 16:10:43.000000000 +0100 -+++ openjdk-ecj/jdk/make/java/text/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/java/text/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -81,8 +81,8 @@ -sourcepath $(TEXT_SRCDIR) \ $(TEXT_SOURCES) @@ -534,7 +510,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/java @$(java-vm-cleanup) diff -Nru openjdk-ecj.orig/jdk/make/Makefile openjdk-ecj/jdk/make/Makefile --- openjdk-ecj.orig/jdk/make/Makefile 2009-05-08 16:10:43.000000000 +0100 -+++ openjdk-ecj/jdk/make/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -239,7 +239,7 @@ all build:: sanity-all post-sanity-all @@ -546,7 +522,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/Make diff -Nru openjdk-ecj.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk --- openjdk-ecj.orig/jdk/make/sun/awt/FILES_export_unix.gmk 2009-05-08 16:10:44.000000000 +0100 -+++ openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/sun/awt/FILES_export_unix.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -189,3 +189,5 @@ java/awt/dnd/DnDConstants.java \ sun/awt/CausedFocusEvent.java @@ -555,7 +531,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/sun/ + sun.java2d.opengl.OGLContext$$OGLContextCaps diff -Nru openjdk-ecj.orig/jdk/make/sun/awt/Makefile openjdk-ecj/jdk/make/sun/awt/Makefile --- openjdk-ecj.orig/jdk/make/sun/awt/Makefile 2009-05-08 16:10:44.000000000 +0100 -+++ openjdk-ecj/jdk/make/sun/awt/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/sun/awt/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -401,10 +401,9 @@ COMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar @@ -572,7 +548,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/sun/ fontconfigs.clean : diff -Nru openjdk-ecj.orig/jdk/make/sun/javazic/Makefile openjdk-ecj/jdk/make/sun/javazic/Makefile --- openjdk-ecj.orig/jdk/make/sun/javazic/Makefile 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-ecj/jdk/make/sun/javazic/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/sun/javazic/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -62,7 +62,8 @@ $(WORKDIR)/$(MAPFILE): $(BUILDTOOLJARDIR)/javazic.jar $(TZFILES) $(RM) -r $(@D) @@ -585,7 +561,7 @@ diff -Nru openjdk-ecj.orig/jdk/make/sun/ $(INSTALLDIR)/$(MAPFILE): $(WORKDIR)/$(MAPFILE) diff -Nru openjdk-ecj.orig/jdk/make/sun/text/Makefile openjdk-ecj/jdk/make/sun/text/Makefile --- openjdk-ecj.orig/jdk/make/sun/text/Makefile 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-ecj/jdk/make/sun/text/Makefile 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/make/sun/text/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -85,8 +85,9 @@ $(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \ -sourcepath $(TEXT_SRCDIR) \ @@ -599,8 +575,8 @@ diff -Nru openjdk-ecj.orig/jdk/make/sun/ -spec $(UNICODEDATA)/UnicodeData.txt \ -language th diff -Nru openjdk-ecj.orig/jdk/make/sun/xawt/Makefile openjdk-ecj/jdk/make/sun/xawt/Makefile ---- openjdk-ecj.orig/jdk/make/sun/xawt/Makefile 2009-07-01 13:42:21.000000000 +0100 -+++ openjdk-ecj/jdk/make/sun/xawt/Makefile 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jdk/make/sun/xawt/Makefile 2009-07-14 17:37:19.000000000 +0100 ++++ openjdk-ecj/jdk/make/sun/xawt/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -294,11 +294,7 @@ TEMPDIR_CLASSES = $(TEMPDIR)/classes @@ -638,8 +614,8 @@ diff -Nru openjdk-ecj.orig/jdk/make/sun/ done $(TOUCH) $@ diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java openjdk-ecj/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java ---- openjdk-ecj.orig/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-07-01 13:41:38.000000000 +0100 -+++ openjdk-ecj/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-07-14 17:36:40.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-07-14 17:47:13.000000000 +0100 @@ -647,9 +647,6 @@ throws FileNotFoundException, IOException { BufferedReader in = new BufferedReader(new FileReader(theTemplateFileName)); @@ -659,8 +635,8 @@ diff -Nru openjdk-ecj.orig/jdk/make/tool if (plane == 0 && bLatin1 == false) { genCaseMapTableDeclaration(result); diff -Nru openjdk-ecj.orig/jdk/src/share/classes/java/lang/Double.java openjdk-ecj/jdk/src/share/classes/java/lang/Double.java ---- openjdk-ecj.orig/jdk/src/share/classes/java/lang/Double.java 2009-07-01 13:41:25.000000000 +0100 -+++ openjdk-ecj/jdk/src/share/classes/java/lang/Double.java 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jdk/src/share/classes/java/lang/Double.java 2009-07-14 17:36:32.000000000 +0100 ++++ openjdk-ecj/jdk/src/share/classes/java/lang/Double.java 2009-07-14 17:47:13.000000000 +0100 @@ -76,7 +76,7 @@ * {@code 0x1.fffffffffffffP+1023} and also equal to * {@code Double.longBitsToDouble(0x7fefffffffffffffL)}. @@ -689,8 +665,8 @@ diff -Nru openjdk-ecj.orig/jdk/src/share /** * Maximum exponent a finite {@code double} variable may have. diff -Nru openjdk-ecj.orig/jdk/src/share/classes/java/lang/Float.java openjdk-ecj/jdk/src/share/classes/java/lang/Float.java ---- openjdk-ecj.orig/jdk/src/share/classes/java/lang/Float.java 2009-07-01 13:41:26.000000000 +0100 -+++ openjdk-ecj/jdk/src/share/classes/java/lang/Float.java 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/jdk/src/share/classes/java/lang/Float.java 2009-07-14 17:36:32.000000000 +0100 ++++ openjdk-ecj/jdk/src/share/classes/java/lang/Float.java 2009-07-14 17:47:13.000000000 +0100 @@ -76,7 +76,7 @@ * {@code 0x1.fffffeP+127f} and also equal to * {@code Float.intBitsToFloat(0x7f7fffff)}. @@ -720,7 +696,7 @@ diff -Nru openjdk-ecj.orig/jdk/src/share * Maximum exponent a finite {@code float} variable may have. It diff -Nru openjdk-ecj.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h --- openjdk-ecj.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-03-30 17:23:07.000000000 +0100 -+++ openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-07-01 13:52:45.000000000 +0100 ++++ openjdk-ecj/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-07-14 17:47:13.000000000 +0100 @@ -27,6 +27,7 @@ #define OGLContext_h_Included @@ -786,8 +762,8 @@ diff -Nru openjdk-ecj.orig/jdk/src/share /** * Evaluates to true if the given capability bitmask is present for the diff -Nru openjdk-ecj.orig/langtools/make/build.properties openjdk-ecj/langtools/make/build.properties ---- openjdk-ecj.orig/langtools/make/build.properties 2009-07-01 13:54:20.000000000 +0100 -+++ openjdk-ecj/langtools/make/build.properties 2009-07-01 13:54:36.000000000 +0100 +--- openjdk-ecj.orig/langtools/make/build.properties 2009-06-30 14:25:18.000000000 +0100 ++++ openjdk-ecj/langtools/make/build.properties 2009-07-14 17:47:13.000000000 +0100 @@ -32,8 +32,8 @@ # boot.java.home = /opt/jdk/1.5.0 boot.java = ${boot.java.home}/bin/java @@ -801,7 +777,7 @@ diff -Nru openjdk-ecj.orig/langtools/mak # for example, for testing. If you're building a complete JDK, specify that. diff -Nru openjdk-ecj.orig/langtools/make/build.xml openjdk-ecj/langtools/make/build.xml --- openjdk-ecj.orig/langtools/make/build.xml 2009-06-30 14:25:18.000000000 +0100 -+++ openjdk-ecj/langtools/make/build.xml 2009-07-01 13:53:47.000000000 +0100 ++++ openjdk-ecj/langtools/make/build.xml 2009-07-14 17:47:13.000000000 +0100 @@ -516,6 +516,7 @@ includeAntRuntime="no" source="@{javac.source}" @@ -819,8 +795,8 @@ diff -Nru openjdk-ecj.orig/langtools/mak diff -Nru openjdk-ecj.orig/langtools/make/Makefile openjdk-ecj/langtools/make/Makefile ---- openjdk-ecj.orig/langtools/make/Makefile 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/langtools/make/Makefile 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/langtools/make/Makefile 2009-07-14 17:37:17.000000000 +0100 ++++ openjdk-ecj/langtools/make/Makefile 2009-07-14 17:47:13.000000000 +0100 @@ -130,7 +130,7 @@ ifdef ALT_BOOTDIR @@ -831,8 +807,8 @@ diff -Nru openjdk-ecj.orig/langtools/mak ifdef ALT_OUTPUTDIR diff -Nru openjdk-ecj.orig/make/jdk-rules.gmk openjdk-ecj/make/jdk-rules.gmk ---- openjdk-ecj.orig/make/jdk-rules.gmk 2009-07-01 13:42:16.000000000 +0100 -+++ openjdk-ecj/make/jdk-rules.gmk 2009-07-01 13:52:45.000000000 +0100 +--- openjdk-ecj.orig/make/jdk-rules.gmk 2009-07-14 17:37:18.000000000 +0100 ++++ openjdk-ecj/make/jdk-rules.gmk 2009-07-14 17:47:13.000000000 +0100 @@ -58,7 +58,7 @@ endif diff -r e944184d6eda -r e2ff1b52131d patches/icedtea-linker-libs-order.patch --- a/patches/icedtea-linker-libs-order.patch Thu Jul 09 19:52:10 2009 +0100 From doko at ubuntu.com Wed Jul 15 06:20:09 2009 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 15 Jul 2009 09:20:09 -0400 Subject: integrating the arm bytecode interpreter into IcedTea Message-ID: <4A5DD789.4040404@ubuntu.com> What does it take to integrate the arm bytecode interpreter written by Edward into IcedTea? I currently build it as a set of extra patches applied to the Ubuntu packaging, which works ok. Ed provided another fix to make it work on armv4 as well, so we don't need any explicit configuration option anymore (?). Afaik Xerxes did want to test a build on armv4; I don't have access to armv4 only hardware. Matthias From aph at redhat.com Wed Jul 15 06:35:27 2009 From: aph at redhat.com (Andrew Haley) Date: Wed, 15 Jul 2009 14:35:27 +0100 Subject: integrating the arm bytecode interpreter into IcedTea In-Reply-To: <4A5DD789.4040404@ubuntu.com> References: <4A5DD789.4040404@ubuntu.com> Message-ID: <4A5DDB1F.6070107@redhat.com> Matthias Klose wrote: > What does it take to integrate the arm bytecode interpreter written by Edward > into IcedTea? I currently build it as a set of extra patches applied to the > Ubuntu packaging, which works ok. Just make a patch. We have to make sure that it doesn't break anything else. I would like to have it work with Shark too. > Ed provided another fix to make it work on armv4 as well, so we don't need > any explicit configuration option anymore (?). > Afaik Xerxes did want to test a build on armv4; I don't have access to armv4 > only hardware. I have a Thecus 2100, but that's AFAIK ARMv5TE. Andrew. From bugzilla-daemon at icedtea.classpath.org Wed Jul 15 07:35:28 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 15 Jul 2009 14:35:28 +0000 Subject: [Bug 363] SIGBUS error at [libzip.so+0x40d1] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=363 ------- Comment #1 from mwong at redhat.com 2009-07-15 14:35 ------- Can you post the steps to reproduce this bug? Thanks. Man Lung Wong -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Wed Jul 15 07:43:30 2009 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 15 Jul 2009 10:43:30 -0400 Subject: [patch] fix scope of variable decl in cppInterpreter_zero.cpp Message-ID: <4A5DEB12.6070905@ubuntu.com> This was pointed out by Ed on the zero-dev ML, acknowledged by Gary. Ok to checkin? Matthias -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: zero.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090715/ce6cee7b/zero.diff From gbenson at redhat.com Wed Jul 15 07:43:40 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 15 Jul 2009 15:43:40 +0100 Subject: integrating the arm bytecode interpreter into IcedTea In-Reply-To: <4A5DD789.4040404@ubuntu.com> References: <4A5DD789.4040404@ubuntu.com> Message-ID: <20090715144340.GC3179@redhat.com> Matthias Klose wrote: > What does it take to integrate the arm bytecode interpreter written > by Edward into IcedTea? I currently build it as a set of extra > patches applied to the Ubuntu packaging, which works ok. Ed provided > another fix to make it work on armv4 as well, so we don't need any > explicit configuration option anymore (?). I guess the deal would be to make a patch, and post it to the list for people to look at. I do have reservations about this, not about the quality of the code, but about the motivations behind it and about how well it fits with Zero. My main issue is that it's going to be committed into Zero, but it isn't so much an extension to Zero as a near total replacement of it. It hooks into the C++ interpreter, but it does so by replacing all of the C++ interpreter's method entries. It might be better if it slotted in as a third interpreter option: template, C++, Ed's. I can see that being associated with Zero is a good thing in that it makes Ed's stuff easier to port, but I wonder whether anyone would ever port it. Is there a difference in workload between porting Ed's interpreter and porting the template interpreter? If you're going to write each bytecode in assembly then surely it'd make more sense to port the TI, with 10+ years of optimizations and bugfixes, unless porting Ed's took significantly less time. My reservations aside, I can see that Ed's code is useful, and that people want to use it, so I won't object to it being committed to IcedTea. Cheers, Gary -- http://gbenson.net/ From gbenson at redhat.com Wed Jul 15 08:00:38 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 15 Jul 2009 16:00:38 +0100 Subject: [patch] fix scope of variable decl in cppInterpreter_zero.cpp In-Reply-To: <4A5DEB12.6070905@ubuntu.com> References: <4A5DEB12.6070905@ubuntu.com> Message-ID: <20090715150038.GD3179@redhat.com> Do it :) Cheers, Gary Matthias Klose wrote: > This was pointed out by Ed on the zero-dev ML, acknowledged by > Gary. Ok to checkin? > > Matthias > > 2009-06-23 Edward Nevill > Matthias Klose > > * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): > Move decl of `mirror' to the same scope as the decl of `arguments'. > > diff -r 438cbd2f7252 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp > --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 15 12:56:10 2009 +0200 > +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 15 16:32:39 2009 +0200 > @@ -247,6 +247,7 @@ > Unimplemented(); > } > void **arguments; > + void *mirror = NULL; > { > arguments = > (void **) stack->alloc(handler->argument_count() * sizeof(void **)); > @@ -255,7 +256,6 @@ > void *env = thread->jni_environment(); > *(dst++) = &env; > > - void *mirror = NULL; > if (method->is_static()) { > istate->set_oop_temp( > method->constants()->pool_holder()->klass_part()->java_mirror()); -- http://gbenson.net/ From bugzilla-daemon at icedtea.classpath.org Wed Jul 15 08:31:43 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 15 Jul 2009 15:31:43 +0000 Subject: [Bug 356] keytool doesn't handle SHA384withECDSA signatures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=356 ------- Comment #9 from jon.vanalten at redhat.com 2009-07-15 15:31 ------- oic. After looking some at sun/security/tools/KeyTool.java and sun/security/pkcs11/SunPKCS11.java, I agree that changes to KeyTool would not be the best approach here. There are a number of provider types in the JDK, they are not given any special treatment by KeyTool. Similary not all providers are known in java.security. A couple of questions come to mind about the possibility of generating a NSS config file (depending on detection of nss library). First: how would we know whether the local library is built with ECC support? It is not afaik a default build option, Fedora may not be the only distro not building with that option. Second: folks wishing to use this provider would need to know the location of the config file to pass as an arg when specifying this provider to keytool. Either that or we need to patch SunPKCS11.java so that default constructor looks to some location for config file rather than failing. Do other providers require config files, and is there already some location where such files are put by default? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From doko at ubuntu.com Wed Jul 15 08:59:56 2009 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 15 Jul 2009 15:59:56 +0000 Subject: changeset in /hg/icedtea6: 2009-06-23 Edward Nevill changeset 914f2022b402 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=914f2022b402 description: 2009-06-23 Edward Nevill Matthias Klose * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): Move decl of `mirror' to the same scope as the decl of `arguments'. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 2 +- diffs (32 lines): diff -r 438cbd2f7252 -r 914f2022b402 ChangeLog --- a/ChangeLog Wed Jul 15 12:56:10 2009 +0200 +++ b/ChangeLog Wed Jul 15 17:54:49 2009 +0200 @@ -1,3 +1,9 @@ 2009-07-15 Xerxes R??nby + Matthias Klose + + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): + Move decl of `mirror' to the same scope as the decl of `arguments'. + 2009-07-15 Xerxes R??nby * ports/hotspot/src/share/vm/shark/llvmValue.hpp diff -r 438cbd2f7252 -r 914f2022b402 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 15 12:56:10 2009 +0200 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 15 17:54:49 2009 +0200 @@ -247,6 +247,7 @@ void CppInterpreter::native_entry(method Unimplemented(); } void **arguments; + void *mirror = NULL; { arguments = (void **) stack->alloc(handler->argument_count() * sizeof(void **)); @@ -255,7 +256,6 @@ void CppInterpreter::native_entry(method void *env = thread->jni_environment(); *(dst++) = &env; - void *mirror = NULL; if (method->is_static()) { istate->set_oop_temp( method->constants()->pool_holder()->klass_part()->java_mirror()); From bugzilla-daemon at icedtea.classpath.org Wed Jul 15 11:00:15 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 15 Jul 2009 18:00:15 +0000 Subject: [Bug 363] SIGBUS error at [libzip.so+0x40d1] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=363 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-15 18:00 ------- This may be the same problem as reported upstream: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6390352 which in turn seems intimately related to: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4425695 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 15 11:19:47 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 15 Jul 2009 18:19:47 +0000 Subject: [Bug 365] IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-15 18:19 ------- Can you provide use case to reproduce this crash? Does it happen when you are doing a particular activity, for example? We need to reproduce in order to debug. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 15 11:37:16 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 15 Jul 2009 18:37:16 +0000 Subject: [Bug 365] IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 ------- Comment #3 from odoepner at gmail.com 2009-07-15 18:37 ------- It seems to happen intermittently and unpredictably. I will try to find a use case that reliably triggers the crash. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 15 13:02:13 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 15 Jul 2009 20:02:13 +0000 Subject: [Bug 368] New: Eclipse repeatedly crashes after changing C++ Project Properties Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=368 Summary: Eclipse repeatedly crashes after changing C++ Project Properties Product: IcedTea Version: unspecified Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: matt.bauer at ngc.com After changing a setting in the project properties dialog and selecting Apply/OK, a C++ project created using CDT 6 (Galileo) on a Linux (RHEL 5.3) x86_64 server immediately crashes. Subsequent attempts to start Eclipse resulted in repeated crashes immediately following/during initialization. Eclipse created an error log that I will be happy to provide or attach to this report upon request. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Wed Jul 15 13:23:22 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 15 Jul 2009 21:23:22 +0100 Subject: Switching to HotSpot 14 on OpenJDK6 Message-ID: <17c6771e0907151323q1725f046laf0182502f75a22e@mail.gmail.com> We discussed this a while back, but discussions seem to have come to a halt. Using the rebase extension to hg, I've succeeded in producing a version of the OpenJDK6 repository based on the same 0 revision as the hs14 master: http://fuseyism.com/hg/hotspot This means that pulls from the hs14 master can be used to update this repository, which isn't the case with the current OpenJDK6 repository as they have no common parent. However, unlike hs14, it does include all the history and fixes from OpenJDK6 (some of which don't seem to have made the HS7 repos, such as deleting binary jar files). Does this look ok? If so, can someone with ssh access to hg.openjdk.java.net please replace the current hotspot repository with this one, so we can update it to the current hs14 revision and add any other pending changes? It would be nice to finally let HotSpot development in OpenJDK6 move on! Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From doko at ubuntu.com Wed Jul 15 13:57:29 2009 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 15 Jul 2009 16:57:29 -0400 Subject: integrating the arm bytecode interpreter into IcedTea In-Reply-To: <20090715144340.GC3179@redhat.com> References: <4A5DD789.4040404@ubuntu.com> <20090715144340.GC3179@redhat.com> Message-ID: <4A5E42B9.9030409@ubuntu.com> On 15.07.2009 10:43, Gary Benson wrote: > Matthias Klose wrote: >> What does it take to integrate the arm bytecode interpreter written >> by Edward into IcedTea? I currently build it as a set of extra >> patches applied to the Ubuntu packaging, which works ok. Ed provided >> another fix to make it work on armv4 as well, so we don't need any >> explicit configuration option anymore (?). > > I guess the deal would be to make a patch, and post it to the list for > people to look at. [...] leaving out these other question to Ed. He probably won't be able to answer before Mid auf August. > My reservations aside, I can see that Ed's code is useful, and that > people want to use it, so I won't object to it being committed to > IcedTea. Here is the patch that I'm currently testing. Pending the confirmation from Xerxes the code should be compatible with armv4. I didn't add any conditionals to apply it selectively. Matthias 2009-07-15 Edward Nevill * patches/icedtea-zero-notice-safepoints.patch: New. * Makefile.am (ICEDTEA_PATCHES): Apply above patch. * ports/hotspot/src/cpu/zero/vm/bc.def: New. * ports/hotspot/src/cpu/zero/vm/bytecodes.s: New. * ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S: New. * ports/hotspot/src/cpu/zero/vm/mkbc.c: New. * ports/hotspot/build/linux/makefiles/zero.make: Build cppInterpreter_arm.o on arm. * ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp (pd_initialize): Add extra bytecodes for hotspot-asm. * ports/hotspot/src/cpu/zero/vm/bytecodes_zero.hpp: Define extra bytecodes for hotspot-asm. * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (generate_method_entry): Add support for hotspot-asm. * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp (JVM_handle_linux_signal): Add support for hotspot-asm. -------------- next part -------------- A non-text attachment was scrubbed... Name: hotspot-asm.diff.gz Type: application/x-gzip Size: 64388 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090715/811d6cbd/hotspot-asm.diff.gz From Christian.Thalinger at Sun.COM Thu Jul 16 01:25:05 2009 From: Christian.Thalinger at Sun.COM (Christian Thalinger) Date: Thu, 16 Jul 2009 10:25:05 +0200 Subject: integrating the arm bytecode interpreter into IcedTea In-Reply-To: <20090715144340.GC3179@redhat.com> References: <4A5DD789.4040404@ubuntu.com> <20090715144340.GC3179@redhat.com> Message-ID: <4A5EE3E1.9030306@Sun.COM> Gary Benson wrote: > I can see that being associated with Zero is a good thing in that it > makes Ed's stuff easier to port, but I wonder whether anyone would > ever port it. Is there a difference in workload between porting Ed's > interpreter and porting the template interpreter? That's exactly what I was thinking when I looked at the code. I don't see very much of an advantage because you need to write assembler code anyway. A much better approach (that may also result in better performance) would be to use something like vmgen, as CACAO did with its interpreter (which is broken) or Roman in JamaicaVM. -- Christian From xerxes at zafena.se Thu Jul 16 01:57:09 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 16 Jul 2009 10:57:09 +0200 Subject: integrating the arm bytecode interpreter into IcedTea - gcc version portability issue In-Reply-To: <4A5E42B9.9030409@ubuntu.com> References: <4A5DD789.4040404@ubuntu.com> <20090715144340.GC3179@redhat.com> <4A5E42B9.9030409@ubuntu.com> Message-ID: <4A5EEB65.1060202@zafena.se> Matthias Klose skrev: > On 15.07.2009 10:43, Gary Benson wrote: >> > Matthias Klose wrote: >>> What does it take to integrate the arm bytecode interpreter written >>> by Edward into IcedTea? I currently build it as a set of extra >>> patches applied to the Ubuntu packaging, which works ok. Ed provided >>> another fix to make it work on armv4 as well, so we don't need any >>> explicit configuration option anymore (?). Right! >> > > Here is the patch that I'm currently testing. Pending the confirmation > from Xerxes the code should be compatible with armv4. I didn't add any > conditionals to apply it selectively. Portability issue: The code contains some lines that makes function calls using c++ mangled method names. These lines will cause linking failures when using most c++ compilers. The code currently work using gcc 4.3.3 and possibly some gcc 4.4 versions. Are these some better way to do these calls with portability presered to work with any c++ compiler? some parts of the code contains gcc version specific code to deal with selected gcc versions. +#if GCC_VERSION >= 40400 +#define oop_store _Z9oop_storeIP7oopDescEvPT_S1_ +#else +#define oop_store _Z9oop_storeIP7oopDescEvPVT_S1_ +#endif other parts dont. line 24968 + bl _ZN10HandleMarkD1Ev line 23455 + bl _ZNK5Klass13is_subtype_ofEP12klassOopDesc line 23961 + bl _ZN17HandleMarkCleanerD1Ev line 23292 + bl _ZN6Atomic11cmpxchg_ptrEPvPVvS0_ The errors generated when compiling with gcc 4.1.2 are: echo Linking launcher...; \ \ arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -mthumb-interwork -mno-thumb -export-dynamic -L `pwd` -o gamma launcher.o -ljvm -lm -ldl -lpthread -lstdc++; \ \ } Linking launcher... /home/rschus/oe/om/tmp/work/armv4t-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core/product/libjvm.so: undefined reference to `Handle::Handle(oopDesc*)' /home/rschus/oe/om/tmp/work/armv4t-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core/product/libjvm.so: undefined reference to `Klass::is_subtype_of(klassOopDesc*) const' /home/rschus/oe/om/tmp/work/armv4t-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core/product/libjvm.so: undefined reference to `void oop_store(oopDesc* volatile*, oopDesc*)' /home/rschus/oe/om/tmp/work/armv4t-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core/product/libjvm.so: undefined reference to `HandleMarkCleaner::~HandleMarkCleaner()' /home/rschus/oe/om/tmp/work/armv4t-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core/product/libjvm.so: undefined reference to `Atomic::cmpxchg_ptr(void*, void volatile*, void*)' /home/rschus/oe/om/tmp/work/armv4t-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core/product/libjvm.so: undefined reference to `ThreadInVMfromJava::~ThreadInVMfromJava()' collect2: ld returned 1 exit status Cheers Xerxes From aph at redhat.com Thu Jul 16 02:08:50 2009 From: aph at redhat.com (Andrew Haley) Date: Thu, 16 Jul 2009 10:08:50 +0100 Subject: integrating the arm bytecode interpreter into IcedTea - gcc version portability issue In-Reply-To: <4A5EEB65.1060202@zafena.se> References: <4A5DD789.4040404@ubuntu.com> <20090715144340.GC3179@redhat.com> <4A5E42B9.9030409@ubuntu.com> <4A5EEB65.1060202@zafena.se> Message-ID: <4A5EEE22.3050709@redhat.com> On 07/16/2009 09:57 AM, Xerxes R?nby wrote: > Matthias Klose skrev: >> On 15.07.2009 10:43, Gary Benson wrote: >> Matthias Klose wrote: >>>> What does it take to integrate the arm bytecode interpreter written >>>> by Edward into IcedTea? I currently build it as a set of extra >>>> patches applied to the Ubuntu packaging, which works ok. Ed provided >>>> another fix to make it work on armv4 as well, so we don't need any >>>> explicit configuration option anymore (?). > Right! >> Here is the patch that I'm currently testing. Pending the confirmation >> from Xerxes the code should be compatible with armv4. I didn't add any >> conditionals to apply it selectively. > > Portability issue: > > The code contains some lines that makes function calls using c++ mangled > method names. These lines will cause linking failures when using most > c++ compilers. The code currently work using gcc 4.3.3 and possibly some > gcc 4.4 versions. > Are these some better way to do these calls with portability presered to > work with any c++ compiler? Sure: it should easy enough to write a script to mangle the names. But I would question whether it's really worth doing. I think this was just a gcc bug that caused volatile not to be properly encoded in a mangled name. It's not as if the mangling algorithm is going to change. > some parts of the code contains gcc version specific code to deal with > selected gcc versions. Maybe we should just declare unmangled equivalents. Can you provide a list of the entry points it uses? Andrew. From bugzilla-daemon at icedtea.classpath.org Thu Jul 16 02:16:42 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 16 Jul 2009 09:16:42 +0000 Subject: [Bug 363] SIGBUS error at [libzip.so+0x40d1] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=363 ------- Comment #3 from m.a.young at durham.ac.uk 2009-07-16 09:16 ------- Reproducing it could be difficult because it is commercial software used by a lot of people, but looking at the logs we suspect the problem is related to installing a new version of a building block, which means replacing a WAR file so it does sound as if it could be related to the upstream bugs mentioned. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From xerxes at zafena.se Thu Jul 16 03:09:31 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 16 Jul 2009 12:09:31 +0200 Subject: integrating the arm bytecode interpreter into IcedTea - gcc version portability issue In-Reply-To: <4A5EEE22.3050709@redhat.com> References: <4A5DD789.4040404@ubuntu.com> <20090715144340.GC3179@redhat.com> <4A5E42B9.9030409@ubuntu.com> <4A5EEB65.1060202@zafena.se> <4A5EEE22.3050709@redhat.com> Message-ID: <4A5EFC5B.8020509@zafena.se> Andrew Haley skrev: > >> Portability issue: >> >> The code contains some lines that makes function calls using c++ mangled >> method names. These lines will cause linking failures when using most >> c++ compilers. The code currently work using gcc 4.3.3 and possibly some >> gcc 4.4 versions. >> Are these some better way to do these calls with portability presered to >> work with any c++ compiler? > > Sure: it should easy enough to write a script to mangle the names. But I > would question whether it's really worth doing. I think this was just a > gcc bug that caused volatile not to be properly encoded in a mangled > name. > It's not as if the mangling algorithm is going to change. > >> some parts of the code contains gcc version specific code to deal with >> selected gcc versions. > > Maybe we should just declare unmangled equivalents. Can you provide a > list > of the entry points it uses? > > Andrew. Hopefully complete list of entrypoints xerxes at labbserver:/usr/src/openembedded/verdexpro/tmp/work/armv5te-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core$ cat /usr/src/openembedded/verdexpro/tmp/work/armv5te-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | c++filt | grep bl | grep \( | grep \) bl JavaThread::check_special_condition_for_native_trans(JavaThread*) bl JavaThread::check_special_condition_for_native_trans(JavaThread*) bl HandleMark::initialize(Thread*) bl InterpreterRuntime::monitorexit(JavaThread*, BasicObjectLock*) bl HandleMark::~HandleMark() bl InterpreterRuntime::throw_StackOverflowError(JavaThread*) bl InterpreterRuntime::monitorenter(JavaThread*, BasicObjectLock*) bl methodOopDesc::result_type() const bl methodOopDesc::result_type() const bl InterpreterRuntime::prepare_native_call(JavaThread*, methodOopDesc*) bl InterpreterRuntime::slow_signature_handler(JavaThread*, methodOopDesc*, int*, int*) bl InterpreterRuntime::prepare_native_call(JavaThread*, methodOopDesc*) bl InterpreterRuntime::slow_signature_handler(JavaThread*, methodOopDesc*, int*, int*) bl InterpreterRuntime::throw_StackOverflowError(JavaThread*) bl JavaThread::check_special_condition_for_native_trans(JavaThread*) bl HandleMarkCleaner::~HandleMarkCleaner() bl SafepointSynchronize::block(JavaThread*) bl HandleMarkCleaner::~HandleMarkCleaner() bl SafepointSynchronize::block(JavaThread*) bl InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code) bl InterpreterRuntime::_new(JavaThread*, constantPoolOopDesc*, int) bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl InterpreterRuntime::newarray(JavaThread*, BasicType, int) bl InterpreterRuntime::anewarray(JavaThread*, constantPoolOopDesc*, int, int) bl ThreadShadow::set_pending_exception(oopDesc*, char const*, int) bl Klass::is_subtype_of(klassOopDesc*) const bl Klass::external_name() const bl Klass::external_name() const bl SharedRuntime::generate_class_cast_message(char const*, char const*) bl Exceptions::_throw_msg(Thread*, char const*, int, symbolOopDesc*, char const*) bl ThreadInVMfromJava::~ThreadInVMfromJava() bl Chunk::next_chop() bl InterpreterRuntime::quicken_io_cc(JavaThread*) bl InterpreterRuntime::quicken_io_cc(JavaThread*) bl Klass::is_subtype_of(klassOopDesc*) const bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl InterpreterRuntime::monitorenter(JavaThread*, BasicObjectLock*) bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl InterpreterRuntime::monitorenter(JavaThread*, BasicObjectLock*) bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl InterpreterRuntime::monitorexit(JavaThread*, BasicObjectLock*) bl InterpreterRuntime::throw_illegal_monitor_state_exception(JavaThread*) bl report_should_not_reach_here(char const*, int) bl Klass::is_subtype_of(klassOopDesc*) const bl BytecodeInterpreter::astore(int*, int, int*, int) bl InterpreterRuntime::multianewarray(JavaThread*, int*) bl HandleMarkCleaner::~HandleMarkCleaner() bl SafepointSynchronize::block(JavaThread*) bl InterpreterRuntime::get_original_bytecode_at(JavaThread*, methodOopDesc*, unsigned char*) bl InterpreterRuntime::_breakpoint(JavaThread*, methodOopDesc*, unsigned char*) bl report_fatal_vararg(char const*, int, char const*, ...) bl InterpreterRuntime::register_finalizer(JavaThread*, oopDesc*) bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl InterpreterRuntime::prepare_native_call(JavaThread*, methodOopDesc*) bl InterpreterRuntime::slow_signature_handler(JavaThread*, methodOopDesc*, int*, int*) bl InterpreterRuntime::throw_StackOverflowError(JavaThread*) bl JavaThread::check_special_condition_for_native_trans(JavaThread*) bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl HandleMark::initialize(Thread*) bl InterpreterRuntime::monitorexit(JavaThread*, BasicObjectLock*) bl HandleMark::~HandleMark() bl HandleMark::initialize(Thread*) bl InterpreterRuntime::throw_illegal_monitor_state_exception(JavaThread*) bl HandleMark::~HandleMark() bl InterpreterRuntime::throw_StackOverflowError(JavaThread*) bl Exceptions::_throw_msg(Thread*, char const*, int, symbolOopDesc*, char const*) bl ThreadInVMfromJava::~ThreadInVMfromJava() bl Arena::grow(unsigned int) bl HandleMark::initialize(Thread*) bl ThreadShadow::clear_pending_exception() bl InterpreterRuntime::exception_handler_for_exception(JavaThread*, oopDesc*) bl HandleMark::~HandleMark() bl Chunk::next_chop() bl Arena::grow(unsigned int) bl HandleMark::~HandleMark() bl Chunk::next_chop() bl ThreadShadow::set_pending_exception(oopDesc*, char const*, int) bl Arena::grow(unsigned int) bl ThreadShadow::clear_pending_exception() bl ThreadShadow::set_pending_exception(oopDesc*, char const*, int) bl HandleMark::~HandleMark() bl Chunk::next_chop() bl HandleMark::initialize(Thread*) bl InterpreterRuntime::monitorexit(JavaThread*, BasicObjectLock*) bl HandleMark::~HandleMark() bl Atomic::cmpxchg_ptr(void*, void volatile*, void*) bl HandleMark::initialize(Thread*) bl InterpreterRuntime::monitorexit(JavaThread*, BasicObjectLock*) bl HandleMark::~HandleMark() bl Handle::Handle(oopDesc*) bl ThreadShadow::clear_pending_exception() bl HandleMark::initialize(Thread*) bl InterpreterRuntime::throw_illegal_monitor_state_exception(JavaThread*) bl HandleMark::~HandleMark() bl Handle::Handle(oopDesc*) bl ThreadShadow::clear_pending_exception() bl InterpreterRuntime::monitorenter(JavaThread*, BasicObjectLock*) bl HandleMark::initialize(Thread*) bl InterpreterRuntime::throw_illegal_monitor_state_exception(JavaThread*) bl HandleMark::~HandleMark() bl Handle::Handle(oopDesc*) bl ThreadShadow::clear_pending_exception() xerxes at labbserver:/usr/src/openembedded/verdexpro/tmp/work/armv5te-angstrom-linux-gnueabi/openjdk-6-jre-6b16-r4/hg/icedtea6/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_core$ Cheers Xerxes From gbenson at redhat.com Thu Jul 16 04:14:34 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 16 Jul 2009 12:14:34 +0100 Subject: integrating the arm bytecode interpreter into IcedTea In-Reply-To: <4A5E42B9.9030409@ubuntu.com> References: <4A5DD789.4040404@ubuntu.com> <20090715144340.GC3179@redhat.com> <4A5E42B9.9030409@ubuntu.com> Message-ID: <20090716111434.GD3177@redhat.com> Matthias Klose wrote: > +#if defined(PRODUCT) && defined(HOTSPOT_ASM) So my first question is why is everything conditionalized on PRODUCT? Not being able to build not-PRODUCT means no assertions, no debug helpers and no diagnostic options. I'd like to see all these conditionals replaced with "#ifdef HOTSPOT_ASM". > +#endif HotSpot seems to follow the convention that #endifs are annotated: #ifdef HOTSPOT_ASM ... #endif // HOTSPOT_ASM > diff -r 914f2022b402 ports/hotspot/build/linux/makefiles/zero.make ... +ifdef ICEDTEA_ZERO_BUILD +ifeq ($(ZERO_LIBARCH),arm) +Obj_Files += cppInterpreter_arm.o +CFLAGS += -DHOTSPOT_ASM -DHW_NULL_PTR_CHECK -g0 -O2 +%.o: %.S + @echo Assembling $< + $(QUIETLY) $(REMOVE_TARGET) + $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) +endif +endif The "ifdef ICEDTEA_ZERO_BUILD" is unnecessary here as this makefile is only used for Zero builds. > diff -r 914f2022b402 ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp ... > @@ -29,4 +29,32 @@ > void Bytecodes::pd_initialize() > { > // No zero specific initialization > +#if defined(PRODUCT) && defined(HOTSPOT_ASM) The "// No zero specific initialization" line needs removing, as there is now some zero specific initialization. > diff -r 914f2022b402 ports/hotspot/src/cpu/zero/vm/mkbc.c This file isn't part of HotSpot, it's a generator for some other files. Can it be placed into contrib? Cheers, Gary -- http://gbenson.net/ From doko at ubuntu.com Thu Jul 16 06:39:24 2009 From: doko at ubuntu.com (doko at ubuntu.com) Date: Thu, 16 Jul 2009 13:39:24 +0000 Subject: changeset in /hg/icedtea6: 2009-07-16 Matthias Klose changeset ea9d66cbd06d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ea9d66cbd06d description: 2009-07-16 Matthias Klose * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): Don't initialize `mirror'. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 7 ++++++- ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 2 +- diffs (26 lines): diff -r 914f2022b402 -r ea9d66cbd06d ChangeLog --- a/ChangeLog Wed Jul 15 17:54:49 2009 +0200 +++ b/ChangeLog Thu Jul 16 15:34:14 2009 +0200 @@ -1,4 +1,9 @@ 2009-06-23 Edward Nevill +2009-07-16 Matthias Klose + + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): + Don't initialize `mirror'. + +2009-07-15 Edward Nevill Matthias Klose * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): diff -r 914f2022b402 -r ea9d66cbd06d ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 15 17:54:49 2009 +0200 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Jul 16 15:34:14 2009 +0200 @@ -247,7 +247,7 @@ void CppInterpreter::native_entry(method Unimplemented(); } void **arguments; - void *mirror = NULL; + void *mirror; { arguments = (void **) stack->alloc(handler->argument_count() * sizeof(void **)); From doko at ubuntu.com Thu Jul 16 06:44:23 2009 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 16 Jul 2009 09:44:23 -0400 Subject: changeset in /hg/icedtea6: 2009-07-16 Matthias Klose References: Message-ID: <4A5F2EB7.5050309@ubuntu.com> On 16.07.2009 09:39, doko at ubuntu.com wrote: > changeset ea9d66cbd06d in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ea9d66cbd06d > description: > 2009-07-16 Matthias Klose > > * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): > Don't initialize `mirror'. > > diffstat: > > 2 files changed, 7 insertions(+), 2 deletions(-) > ChangeLog | 7 ++++++- > ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 2 +- > > diffs (26 lines): > > diff -r 914f2022b402 -r ea9d66cbd06d ChangeLog > --- a/ChangeLog Wed Jul 15 17:54:49 2009 +0200 > +++ b/ChangeLog Thu Jul 16 15:34:14 2009 +0200 > @@ -1,4 +1,9 @@ 2009-06-23 Edward Nevill -2009-06-23 Edward Nevill > +2009-07-16 Matthias Klose > + > + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): > + Don't initialize `mirror'. > + > +2009-07-15 Edward Nevill > Matthias Klose > > * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): > diff -r 914f2022b402 -r ea9d66cbd06d ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp > --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jul 15 17:54:49 2009 +0200 > +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Jul 16 15:34:14 2009 +0200 > @@ -247,7 +247,7 @@ void CppInterpreter::native_entry(method > Unimplemented(); > } > void **arguments; > - void *mirror = NULL; > + void *mirror; > { > arguments = > (void **) stack->alloc(handler->argument_count() * sizeof(void **)); with the initialization kept, this failed to build: g++-4.4 -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DIA32 -DZERO_LIBARCH=\"i386\" -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/asm -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/c1 -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/ci -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/classfile -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/code -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/compiler -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_implementation -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_implementation/g1 -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_implementation/parNew -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_implementation/shared -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/gc_interface -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/interpreter -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/memory -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/oops -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/prims -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/runtime -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/services -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/shark -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/share/vm/utilities -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/os/linux/vm -I/build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/os_cpu/linux_zero/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"14.0-b15\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"buildd\"" -DHOTSPOT_LIB_ARCH=\"i386\" -DJRE_RELEASE_VERSION="\"1.6.0_0-b16\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DDISTRIBUTION_ID="\"Ubuntu karmic (development branch), package 6b16~pre4-0ubuntu5\"" -DSHARK -I/usr/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -fPIC -g -Woverloaded-virtual -DSHARK_LLVM_VERSION=26 -fpic -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -g -m32 -pipe -O3 -fno-stack-protector -U_FORTIFY_SOURCE -fno-strict-aliasing -DVM_LITTLE_ENDIAN -Wpointer-arith -Wsign-compare -c -o cppInterpreter_zero.o /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp: In static member function 'static void CppInterpreter::native_entry(methodOopDesc*, intptr_t, Thread*)': /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:366: error: jump to label 'unwind_and_return' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:234: error: from here /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:250: error: crosses initialization of 'void* mirror' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:366: error: jump to label 'unwind_and_return' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:225: error: from here /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:250: error: crosses initialization of 'void* mirror' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:366: error: jump to label 'unwind_and_return' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:213: error: from here /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:250: error: crosses initialization of 'void* mirror' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:366: error: jump to label 'unwind_and_return' /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:194: error: from here /build/buildd/openjdk-6-6b16~pre4/build/zerovm/openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:250: error: crosses initialization of 'void* mirror' make[8]: *** [cppInterpreter_zero.o] Error 1 From bugzilla-daemon at icedtea.classpath.org Thu Jul 16 07:57:11 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 16 Jul 2009 14:57:11 +0000 Subject: [Bug 363] SIGBUS error at [libzip.so+0x40d1] Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=363 ------- Comment #4 from martinrb at google.com 2009-07-16 14:57 ------- I have seen such crashes many times. In each case it was due to a jar file being overwritten at runtime. Don't do that. If you practice proper jar file replacement hygiene, i.e. mv instead of cp you have a good chance of being OK. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Thu Jul 16 13:30:07 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 16 Jul 2009 16:30:07 -0400 Subject: RFC: Netx - Dont prompt the user multiple times for the same https certificate Message-ID: <4A5F8DCF.40307@redhat.com> Hi, Currently Netx can prompt the user multiple times to accept a single https certificate. You can see the behaviour by running javaws (without cacerts) and going to https://substance.dev.java.net/webstart/Issue447.jnlp. You will get 2 dialogs that ask you to confirm the https certificate (and one that asks you to confirm the jar certificate). The attached patch makes it so that the user is only prompted once to confirm the https certificate. ChangeLog: 2009-07-16 Omair Majid * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java add singleUserPromptLock. (checkServerTrusted): Synchronize on singleUserPromptLock. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-fewer-prompts.patch Type: text/x-patch Size: 1819 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090716/8ff4f1c9/netx-fewer-prompts.patch From bugzilla-daemon at icedtea.classpath.org Thu Jul 16 14:35:08 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 16 Jul 2009 21:35:08 +0000 Subject: [Bug 365] IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 ------- Comment #4 from langel at redhat.com 2009-07-16 21:35 ------- fwiw, I am using IntelliJ regularily, with IcedTea, and I haven't seen any segfaults. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Jul 16 14:42:30 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 16 Jul 2009 21:42:30 +0000 Subject: [Bug 365] IntelliJ IDEA crashes due to SIGSEGV in libjvm.so+0x4760e6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=365 ------- Comment #5 from langel at redhat.com 2009-07-16 21:42 ------- idea.vmoptions : -Xms32m -Xmx256m -XX:MaxPermSize=150m -ea -Dsun.java2d.pmoffscreen=false -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gbenson at redhat.com Fri Jul 17 03:08:28 2009 From: gbenson at redhat.com (Gary Benson) Date: Fri, 17 Jul 2009 10:08:28 +0000 Subject: changeset in /hg/icedtea6: 2009-07-17 Gary Benson changeset d20bab985f89 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d20bab985f89 description: 2009-07-17 Gary Benson * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp (SharkBuilder::pointer_constant): Conditionalize a hack. diffstat: 2 files changed, 9 insertions(+), 6 deletions(-) ChangeLog | 5 +++++ ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 10 ++++------ diffs (45 lines): diff -r ea9d66cbd06d -r d20bab985f89 ChangeLog --- a/ChangeLog Thu Jul 16 15:34:14 2009 +0200 +++ b/ChangeLog Fri Jul 17 06:04:59 2009 -0400 @@ -1,3 +1,8 @@ 2009-07-16 Matthias Klose + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (SharkBuilder::pointer_constant): Conditionalize a hack. + 2009-07-16 Matthias Klose * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (native_entry): diff -r ea9d66cbd06d -r d20bab985f89 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Thu Jul 16 15:34:14 2009 +0200 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Fri Jul 17 06:04:59 2009 -0400 @@ -156,6 +156,9 @@ class SharkBuilder : public llvm::IRBuil llvm::Constant* pointer_constant(const void *ptr) { +#if SHARK_LLVM_VERSION >= 25 || !defined(AMD64) + return LLVMValue::intptr_constant((intptr_t) ptr); +#else // Create a pointer constant that points at PTR. We do this by // creating a GlobalVariable mapped at PTR. This is a workaround // for http://www.llvm.org/bugs/show_bug.cgi?id=2920 @@ -175,18 +178,13 @@ class SharkBuilder : public llvm::IRBuil snprintf(name, sizeof name - 1, "pointer_constant_%p", ptr); GlobalVariable *value = new GlobalVariable( -#if SHARK_LLVM_VERSION >= 26 - // LLVM 2.6 requires a LLVMContext during GlobalVariable construction. - // getGlobalConext() returns one that can be used as long as the shark - // compiler are single-threaded. - getGlobalContext(), -#endif SharkType::intptr_type(), false, GlobalValue::ExternalLinkage, NULL, name, module()); execution_engine()->addGlobalMapping(value, const_cast(ptr)); return ConstantExpr::getPtrToInt(value, SharkType::intptr_type()); +#endif // SHARK_LLVM_VERSION >= 25 || !AMD64 } // Helper for making pointers From dbhole at redhat.com Fri Jul 17 10:24:37 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 17 Jul 2009 13:24:37 -0400 Subject: RFC: Netx - Dont prompt the user multiple times for the same https certificate In-Reply-To: <4A5F8DCF.40307@redhat.com> References: <4A5F8DCF.40307@redhat.com> Message-ID: <20090717172437.GA9660@redhat.com> * Omair Majid [2009-07-16 16:47]: > Hi, > > Currently Netx can prompt the user multiple times to accept a single > https certificate. > > You can see the behaviour by running javaws (without cacerts) and going > to https://substance.dev.java.net/webstart/Issue447.jnlp. You will get 2 > dialogs that ask you to confirm the https certificate (and one that asks > you to confirm the jar certificate). > > The attached patch makes it so that the user is only prompted once to > confirm the https certificate. > > ChangeLog: > 2009-07-16 Omair Majid > > * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java > add singleUserPromptLock. > (checkServerTrusted): Synchronize on singleUserPromptLock. > > Any comments? > Can't you just synchronize the function instead of doing it on an object lock? All contents appear to be inside the syn. block anyway.. Deepak > Cheers, > Omair > diff -r 914f2022b402 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java > --- a/rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java Wed Jul 15 17:54:49 2009 +0200 > +++ b/rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Jul 16 14:10:41 2009 -0400 > @@ -65,6 +65,9 @@ > > ArrayList temporarilyTrusted = new ArrayList(); > > + /** lock to ensure we only present one prompt to the user at a time */ > + private Object singleUserPromptLock = new Object(); > + > static VariableX509TrustManager instance = null; > > /** > @@ -144,21 +147,23 @@ > * @param checkOnly Whether to "check only" i.e. no user prompt, or to prompt for permission > */ > public void checkServerTrusted(X509Certificate[] chain, String authType, boolean checkOnly) throws CertificateException { > - try { > - checkAllManagers(chain, authType); > - } catch (CertificateException ce) { > - > - if (checkOnly) { > - throw ce; > - } else { > - > - boolean b = askUser(chain,authType); > - > - if (b) { > - temporarilyTrust(chain[0]); > + synchronized (singleUserPromptLock) { > + try { > + checkAllManagers(chain, authType); > + } catch (CertificateException ce) { > + > + if (checkOnly) { > + throw ce; > + } else { > + > + boolean b = askUser(chain,authType); > + > + if (b) { > + temporarilyTrust(chain[0]); > + } > + > + checkAllManagers(chain, authType); > } > - > - checkAllManagers(chain, authType); > } > } > } From Joe.Darcy at Sun.COM Fri Jul 17 11:43:15 2009 From: Joe.Darcy at Sun.COM (Joseph D. Darcy) Date: Fri, 17 Jul 2009 11:43:15 -0700 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <17c6771e0907151323q1725f046laf0182502f75a22e@mail.gmail.com> References: <17c6771e0907151323q1725f046laf0182502f75a22e@mail.gmail.com> Message-ID: <4A60C643.3090306@sun.com> Andrew John Hughes wrote: > We discussed this a while back, but discussions seem to have come to a halt. > > Using the rebase extension to hg, I've succeeded in producing a > version of the OpenJDK6 repository based on the same 0 revision as the > hs14 master: > > http://fuseyism.com/hg/hotspot > > This means that pulls from the hs14 master can be used to update this > repository, which isn't the case with the current OpenJDK6 repository > as they have no common parent. However, unlike hs14, it does include > all the history and fixes from OpenJDK6 (some of which don't seem to > have made the HS7 repos, such as deleting binary jar files). > > Does this look ok? If so, can someone with ssh access to > hg.openjdk.java.net please replace the current hotspot repository with > this one, so we can update it to the current hs14 revision and add any > other pending changes? > > It would be nice to finally let HotSpot development in OpenJDK6 move on! > > Thanks, > Hi Andrew. I'll discuss this matter with Kelly when we are both not on vacation. Thanks, -Joe From ahughes at redhat.com Fri Jul 17 18:03:00 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Sat, 18 Jul 2009 01:03:00 +0000 Subject: changeset in /hg/icedtea: Cleanup #01: Reduce JDK options to one... Message-ID: changeset f13e31f619e2 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=f13e31f619e2 description: Cleanup #01: Reduce JDK options to one and prefer JDK binaries. 2009-07-17 Andrew John Hughes * Makefile.am: Remove use of WITH_OPENJDK, WITH_ICEDTEA and SYSTEM_GCJ_DIR replacing with BOOTSTRAPPING and SYSTEM_JDK_DIR as appropriate. * acinclude.m4: (FIND_JAVAC): Search for generic 'javac' first. (IT_FIND_ECJ): Only use ecj as javac if JAVA is unset. (FIND_JAVAH): Try javah in SYSTEM_JDK_DIR before searching. (FIND_JAR): Likewise for jar. (FIND_RMIC): Likewise for rmic. (IT_CHECK_IF_BOOTSTRAPPING): Allow bootstrapping to be disabled. Replaces --with-icedtea/--with-openjdk. (IT_CHECK_FOR_JDK): Find JDK to use. Replaces --with-gcj-jdk, --with-icedtea-home, --with-openjdk-home. At present, only checks for gcj jdks if not bootstrapping. (AC_CHECK_FOR_OPENJDK): Removed. (AC_CHECK_FOR_ICEDTEA): Removed. (AC_CHECK_FOR_GCJ_JDK): Removed. * configure.ac: Remove --with-icedtea and --with-openjdk. Always check for a JDK and then allow individual binaries to be overridden by --with-x. * javac.in: Replace SYSTEM_GCJ_DIR with SYSTEM_JDK_DIR. diffstat: 5 files changed, 188 insertions(+), 280 deletions(-) ChangeLog | 27 ++++ Makefile.am | 36 ++---- acinclude.m4 | 315 ++++++++++++++++++++++++---------------------------------- configure.ac | 88 ++-------------- javac.in | 2 diffs (truncated from 699 to 500 lines): diff -r 2341c4735ea7 -r f13e31f619e2 ChangeLog --- a/ChangeLog Wed Jul 15 13:39:06 2009 +0100 +++ b/ChangeLog Sat Jul 18 02:04:40 2009 +0100 @@ -1,3 +1,30 @@ 2009-07-15 Andrew John Hughes + + * Makefile.am: + Remove use of WITH_OPENJDK, WITH_ICEDTEA + and SYSTEM_GCJ_DIR replacing with BOOTSTRAPPING + and SYSTEM_JDK_DIR as appropriate. + * acinclude.m4: + (FIND_JAVAC): Search for generic 'javac' first. + (IT_FIND_ECJ): Only use ecj as javac if JAVA is unset. + (FIND_JAVAH): Try javah in SYSTEM_JDK_DIR before searching. + (FIND_JAR): Likewise for jar. + (FIND_RMIC): Likewise for rmic. + (IT_CHECK_IF_BOOTSTRAPPING): Allow bootstrapping to be disabled. + Replaces --with-icedtea/--with-openjdk. + (IT_CHECK_FOR_JDK): Find JDK to use. Replaces --with-gcj-jdk, + --with-icedtea-home, --with-openjdk-home. At present, only checks + for gcj jdks if not bootstrapping. + (AC_CHECK_FOR_OPENJDK): Removed. + (AC_CHECK_FOR_ICEDTEA): Removed. + (AC_CHECK_FOR_GCJ_JDK): Removed. + * configure.ac: + Remove --with-icedtea and --with-openjdk. Always check + for a JDK and then allow individual binaries to be overridden + by --with-x. + * javac.in: + Replace SYSTEM_GCJ_DIR with SYSTEM_JDK_DIR. + 2009-07-15 Andrew John Hughes * Makefile.am: diff -r 2341c4735ea7 -r f13e31f619e2 Makefile.am --- a/Makefile.am Wed Jul 15 13:39:06 2009 +0100 +++ b/Makefile.am Sat Jul 18 02:04:40 2009 +0100 @@ -1630,7 +1630,7 @@ ICEDTEA_ENV_ECJ = \ "BOOTCLASSPATH_CLS_RT=-bootclasspath \ $(ICEDTEA_CLS_DIR_ECJ):$(ICEDTEA_RT)" \ "BOOTCLASSPATH_CLS=-bootclasspath $(ICEDTEA_CLS_DIR_ECJ)" \ - "BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(SYSTEM_GCJ_DIR)/jre/lib/rt.jar" \ + "BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(SYSTEM_JDK_DIR)/jre/lib/rt.jar" \ "CLASSPATH=" \ "LD_LIBRARY_PATH=" \ "GENSRCDIR=$(abs_top_builddir)/generated" \ @@ -2577,20 +2577,14 @@ clean-bootstrap-directory: rm -f stamps/bootstrap-directory.stamp rm -rf bootstrap/icedtea -if WITH_OPENJDK - BOOTSTRAP_DIRECTORY_STAMP = - ICEDTEA_HOME = $(SYSTEM_OPENJDK_DIR) - INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink.stamp -else -if WITH_ICEDTEA - BOOTSTRAP_DIRECTORY_STAMP = - ICEDTEA_HOME = $(SYSTEM_ICEDTEA_DIR) - INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink.stamp -else +if BOOTSTRAPPING BOOTSTRAP_DIRECTORY_STAMP = stamps/bootstrap-directory.stamp ICEDTEA_HOME = $(abs_top_builddir)/bootstrap/icedtea INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink-ecj.stamp -endif +else + BOOTSTRAP_DIRECTORY_STAMP = + ICEDTEA_HOME = $(SYSTEM_JDK_DIR) + INITIAL_BOOTSTRAP_LINK_STAMP = stamps/bootstrap-directory-symlink.stamp endif # bootstrap/jdk1.6.0 to bootstrap/icedtea symlink. @@ -2629,9 +2623,9 @@ stamps/bootstrap-directory-ecj.stamp: st bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar ln -sf $(XERCES2_JAR) bootstrap/ecj/lib/endorsed/xerces-j2.jar mkdir -p bootstrap/ecj/jre/lib; \ - ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/rt.jar \ + ln -sf $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \ bootstrap/ecj/jre/lib/rt-system.jar; \ - ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \ + ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \ bootstrap/ecj/jre/lib/; \ if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ then \ @@ -2639,11 +2633,11 @@ stamps/bootstrap-directory-ecj.stamp: st bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ fi; \ mkdir -p bootstrap/ecj/include; \ - for i in $(SYSTEM_GCJ_DIR)/include/*; do \ + for i in $(SYSTEM_JDK_DIR)/include/*; do \ test -r $$i | continue; \ i=`basename $$i`; \ rm -f bootstrap/ecj/include/$$i; \ - ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \ + ln -s $(SYSTEM_JDK_DIR)/include/$$i bootstrap/ecj/include/$$i; \ done; \ if test -f $(abs_top_builddir)/bootstrap/jdk1.7.0/lib/tools.jar ; \ then \ @@ -2680,14 +2674,10 @@ clean-bootstrap-directory-symlink-ecj: # OpenJDK Targets # =============== -if WITH_ICEDTEA +if BOOTSTRAPPING + MEMORY_LIMIT = +else MEMORY_LIMIT = -J-Xmx1024m -else -if WITH_OPENJDK - MEMORY_LIMIT = -J-Xmx512m -else - MEMORY_LIMIT = -endif endif if WITH_CACAO diff -r 2341c4735ea7 -r f13e31f619e2 acinclude.m4 --- a/acinclude.m4 Wed Jul 15 13:39:06 2009 +0100 +++ b/acinclude.m4 Sat Jul 18 02:04:40 2009 +0100 @@ -91,42 +91,46 @@ AC_DEFUN([SET_OS_DIRS], AC_DEFUN([FIND_JAVAC], [ - user_specified_javac= - - CLASSPATH_WITH_ECJ - CLASSPATH_WITH_JAVAC - - if test "x${ECJ}" = x && test "x${JAVAC}" = x && test "x${user_specified_javac}" != xecj; then - AC_MSG_ERROR([cannot find javac, try --with-ecj]) - fi -]) - -AC_DEFUN([CLASSPATH_WITH_ECJ], + JAVAC=${SYSTEM_JDK_DIR}/bin/javac + IT_FIND_JAVAC + IT_FIND_ECJ + + if test "x${JAVAC}" = x; then + AC_MSG_ERROR([cannot find a Java compiler, try --with-javac or --with-ecj]) + fi + AC_SUBST(JAVAC) +]) + +AC_DEFUN([IT_FIND_ECJ], [ AC_ARG_WITH([ecj], [AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)], [ if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then - CLASSPATH_CHECK_ECJ(${withval}) + IT_CHECK_ECJ(${withval}) else if test "x${withval}" != xno; then - CLASSPATH_CHECK_ECJ + IT_CHECK_ECJ fi fi - user_specified_javac=ecj ], [ - CLASSPATH_CHECK_ECJ - ]) - JAVAC="${ECJ} -nowarn" - AC_SUBST(JAVAC) -]) - -AC_DEFUN([CLASSPATH_CHECK_ECJ], + IT_CHECK_ECJ + ]) + if test "x${JAVAC}" = "x"; then + if test "x{ECJ}" != "x"; then + JAVAC="${ECJ} -nowarn" + fi + fi +]) + +AC_DEFUN([IT_CHECK_ECJ], [ if test "x$1" != x; then if test -f "$1"; then + AC_MSG_CHECKING(for ecj) ECJ="$1" + AC_MSG_RESULT(${ECJ}) else AC_PATH_PROG(ECJ, "$1") fi @@ -144,31 +148,31 @@ AC_DEFUN([CLASSPATH_CHECK_ECJ], fi ]) -AC_DEFUN([CLASSPATH_WITH_JAVAC], +AC_DEFUN([IT_FIND_JAVAC], [ AC_ARG_WITH([javac], [AS_HELP_STRING(--with-javac,bytecode compilation with javac)], [ if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then - CLASSPATH_CHECK_JAVAC(${withval}) + IT_CHECK_JAVAC(${withval}) else if test "x${withval}" != xno; then - CLASSPATH_CHECK_JAVAC + IT_CHECK_JAVAC(${JAVAC}) fi fi - user_specified_javac=javac ], [ - CLASSPATH_CHECK_JAVAC - ]) - AC_SUBST(JAVAC) -]) - -AC_DEFUN([CLASSPATH_CHECK_JAVAC], + IT_CHECK_JAVAC(${JAVAC}) + ]) +]) + +AC_DEFUN([IT_CHECK_JAVAC], [ if test "x$1" != x; then if test -f "$1"; then + AC_MSG_CHECKING(for javac) JAVAC="$1" + AC_MSG_RESULT(${JAVAC}) else AC_PATH_PROG(JAVAC, "$1") fi @@ -179,20 +183,18 @@ AC_DEFUN([CLASSPATH_CHECK_JAVAC], AC_DEFUN([FIND_JAVA], [ + AC_MSG_CHECKING(for java) AC_ARG_WITH([java], [AS_HELP_STRING(--with-java,specify location of the 1.5 java vm)], [ - if test -f "${withval}"; then - AC_MSG_CHECKING(java) - JAVA="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAVA, "${withval}") - fi - ], - [ - JAVA= - ]) + JAVA="${withval}" + ], + [ + JAVA=${SYSTEM_JDK_DIR}/bin/java + ]) + if ! test -f "${JAVA}"; then + AC_PATH_PROG(JAVA, "${JAVA}") + fi if test -z "${JAVA}"; then AC_PATH_PROG(JAVA, "gij") fi @@ -202,6 +204,7 @@ AC_DEFUN([FIND_JAVA], if test -z "${JAVA}"; then AC_MSG_ERROR("A 1.5-compatible Java VM is required.") fi + AC_MSG_RESULT(${JAVA}) AC_SUBST(JAVA) ]) @@ -277,20 +280,18 @@ AC_DEFUN([AC_CHECK_GCC_VERSION], AC_DEFUN([FIND_JAVAH], [ + AC_MSG_CHECKING(for javah) AC_ARG_WITH([javah], - [AS_HELP_STRING(--with-javah,specify location of the javah)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for javah) - JAVAH="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAVAH, "${withval}") - fi - ], - [ - JAVAH= - ]) + [AS_HELP_STRING(--with-javah,specify location of the Java header generator)], + [ + JAVAH="${withval}" + ], + [ + JAVAH=${SYSTEM_JDK_DIR}/bin/javah + ]) + if ! test -f "${JAVAH}"; then + AC_PATH_PROG(JAVAH, "${JAVAH}") + fi if test -z "${JAVAH}"; then AC_PATH_PROG(JAVAH, "gjavah") fi @@ -298,27 +299,26 @@ AC_DEFUN([FIND_JAVAH], AC_PATH_PROG(JAVAH, "javah") fi if test -z "${JAVAH}"; then - AC_MSG_ERROR("javah was not found.") - fi + AC_MSG_ERROR("A Java header generator was not found.") + fi + AC_MSG_RESULT(${JAVAH}) AC_SUBST(JAVAH) ]) AC_DEFUN([FIND_JAR], [ + AC_MSG_CHECKING(for jar) AC_ARG_WITH([jar], - [AS_HELP_STRING(--with-jar,specify location of the jar)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for jar) - JAR="${withval}" - AC_MSG_RESULT(${withval}) - else - AC_PATH_PROG(JAR, "${withval}") - fi - ], - [ - JAR= - ]) + [AS_HELP_STRING(--with-jar,specify location of the Java archive tool (jar))], + [ + JAR="${withval}" + ], + [ + JAR=${SYSTEM_JDK_DIR}/bin/jar + ]) + if ! test -f "${JAR}"; then + AC_PATH_PROG(JAR, "${JAR}") + fi if test -z "${JAR}"; then AC_PATH_PROG(JAR, "gjar") fi @@ -326,8 +326,9 @@ AC_DEFUN([FIND_JAR], AC_PATH_PROG(JAR, "jar") fi if test -z "${JAR}"; then - AC_MSG_ERROR("jar was not found.") - fi + AC_MSG_ERROR("No Java archive tool was found.") + fi + AC_MSG_RESULT(${JAR}) AC_MSG_CHECKING([whether jar supports @ argument]) touch _config.txt cat >_config.list < changeset bafcc83b864b in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=bafcc83b864b description: Check both javac and java can run the code in the PR40616 check. 2009-07-20 Andrew John Hughes * acinclude.m4: (IT_LIBRARY_CHECK): Check the class can be run as well, for when java and javac use different class libraries. diffstat: 2 files changed, 20 insertions(+), 4 deletions(-) ChangeLog | 7 +++++++ acinclude.m4 | 17 +++++++++++++---- diffs (65 lines): diff -r f13e31f619e2 -r bafcc83b864b ChangeLog --- a/ChangeLog Sat Jul 18 02:04:40 2009 +0100 +++ b/ChangeLog Mon Jul 20 16:01:38 2009 +0100 @@ -1,3 +1,10 @@ 2009-07-17 Andrew John Hughes + + * acinclude.m4: + (IT_LIBRARY_CHECK): Check the class can be + run as well, for when java and javac use + different class libraries. + 2009-07-17 Andrew John Hughes * Makefile.am: diff -r f13e31f619e2 -r bafcc83b864b acinclude.m4 --- a/acinclude.m4 Sat Jul 18 02:04:40 2009 +0100 +++ b/acinclude.m4 Mon Jul 20 16:01:38 2009 +0100 @@ -1516,26 +1516,35 @@ AC_DEFUN([IT_LIBRARY_CHECK],[ AC_DEFUN([IT_LIBRARY_CHECK],[ AC_CACHE_CHECK([if java.io.PrintStream is missing the 1.5 constructors (PR40616)], it_cv_cp40616, [ CLASS=Test.java +BYTECODE=$(echo $CLASS|sed 's#\.java##') mkdir tmp.$$ cd tmp.$$ cat << \EOF > $CLASS /* [#]line __oline__ "configure" */ +import java.io.File; +import java.io.PrintStream; + public class Test { public static void main(String[] args) throws Exception { - new java.io.PrintStream(new java.io.File("bluh"), "UTF-8"); + PrintStream p = new PrintStream(new File("bluh"), "UTF-8"); + p.close(); } } EOF if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - it_cv_cp40616=no; + if $JAVA -classpath . $BYTECODE >/dev/null 2>&1; then + it_cv_cp40616=no; + else + it_cv_cp40616=yes; + fi else it_cv_cp40616=yes; fi ]) -rm -f $CLASS *.class +rm -f $CLASS *.class bluh cd .. rmdir tmp.$$ AM_CONDITIONAL([CP40616], test x"${it_cv_cp40616}" = "xyes") @@ -1560,7 +1569,7 @@ public class Test } EOF if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - if $JAVA -classpath . $BYTECODE 2>&1 | grep 'Exception'; then + if $JAVA -classpath . $BYTECODE 2>&1 | grep 'Exception' >/dev/null 2>&1; then it_cv_cp30436=yes; else it_cv_cp30436=no; From bugzilla-daemon at icedtea.classpath.org Mon Jul 20 13:42:10 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 20 Jul 2009 20:42:10 +0000 Subject: [Bug 315] OpenJDK 1.6 + tomcat + confluence = Java crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=315 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #1 from jon.vanalten at redhat.com 2009-07-20 20:42 ------- Novell bugzilla refers to upstream patch in jdk7 which fixes crash. http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/039a914095f4 I can also see that this patch has been applied in jdk6. I haven't dug through the history, but at the very least it's currently in the tip. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Mon Jul 20 15:47:52 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 20 Jul 2009 23:47:52 +0100 Subject: Cleaning up JDK detection in IcedTea Message-ID: <17c6771e0907201547t45ad7aadq8cf4501400a38a33@mail.gmail.com> After running into some interesting issues with the use of javac, java, et al. in IcedTea recently, I've started to do some cleanup work in IcedTea7 to make the detection of the build JDK more straightforward and hopefully more logical. Once stabilised, I'll look at porting the work over to IcedTea6 as well and posting each patch for review. The first commit in this vein went into IcedTea7 at the end of last week: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2009-July/006553.html This patch: * merges all the --with-gcj-jdk, --with-icedtea-home, --with-openjdk-home options into one option: --with-jdk-home is now the one and only option for specifying the JDK to use. * makes more use of the JDK setting in deciding which javac, java, jar, rmic and javah to use. * removes --with-icedtea and --with-openjdk, replacing them with the more accurate --disable-bootstrap Before this change (and still in IcedTea6), --with-icedtea or --with-openjdk (largely equivalent options, currently unified into just --with-openjdk in IcedTea6) had the side effect of assuming that only one build would be performed, as well as choosing to use OpenJDK to build. In fact, from the code standpoint, it is the use of OpenJDK that is incidental; it has always been possible to override the actual JDK used by using the --with-icedtea-home/--with-openjdk-home options. Confused? I know I certainly have been many times by the numerous options we have. This cleanup changes things so that the status quo is now: * --with-jdk-home picks which JDK to use * --disable-bootstrap turns on the single build variant, independent of the JDK used At present, there are still some assumptions about using IcedTea which are linked to the --disable-bootstrap, namely the use of a memory limit and the detection of Xerces/Xalan. These will be cleaned up by subsequent patches. Another part of this mess was that previously, the actual components of the JDK were decided differently depending on the option used. Using --with-openjdk or --with-icedtea meant that java, javac, rmic and javah were all determined relative to the JDK, while the default GCJ option did a path-based search. The same process is now true, regardless of which build is used: the JDK-relative paths are used by default, and can be overridden by --with-x options. If $JDK_HOME/bin/x is not present, then a path-based search will be done as a last resort. The compiler selection is a little more complex and still needs some work. We check for javac first, as always, and then ecj. Previously the value of JAVAC was always overridden to be "$ECJ -nowarn" anyway if ecj was found. Now javac will be $JDK_HOME/bin/javac if present and ecj may also be available as $ECJ. At present, ecj is still always used on default builds via javac.in, but this will shortly be cleaned up too. The overall aim of this is hopefully to make things simpler for everyone and reduce the differences between individual builds. I ran into issues with the current setup because checks done during configure using $JAVAC give different results to what actually happens at runtime. In the long run, I hope these changes will make it possible to do a quick build with gcj. This still needs some work breaking up the ecj patch and identifying relevant bugs rather than applying them all. One particular issue to look at is running Sun's javac rather than ecj with gcj, as this is necessary to build the java.dyn classes in OpenJDK7. I'd welcome any thoughts you have on this, and also news of any oddities you think could also be eradicated during this process. Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jul 20 15:49:41 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 20 Jul 2009 22:49:41 +0000 Subject: [Bug 315] OpenJDK 1.6 + tomcat + confluence = Java crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=315 ------- Comment #2 from gnu_andrew at member.fsf.org 2009-07-20 22:49 ------- Jon, where are you checking for jdk6? Note that IcedTea replaces the OpenJDK6 HotSpot 12 with HotSpot 14 (currently from http://hg.openjdk.java.net/hsx/hs14/master) and has since 1.4. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From matthew.flaschen at gatech.edu Mon Jul 20 15:55:47 2009 From: matthew.flaschen at gatech.edu (Matthew Flaschen) Date: Mon, 20 Jul 2009 18:55:47 -0400 Subject: Cleaning up JDK detection in IcedTea In-Reply-To: <17c6771e0907201547t45ad7aadq8cf4501400a38a33@mail.gmail.com> References: <17c6771e0907201547t45ad7aadq8cf4501400a38a33@mail.gmail.com> Message-ID: <4A64F5F3.7060701@gatech.edu> Andrew John Hughes wrote: > This patch: > > * merges all the --with-gcj-jdk, --with-icedtea-home, > --with-openjdk-home options into one option: --with-jdk-home is now > the one and only option for specifying the JDK to use. > * makes more use of the JDK setting in deciding which javac, java, > jar, rmic and javah to use. > * removes --with-icedtea and --with-openjdk, replacing them with the > more accurate --disable-bootstrap This looks very useful. Fewer options with the same functionality means less ways to screw up the configuration. Matt Flaschen From gnu_andrew at member.fsf.org Mon Jul 20 15:58:16 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 20 Jul 2009 23:58:16 +0100 Subject: Cleaning up JDK detection in IcedTea In-Reply-To: <4A64F5F3.7060701@gatech.edu> References: <17c6771e0907201547t45ad7aadq8cf4501400a38a33@mail.gmail.com> <4A64F5F3.7060701@gatech.edu> Message-ID: <17c6771e0907201558v14e8d49ene4f942ed4a311cb3@mail.gmail.com> 2009/7/20 Matthew Flaschen : > Andrew John Hughes wrote: >> This patch: >> >> * merges all the --with-gcj-jdk, --with-icedtea-home, >> --with-openjdk-home options into one option: --with-jdk-home is now >> the one and only option for specifying the JDK to use. >> * makes more use of the JDK setting in deciding which javac, java, >> jar, rmic and javah to use. >> * removes --with-icedtea and --with-openjdk, replacing them with the >> more accurate --disable-bootstrap > > This looks very useful. ?Fewer options with the same functionality means > less ways to screw up the configuration. > That's the idea :) I've seen the same issues come up time and time again, which suggests there is probably a better and more intuitive way to be doing things... > Matt Flaschen > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Mon Jul 20 15:59:09 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 20 Jul 2009 22:59:09 +0000 Subject: [Bug 315] OpenJDK 1.6 + tomcat + confluence = Java crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=315 ------- Comment #3 from gnu_andrew at member.fsf.org 2009-07-20 22:59 ------- The Sun bug (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6772368) lists it as being in hs14b13 which means it should be in current IcedTea6 builds indeed. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 21 06:11:45 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jul 2009 13:11:45 +0000 Subject: [Bug 315] OpenJDK 1.6 + tomcat + confluence = Java crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=315 ------- Comment #4 from jon.vanalten at redhat.com 2009-07-21 13:11 ------- I've learned better than to trust Sun's bug resolutions. I checked the source in my local builds of IcedTea6/7, and the patched code was there in both. Should have been more clear in my comment. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 21 12:17:15 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jul 2009 19:17:15 +0000 Subject: [Bug 369] New: bug Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=369 Summary: bug Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: critical Priority: P1 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: prakeiktasis at gmail.com netbeans dies ven editing css file there is properties like backround-image # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb80d47ad, pid=5557, tid=2279701360 # # JRE version: 6.0-b16 # Java VM: OpenJDK Client VM (14.0-b15 mixed mode linux-x86 ) # Distribution: Custom build (Sat Jul 4 13:05:51 CEST 2009) # Problematic frame: # C [ld-linux.so.2+0x137ad] # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x8df9e000): JavaThread "Image Fetcher 0" daemon [_thread_in_native, id=5699, stack(0x87c17000,0x87e18000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000200 Registers: EAX=0xb80ddc80, EBX=0xb80ddfc4, ECX=0xb80cecc9, EDX=0x87e17b6c ESP=0x87e16640, EBP=0x87e16668, ESI=0x00000000, EDI=0x0966ab80 EIP=0xb80d47ad, CR2=0x00000200, EFLAGS=0x00010292 Top of Stack: (sp=0x87e16640) 0x87e16640: 00000000 010244ad b8068ff4 00000004 0x87e16650: 0966ab80 87e16664 b802496a b8068ff4 0x87e16660: 00000000 0966ab80 87e16688 b8066c84 0x87e16670: 00000000 8e685980 18a916eb 00000016 0x87e16680: b8066c69 b80ddfc4 87e16768 b80cece6 0x87e16690: 00000000 00000000 8bd6277c b806648c 0x87e166a0: 0966ab88 0966ab90 0966ab8c 87e17b6c 0x87e166b0: 8e6c7e50 87e16774 00000000 87e16764 Instructions: (pc=0xb80d47ad) 0xb80d479d: 5d f4 89 7d fc e8 24 3a 00 00 81 c3 1d 98 00 00 0xb80d47ad: f6 86 00 02 00 00 08 75 37 8b 86 90 01 00 00 85 Stack: [0x87c17000,0x87e18000], sp=0x87e16640, free space=2045k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [ld-linux.so.2+0x137ad] C [libdl.so.2+0xc84] C [ld-linux.so.2+0xdce6] C [libdl.so.2+0x107c] C [libdl.so.2+0xcba] dlclose+0x2a C [libjpeg.so+0x5dc0] Java_sun_awt_image_JPEGImageDecoder_initIDs+0x2c0 j sun.awt.image.JPEGImageDecoder.initIDs(Ljava/lang/Class;)V+0 j sun.awt.image.JPEGImageDecoder.()V+22 v ~StubRoutines::call_stub V [libjvm.so+0x1d9367] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.awt.image.JPEGImageDecoder.initIDs(Ljava/lang/Class;)V+0 j sun.awt.image.JPEGImageDecoder.()V+22 v ~StubRoutines::call_stub j sun.awt.image.InputStreamImageSource.getDecoder(Ljava/io/InputStream;)Lsun/awt/image/ImageDecoder;+135 j sun.awt.image.FileImageSource.getDecoder()Lsun/awt/image/ImageDecoder;+27 j sun.awt.image.InputStreamImageSource.doFetch()V+30 j sun.awt.image.ImageFetcher.fetchloop()V+33 j sun.awt.image.ImageFetcher.run()V+5 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) =>0x8df9e000 JavaThread "Image Fetcher 0" daemon [_thread_in_native, id=5699, stack(0x87c17000,0x87e18000)] 0x0951a400 JavaThread "Inactive RequestProcessor thread [Was:TimedSoftReference/org.openide.util.TimedSoftReference]" daemon [_thread_blocked, id=5673, stack(0x8a8be000,0x8aabf000)] 0x0957f000 JavaThread "Inactive RequestProcessor thread [Was:Versioning long tasks/org.netbeans.modules.versioning.diff.DiffSidebar$RefreshDiffTask]" daemon [_thread_blocked, id=5672, stack(0x8861c000,0x8881d000)] 0x095e4c00 JavaThread "Inactive RequestProcessor thread [Was:OpenIDE-request-processor-7/org.netbeans.modules.parsing.spi.Scheduler$1]" daemon [_thread_blocked, id=5664, stack(0x88e20000,0x89021000)] 0x0950bc00 JavaThread "Parsing & Indexing Loop (200906241340)" daemon [_thread_blocked, id=5610, stack(0x86c0f000,0x86e10000)] 0x8bbf7400 JavaThread "DestroyJavaVM" [_thread_blocked, id=5558, stack(0xb735f000,0xb7560000)] 0x09329400 JavaThread "AWT-EventQueue-1" [_thread_blocked, id=5584, stack(0x8a2bb000,0x8a4bc000)] 0x09327c00 JavaThread "TimerQueue" daemon [_thread_blocked, id=5583, stack(0x8b4fd000,0x8b6fe000)] 0x09262000 JavaThread "Thread-4" daemon [_thread_blocked, id=5579, stack(0x8a4bc000,0x8a6bd000)] 0x092b8400 JavaThread "*** JFluid Separate Command Execution Thread" daemon [_thread_blocked, id=5578, stack(0x8a6bd000,0x8a8be000)] 0x8bb38800 JavaThread "AWT-Shutdown" [_thread_blocked, id=5573, stack(0x8b6fe000,0x8b8ff000)] 0x8bb1b000 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=5572, stack(0x8b8ff000,0x8bb00000)] 0x8e6b0000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=5571, stack(0x8bda0000,0x8bfa1000)] 0x092c7800 JavaThread "Active Reference Queue Daemon" daemon [_thread_blocked, id=5570, stack(0x8c305000,0x8c506000)] 0x092c5400 JavaThread "Timer-0" daemon [_thread_blocked, id=5569, stack(0x8c506000,0x8c707000)] 0x8e600800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=5564, stack(0x8e3ff000,0x8e600000)] 0x09252c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=5563, stack(0x8e76f000,0x8e7f0000)] 0x09251400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5562, stack(0x8e7f0000,0x8e9f1000)] 0x09240800 JavaThread "Finalizer" daemon [_thread_blocked, id=5561, stack(0x8ebc9000,0x8edca000)] 0x0923bc00 JavaThread "Reference Handler" daemon [_thread_blocked, id=5560, stack(0x8edca000,0x8efcb000)] Other Threads: 0x09238c00 VMThread [stack: 0x8efcb000,0x8f04c000] [id=5559] 0x8e602800 WatcherThread [stack: 0x8e37e000,0x8e3ff000] [id=5565] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 4096K, used 1739K [0x8f460000, 0x8f8d0000, 0x91390000) eden space 3648K, 35% used [0x8f460000, 0x8f5a2cc0, 0x8f7f0000) from space 448K, 100% used [0x8f7f0000, 0x8f860000, 0x8f860000) to space 448K, 0% used [0x8f860000, 0x8f860000, 0x8f8d0000) tenured generation total 54156K, used 32576K [0x91390000, 0x94873000, 0xa8a60000) the space 54156K, 60% used [0x91390000, 0x933600b0, 0x93360200, 0x94873000) compacting perm gen total 45312K, used 45264K [0xa8a60000, 0xab6a0000, 0xb5260000) the space 45312K, 99% used [0xa8a60000, 0xab694310, 0xab694400, 0xab6a0000) No shared spaces configured. Dynamic libraries: 08048000-08051000 r-xp 00000000 08:01 576117 /usr/lib/jvm/java-1.6.0-openjdk/bin/java 08051000-08052000 rwxp 00008000 08:01 576117 /usr/lib/jvm/java-1.6.0-openjdk/bin/java 091e0000-0975c000 rwxp 00000000 00:00 0 [heap] 86c0f000-86c12000 ---p 00000000 00:00 0 86c12000-86e10000 rwxp 00000000 00:00 0 86e10000-86e13000 rwxp 00000000 00:00 0 86e13000-87011000 rwxp 00000000 00:00 0 87011000-87014000 rwxp 00000000 00:00 0 87014000-87212000 rwxp 00000000 00:00 0 87212000-87215000 rwxp 00000000 00:00 0 87215000-87413000 rwxp 00000000 00:00 0 87413000-87416000 rwxp 00000000 00:00 0 87416000-87614000 rwxp 00000000 00:00 0 87614000-87617000 rwxp 00000000 00:00 0 87617000-87815000 rwxp 00000000 00:00 0 87a16000-87a19000 rwxp 00000000 00:00 0 87a19000-87c17000 rwxp 00000000 00:00 0 87c17000-87c1a000 ---p 00000000 00:00 0 87c1a000-87e18000 rwxp 00000000 00:00 0 87e18000-87e1b000 rwxp 00000000 00:00 0 87e1b000-88019000 rwxp 00000000 00:00 0 88019000-8801c000 rwxp 00000000 00:00 0 8801c000-8821a000 rwxp 00000000 00:00 0 8821a000-8821d000 rwxp 00000000 00:00 0 8821d000-8841b000 rwxp 00000000 00:00 0 8841b000-8841e000 rwxp 00000000 00:00 0 8841e000-8861c000 rwxp 00000000 00:00 0 8861c000-8861f000 ---p 00000000 00:00 0 8861f000-8881d000 rwxp 00000000 00:00 0 88a1e000-88a21000 rwxp 00000000 00:00 0 88a21000-88c1f000 rwxp 00000000 00:00 0 88e20000-88e23000 ---p 00000000 00:00 0 88e23000-89021000 rwxp 00000000 00:00 0 89275000-89278000 rwxp 00000000 00:00 0 89278000-89476000 rwxp 00000000 00:00 0 89476000-89479000 rwxp 00000000 00:00 0 89479000-89677000 rwxp 00000000 00:00 0 89677000-8968d000 r-xp 00000000 08:01 36794 /usr/lib/libsasl2.so.2.0.23 8968d000-8968e000 rwxp 00015000 08:01 36794 /usr/lib/libsasl2.so.2.0.23 8968e000-896b8000 r-xp 00000000 08:01 137572 /usr/lib/libsvn_fs_base-1.so.0.0.0 896b8000-896b9000 rwxp 00029000 08:01 137572 /usr/lib/libsvn_fs_base-1.so.0.0.0 896b9000-896dc000 r-xp 00000000 08:01 137588 /usr/lib/libsvn_fs_fs-1.so.0.0.0 896dc000-896dd000 rwxp 00023000 08:01 137588 /usr/lib/libsvn_fs_fs-1.so.0.0.0 896dd000-89754000 r-xp 00000000 08:01 17310 /usr/lib/libsqlite3.so.0.8.6 89754000-89756000 rwxp 00076000 08:01 17310 /usr/lib/libsqlite3.so.0.8.6 89756000-89774000 r-xp 00000000 08:01 137605 /usr/lib/libsvn_ra_neon-1.so.0.0.0 89774000-89776000 rwxp 0001d000 08:01 137605 /usr/lib/libsvn_ra_neon-1.so.0.0.0 89776000-89789000 r-xp 00000000 08:01 144109 /usr/lib/libsvn_ra_svn-1.so.0.0.0 89789000-8978a000 rwxp 00013000 08:01 144109 /usr/lib/libsvn_ra_svn-1.so.0.0.0 8978a000-89870000 r-xp 00000000 08:01 103 /usr/lib/libstdc++.so.6.0.12 89870000-89874000 r-xp 000e6000 08:01 103 /usr/lib/libstdc++.so.6.0.12 89874000-89875000 rwxp 000ea000 08:01 103 /usr/lib/libstdc++.so.6.0.12 89875000-8987c000 rwxp 00000000 00:00 0 8987c000-898a0000 r-xp 00000000 08:01 8647 /usr/lib/libexpat.so.1.5.2 898a0000-898a2000 rwxp 00023000 08:01 8647 /usr/lib/libexpat.so.1.5.2 898a2000-898ab000 r-xp 00000000 08:01 654 /lib/libcrypt-2.10.1.so 898ab000-898ac000 r-xp 00008000 08:01 654 /lib/libcrypt-2.10.1.so 898ac000-898ad000 rwxp 00009000 08:01 654 /lib/libcrypt-2.10.1.so 898ad000-898d4000 rwxp 00000000 00:00 0 898d4000-898e5000 r-xp 00000000 08:01 37272 /usr/lib/libroken.so.18.1.0 898e5000-898e6000 rwxp 00011000 08:01 37272 /usr/lib/libroken.so.18.1.0 898e6000-8990d000 r-xp 00000000 08:01 37250 /usr/lib/libwind.so.0.0.0 8990d000-8990e000 rwxp 00026000 08:01 37250 /usr/lib/libwind.so.0.0.0 8990e000-89985000 r-xp 00000000 08:01 37279 /usr/lib/libasn1.so.8.0.0 89985000-89988000 rwxp 00076000 08:01 37279 /usr/lib/libasn1.so.8.0.0 89988000-89ac1000 r-xp 00000000 08:01 12409 /usr/lib/libcrypto.so.0.9.8 89ac1000-89ad7000 rwxp 00139000 08:01 12409 /usr/lib/libcrypto.so.0.9.8 89ad7000-89ada000 rwxp 00000000 00:00 0 89ada000-89b13000 r-xp 00000000 08:01 37268 /usr/lib/libhx509.so.4.0.0 89b13000-89b15000 rwxp 00039000 08:01 37268 /usr/lib/libhx509.so.4.0.0 89b15000-89b76000 r-xp 00000000 08:01 37274 /usr/lib/libkrb5.so.25.0.0 89b76000-89b79000 rwxp 00060000 08:01 37274 /usr/lib/libkrb5.so.25.0.0 89b79000-89ba1000 r-xp 00000000 08:01 37263 /usr/lib/libgssapi.so.2.0.0 89ba1000-89ba2000 rwxp 00028000 08:01 37263 /usr/lib/libgssapi.so.2.0.0 89ba2000-89be4000 r-xp 00000000 08:01 12411 /usr/lib/libssl.so.0.9.8 89be4000-89be8000 rwxp 00041000 08:01 12411 /usr/lib/libssl.so.0.9.8 89be8000-89c07000 r-xp 00000000 08:01 81723 /usr/lib/libneon.so.27.1.4 89c07000-89c08000 rwxp 0001f000 08:01 81723 /usr/lib/libneon.so.27.1.4 89c22000-89c2b000 r-xp 00000000 08:01 976 /usr/share/locale/lt/LC_MESSAGES/libc.mo 89c2b000-89c51000 r-xp 00000000 08:01 38347 /usr/lib/libapr-1.so.0.3.5 89c51000-89c52000 rwxp 00025000 08:01 38347 /usr/lib/libapr-1.so.0.3.5 89c52000-89d94000 r-xp 00000000 08:01 6956 /usr/lib/libdb-4.7.so 89d94000-89d97000 rwxp 00141000 08:01 6956 /usr/lib/libdb-4.7.so 89d97000-89dce000 r-xp 00000000 08:01 36816 /usr/lib/libldap-2.3.so.0.2.31 89dce000-89dcf000 rwxp 00037000 08:01 36816 /usr/lib/libldap-2.3.so.0.2.31 89dcf000-89dec000 r-xp 00000000 08:01 38426 /usr/lib/libaprutil-1.so.0.3.7 89dec000-89ded000 rwxp 0001d000 08:01 38426 /usr/lib/libaprutil-1.so.0.3.7 89ded000-89e33000 r-xp 00000000 08:01 137591 /usr/lib/libsvn_subr-1.so.0.0.0 89e33000-89e35000 rwxp 00045000 08:01 137591 /usr/lib/libsvn_subr-1.so.0.0.0 89e35000-89e77000 r-xp 00000000 08:01 144118 /usr/lib/libsvn_wc-1.so.0.0.0 89e77000-89e78000 rwxp 00042000 08:01 144118 /usr/lib/libsvn_wc-1.so.0.0.0 89e78000-89eb8000 r-xp 00000000 08:01 137604 /usr/lib/libsvn_client-1.so.0.0.0 89eb8000-89eb9000 rwxp 00040000 08:01 137604 /usr/lib/libsvn_client-1.so.0.0.0 8a0ba000-8a0bd000 rwxp 00000000 00:00 0 8a0bd000-8a2bb000 rwxp 00000000 00:00 0 8a2bb000-8a2be000 ---p 00000000 00:00 0 8a2be000-8a4bc000 rwxp 00000000 00:00 0 8a4bc000-8a4bf000 ---p 00000000 00:00 0 8a4bf000-8a6bd000 rwxp 00000000 00:00 0 8a6bd000-8a6c0000 ---p 00000000 00:00 0 8a6c0000-8a8be000 rwxp 00000000 00:00 0 8a8be000-8a8c1000 ---p 00000000 00:00 0 8a8c1000-8aabf000 rwxp 00000000 00:00 0 8aabf000-8aaff000 r-xs 00000000 08:01 46277 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 8aaff000-8ab02000 rwxp 00000000 00:00 0 8ab02000-8ad00000 rwxp 00000000 00:00 0 8ad00000-8aefc000 rwxp 00000000 00:00 0 8aefc000-8af00000 ---p 00000000 00:00 0 8af00000-8affb000 rwxp 00000000 00:00 0 8affb000-8b000000 ---p 00000000 00:00 0 8b001000-8b007000 r-xp 00000000 08:01 137561 /usr/lib/libsvn_ra_local-1.so.0.0.0 8b007000-8b008000 rwxp 00005000 08:01 137561 /usr/lib/libsvn_ra_local-1.so.0.0.0 8b008000-8b02e000 r-xp 00000000 08:01 144116 /usr/lib/libsvn_repos-1.so.0.0.0 8b02e000-8b02f000 rwxp 00025000 08:01 144116 /usr/lib/libsvn_repos-1.so.0.0.0 8b02f000-8b06f000 r-xs 00000000 08:01 46276 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2 8b1a9000-8b200000 rwxp 00000000 00:00 0 8b200000-8b202000 r-xp 00000000 08:01 8178 /lib/libcom_err.so.2.1 8b202000-8b203000 rwxp 00001000 08:01 8178 /lib/libcom_err.so.2.1 8b203000-8b207000 r-xp 00000000 08:01 37261 /usr/lib/libheimntlm.so.0.1.0 8b207000-8b208000 rwxp 00003000 08:01 37261 /usr/lib/libheimntlm.so.0.1.0 8b208000-8b20d000 r-xp 00000000 08:01 8890 /usr/lib/libgdbm.so.3.0.0 8b20d000-8b20e000 rwxp 00004000 08:01 8890 /usr/lib/libgdbm.so.3.0.0 8b20e000-8b21a000 r-xp 00000000 08:01 36825 /usr/lib/liblber-2.3.so.0.2.31 8b21a000-8b21b000 rwxp 0000b000 08:01 36825 /usr/lib/liblber-2.3.so.0.2.31 8b21b000-8b220000 r-xp 00000000 08:01 137563 /usr/lib/libsvn_fs-1.so.0.0.0 8b220000-8b221000 rwxp 00005000 08:01 137563 /usr/lib/libsvn_fs-1.so.0.0.0 8b221000-8b25d000 r-xp 00000000 08:01 144107 /usr/lib/libsvnjavahl-1.so.0.0.0 8b25d000-8b25e000 rwxp 0003b000 08:01 144107 /usr/lib/libsvnjavahl-1.so.0.0.0 8b25e000-8b25f000 rwxp 00000000 00:00 0 8b25f000-8b26f000 r-xp 00000000 08:01 656 /lib/libresolv-2.10.1.so 8b26f000-8b270000 r-xp 00010000 08:01 656 /lib/libresolv-2.10.1.so 8b270000-8b271000 rwxp 00011000 08:01 656 /lib/libresolv-2.10.1.so 8b271000-8b273000 rwxp 00000000 00:00 0 8b273000-8b276000 r-xp 00000000 08:01 8173 /lib/libuuid.so.1.2 8b276000-8b277000 rwxp 00002000 08:01 8173 /lib/libuuid.so.1.2 8b277000-8b282000 r-xp 00000000 08:01 137600 /usr/lib/libsvn_diff-1.so.0.0.0 8b282000-8b283000 rwxp 0000a000 08:01 137600 /usr/lib/libsvn_diff-1.so.0.0.0 8b283000-8b28c000 r-xp 00000000 08:01 144103 /usr/lib/libsvn_delta-1.so.0.0.0 8b28c000-8b28d000 rwxp 00008000 08:01 144103 /usr/lib/libsvn_delta-1.so.0.0.0 8b28d000-8b295000 r-xp 00000000 08:01 144120 /usr/lib/libsvn_ra-1.so.0.0.0 8b295000-8b296000 rwxp 00007000 08:01 144120 /usr/lib/libsvn_ra-1.so.0.0.0 8b296000-8b2a6000 r-xs 00000000 08:01 46283 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 8b2e4000-8b2e6000 r-xs 0000c000 08:01 537030 /usr/share/netbeans/profiler3/modules/org-netbeans-modules-profiler-oql-language.jar 8b2e6000-8b2e8000 r-xs 00005000 08:01 537738 /usr/share/netbeans/ide11/modules/org-netbeans-modules-languages-diff.jar 8b2e8000-8b2ea000 r-xs 00004000 08:01 537691 /usr/share/netbeans/ide11/modules/org-netbeans-modules-languages-manifest.jar 8b2ea000-8b2ef000 r-xs 0005d000 08:01 537753 /usr/share/netbeans/ide11/modules/org-netbeans-modules-options-editor.jar 8b2ef000-8b2f2000 r-xs 00042000 08:01 537778 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-settings-storage.jar 8b2f2000-8b2f4000 r-xs 00011000 08:01 537810 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-bracesmatching.jar 8b2f4000-8b2f6000 r-xs 00007000 08:01 537660 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-settings.jar 8b2f6000-8b2fb000 r-xs 00053000 08:01 537713 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-lib2.jar 8b2fb000-8b304000 r-xs 00093000 08:01 537811 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor.jar 8b304000-8b306000 r-xs 00019000 08:01 537681 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-util.jar 8b306000-8b30c000 r-xs 0007e000 08:01 537675 /usr/share/netbeans/ide11/modules/org-netbeans-modules-kenai-ui.jar 8b30c000-8b31b000 r-xs 00189000 08:01 537709 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-lib.jar 8b31b000-8b321000 r-xs 00076000 08:01 537663 /usr/share/netbeans/ide11/modules/org-netbeans-modules-parsing-api.jar 8b321000-8b32a000 r-xs 000f8000 08:01 539241 /usr/share/netbeans/platform10/modules/org-openide-loaders.jar 8b32a000-8b33d000 r-xp 00000000 08:01 87 /tmp/jna6062997331073179305.tmp 8b33d000-8b33e000 rwxp 00013000 08:01 87 /tmp/jna6062997331073179305.tmp 8b33e000-8b342000 r-xs 00066000 08:01 537718 /usr/share/netbeans/ide11/modules/org-netbeans-modules-lexer.jar 8b342000-8b345000 rwxs 00000000 00:08 35061769 /SYSV00000000 (deleted) 8b345000-8b459000 r-xs 00000000 08:01 525791 /home/darius/.netbeans/6.7/var/cache/all-layers.dat 8b459000-8b472000 r-xs 00000000 08:01 46278 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2 8b472000-8b4fd000 rwxs 00000000 00:08 34996231 /SYSV00000000 (deleted) 8b4fd000-8b500000 ---p 00000000 00:00 0 8b500000-8b6fe000 rwxp 00000000 00:00 0 8b6fe000-8b701000 ---p 00000000 00:00 0 8b701000-8b8ff000 rwxp 00000000 00:00 0 8b8ff000-8b902000 ---p 00000000 00:00 0 8b902000-8bb00000 rwxp 00000000 00:00 0 8bb00000-8bbfd000 rwxp 00000000 00:00 0 8bbfd000-8bc00000 ---p 00000000 00:00 0 8bc01000-8bc06000 r-xp 00000000 08:01 657 /lib/libnss_dns-2.10.1.so 8bc06000-8bc07000 r-xp 00004000 08:01 657 /lib/libnss_dns-2.10.1.so 8bc07000-8bc08000 rwxp 00005000 08:01 657 /lib/libnss_dns-2.10.1.so 8bc08000-8bc0e000 r-xs 00000000 08:01 46279 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 8bc0e000-8bc26000 r-xs 00000000 08:01 525790 /home/darius/.netbeans/6.7/var/cache/all-ergonomics.dat 8bc26000-8bc36000 r-xs 00000000 08:01 46283 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 8bc36000-8bc76000 r-xs 00000000 08:01 46277 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 8bc76000-8bcb6000 r-xs 00000000 08:01 46276 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2 8bcb6000-8bccf000 r-xs 00000000 08:01 46278 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2 8bccf000-8bd0f000 r-xs 00000000 08:01 46277 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 8bd0f000-8bd4f000 r-xs 00000000 08:01 46276 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2 8bd4f000-8bd51000 r-xs 00008000 08:01 538599 /usr/share/netbeans/enterprise5/modules/org-netbeans-api-web-webmodule.jar 8bd51000-8bd58000 r-xp 00000000 08:01 576024 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libmanagement.so 8bd58000-8bd59000 rwxp 00006000 08:01 576024 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libmanagement.so 8bd59000-8bd61000 r-xp 00000000 08:01 56362 /usr/lib/libXcursor.so.1.0.2 8bd61000-8bd62000 rwxp 00007000 08:01 56362 /usr/lib/libXcursor.so.1.0.2 8bd62000-8bd6a000 r-xp 00000000 08:01 576022 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjpeg.so 8bd6a000-8bd6b000 rwxp 00007000 08:01 576022 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjpeg.so 8bd6b000-8bd9d000 r-xp 00000000 08:01 576032 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/liblcms.so 8bd9d000-8bd9e000 rwxp 00032000 08:01 576032 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/liblcms.so 8bd9e000-8bda0000 rwxp 00000000 00:00 0 8bda0000-8bda3000 ---p 00000000 00:00 0 8bda3000-8bfa1000 rwxp 00000000 00:00 0 8bfa1000-8bfbe000 r-xp 00000000 08:01 120 /usr/lib/libgcc_s.so.1 8bfbe000-8bfbf000 rwxp 0001c000 08:01 120 /usr/lib/libgcc_s.so.1 8bfbf000-8c040000 r-xp 00000000 08:01 56558 /usr/lib/libfreetype.so.6.3.20 8c040000-8c044000 rwxp 00081000 08:01 56558 /usr/lib/libfreetype.so.6.3.20 8c044000-8c048000 r-xs 00076000 08:01 576012 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/ext/localedata.jar 8c048000-8c04e000 r-xs 00000000 08:01 46279 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 8c04e000-8c067000 r-xs 00000000 08:01 46278 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2 8c067000-8c0ac000 r-xp 00000000 08:01 576038 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libfontmanager.so 8c0ac000-8c0ae000 rwxp 00045000 08:01 576038 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libfontmanager.so 8c0ae000-8c0b3000 rwxp 00000000 00:00 0 8c0b3000-8c0b7000 r-xp 00000000 08:01 54734 /usr/lib/libXdmcp.so.6.0.0 8c0b7000-8c0b8000 rwxp 00003000 08:01 54734 /usr/lib/libXdmcp.so.6.0.0 8c0b8000-8c0d0000 r-xp 00000000 08:01 54793 /usr/lib/libxcb.so.1.1.0 8c0d0000-8c0d1000 rwxp 00017000 08:01 54793 /usr/lib/libxcb.so.1.1.0 8c0d1000-8c0d3000 r-xp 00000000 08:01 54759 /usr/lib/libXau.so.6.0.0 8c0d3000-8c0d4000 rwxp 00001000 08:01 54759 /usr/lib/libXau.so.6.0.0 8c0d4000-8c0dc000 r-xp 00000000 08:01 56188 /usr/lib/libXi.so.6.0.0 8c0dc000-8c0dd000 rwxp 00007000 08:01 56188 /usr/lib/libXi.so.6.0.0 8c0dd000-8c0e1000 r-xp 00000000 08:01 67884 /usr/lib/libXtst.so.6.1.0 8c0e1000-8c0e2000 rwxp 00004000 08:01 67884 /usr/lib/libXtst.so.6.1.0 8c0e2000-8c1fb000 r-xp 00000000 08:01 56007 /usr/lib/libX11.so.6.2.0 8c1fb000-8c1ff000 rwxp 00118000 08:01 56007 /usr/lib/libX11.so.6.2.0 8c1ff000-8c24b000 r-xp 00000000 08:01 576061 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/xawt/libmawt.so 8c24b000-8c24d000 rwxp 0004b000 08:01 576061 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/xawt/libmawt.so 8c24d000-8c24e000 rwxp 00000000 00:00 0 8c24e000-8c2da000 r-xp 00000000 08:01 576034 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libawt.so 8c2da000-8c2e1000 rwxp 0008c000 08:01 576034 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libawt.so 8c2e1000-8c305000 rwxp 00000000 00:00 0 8c305000-8c308000 ---p 00000000 00:00 0 8c308000-8c506000 rwxp 00000000 00:00 0 8c506000-8c509000 ---p 00000000 00:00 0 8c509000-8c707000 rwxp 00000000 00:00 0 8d8d5000-8dc76000 rwxs 00000000 00:08 35094538 /SYSV00000000 (deleted) 8dc76000-8dc7a000 r-xs 00054000 08:01 537807 /usr/share/netbeans/ide11/modules/org-netbeans-modules-html.jar 8dc7a000-8dc7d000 r-xs 00019000 08:01 537747 /usr/share/netbeans/ide11/modules/org-netbeans-modules-xml-tools.jar 8dc7d000-8dc83000 r-xs 00061000 08:01 537802 /usr/share/netbeans/ide11/modules/org-netbeans-modules-xml-tax.jar 8dc83000-8dc85000 r-xs 00013000 08:01 537731 /usr/share/netbeans/ide11/modules/org-netbeans-api-xml.jar 8dc85000-8dc87000 r-xs 00002000 08:01 538303 /usr/share/netbeans/ide11/modules/ext/sac-1.3.jar 8dc87000-8dc89000 r-xs 00010000 08:01 538320 /usr/share/netbeans/ide11/modules/ext/flute-1.3.jar 8dc89000-8dc93000 r-xs 00091000 08:01 537799 /usr/share/netbeans/ide11/modules/org-netbeans-modules-css-visual.jar 8dc93000-8dc98000 r-xs 00084000 08:01 537692 /usr/share/netbeans/ide11/modules/org-netbeans-modules-css-editor.jar 8dc98000-8dc9d000 r-xs 0004b000 08:01 539248 /usr/share/netbeans/platform10/modules/org-netbeans-modules-options-api.jar 8dc9d000-8dca3000 r-xs 000f4000 08:01 537710 /usr/share/netbeans/ide11/modules/org-mozilla-rhino-patched.jar 8dca3000-8dca7000 r-xs 000a1000 08:01 537739 /usr/share/netbeans/ide11/modules/org-netbeans-modules-html-editor.jar 8dca7000-8dcb8000 r-xs 00187000 08:01 537401 /usr/share/netbeans/php1/modules/org-netbeans-modules-php-project.jar 8dcb8000-8dcba000 r-xs 0000b000 08:01 537792 /usr/share/netbeans/ide11/modules/org-netbeans-modules-tasklist-todo.jar 8dcba000-8dccc000 r-xs 00205000 08:01 537405 /usr/share/netbeans/php1/modules/org-netbeans-modules-php-editor.jar 8dccc000-8dce0000 r-xs 001d1000 08:01 536467 /usr/share/netbeans/java2/modules/org-netbeans-modules-maven.jar 8dce0000-8dce6000 r-xs 00034000 08:01 539147 /usr/share/netbeans/apisupport1/modules/docs/org-netbeans-modules-apisupport-project.jar 8dce6000-8dd00000 r-xs 00284000 08:01 539140 /usr/share/netbeans/apisupport1/modules/org-netbeans-modules-apisupport-project.jar 8dd00000-8decf000 rwxp 00000000 00:00 0 8decf000-8df00000 ---p 00000000 00:00 0 8df00000-8e000000 rwxp 00000000 00:00 0 8e000000-8e003000 r-xs 0005b000 08:01 537705 /usr/share/netbeans/ide11/modules/org-netbeans-modules-html-editor-lib.jar 8e003000-8e00d000 r-xs 000cb000 08:01 538648 /usr/share/netbeans/enterprise5/modules/org-netbeans-modules-j2eeserver.jar 8e00d000-8e017000 r-xs 0008e000 08:01 544051 /usr/share/netbeans/webcommon1/modules/org-netbeans-modules-web-client-tools-impl.jar 8e017000-8e01d000 r-xs 00069000 08:01 537785 /usr/share/netbeans/ide11/modules/org-netbeans-modules-xml.jar 8e01d000-8e021000 r-xs 00032000 08:01 537668 /usr/share/netbeans/ide11/modules/org-netbeans-modules-projectapi.jar 8e021000-8e022000 r-xs 00009000 08:01 539263 /usr/share/netbeans/platform10/modules/org-netbeans-modules-queries.jar 8e022000-8e023000 r-xs 00004000 08:01 536453 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-preprocessorbridge.jar 8e023000-8e02a000 r-xs 00073000 08:01 536492 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-project.jar 8e02a000-8e02b000 r-xs 00004000 08:01 536456 /usr/share/netbeans/java2/modules/org-netbeans-api-java.jar 8e02b000-8e02d000 r-xs 00017000 08:01 537690 /usr/share/netbeans/ide11/modules/org-netbeans-api-java-classpath.jar 8e02d000-8e031000 r-xs 00044000 08:01 536443 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-j2seplatform.jar 8e032000-8e033000 r-xs 00006000 08:01 537696 /usr/share/netbeans/ide11/modules/org-netbeans-modules-html-lexer.jar 8e033000-8e035000 r-xs 00016000 08:01 537438 /usr/share/netbeans/php1/modules/ext/java-cup-11a.jar 8e035000-8e036000 r-xs 00000000 08:01 537402 /usr/share/netbeans/php1/modules/org-netbeans-libs-javacup.jar 8e036000-8e038000 r-xs 0000a000 08:01 536523 /usr/share/netbeans/java2/modules/docs/org-netbeans-modules-maven.jar 8e038000-8e03a000 r-xs 0001d000 08:01 536458 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-debug.jar 8e03a000-8e03d000 r-xs 00020000 08:01 536464 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-platform.jar 8e03d000-8e049000 r-xs 00097000 08:01 538299 /usr/share/netbeans/ide11/modules/ext/lucene-core-2.3.2.jar 8e049000-8e04a000 r-xs 00000000 08:01 537803 /usr/share/netbeans/ide11/modules/org-netbeans-libs-lucene.jar 8e04a000-8e04c000 r-xs 0001a000 08:01 539289 /usr/share/netbeans/platform10/modules/org-netbeans-core-execution.jar 8e04c000-8e051000 r-xs 0001a000 08:01 536796 /usr/share/netbeans/java2/modules/ext/javac-api-nb-7.0-b07.jar 8e051000-8e052000 r-xs 00002000 08:01 536463 /usr/share/netbeans/java2/modules/org-netbeans-libs-javacapi.jar 8e052000-8e055000 r-xs 0002d000 08:01 537798 /usr/share/netbeans/ide11/modules/org-netbeans-spi-editor-hints.jar 8e055000-8e066000 r-xs 001fe000 08:01 536494 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-source.jar 8e066000-8e06b000 r-xs 00051000 08:01 536509 /usr/share/netbeans/java2/modules/org-netbeans-modules-debugger-jpda-projects.jar 8e06b000-8e076000 r-xs 00135000 08:01 536478 /usr/share/netbeans/java2/modules/org-netbeans-modules-debugger-jpda.jar 8e076000-8e078000 r-xs 00012000 08:01 537750 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-indent.jar 8e078000-8e086000 r-xs 001be000 08:01 536475 /usr/share/netbeans/java2/modules/org-netbeans-modules-hibernate.jar 8e086000-8e087000 r-xs 00002000 08:01 537694 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-errorstripe-api.jar 8e087000-8e08f000 r-xs 000d4000 08:01 537773 /usr/share/netbeans/ide11/modules/org-netbeans-modules-diff.jar 8e08f000-8e092000 r-xs 00048000 08:01 537680 /usr/share/netbeans/ide11/modules/org-netbeans-modules-versioning.jar 8e092000-8e099000 r-xs 000ee000 08:01 536519 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-hints.jar 8e099000-8e09a000 r-xs 00011000 08:01 537726 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-errorstripe.jar 8e09a000-8e0ae000 r-xs 001fc000 08:01 537742 /usr/share/netbeans/ide11/modules/org-netbeans-modules-subversion.jar 8e0ae000-8e0b3000 r-xs 00045000 08:01 537711 /usr/share/netbeans/ide11/modules/org-netbeans-modules-versioning-util.jar 8e0b3000-8e0c0000 r-xs 0016e000 08:01 537703 /usr/share/netbeans/ide11/modules/org-netbeans-modules-mercurial.jar 8e0c0000-8e0c7000 r-xs 00094000 08:01 537684 /usr/share/netbeans/ide11/modules/org-netbeans-lib-cvsclient.jar 8e0c7000-8e0d7000 r-xs 00152000 08:01 537717 /usr/share/netbeans/ide11/modules/org-netbeans-modules-versioning-system-cvss.jar 8e0d7000-8e0d9000 r-xs 00018000 08:01 537679 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-fold.jar 8e0d9000-8e0dc000 r-xs 00045000 08:01 536513 /usr/share/netbeans/java2/modules/org-netbeans-modules-xml-jaxb.jar 8e0dc000-8e0e4000 r-xs 000b5000 08:01 539262 /usr/share/netbeans/platform10/modules/org-netbeans-modules-autoupdate-ui.jar 8e0e4000-8e0e7000 r-xs 0003e000 08:01 537808 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-codetemplates.jar 8e0e7000-8e0ee000 r-xs 0008c000 08:01 538677 /usr/share/netbeans/enterprise5/modules/org-netbeans-modules-web-core-syntax.jar 8e0ee000-8e0f4000 r-xs 000c4000 08:01 537756 /usr/share/netbeans/ide11/modules/org-netbeans-modules-javascript-editing.jar 8e0f4000-8e100000 r-xs 000d7000 08:01 537745 /usr/share/netbeans/ide11/modules/org-netbeans-modules-csl-api.jar 8e100000-8e102000 r-xs 00011000 08:01 536448 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-editor-lib.jar 8e102000-8e104000 r-xs 00028000 08:01 539244 /usr/share/netbeans/platform10/modules/org-openide-dialogs.jar 8e104000-8e108000 r-xs 0004a000 08:01 539264 /usr/share/netbeans/platform10/modules/org-openide-text.jar 8e108000-8e116000 r-xs 00189000 08:01 536510 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-editor.jar 8e116000-8e11b000 r-xs 00065000 08:01 539285 /usr/share/netbeans/platform10/modules/org-openide-nodes.jar 8e11b000-8e11d000 r-xs 0000b000 08:01 536466 /usr/share/netbeans/java2/modules/org-netbeans-modules-java-lexer.jar 8e11d000-8e17d000 r-xs 00ced000 08:01 576263 /usr/lib/jvm/java-1.6.0-openjdk/lib/tools.jar 8e189000-8e229000 rwxs 00000000 00:08 35225613 /SYSV00000000 (deleted) 8e229000-8e28b000 rwxs 00000000 00:08 35192844 /SYSV00000000 (deleted) 8e28b000-8e28d000 r-xs 00022000 08:01 537678 /usr/share/netbeans/ide11/modules/org-netbeans-swing-dirchooser.jar 8e28d000-8e28e000 r-xs 00000000 08:01 536290 /usr/share/netbeans/nb6.7/modules/locale/org-netbeans-core-windows_nb.jar 8e28e000-8e295000 rwxs 00000000 00:08 35160075 /SYSV00000000 (deleted) 8e295000-8e299000 r-xs 0002d000 08:01 537700 /usr/share/netbeans/ide11/modules/org-netbeans-modules-localhistory.jar 8e299000-8e29c000 r-xs 00033000 08:01 537786 /usr/share/netbeans/ide11/modules/org-netbeans-api-debugger.jar 8e29c000-8e2a0000 r-xs 00013000 08:01 525964 /home/darius/.netbeans/6.7/modules/org-netbeans-modules-bpel-debugger-api.jar 8e2a0000-8e2a7000 r-xs 00058000 08:01 544053 /usr/share/netbeans/webcommon1/modules/org-netbeans-modules-web-client-tools-common.jar 8e2a7000-8e2b5000 r-xs 0009c000 08:01 525885 /home/darius/.netbeans/6.7/modules/org-netbeans-modules-bpel-debugger-ui.jar 8e2b5000-8e2b9000 r-xs 00027000 08:01 538614 /usr/share/netbeans/enterprise5/modules/org-netbeans-modules-web-debug.jar 8e2b9000-8e2cb000 r-xs 00138000 08:01 536461 /usr/share/netbeans/java2/modules/org-netbeans-modules-debugger-jpda-ui.jar 8e2cb000-8e2ce000 r-xs 00023000 08:01 536489 /usr/share/netbeans/java2/modules/org-netbeans-modules-ant-debugger.jar 8e2ce000-8e2d0000 r-xs 00008000 08:01 539265 /usr/share/netbeans/platform10/modules/org-openide-options.jar 8e2d0000-8e2d4000 r-xs 0002a000 08:01 537053 /usr/share/netbeans/profiler3/modules/docs/org-netbeans-modules-profiler.jar 8e2d4000-8e2d6000 r-xs 0001a000 08:01 537695 /usr/share/netbeans/ide11/modules/org-netbeans-modules-javascript-hints.jar 8e2d6000-8e2d9000 r-xs 00033000 08:01 537757 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-completion.jar 8e2d9000-8e2dc000 r-xs 00021000 08:01 537702 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-macros.jar 8e2dc000-8e2df000 r-xs 00012000 08:01 537768 /usr/share/netbeans/ide11/modules/org-netbeans-modules-editor-bookmarks.jar 8e2df000-8e2e1000 r-xs 00008000 08:01 537737 /usr/share/netbeans/ide11/modules/org-netbeans-modules-properties-syntax.jar 8e2e1000-8e2e6000 r-xs 00051000 08:01 537725 /usr/share/netbeans/ide11/modules/org-netbeans-spi-palette.jar 8e2e6000-8e2e8000 r-xs 0001b000 08:01 539266 /usr/share/netbeans/platform10/modules/org-openide-windows.jar 8e2e8000-8e2ee000 r-xs 00088000 08:01 537740 /usr/share/netbeans/ide11/modules/org-netbeans-modules-project-ant.jar 8e2ee000-8e2f4000 rwxs 00000000 00:08 35127304 /SYSV00000000 (deleted) 8e2f4000-8e2f9000 r-xs 00059000 08:01 539284 /usr/share/netbeans/platform10/modules/org-openide-awt.jar 8e2f9000-8e2fb000 r-xs 0000c000 08:01 537666 /usr/share/netbeans/ide11/modules/org-netbeans-spi-navigator.jar 8e2fb000-8e308000 r-xs 00098000 08:01 537659 /usr/share/netbeans/ide11/modules/org-netbeans-spi-debugger-ui.jar 8e308000-8e310000 r-xs 0006e000 08:01 537404 /usr/share/netbeans/php1/modules/org-netbeans-modules-php-dbgp.jar 8e310000-8e311000 r-xs 00005000 08:01 537041 /usr/share/netbeans/profiler3/modules/org-netbeans-modules-profiler-freeform.jar 8e311000-8e312000 r-xs 00006000 08:01 537037 /usr/share/netbeans/profiler3/modules/org-netbeans-modules-maven-profiler.jar 8e312000-8e313000 r-xs 00004000 08:01 537047 /usr/share/netbeans/profiler3/modules/org-netbeans-modules-profiler-nbmodule.jar 8e313000-8e318000 r-xs 0004e000 08:01 538612 /usr/share/netbeans/enterprise5/modules/org-netbeans-modules-profiler-j2ee.jar 8e318000-8e31a000 r-xs 00012000 08:01 537051 /usr/share/netbeans/profiler3/modules/org-netbeans-modules-profiler-j2se.jar 8e31a000-8e341000 r-xs 00368000 08:01 537052 /usr/share/netbeans/profiler3/modules/org-netbeans-modules-profiler.jar 8e341000-8e34a000 r-xs 000be000 08:01 537733 /usr/share/netbeans/ide11/modules/org-netbeans-modules-projectui.jar 8e34a000-8e34e000 r-xs 00026000 08:01 539245 /usr/share/netbeans/platform10/modules/org-openide-actions.jar 8e34e000-8e350000 r-xs 00007000 08:01 539250 /usr/share/netbeans/platform10/modules/org-openide-io.jar 8e350000-8e355000 r-xs 00078000 08:01 537693 /usr/share/netbeans/ide11/modules/org-netbeans-modules-utilities.jar 8e355000-8e362000 r-xs 000b8000 08:01 539268 /usr/share/netbeans/platform10/modules/org-netbeans-swing-tabcontrol.jar 8e362000-8e36e000 r-xs 00169000 08:01 539288 /usr/share/netbeans/platform10/modules/org-netbeans-core-windows.jar 8e36e000-8e372000 r-xs 00033000 08:01 537751 /usr/share/netbeans/ide11/modules/org-netbeans-modules-projectuiapi.jar 8e372000-8e37e000 r-xs 00144000 08:01 539275 /usr/share/netbeans/platform10/modules/org-openide-explorer.jar 8e37e000-8e37f000 ---p 00000000 00:00 0 8e37f000-8e3ff000 rwxp 00000000 00:00 0 8e3ff000-8e402000 ---p 00000000 00:00 0 8e402000-8e600000 rwxp 00000000 00:00 0 8e600000-8e6d5000 rwxp 00000000 00:00 0 8e6d5000-8e700000 ---p 00000000 00:00 0 8e700000-8e701000 r-xp 00000000 08:01 137562 /usr/lib/libsvn_fs_util-1.so.0.0.0 8e701000-8e702000 rwxp 00000000 08:01 137562 /usr/lib/libsvn_fs_util-1.so.0.0.0 8e702000-8e70a000 r-xp 00000000 08:01 56210 /usr/lib/libXrender.so.1.3.0 8e70a000-8e70b000 rwxp 00007000 08:01 56210 /usr/lib/libXrender.so.1.3.0 8e70b000-8e719000 r-xp 00000000 08:01 56137 /usr/lib/libXext.so.6.4.0 8e719000-8e71a000 rwxp 0000d000 08:01 56137 /usr/lib/libXext.so.6.4.0 8e71a000-8e71b000 r-xs 00002000 08:01 537790 /usr/share/netbeans/ide11/modules/org-netbeans-modules-lexer-nbbridge.jar 8e71b000-8e71f000 r-xp 00000000 08:01 56297 /usr/lib/libXfixes.so.3.1.0 8e71f000-8e720000 rwxp 00003000 08:01 56297 /usr/lib/libXfixes.so.3.1.0 8e720000-8e730000 r-xs 00000000 08:01 46283 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 8e730000-8e736000 r-xs 00000000 08:01 46279 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 8e736000-8e73d000 r-xs 000fd000 08:01 525050 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/resources.jar 8e73d000-8e745000 r-xp 00000000 08:01 576049 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnio.so 8e745000-8e746000 rwxp 00007000 08:01 576049 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnio.so 8e746000-8e75b000 r-xp 00000000 08:01 576027 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnet.so 8e75b000-8e75c000 rwxp 00014000 08:01 576027 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnet.so 8e75c000-8e762000 r-xs 0001f000 08:01 576262 /usr/lib/jvm/java-1.6.0-openjdk/lib/dt.jar 8e762000-8e763000 r-xs 00001000 08:01 539473 /usr/share/netbeans/platform10/lib/locale/org-openide-util_zh_CN.jar 8e763000-8e765000 r-xs 00000000 08:01 539467 /usr/share/netbeans/platform10/lib/locale/org-openide-util_pt_BR.jar 8e765000-8e766000 r-xs 00001000 08:01 539470 /usr/share/netbeans/platform10/lib/locale/org-openide-util_ja.jar 8e766000-8e767000 r-xs 00000000 08:01 539466 /usr/share/netbeans/platform10/lib/locale/org-openide-modules_zh_CN.jar 8e767000-8e768000 r-xs 00000000 08:01 539469 /usr/share/netbeans/platform10/lib/locale/org-openide-modules_pt_BR.jar 8e768000-8e769000 r-xs 00000000 08:01 539472 /usr/share/netbeans/platform10/lib/locale/org-openide-modules_ja.jar 8e769000-8e76a000 r-xs 00000000 08:01 539465 /usr/share/netbeans/platform10/lib/locale/boot_zh_CN.jar 8e76a000-8e76b000 r-xs 00000000 08:01 539471 /usr/share/netbeans/platform10/lib/locale/boot_pt_BR.jar 8e76b000-8e76c000 r-xs 00000000 08:01 539468 /usr/share/netbeans/platform10/lib/locale/boot_ja.jar 8e76c000-8e76d000 r-xs 00039000 08:01 536336 /usr/share/netbeans/nb6.7/core/locale/core_nb.jar 8e76d000-8e76e000 r-xs 00000000 08:01 536335 /usr/share/netbeans/nb6.7/core/locale/core_nb_ja.jar 8e76e000-8e76f000 r-xs 00000000 08:01 536330 /usr/share/netbeans/nb6.7/core/locale/org-netbeans-upgrader_pt_BR.jar 8e76f000-8e772000 ---p 00000000 00:00 0 8e772000-8e7f0000 rwxp 00000000 00:00 0 8e7f0000-8e7f3000 ---p 00000000 00:00 0 8e7f3000-8e9f1000 rwxp 00000000 00:00 0 8e9f1000-8ebc9000 r-xp 00000000 08:01 1005 /usr/lib/locale/locale-archive 8ebc9000-8ebcc000 ---p 00000000 00:00 0 8ebcc000-8edca000 rwxp 00000000 00:00 0 8edca000-8edcd000 ---p 00000000 00:00 0 8edcd000-8efcb000 rwxp 00000000 00:00 0 8efcb000-8efcc000 ---p 00000000 00:00 0 8efcc000-8f07f000 rwxp 00000000 00:00 0 8f07f000-8f20f000 r-xs 03852000 08:01 525041 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/rt.jar 8f20f000-8f226000 rwxp 00000000 00:00 0 8f226000-8f274000 rwxp 00000000 00:00 0 8f274000-8f28f000 rwxp 00000000 00:00 0 8f28f000-8f330000 rwxp 00000000 00:00 0 8f330000-8f333000 rwxp 00000000 00:00 0 8f333000-8f33f000 rwxp 00000000 00:00 0 8f33f000-8f35b000 rwxp 00000000 00:00 0 8f35b000-8f3fb000 rwxp 00000000 00:00 0 8f3fb000-8f412000 rwxp 00000000 00:00 0 8f412000-8f45f000 rwxp 00000000 00:00 0 8f45f000-8f8d0000 rwxp 00000000 00:00 0 8f8d0000-91390000 rwxp 00000000 00:00 0 91390000-94873000 rwxp 00000000 00:00 0 94873000-a8a60000 rwxp 00000000 00:00 0 a8a60000-ab6a0000 rwxp 00000000 00:00 0 ab6a0000-b5260000 rwxp 00000000 00:00 0 b5260000-b5261000 r-xs 00000000 08:01 536331 /usr/share/netbeans/nb6.7/core/locale/org-netbeans-upgrader_ja.jar b5261000-b5262000 r-xs 00000000 08:01 536332 /usr/share/netbeans/nb6.7/core/locale/org-netbeans-upgrader_zh_CN.jar b5262000-b5263000 r-xs 00000000 08:01 536334 /usr/share/netbeans/nb6.7/core/locale/core_nb_zh_CN.jar b5263000-b5264000 r-xs 00000000 08:01 536333 /usr/share/netbeans/nb6.7/core/locale/core_nb_pt_BR.jar b5264000-b5267000 r-xs 00043000 08:01 536328 /usr/share/netbeans/nb6.7/core/org-netbeans-upgrader.jar b5267000-b5268000 r-xs 00001000 08:01 539458 /usr/share/netbeans/platform10/core/locale/org-openide-filesystems_zh_CN.jar b5268000-b528c000 rwxp 00000000 00:00 0 b528c000-b52e8000 rwxp 00000000 00:00 0 b52e8000-b5bd0000 rwxp 00000000 00:00 0 b5bd0000-b72e8000 rwxp 00000000 00:00 0 b72e8000-b72f2000 r-xp 00000000 08:01 659 /lib/libnss_files-2.10.1.so b72f2000-b72f3000 r-xp 00009000 08:01 659 /lib/libnss_files-2.10.1.so b72f3000-b72f4000 rwxp 0000a000 08:01 659 /lib/libnss_files-2.10.1.so b72f4000-b7307000 r-xp 00000000 08:01 666 /lib/libnsl-2.10.1.so b7307000-b7308000 r-xp 00012000 08:01 666 /lib/libnsl-2.10.1.so b7308000-b7309000 rwxp 00013000 08:01 666 /lib/libnsl-2.10.1.so b7309000-b730b000 rwxp 00000000 00:00 0 b730b000-b730c000 r-xs 00001000 08:01 539456 /usr/share/netbeans/platform10/core/locale/core_pt_BR.jar b730c000-b730d000 r-xs 00001000 08:01 539455 /usr/share/netbeans/platform10/core/locale/org-openide-filesystems_pt_BR.jar b730d000-b730e000 r-xs 00001000 08:01 539454 /usr/share/netbeans/platform10/core/locale/core_zh_CN.jar b730e000-b730f000 r-xs 00001000 08:01 539457 /usr/share/netbeans/platform10/core/locale/org-openide-filesystems_ja.jar b730f000-b7314000 r-xs 00095000 08:01 539451 /usr/share/netbeans/platform10/core/core.jar b7314000-b7319000 r-xs 00099000 08:01 539452 /usr/share/netbeans/platform10/core/org-openide-filesystems.jar b7319000-b7320000 r-xs 00097000 08:01 539462 /usr/share/netbeans/platform10/lib/org-openide-util.jar b7320000-b7322000 r-xs 00006000 08:01 539464 /usr/share/netbeans/platform10/lib/org-openide-modules.jar b7322000-b7326000 r-xs 00079000 08:01 525049 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/jsse.jar b7326000-b732d000 r-xp 00000000 08:01 576046 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libzip.so b732d000-b732e000 rwxp 00006000 08:01 576046 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libzip.so b732e000-b7354000 r-xp 00000000 08:01 576055 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjava.so b7354000-b7356000 rwxp 00026000 08:01 576055 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjava.so b7356000-b735d000 r-xp 00000000 08:01 660 /lib/librt-2.10.1.so b735d000-b735e000 r-xp 00006000 08:01 660 /lib/librt-2.10.1.so b735e000-b735f000 rwxp 00007000 08:01 660 /lib/librt-2.10.1.so b735f000-b7362000 ---p 00000000 00:00 0 b7362000-b7560000 rwxp 00000000 00:00 0 b7560000-b7584000 r-xp 00000000 08:01 651 /lib/libm-2.10.1.so b7584000-b7585000 r-xp 00023000 08:01 651 /lib/libm-2.10.1.so b7585000-b7586000 rwxp 00024000 08:01 651 /lib/libm-2.10.1.so b7586000-b7adc000 r-xp 00000000 08:01 576066 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/client/libjvm.so b7adc000-b7afe000 rwxp 00556000 08:01 576066 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/client/libjvm.so b7afe000-b7f1f000 rwxp 00000000 00:00 0 b7f1f000-b805f000 r-xp 00000000 08:01 672 /lib/libc-2.10.1.so b805f000-b8061000 r-xp 00140000 08:01 672 /lib/libc-2.10.1.so b8061000-b8062000 rwxp 00142000 08:01 672 /lib/libc-2.10.1.so b8062000-b8066000 rwxp 00000000 00:00 0 b8066000-b8068000 r-xp 00000000 08:01 652 /lib/libdl-2.10.1.so b8068000-b8069000 r-xp 00001000 08:01 652 /lib/libdl-2.10.1.so b8069000-b806a000 rwxp 00002000 08:01 652 /lib/libdl-2.10.1.so b806a000-b806e000 r-xp 00000000 08:01 576059 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/jli/libjli.so b806e000-b806f000 rwxp 00003000 08:01 576059 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/jli/libjli.so b806f000-b8083000 r-xp 00000000 08:01 655 /lib/libpthread-2.10.1.so b8083000-b8084000 ---p 00014000 08:01 655 /lib/libpthread-2.10.1.so b8084000-b8085000 r-xp 00014000 08:01 655 /lib/libpthread-2.10.1.so b8085000-b8086000 rwxp 00015000 08:01 655 /lib/libpthread-2.10.1.so b8086000-b8088000 rwxp 00000000 00:00 0 b8088000-b809b000 r-xp 00000000 08:01 6669 /usr/lib/libz.so.1.2.3.3 b809b000-b809c000 rwxp 00012000 08:01 6669 /usr/lib/libz.so.1.2.3.3 b809c000-b809d000 r-xs 00001000 08:01 539453 /usr/share/netbeans/platform10/core/locale/core_ja.jar b809d000-b809f000 r-xs 0003e000 08:01 539461 /usr/share/netbeans/platform10/lib/boot.jar b809f000-b80a7000 rwxs 00000000 08:01 350558 /tmp/hsperfdata_darius/5557 b80a7000-b80af000 r-xp 00000000 08:01 576068 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/native_threads/libhpi.so b80af000-b80b0000 rwxp 00008000 08:01 576068 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/native_threads/libhpi.so b80b0000-b80b1000 rwxp 00000000 00:00 0 b80b1000-b80b2000 r-xp 00000000 00:00 0 b80b2000-b80be000 r-xp 00000000 08:01 576026 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libverify.so b80be000-b80bf000 rwxp 0000b000 08:01 576026 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libverify.so b80bf000-b80c0000 rwxp 00000000 00:00 0 b80c0000-b80c1000 r-xp 00000000 00:00 0 [vdso] b80c1000-b80dd000 r-xp 00000000 08:01 671 /lib/ld-2.10.1.so b80dd000-b80de000 r-xp 0001b000 08:01 671 /lib/ld-2.10.1.so b80de000-b80df000 rwxp 0001c000 08:01 671 /lib/ld-2.10.1.so bf9e5000-bf9f8000 rwxp 00000000 00:00 0 [stack] bf9f8000-bf9fa000 rw-p 00000000 00:00 0 VM Arguments: jvm_args: -Djdk.home=/usr/lib/jvm/java-1.6.0-openjdk -Dnetbeans.dirs=/usr/share/netbeans/nb6.7:/usr/share/netbeans/ergonomics1:/usr/share/netbeans/ide11:/usr/share/netbeans/java2:/usr/share/netbeans/bin/../xml2:/usr/share/netbeans/apisupport1:/usr/share/netbeans/webcommon1:/usr/share/netbeans/websvccommon1:/usr/share/netbeans/enterprise5:/usr/share/netbeans/mobility8:/usr/share/netbeans/profiler3:/usr/share/netbeans/ruby2:/usr/share/netbeans/bin/../python1:/usr/share/netbeans/php1:/usr/share/netbeans/bin/../visualweb2:/usr/share/netbeans/bin/../soa2:/usr/share/netbeans/identity2:/usr/share/netbeans/bin/../uml6:/usr/share/netbeans/harness:/usr/share/netbeans/cnd2:/usr/share/netbeans/dlight1:/usr/share/netbeans/groovy1:/usr/share/netbeans/bin/../extra:/usr/share/netbeans/bin/../javafx2: -Dnetbeans.home=/usr/share/netbeans/platform10 -Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade -Dnetbeans.accept_license_class=org.netbeans.license.AcceptLicense -Xmx405m -Xss2m -Xms32m -XX:PermSize=32m -XX:MaxPermSize=200m -Xverify:none -Dapple.laf.useScreenMenuBar=true -Dsun.java2d.noddraw=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/darius/.netbeans/6.7/var/log/heapdump.hprof java_command: org.netbeans.Main --userdir /home/darius/.netbeans/6.7 --branding nb Launcher Type: SUN_STANDARD Environment Variables: JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core LD_LIBRARY_PATH=/usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386:/usr/lib/jvm/java-1.6.0-openjdk/jre/../lib/i386 SHELL=/bin/bash DISPLAY=:0.0 Signal Handlers: SIGSEGV: [libjvm.so+0x38c290], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x38c290], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x2bedb0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x2bedb0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x2bedb0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x2bedb0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x2be560], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x2c0970], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGTERM: [libjvm.so+0x2c0970], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x2c0970], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Linux uname:Linux 2.6.30-ARCH #1 SMP PREEMPT Sat Jul 4 11:13:08 UTC 2009 i686 libc:glibc 2.10.1 NPTL 2.10.1 rlimit: STACK 8192k, CORE 0k, NPROC 16381, NOFILE 1024, AS infinity load average:0,08 0,24 0,56 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3 Memory: 4k page, physical 2074160k(52644k free), swap 4385704k(4383816k free) vm_info: OpenJDK Client VM (14.0-b15) for linux-x86 JRE (1.6.0_0-b16), built on Jul 4 2009 13:47:51 by "bash" with gcc 4.4.0 20090630 (prerelease) time: Tue Jul 21 21:59:41 2009 elapsed time: 403 seconds -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 21 12:19:08 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jul 2009 19:19:08 +0000 Subject: [Bug 369] bug Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=369 ------- Comment #1 from prakeiktasis at gmail.com 2009-07-21 19:19 ------- Created an attachment (id=247) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=247&action=view) bug of java or netbeans genereted report -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 21 12:44:40 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jul 2009 19:44:40 +0000 Subject: [Bug 367] Interactive brokers fails / libjpeg7 related? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 ------- Comment #2 from jon.vanalten at redhat.com 2009-07-21 19:44 ------- Thanks for the report. Looks pretty certain that using .7 of libjpeg is the problem (I've been able to reproduce). Note that the INSTALL file of IcedTea specifies: libjpeg-devel = 6b Now that there is a new version of libjpeg (for the first time in <10 years, no less) I for one will be looking at compatibility issues. I can't guarantee a quick turnaround on this, and until a workaround/fix is available the dependency to 6b will have to remain. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 21 13:03:50 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jul 2009 20:03:50 +0000 Subject: [Bug 369] bug Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=369 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE ------- Comment #2 from jon.vanalten at redhat.com 2009-07-21 20:03 ------- >From stack trace it is crashing while trying to initialize libjpeg.so. *** This bug has been marked as a duplicate of bug 367 *** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Jul 21 13:03:50 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jul 2009 20:03:50 +0000 Subject: [Bug 367] Interactive brokers fails / libjpeg7 related? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 jon.vanalten at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |prakeiktasis at gmail.com ------- Comment #3 from jon.vanalten at redhat.com 2009-07-21 20:03 ------- *** Bug 369 has been marked as a duplicate of this bug. *** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From Joe.Darcy at Sun.COM Tue Jul 21 13:30:25 2009 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Tue, 21 Jul 2009 13:30:25 -0700 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <4A60C643.3090306@sun.com> References: <17c6771e0907151323q1725f046laf0182502f75a22e@mail.gmail.com> <4A60C643.3090306@sun.com> Message-ID: <4A662561.8040707@sun.com> Joseph D. Darcy wrote: > Andrew John Hughes wrote: >> We discussed this a while back, but discussions seem to have come to a >> halt. >> >> Using the rebase extension to hg, I've succeeded in producing a >> version of the OpenJDK6 repository based on the same 0 revision as the >> hs14 master: >> >> http://fuseyism.com/hg/hotspot >> >> This means that pulls from the hs14 master can be used to update this >> repository, which isn't the case with the current OpenJDK6 repository >> as they have no common parent. However, unlike hs14, it does include >> all the history and fixes from OpenJDK6 (some of which don't seem to >> have made the HS7 repos, such as deleting binary jar files). >> >> Does this look ok? If so, can someone with ssh access to >> hg.openjdk.java.net please replace the current hotspot repository with >> this one, so we can update it to the current hs14 revision and add any >> other pending changes? >> >> It would be nice to finally let HotSpot development in OpenJDK6 move on! >> >> Thanks, >> > > Hi Andrew. > > I'll discuss this matter with Kelly when we are both not on vacation. > > Thanks, > > -Joe Hello. I've discussed the rebasing with Mark R. and we've agreed to go forward with it. Mark has offered to do the actual replacing of the repository contents. Thanks, -Joe From gnu_andrew at member.fsf.org Tue Jul 21 13:44:45 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 21 Jul 2009 21:44:45 +0100 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <4A662561.8040707@sun.com> References: <17c6771e0907151323q1725f046laf0182502f75a22e@mail.gmail.com> <4A60C643.3090306@sun.com> <4A662561.8040707@sun.com> Message-ID: <17c6771e0907211344y1518bcd3w76b71eb005249aa2@mail.gmail.com> 2009/7/21 Joe Darcy : > Joseph D. Darcy wrote: >> >> Andrew John Hughes wrote: >>> >>> We discussed this a while back, but discussions seem to have come to a >>> halt. >>> >>> Using the rebase extension to hg, I've succeeded in producing a >>> version of the OpenJDK6 repository based on the same 0 revision as the >>> hs14 master: >>> >>> http://fuseyism.com/hg/hotspot >>> >>> This means that pulls from the hs14 master can be used to update this >>> repository, which isn't the case with the current OpenJDK6 repository >>> as they have no common parent. ?However, unlike hs14, it does include >>> all the history and fixes from OpenJDK6 (some of which don't seem to >>> have made the HS7 repos, such as deleting binary jar files). >>> >>> Does this look ok? If so, can someone with ssh access to >>> hg.openjdk.java.net please replace the current hotspot repository with >>> this one, so we can update it to the current hs14 revision and add any >>> other pending changes? >>> >>> It would be nice to finally let HotSpot development in OpenJDK6 move on! >>> >>> Thanks, >>> >> >> Hi Andrew. >> >> I'll discuss this matter with Kelly when we are both not on vacation. >> >> Thanks, >> >> -Joe > > Hello. > > I've discussed the rebasing with Mark R. and we've agreed to go forward with > it. ?Mark has offered to do the actual replacing of the repository contents. > > Thanks, > > -Joe > Thanks. That's great news :) -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From ahughes at redhat.com Tue Jul 21 14:48:03 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 21 Jul 2009 21:48:03 +0000 Subject: changeset in /hg/icedtea: Cleanup #02: Work out whether $JAVAC i... Message-ID: changeset 4afd4198f215 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=4afd4198f215 description: Cleanup #02: Work out whether $JAVAC is ecj or not, and call appropriately in javac.in. Fix some test bugs. 2009-07-21 Andrew John Hughes * acinclude.m4: (AC_FIND_JAVAC): Check whether we are using ecj or javac. Don't fail if no JAVAC is found as ecj.jar can still be used. (IT_FIND_ECJ): Drop -nowarn. (FIND_ECJ_JAR): Only fail if there is no other compiler found. Communalise message output. (IT_LIBRARY_CHECK): Quote output so array brackets are not lost. (IT_SCANNER_CHECK): Likewise, and use return value of javac not grep. (IT_CP_40630): Likewise, and correct bug with classname. (IT_USING_ECJ): Work out whether javac is ecj or not. * javac.in: Move ecj opt generation to a subroutine so it is only performed when needed. Run @JAVAC@ rather than @ECJ@ and vary arguments as needed depending on @USING_ECJ at . Use same warning settings as GNU Classpath. diffstat: 3 files changed, 100 insertions(+), 54 deletions(-) ChangeLog | 21 ++++++++++++++++ acinclude.m4 | 75 ++++++++++++++++++++++++++++++++-------------------------- javac.in | 58 ++++++++++++++++++++++++++++---------------- diffs (295 lines): diff -r bafcc83b864b -r 4afd4198f215 ChangeLog --- a/ChangeLog Mon Jul 20 16:01:38 2009 +0100 +++ b/ChangeLog Tue Jul 21 22:49:48 2009 +0100 @@ -1,3 +1,24 @@ 2009-07-20 Andrew John Hughes + + * acinclude.m4: + (AC_FIND_JAVAC): Check whether we are using + ecj or javac. Don't fail if no JAVAC is found + as ecj.jar can still be used. + (IT_FIND_ECJ): Drop -nowarn. + (FIND_ECJ_JAR): Only fail if there is no other + compiler found. Communalise message output. + (IT_LIBRARY_CHECK): Quote output so array brackets + are not lost. + (IT_SCANNER_CHECK): Likewise, and use return value + of javac not grep. + (IT_CP_40630): Likewise, and correct bug with classname. + (IT_USING_ECJ): Work out whether javac is ecj or not. + * javac.in: + Move ecj opt generation to a subroutine so it is only + performed when needed. Run @JAVAC@ rather than @ECJ@ + and vary arguments as needed depending on @USING_ECJ at . + Use same warning settings as GNU Classpath. + 2009-07-20 Andrew John Hughes * acinclude.m4: diff -r bafcc83b864b -r 4afd4198f215 acinclude.m4 --- a/acinclude.m4 Mon Jul 20 16:01:38 2009 +0100 +++ b/acinclude.m4 Tue Jul 21 22:49:48 2009 +0100 @@ -94,10 +94,8 @@ AC_DEFUN([FIND_JAVAC], JAVAC=${SYSTEM_JDK_DIR}/bin/javac IT_FIND_JAVAC IT_FIND_ECJ - - if test "x${JAVAC}" = x; then - AC_MSG_ERROR([cannot find a Java compiler, try --with-javac or --with-ecj]) - fi + IT_USING_ECJ + AC_SUBST(JAVAC) ]) @@ -119,7 +117,7 @@ AC_DEFUN([IT_FIND_ECJ], ]) if test "x${JAVAC}" = "x"; then if test "x{ECJ}" != "x"; then - JAVAC="${ECJ} -nowarn" + JAVAC="${ECJ}" fi fi ]) @@ -229,41 +227,37 @@ AC_DEFUN([WITH_OPENJDK_SRC_DIR], AC_DEFUN([FIND_ECJ_JAR], [ + AC_MSG_CHECKING([for an ecj JAR file]) AC_ARG_WITH([ecj-jar], [AS_HELP_STRING(--with-ecj-jar,specify location of the ECJ jar)], [ if test -f "${withval}"; then - AC_MSG_CHECKING(for an ecj jar) ECJ_JAR="${withval}" - AC_MSG_RESULT(${withval}) fi ], [ ECJ_JAR= ]) if test -z "${ECJ_JAR}"; then - AC_MSG_CHECKING(for eclipse-ecj.jar) if test -e "/usr/share/java/eclipse-ecj.jar"; then ECJ_JAR=/usr/share/java/eclipse-ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) elif test -e "/usr/share/java/ecj.jar"; then ECJ_JAR=/usr/share/java/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) elif test -e "/usr/share/eclipse-ecj-3.3/lib/ecj.jar"; then ECJ_JAR=/usr/share/eclipse-ecj-3.3/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) elif test -e "/usr/share/eclipse-ecj-3.2/lib/ecj.jar"; then ECJ_JAR=/usr/share/eclipse-ecj-3.2/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) elif test -e "/usr/share/eclipse-ecj-3.1/lib/ecj.jar"; then ECJ_JAR=/usr/share/eclipse-ecj-3.1/lib/ecj.jar - AC_MSG_RESULT(${ECJ_JAR}) else - AC_MSG_RESULT(no) - fi - fi - if test -z "${ECJ_JAR}"; then - AC_MSG_ERROR("A ECJ jar was not found.") + ECJ_JAR=no + fi + fi + AC_MSG_RESULT(${ECJ_JAR}) + if test "x${ECJ_JAR}" = "xno"; then + if test "x${JAVAC}" = "x"; then + AC_MSG_ERROR("No compiler or ecj JAR file was found.") + fi fi AC_SUBST(ECJ_JAR) ]) @@ -1520,7 +1514,7 @@ mkdir tmp.$$ mkdir tmp.$$ cd tmp.$$ cat << \EOF > $CLASS -/* [#]line __oline__ "configure" */ +[/* [#]line __oline__ "configure" */ import java.io.File; import java.io.PrintStream; @@ -1532,10 +1526,10 @@ public class Test PrintStream p = new PrintStream(new File("bluh"), "UTF-8"); p.close(); } -} +}] EOF -if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - if $JAVA -classpath . $BYTECODE >/dev/null 2>&1; then +if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1 ; then + if $JAVA -classpath . $BYTECODE >/dev/null 2>&1 ; then it_cv_cp40616=no; else it_cv_cp40616=yes; @@ -1558,7 +1552,7 @@ mkdir tmp.$$ mkdir tmp.$$ cd tmp.$$ cat << \EOF > $CLASS -/* [#]line __oline__ "configure" */ +[/* [#]line __oline__ "configure" */ public class Test { public static void main(String[] args) @@ -1566,13 +1560,13 @@ public class Test { new java.util.Scanner("Hello"); } -} +}] EOF if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - if $JAVA -classpath . $BYTECODE 2>&1 | grep 'Exception' >/dev/null 2>&1; then + if $JAVA -classpath . $BYTECODE; >/dev/null 2>&1; then + it_cv_cp30436=no; + else it_cv_cp30436=yes; - else - it_cv_cp30436=no; fi else it_cv_cp30436=yes; @@ -1584,15 +1578,17 @@ AM_CONDITIONAL([LACKS_JAVA_UTIL_SCANNER] AM_CONDITIONAL([LACKS_JAVA_UTIL_SCANNER], test x"${it_cv_cp30436}" = "xyes") AC_PROVIDE([$0])dnl ]) - AC_DEFUN([IT_PR40630_CHECK],[ if test "x${it_cv_cp30436}" = "xno"; then AC_CACHE_CHECK([if java.util.Scanner exhibits Classpath bug 40630], it_cv_cp40630, [ CLASS=Test.java + BYTECODE=$(echo $CLASS|sed 's#\.java##') mkdir tmp.$$ cd tmp.$$ cat << \EOF > $CLASS - /* [#]line __oline__ "configure" */ +[/* [#]line __oline__ "configure" */ +import java.util.Scanner; + public class Test { public static void main(String[] args) @@ -1603,13 +1599,13 @@ public class Test s.nextLine(); s.hasNextLine(); } -} +}] EOF if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - if $JAVA -classpath . $CLASS 2>&1 | grep 'Exception'; then + if $JAVA -classpath . $BYTECODE > /dev/null 2>&1; then + it_cv_cp40630=no; + else it_cv_cp40630=yes; - else - it_cv_cp40630=no; fi else it_cv_cp40630=yes; @@ -1622,3 +1618,16 @@ AM_CONDITIONAL([CP40630], test x"${it_cv AM_CONDITIONAL([CP40630], test x"${it_cv_cp40630}" = "xyes") AC_PROVIDE([$0])dnl ]) + +AC_DEFUN([IT_USING_ECJ],[ +AC_CACHE_CHECK([if we are using ecj as javac], it_cv_ecj, [ +if $JAVAC -version 2>&1| grep '^Eclipse' >/dev/null ; then + it_cv_ecj=yes; +else + it_cv_ecj=no; +fi +]) +USING_ECJ=$it_cv_ecj +AC_SUBST(USING_ECJ) +AC_PROVIDE([$0])dnl +]) diff -r bafcc83b864b -r 4afd4198f215 javac.in --- a/javac.in Mon Jul 20 16:01:38 2009 +0100 +++ b/javac.in Tue Jul 21 22:49:48 2009 +0100 @@ -2,6 +2,9 @@ use strict; use strict; use constant NO_DUP_ARGS => qw(-source -target -d -encoding); use constant STRIP_ARGS => qw(-Werror); + +my $ECJ_WARNINGS="-warn:-deprecation,serial,unusedImport"; +my $JAVAC_WARNINGS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"; my @bcoption; push @bcoption, '-bootclasspath', glob '@SYSTEM_JDK_DIR@/jre/lib/rt.jar' @@ -9,38 +12,51 @@ push @bcoption, '-bootclasspath', glob ' # Work around ecj's inability to handle duplicate command-line # options. +sub gen_ecj_opts +{ + my @new_args = @{$_[0]}; -my @new_args = @ARGV; + for my $opt (NO_DUP_ARGS) + { + my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args; + if (@indices > 1) { + shift @indices; # keep last instance only + splice @new_args, $_, 2 for @indices; + } + } -for my $opt (NO_DUP_ARGS) -{ - my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args; - if (@indices > 1) { - shift @indices; # keep last instance only - splice @new_args, $_, 2 for @indices; + for my $opt (STRIP_ARGS) + { + my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args; + splice @new_args, $_, 1 for @indices; } + + return @new_args; } - -for my $opt (STRIP_ARGS) -{ - my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args; - splice @new_args, $_, 1 for @indices; -} - -my @CLASSPATH = ('@ECJ_JAR@'); -push @CLASSPATH, split /:/, $ENV{CLASSPATH} if exists $ENV{CLASSPATH}; -$ENV{CLASSPATH} = join ':', @CLASSPATH; if ( -e "@abs_top_builddir@/native-ecj" ) { - exec '@abs_top_builddir@/native-ecj', '-1.5', '-nowarn', @bcoption, @new_args ; + my @ecj_args = gen_ecj_opts( \@ARGV ); + exec '@abs_top_builddir@/native-ecj', '-1.5', $ECJ_WARNINGS, @bcoption, @ecj_args ; } -elsif ( -e "@ECJ@" ) +elsif ( -e "@JAVAC@" ) { - exec '@ECJ@', '-1.5', '-nowarn', @bcoption, @new_args ; + if ("@USING_ECJ@" eq "yes") + { + my @ecj_args = gen_ecj_opts( \@ARGV ); + exec '@JAVAC@', '-1.5', $ECJ_WARNINGS, @bcoption, @ecj_args ; + } + else + { + exec '@JAVAC@', $JAVAC_WARNINGS, @ARGV ; + } } else { + my @ecj_args = gen_ecj_opts( \@ARGV ); + my @CLASSPATH = ('@ECJ_JAR@'); + push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"}; + $ENV{"CLASSPATH"} = join ':', @CLASSPATH; exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', '-1.5', - '-nowarn', @bcoption, @new_args; + $ECJ_WARNINGS, @bcoption, @ecj_args; } From ahughes at redhat.com Tue Jul 21 15:04:09 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Tue, 21 Jul 2009 22:04:09 +0000 Subject: changeset in /hg/icedtea: Cleanup #03: Log output to config.log ... Message-ID: changeset c43b0d22e99b in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=c43b0d22e99b description: Cleanup #03: Log output to config.log rather than discarding. 2009-07-21 Andrew John Hughes * acinclude.m4: Replace use of /dev/null with AS_MESSAGE_LOG_FD, so output is logged to config.log. diffstat: 2 files changed, 20 insertions(+), 14 deletions(-) ChangeLog | 6 ++++++ acinclude.m4 | 28 ++++++++++++++-------------- diffs (107 lines): diff -r 4afd4198f215 -r c43b0d22e99b ChangeLog --- a/ChangeLog Tue Jul 21 22:49:48 2009 +0100 +++ b/ChangeLog Tue Jul 21 23:06:12 2009 +0100 @@ -1,3 +1,9 @@ 2009-07-21 Andrew John Hughes + + * acinclude.m4: + Replace use of /dev/null with AS_MESSAGE_LOG_FD, + so output is logged to config.log. + 2009-07-21 Andrew John Hughes * acinclude.m4: diff -r 4afd4198f215 -r c43b0d22e99b acinclude.m4 --- a/acinclude.m4 Tue Jul 21 22:49:48 2009 +0100 +++ b/acinclude.m4 Tue Jul 21 23:06:12 2009 +0100 @@ -328,7 +328,7 @@ AC_DEFUN([FIND_JAR], cat >_config.list </dev/null; then + if $JAR cf _config.jar @_config.list 2>&AS_MESSAGE_LOG_FD; then JAR_KNOWS_ATFILE=1 AC_MSG_RESULT(yes) else @@ -336,7 +336,7 @@ EOF AC_MSG_RESULT(no) fi AC_MSG_CHECKING([whether jar supports stdin file arguments]) - if cat _config.list | $JAR cf@ _config.jar 2>/dev/null; then + if cat _config.list | $JAR cf@ _config.jar 2>&AS_MESSAGE_LOG_FD; then JAR_ACCEPTS_STDIN_LIST=1 AC_MSG_RESULT(yes) else @@ -345,7 +345,7 @@ EOF fi rm -f _config.list _config.jar AC_MSG_CHECKING([whether jar supports -J options at the end]) - if $JAR cf _config.jar _config.txt -J-Xmx896m 2>/dev/null; then + if $JAR cf _config.jar _config.txt -J-Xmx896m 2>&AS_MESSAGE_LOG_FD; then JAR_KNOWS_J_OPTIONS=1 AC_MSG_RESULT(yes) else @@ -1236,9 +1236,9 @@ public class TestImpl public native void doStuff(); } EOF -if $JAVAC -cp . $JAVACFLAGS $SUBCLASS >/dev/null 2>&1; then - if $JAVAH -classpath . $SUB > /dev/null 2>&1; then - if cat $SUBHEADER | grep POTATO > /dev/null 2>&1; then +if $JAVAC -cp . $JAVACFLAGS $SUBCLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVAH -classpath . $SUB >&AS_MESSAGE_LOG_FD 2>&1; then + if cat $SUBHEADER | grep POTATO >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_cp39408_javah=no; else it_cv_cp39408_javah=yes; @@ -1256,7 +1256,7 @@ fi ]) AC_CACHE_CHECK([if $JAVAH exhibits Classpath bug 40188], it_cv_cp40188_javah, [ if test -e $SUBHEADER ; then - if cat $SUBHEADER | grep TestImpl_POTATO > /dev/null 2>&1; then + if cat $SUBHEADER | grep TestImpl_POTATO >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_cp40188_javah=no; else it_cv_cp40188_javah=yes; @@ -1528,8 +1528,8 @@ public class Test } }] EOF -if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1 ; then - if $JAVA -classpath . $BYTECODE >/dev/null 2>&1 ; then +if $JAVAC -cp . $JAVACFLAGS $CLASS >&AS_MESSAGE_LOG_FD 2>&1 ; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1 ; then it_cv_cp40616=no; else it_cv_cp40616=yes; @@ -1562,8 +1562,8 @@ public class Test } }] EOF -if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - if $JAVA -classpath . $BYTECODE; >/dev/null 2>&1; then +if $JAVAC -cp . $JAVACFLAGS $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVA -classpath . $BYTECODE; >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_cp30436=no; else it_cv_cp30436=yes; @@ -1601,8 +1601,8 @@ public class Test } }] EOF - if $JAVAC -cp . $JAVACFLAGS $CLASS >/dev/null 2>&1; then - if $JAVA -classpath . $BYTECODE > /dev/null 2>&1; then + if $JAVAC -cp . $JAVACFLAGS $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_cp40630=no; else it_cv_cp40630=yes; @@ -1621,7 +1621,7 @@ AC_PROVIDE([$0])dnl AC_DEFUN([IT_USING_ECJ],[ AC_CACHE_CHECK([if we are using ecj as javac], it_cv_ecj, [ -if $JAVAC -version 2>&1| grep '^Eclipse' >/dev/null ; then +if $JAVAC -version 2>&1| grep '^Eclipse' >&AS_MESSAGE_LOG_FD ; then it_cv_ecj=yes; else it_cv_ecj=no; From bugzilla-daemon at icedtea.classpath.org Wed Jul 22 06:37:24 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 22 Jul 2009 13:37:24 +0000 Subject: [Bug 370] New: IcedTea crashes starting Jakarta JMeter. libjpeg 7 compatibility issue? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=370 Summary: IcedTea crashes starting Jakarta JMeter. libjpeg 7 compatibility issue? Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: blocker Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: oshcha at inbox.lv I am running edge Arch linux version. Now running JMeter I get crash: ./jmeter # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb7f317ad, pid=2398, tid=2397535088 # # JRE version: 6.0-b16 # Java VM: OpenJDK Server VM (14.0-b15 mixed mode linux-x86 ) # Distribution: Custom build (Sat Jul 4 13:05:51 CEST 2009) # Problematic frame: # C [ld-linux.so.2+0x137ad] # # An error report file with more information is saved as: # /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/bin/hs_err_pid2398.log [thread -1898095760 also had an error] # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # ./jmeter: line 90: 2398 Aborted java $ARGS $JVM_ARGS -jar `dirname $0`/ApacheJMeter.jar "$@" Is it planned to make libjpeg 7 compatibility? -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 22 06:41:52 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 22 Jul 2009 13:41:52 +0000 Subject: [Bug 370] IcedTea crashes starting Jakarta JMeter. libjpeg 7 compatibility issue? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=370 ------- Comment #1 from oshcha at inbox.lv 2009-07-22 13:41 ------- Here is content for hs_err_pid2398.log: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb7f317ad, pid=2398, tid=2397535088 # # JRE version: 6.0-b16 # Java VM: OpenJDK Server VM (14.0-b15 mixed mode linux-x86 ) # Distribution: Custom build (Sat Jul 4 13:05:51 CEST 2009) # Problematic frame: # C [ld-linux.so.2+0x137ad] # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x8f568400): JavaThread "Image Fetcher 0" daemon [_thread_in_native, id=2412, stack(0x8ee27000,0x8ee78000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000200 Registers: EAX=0xb7f3ac80, EBX=0xb7f3afc4, ECX=0xb7f2bcc9, EDX=0x8ee77b6c ESP=0x8ee76830, EBP=0x8ee76858, ESI=0x00000000, EDI=0x0888eea8 EIP=0xb7f317ad, CR2=0x00000200, EFLAGS=0x00010292 Top of Stack: (sp=0x8ee76830) 0x8ee76830: 00000000 01e7e4ad b7ec2ff4 00000004 0x8ee76840: 0888eea8 8ee76854 b7e7e96a b7ec2ff4 0x8ee76850: 00000000 0888eea8 8ee76878 b7ec0c84 0x8ee76860: 00000000 8f50e748 18a916eb 00000016 0x8ee76870: b7ec0c69 b7f3afc4 8ee76958 b7f2bce6 0x8ee76880: 00000000 00000000 8ed2b77c b7ec048c 0x8ee76890: 0888eeb0 0888eeb8 0888eeb4 8ee77b6c 0x8ee768a0: 090152b0 8ee76964 00000000 8ee76954 Instructions: (pc=0xb7f317ad) 0xb7f3179d: 5d f4 89 7d fc e8 24 3a 00 00 81 c3 1d 98 00 00 0xb7f317ad: f6 86 00 02 00 00 08 75 37 8b 86 90 01 00 00 85 Stack: [0x8ee27000,0x8ee78000], sp=0x8ee76830, free space=318k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [ld-linux.so.2+0x137ad] C [libdl.so.2+0xc84] C [ld-linux.so.2+0xdce6] C [libdl.so.2+0x107c] C [libdl.so.2+0xcba] dlclose+0x2a C [libjpeg.so+0x5dc0] Java_sun_awt_image_JPEGImageDecoder_initIDs+0x2c0 j sun.awt.image.JPEGImageDecoder.initIDs(Ljava/lang/Class;)V+0 j sun.awt.image.JPEGImageDecoder.()V+22 v ~StubRoutines::call_stub V [libjvm.so+0x32b837] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.awt.image.JPEGImageDecoder.initIDs(Ljava/lang/Class;)V+0 j sun.awt.image.JPEGImageDecoder.()V+22 v ~StubRoutines::call_stub j sun.awt.image.InputStreamImageSource.getDecoder(Ljava/io/InputStream;)Lsun/awt/image/ImageDecoder;+135 j sun.awt.image.URLImageSource.getDecoder()Lsun/awt/image/ImageDecoder;+183 j sun.awt.image.InputStreamImageSource.doFetch()V+30 j sun.awt.image.ImageFetcher.fetchloop()V+33 j sun.awt.image.ImageFetcher.run()V+5 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x8ec42c00 JavaThread "Timer-0" daemon [_thread_blocked, id=2416, stack(0x8ebaf000,0x8ec00000)] 0x8ec06000 JavaThread "Thread-1" [_thread_blocked, id=2415, stack(0x8ed34000,0x8ed85000)] 0x8f5d2800 JavaThread "AWT-EventQueue-0" [_thread_in_vm, id=2414, stack(0x8ed85000,0x8edd6000)] 0x8f5d1c00 JavaThread "AWT-Shutdown" [_thread_blocked, id=2413, stack(0x8edd6000,0x8ee27000)] =>0x8f568400 JavaThread "Image Fetcher 0" daemon [_thread_in_native, id=2412, stack(0x8ee27000,0x8ee78000)] 0x8f567000 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=2411, stack(0x8ee78000,0x8eec9000)] 0x8f53a400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2410, stack(0x8ef64000,0x8efb5000)] 0x08938800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2408, stack(0x8f62c000,0x8f67d000)] 0x08936800 JavaThread "CompilerThread1" daemon [_thread_in_native, id=2407, stack(0x8f67d000,0x8f6fe000)] 0x08933c00 JavaThread "CompilerThread0" daemon [_thread_in_native, id=2406, stack(0x8f47d000,0x8f4fe000)] 0x08932400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2405, stack(0x8f6fe000,0x8f74f000)] 0x08921800 JavaThread "Finalizer" daemon [_thread_blocked, id=2404, stack(0x8f927000,0x8f978000)] 0x0891d000 JavaThread "Reference Handler" daemon [_thread_blocked, id=2403, stack(0x8f978000,0x8f9c9000)] 0x08893c00 JavaThread "main" [_thread_blocked, id=2399, stack(0xb703e000,0xb708f000)] Other Threads: 0x08919c00 VMThread [stack: 0x8f9c9000,0x8fa4a000] [id=2402] 0x0893a800 WatcherThread [stack: 0x8f3fc000,0x8f47d000] [id=2409] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) [0x08892148] Threads_lock - owner thread: 0x8f5d2800 Heap PSYoungGen total 114688K, used 37530K [0xabf10000, 0xb3f10000, 0xb3f10000) eden space 98304K, 38% used [0xabf10000,0xae3b6bb0,0xb1f10000) from space 16384K, 0% used [0xb2f10000,0xb2f10000,0xb3f10000) to space 16384K, 0% used [0xb1f10000,0xb1f10000,0xb2f10000) PSOldGen total 393216K, used 0K [0x93f10000, 0xabf10000, 0xabf10000) object space 393216K, 0% used [0x93f10000,0x93f10000,0xabf10000) PSPermGen total 65536K, used 18090K [0x8ff10000, 0x93f10000, 0x93f10000) object space 65536K, 27% used [0x8ff10000,0x910bab98,0x93f10000) Dynamic libraries: 08048000-08051000 r-xp 00000000 08:03 1837146 /usr/lib/jvm/java-1.6.0-openjdk/bin/java 08051000-08052000 rwxp 00008000 08:03 1837146 /usr/lib/jvm/java-1.6.0-openjdk/bin/java 0888e000-090ce000 rwxp 00000000 00:00 0 [heap] 8ea00000-8ea22000 rwxp 00000000 00:00 0 8ea22000-8eb00000 ---p 00000000 00:00 0 8eb5e000-8ebaf000 rwxp 00000000 00:00 0 8ebaf000-8ebb2000 ---p 00000000 00:00 0 8ebb2000-8ec00000 rwxp 00000000 00:00 0 8ec00000-8ed00000 rwxp 00000000 00:00 0 8ed2b000-8ed33000 r-xp 00000000 08:03 202983910 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjpeg.so 8ed33000-8ed34000 rwxp 00007000 08:03 202983910 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjpeg.so 8ed34000-8ed37000 ---p 00000000 00:00 0 8ed37000-8ed85000 rwxp 00000000 00:00 0 8ed85000-8ed88000 ---p 00000000 00:00 0 8ed88000-8edd6000 rwxp 00000000 00:00 0 8edd6000-8edd9000 ---p 00000000 00:00 0 8edd9000-8ee27000 rwxp 00000000 00:00 0 8ee27000-8ee2a000 ---p 00000000 00:00 0 8ee2a000-8ee78000 rwxp 00000000 00:00 0 8ee78000-8ee7b000 ---p 00000000 00:00 0 8ee7b000-8eec9000 rwxp 00000000 00:00 0 8eec9000-8eecb000 r-xs 00000000 08:03 135511035 /var/cache/fontconfig/1876b2dcf508980ebba421dbe8e808d3-x86.cache-2 8eecb000-8eedb000 r-xs 00000000 08:03 134834383 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 8eedd000-8eee5000 r-xp 00000000 08:03 202983933 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnio.so 8eee5000-8eee6000 rwxp 00007000 08:03 202983933 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnio.so 8eee6000-8eee8000 r-xs 00000000 08:03 135511035 /var/cache/fontconfig/1876b2dcf508980ebba421dbe8e808d3-x86.cache-2 8eee8000-8eef8000 r-xs 00000000 08:03 134834383 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 8eef8000-8ef00000 r-xp 00000000 08:03 67699093 /usr/lib/libXcursor.so.1.0.2 8ef00000-8ef01000 rwxp 00007000 08:03 67699093 /usr/lib/libXcursor.so.1.0.2 8ef01000-8ef03000 r-xs 00000000 08:03 135511035 /var/cache/fontconfig/1876b2dcf508980ebba421dbe8e808d3-x86.cache-2 8ef03000-8ef13000 r-xs 00000000 08:03 134834383 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 8ef13000-8ef17000 r-xp 00000000 08:03 79305470 /usr/lib/libXfixes.so.3.1.0 8ef17000-8ef18000 rwxp 00003000 08:03 79305470 /usr/lib/libXfixes.so.3.1.0 8ef18000-8ef1d000 r-xs 00000000 08:03 135511032 /var/cache/fontconfig/a98d8961fa319a64d3cfd8640c79e62d-x86.cache-2 8ef1d000-8ef23000 r-xs 00000000 08:03 134834381 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 8ef23000-8ef3e000 r-xs 00000000 08:03 135511027 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2 8ef3e000-8ef43000 r-xs 00000000 08:03 135511032 /var/cache/fontconfig/a98d8961fa319a64d3cfd8640c79e62d-x86.cache-2 8ef43000-8ef49000 r-xs 00000000 08:03 134834381 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 8ef49000-8ef64000 r-xs 00000000 08:03 135511027 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2 8ef64000-8ef67000 ---p 00000000 00:00 0 8ef67000-8efb5000 rwxp 00000000 00:00 0 8efb5000-8f036000 r-xp 00000000 08:03 67276740 /usr/lib/libfreetype.so.6.3.20 8f036000-8f03a000 rwxp 00081000 08:03 67276740 /usr/lib/libfreetype.so.6.3.20 8f03a000-8f03f000 r-xs 00000000 08:03 135511032 /var/cache/fontconfig/a98d8961fa319a64d3cfd8640c79e62d-x86.cache-2 8f03f000-8f045000 r-xs 00000000 08:03 134834381 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 8f045000-8f060000 r-xs 00000000 08:03 135511027 /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2 8f060000-8f0a5000 r-xp 00000000 08:03 202983924 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libfontmanager.so 8f0a5000-8f0a7000 rwxp 00045000 08:03 202983924 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libfontmanager.so 8f0a7000-8f0ac000 rwxp 00000000 00:00 0 8f0ac000-8f0b0000 r-xp 00000000 08:03 67314796 /usr/lib/libXdmcp.so.6.0.0 8f0b0000-8f0b1000 rwxp 00003000 08:03 67314796 /usr/lib/libXdmcp.so.6.0.0 8f0b1000-8f0c9000 r-xp 00000000 08:03 67316610 /usr/lib/libxcb.so.1.1.0 8f0c9000-8f0ca000 rwxp 00017000 08:03 67316610 /usr/lib/libxcb.so.1.1.0 8f0ca000-8f0cc000 r-xp 00000000 08:03 67699086 /usr/lib/libXau.so.6.0.0 8f0cc000-8f0cd000 rwxp 00001000 08:03 67699086 /usr/lib/libXau.so.6.0.0 8f0cd000-8f0d5000 r-xp 00000000 08:03 67314809 /usr/lib/libXi.so.6.0.0 8f0d5000-8f0d6000 rwxp 00007000 08:03 67314809 /usr/lib/libXi.so.6.0.0 8f0d6000-8f0da000 r-xp 00000000 08:03 67740222 /usr/lib/libXtst.so.6.1.0 8f0da000-8f0db000 rwxp 00004000 08:03 67740222 /usr/lib/libXtst.so.6.1.0 8f0db000-8f0e3000 r-xp 00000000 08:03 67314853 /usr/lib/libXrender.so.1.3.0 8f0e3000-8f0e4000 rwxp 00007000 08:03 67314853 /usr/lib/libXrender.so.1.3.0 8f0e4000-8f1fd000 r-xp 00000000 08:03 67210426 /usr/lib/libX11.so.6.2.0 8f1fd000-8f201000 rwxp 00118000 08:03 67210426 /usr/lib/libX11.so.6.2.0 8f201000-8f20f000 r-xp 00000000 08:03 69456267 /usr/lib/libXext.so.6.4.0 8f20f000-8f210000 rwxp 0000d000 08:03 69456267 /usr/lib/libXext.so.6.4.0 8f211000-8f22e000 r-xp 00000000 08:03 67313929 /usr/lib/libgcc_s.so.1 8f22e000-8f22f000 rwxp 0001c000 08:03 67313929 /usr/lib/libgcc_s.so.1 8f22f000-8f236000 r-xs 000fd000 08:03 202481663 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/resources.jar 8f236000-8f282000 r-xp 00000000 08:03 1223691 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/xawt/libmawt.so 8f282000-8f284000 rwxp 0004b000 08:03 1223691 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/xawt/libmawt.so 8f284000-8f285000 rwxp 00000000 00:00 0 8f285000-8f311000 r-xp 00000000 08:03 202983920 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libawt.so 8f311000-8f318000 rwxp 0008c000 08:03 202983920 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libawt.so 8f318000-8f33c000 rwxp 00000000 00:00 0 8f33c000-8f351000 r-xp 00000000 08:03 202983915 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnet.so 8f351000-8f352000 rwxp 00014000 08:03 202983915 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libnet.so 8f352000-8f353000 r-xs 00000000 08:06 21827051 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/junit/test.jar 8f353000-8f355000 r-xs 0000a000 08:06 21827049 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_tcp.jar 8f355000-8f358000 r-xs 00021000 08:06 21827048 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_report.jar 8f358000-8f35a000 r-xs 0000f000 08:06 21827047 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_monitors.jar 8f35a000-8f35c000 r-xs 00008000 08:06 21827046 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_mail.jar 8f35c000-8f35d000 r-xs 00010000 08:06 21827045 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_ldap.jar 8f35d000-8f35e000 r-xs 00009000 08:06 21827044 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_junit.jar 8f35e000-8f360000 r-xs 00010000 08:06 21827043 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_jms.jar 8f360000-8f361000 r-xs 0000e000 08:06 21827042 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_jdbc.jar 8f361000-8f362000 r-xs 0000d000 08:06 21827041 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_java.jar 8f362000-8f366000 r-xs 0004a000 08:06 21827040 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_http.jar 8f366000-8f368000 r-xs 00013000 08:06 21827039 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_functions.jar 8f368000-8f369000 r-xs 00008000 08:06 21827037 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_ftp.jar 8f369000-8f375000 r-xs 000be000 08:06 21827036 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_core.jar 8f375000-8f37c000 r-xs 00054000 08:06 21827035 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/ext/ApacheJMeter_components.jar 8f37c000-8f387000 r-xs 0005f000 08:06 411783361 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/xstream-1.3.1.jar 8f387000-8f389000 r-xs 00005000 08:06 411783359 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/xpp3_min-1.1.4c.jar 8f389000-8f393000 r-xs 00075000 08:06 411783358 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/xmlgraphics-commons-1.3.1.jar 8f393000-8f39b000 r-xs 00028000 08:06 411783345 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/xml-apis-2_9_1.jar 8f39b000-8f3b3000 r-xs 00115000 08:06 411783344 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/xercesImpl-2_9_1.jar 8f3b3000-8f3d8000 r-xs 002e3000 08:06 411783341 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/xalan_2_7_1.jar 8f3d8000-8f3dc000 r-xs 00035000 08:06 411783340 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/soap.jar 8f3dc000-8f3df000 r-xs 00041000 08:06 411783333 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/serializer-2_9_1.jar 8f3df000-8f3e2000 r-xs 00013000 08:06 411783330 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/logkit-1.2.jar 8f3e2000-8f3e5000 r-xs 0001b000 08:06 411783329 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/junit3.8.2.jar 8f3e5000-8f3ed000 r-xs 000a6000 08:06 411783328 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/js_rhino1_6R5.jar 8f3ed000-8f3f0000 r-xs 0001a000 08:06 411773919 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/jorphan.jar 8f3f0000-8f3f3000 r-xs 00023000 08:06 411773918 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/jdom-1.1.jar 8f3f3000-8f3f5000 r-xs 0000e000 08:06 411773917 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/jakarta-oro-2.0.8.jar 8f3f5000-8f3f9000 r-xs 0001f000 08:06 411773908 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/jCharts-0.7.5.jar 8f3f9000-8f3fc000 r-xs 0001f000 08:06 411773907 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/htmlparser-2.0-20060923.jar 8f3fc000-8f3fd000 ---p 00000000 00:00 0 8f3fd000-8f47d000 rwxp 00000000 00:00 0 8f47d000-8f480000 ---p 00000000 00:00 0 8f480000-8f4fe000 rwxp 00000000 00:00 0 8f4fe000-8f500000 r-xs 00010000 08:06 411773906 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/htmllexer-2.0-20060923.jar 8f500000-8f5f7000 rwxp 00000000 00:00 0 8f5f7000-8f600000 ---p 00000000 00:00 0 8f600000-8f601000 r-xs 0000a000 08:06 411773905 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/excalibur-pool-1.2.jar 8f601000-8f603000 r-xs 00011000 08:06 411773904 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/excalibur-logger-1.1.jar 8f603000-8f605000 r-xs 00003000 08:06 411773901 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/excalibur-instrument-1.0.jar 8f605000-8f607000 r-xs 0000c000 08:06 411773900 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/excalibur-datasource-1.1.1.jar 8f607000-8f60c000 r-xs 00028000 08:06 411773899 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-net-1.4.1.jar 8f60c000-8f60e000 r-xs 0000d000 08:06 411773897 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-logging-1.1.1.jar 8f60e000-8f612000 r-xs 0003c000 08:06 411773858 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-lang-2.4.jar 8f612000-8f616000 r-xs 0001d000 08:06 411773857 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-jexl-1.1.jar 8f616000-8f619000 r-xs 00018000 08:06 411773555 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-io-1.4.jar 8f619000-8f61f000 r-xs 00045000 08:06 411773554 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-httpclient-3.1.jar 8f61f000-8f62c000 r-xs 0007f000 08:06 411773553 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-collections-3.2.jar 8f62c000-8f62f000 ---p 00000000 00:00 0 8f62f000-8f67d000 rwxp 00000000 00:00 0 8f67d000-8f680000 ---p 00000000 00:00 0 8f680000-8f6fe000 rwxp 00000000 00:00 0 8f6fe000-8f701000 ---p 00000000 00:00 0 8f701000-8f74f000 rwxp 00000000 00:00 0 8f74f000-8f927000 r-xp 00000000 08:03 134643720 /usr/lib/locale/locale-archive 8f927000-8f92a000 ---p 00000000 00:00 0 8f92a000-8f978000 rwxp 00000000 00:00 0 8f978000-8f97b000 ---p 00000000 00:00 0 8f97b000-8f9c9000 rwxp 00000000 00:00 0 8f9c9000-8f9ca000 ---p 00000000 00:00 0 8f9ca000-8fa7d000 rwxp 00000000 00:00 0 8fa7d000-8fc0d000 r-xs 03852000 08:03 202434835 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/rt.jar 8fc0d000-8fc0e000 ---p 00000000 00:00 0 8fc0e000-8fc8e000 rwxp 00000000 00:00 0 8fc8e000-8fc8f000 ---p 00000000 00:00 0 8fc8f000-8fe0f000 rwxp 00000000 00:00 0 8fe0f000-b3f10000 rwxp 00000000 00:00 0 b3f10000-b3f12000 r-xs 0000a000 08:06 411773552 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/commons-codec-1.3.jar b3f12000-b3f1b000 rwxp 00000000 00:00 0 b3f1b000-b3fd2000 rwxp 00000000 00:00 0 b3fd2000-b4212000 rwxp 00000000 00:00 0 b4212000-b6fd2000 rwxp 00000000 00:00 0 b6fd2000-b6fdc000 r-xp 00000000 08:03 201326821 /lib/libnss_files-2.10.1.so b6fdc000-b6fdd000 r-xp 00009000 08:03 201326821 /lib/libnss_files-2.10.1.so b6fdd000-b6fde000 rwxp 0000a000 08:03 201326821 /lib/libnss_files-2.10.1.so b6fde000-b6fe0000 r-xs 00006000 08:06 411773551 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/bshclient.jar b6fe0000-b6fe5000 r-xs 00040000 08:06 411773550 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/bsh-2.0b4.jar b6fe5000-b6fe8000 r-xs 00019000 08:06 411773548 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/bsf-2.4.0.jar b6fe8000-b6feb000 r-xs 0000f000 08:06 411773547 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/avalon-framework-4.1.4.jar b6feb000-b6fee000 r-xs 0002c000 08:06 411773546 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/lib/Tidy.jar b6fee000-b6ff2000 r-xs 00079000 08:03 202481662 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/jsse.jar b6ff2000-b6ff3000 r-xs 00007000 08:06 142912450 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/bin/ApacheJMeter.jar b6ff3000-b6ff4000 r-xs 00007000 08:06 142912450 /home/javauser/devel/Java/bin/jakarta-jmeter-2.3.4/bin/ApacheJMeter.jar b6ff4000-b6ffb000 r-xp 00000000 08:03 202983931 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libzip.so b6ffb000-b6ffc000 rwxp 00006000 08:03 202983931 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libzip.so b6ffc000-b7004000 rwxs 00000000 00:0e 2318270 /tmp/hsperfdata_javauser/2398 b7004000-b700c000 r-xp 00000000 08:03 69016249 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/native_threads/libhpi.so b700c000-b700d000 rwxp 00008000 08:03 69016249 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/native_threads/libhpi.so b700d000-b7033000 r-xp 00000000 08:03 202983778 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjava.so b7033000-b7035000 rwxp 00026000 08:03 202983778 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libjava.so b7035000-b703c000 r-xp 00000000 08:03 201326827 /lib/librt-2.10.1.so b703c000-b703d000 r-xp 00006000 08:03 201326827 /lib/librt-2.10.1.so b703d000-b703e000 rwxp 00007000 08:03 201326827 /lib/librt-2.10.1.so b703e000-b7041000 ---p 00000000 00:00 0 b7041000-b708f000 rwxp 00000000 00:00 0 b708f000-b70b3000 r-xp 00000000 08:03 201326757 /lib/libm-2.10.1.so b70b3000-b70b4000 r-xp 00023000 08:03 201326757 /lib/libm-2.10.1.so b70b4000-b70b5000 rwxp 00024000 08:03 201326757 /lib/libm-2.10.1.so b70b5000-b7906000 r-xp 00000000 08:03 202983783 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/server/libjvm.so b7906000-b7956000 rwxp 00850000 08:03 202983783 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/server/libjvm.so b7956000-b7d79000 rwxp 00000000 00:00 0 b7d79000-b7eb9000 r-xp 00000000 08:03 201965116 /lib/libc-2.10.1.so b7eb9000-b7ebb000 r-xp 00140000 08:03 201965116 /lib/libc-2.10.1.so b7ebb000-b7ebc000 rwxp 00142000 08:03 201965116 /lib/libc-2.10.1.so b7ebc000-b7ec0000 rwxp 00000000 00:00 0 b7ec0000-b7ec2000 r-xp 00000000 08:03 201326759 /lib/libdl-2.10.1.so b7ec2000-b7ec3000 r-xp 00001000 08:03 201326759 /lib/libdl-2.10.1.so b7ec3000-b7ec4000 rwxp 00002000 08:03 201326759 /lib/libdl-2.10.1.so b7ec4000-b7ec8000 r-xp 00000000 08:03 134828346 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/jli/libjli.so b7ec8000-b7ec9000 rwxp 00003000 08:03 134828346 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/jli/libjli.so b7ec9000-b7edd000 r-xp 00000000 08:03 201326771 /lib/libpthread-2.10.1.so b7edd000-b7ede000 ---p 00014000 08:03 201326771 /lib/libpthread-2.10.1.so b7ede000-b7edf000 r-xp 00014000 08:03 201326771 /lib/libpthread-2.10.1.so b7edf000-b7ee0000 rwxp 00015000 08:03 201326771 /lib/libpthread-2.10.1.so b7ee0000-b7ee2000 rwxp 00000000 00:00 0 b7ee2000-b7ef5000 r-xp 00000000 08:03 68888316 /usr/lib/libz.so.1.2.3.3 b7ef5000-b7ef6000 rwxp 00012000 08:03 68888316 /usr/lib/libz.so.1.2.3.3 b7ef6000-b7ef7000 rwxp 00000000 00:00 0 b7ef7000-b7ef8000 r-xp 00000000 00:00 0 b7ef8000-b7f0b000 r-xp 00000000 08:03 201431163 /lib/libnsl-2.10.1.so b7f0b000-b7f0c000 r-xp 00012000 08:03 201431163 /lib/libnsl-2.10.1.so b7f0c000-b7f0d000 rwxp 00013000 08:03 201431163 /lib/libnsl-2.10.1.so b7f0d000-b7f0f000 rwxp 00000000 00:00 0 b7f0f000-b7f1b000 r-xp 00000000 08:03 202983914 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libverify.so b7f1b000-b7f1c000 rwxp 0000b000 08:03 202983914 /usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/libverify.so b7f1c000-b7f1d000 rwxp 00000000 00:00 0 b7f1d000-b7f1e000 r-xp 00000000 00:00 0 [vdso] b7f1e000-b7f3a000 r-xp 00000000 08:03 201580696 /lib/ld-2.10.1.so b7f3a000-b7f3b000 r-xp 0001b000 08:03 201580696 /lib/ld-2.10.1.so b7f3b000-b7f3c000 rwxp 0001c000 08:03 201580696 /lib/ld-2.10.1.so bfa7f000-bfab4000 rwxp 00000000 00:00 0 [stack] bfab4000-bfab5000 rw-p 00000000 00:00 0 VM Arguments: jvm_args: -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -XX:NewSize=128m -XX:MaxNewSize=128m -XX:MaxTenuringThreshold=2 -Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000 -XX:PermSize=64m -XX:MaxPermSize=64m java_command: ./ApacheJMeter.jar Launcher Type: SUN_STANDARD Environment Variables: JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/oracle-sqldeveloper/bin:/usr/bin/perlbin/site:/usr/bin/perlbin/vendor:/usr/bin/perlbin/core LD_LIBRARY_PATH=/usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386/server:/usr/lib/jvm/java-1.6.0-openjdk/jre/lib/i386:/usr/lib/jvm/java-1.6.0-openjdk/jre/../lib/i386 SHELL=/bin/bash DISPLAY=:0.0 Signal Handlers: SIGSEGV: [libjvm.so+0x5b1150], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x5b1150], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x49f1a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x49f1a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x49f1a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x49f1a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x49e950], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x4a0d60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x4a0d60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x4a0d60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x4a0d60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:Linux uname:Linux 2.6.30-ARCH #1 SMP PREEMPT Sat Jul 4 11:13:08 UTC 2009 i686 libc:glibc 2.10.1 NPTL 2.10.1 rlimit: STACK 8192k, CORE 0k, NPROC 24288, NOFILE 1024, AS infinity load average:0.24 0.46 0.32 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 23 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1 Memory: 4k page, physical 3074520k(201020k free), swap 2104504k(2037900k free) vm_info: OpenJDK Server VM (14.0-b15) for linux-x86 JRE (1.6.0_0-b16), built on Jul 4 2009 13:36:20 by "bash" with gcc 4.4.0 20090630 (prerelease) time: Wed Jul 22 16:35:38 2009 elapsed time: 1 seconds -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 22 06:45:55 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 22 Jul 2009 13:45:55 +0000 Subject: [Bug 370] IcedTea crashes starting Jakarta JMeter. libjpeg 7 compatibility issue? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=370 mark at klomp.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE ------- Comment #2 from mark at klomp.org 2009-07-22 13:45 ------- *** This bug has been marked as a duplicate of bug 367 *** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 22 06:45:55 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 22 Jul 2009 13:45:55 +0000 Subject: [Bug 367] Interactive brokers fails / libjpeg7 related? Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=367 mark at klomp.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |oshcha at inbox.lv ------- Comment #4 from mark at klomp.org 2009-07-22 13:45 ------- *** Bug 370 has been marked as a duplicate of this bug. *** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mr at sun.com Wed Jul 22 14:48:10 2009 From: mr at sun.com (Mark Reinhold) Date: Wed, 22 Jul 2009 14:48:10 -0700 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: gnu_andrew@member.fsf.org; Wed, 15 Jul 2009 21:23:22 BST; <17c6771e0907151323q1725f046laf0182502f75a22e@mail.gmail.com> Message-ID: <20090722214810.175B451B@eggemoggin.niobe.net> > Date: Wed, 15 Jul 2009 21:23:22 +0100 > From: Andrew John Hughes > Using the rebase extension to hg, I've succeeded in producing a > version of the OpenJDK6 repository based on the same 0 revision as the > hs14 master: > > http://fuseyism.com/hg/hotspot > > This means that pulls from the hs14 master can be used to update this > repository, which isn't the case with the current OpenJDK6 repository > as they have no common parent. However, unlike hs14, it does include > all the history and fixes from OpenJDK6 (some of which don't seem to > have made the HS7 repos, such as deleting binary jar files). > > Does this look ok? If so, can someone with ssh access to > hg.openjdk.java.net please replace the current hotspot repository with > this one, so we can update it to the current hs14 revision and add any > other pending changes? Your repo looks fine to me -- thanks for creating it. Shall I go ahead and replace the current jdk6/hotspot repo with this? (That is, does anyone have any concerns?) > It would be nice to finally let HotSpot development in OpenJDK6 move on! Indeed! - Mark From omajid at redhat.com Thu Jul 23 07:00:05 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 23 Jul 2009 10:00:05 -0400 Subject: RFC: Netx - Dont prompt the user multiple times for the same https certificate In-Reply-To: <20090717172437.GA9660@redhat.com> References: <4A5F8DCF.40307@redhat.com> <20090717172437.GA9660@redhat.com> Message-ID: <4A686CE5.4010502@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-16 16:47]: >> Hi, >> >> Currently Netx can prompt the user multiple times to accept a single >> https certificate. >> >> You can see the behaviour by running javaws (without cacerts) and going >> to https://substance.dev.java.net/webstart/Issue447.jnlp. You will get 2 >> dialogs that ask you to confirm the https certificate (and one that asks >> you to confirm the jar certificate). >> >> The attached patch makes it so that the user is only prompted once to >> confirm the https certificate. >> > > Can't you just synchronize the function instead of doing it on an object > lock? All contents appear to be inside the syn. block anyway.. > Makes sense. Updated patch attached. Ok to commit? Thanks, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-fewer-prompts.patch Type: text/x-patch Size: 835 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090723/a6ee806b/netx-fewer-prompts.patch From mr at sun.com Thu Jul 23 08:26:50 2009 From: mr at sun.com (Mark Reinhold) Date: Thu, 23 Jul 2009 08:26:50 -0700 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: mr@sun.com; Wed, 22 Jul 2009 14:48:10 PDT; <20090722214810.175B451B@eggemoggin.niobe.net> Message-ID: <20090723152650.1C8206F6@eggemoggin.niobe.net> > From: Mark Reinhold > Date: Wed, 22 Jul 2009 14:48:10 -0700 > ... > > Your repo looks fine to me -- thanks for creating it. > > Shall I go ahead and replace the current jdk6/hotspot repo with this? > (That is, does anyone have any concerns?) Here's something (perhaps) to be concerned about: A recently-reported regression in Sun's proprietary 6u14 (and hence also in hsx14) causes debugging breakpoints to be ignored in some circumstances. The bug is reproducible with both the client and server VMs, but only using the serial GC. The primary Sun bugid is 6862295 [1]; see also the downstream bug first reported in Eclipse [2]. Dan Daugherty is working on a fix, which we'll publish when available, but in the meantime hsx14 has this bug. Is the existence of this bug in hsx14 a reason to delay replacing the current jdk6/hotspot repo with Andrew's newer version? Let me know. - Mark [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6862295 [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137 From dbhole at redhat.com Thu Jul 23 08:34:05 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 23 Jul 2009 15:34:05 +0000 Subject: changeset in /hg/icedtea6: - Added support for FindClass, GetCla... Message-ID: changeset 4ec5e065fb53 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4ec5e065fb53 description: - Added support for FindClass, GetClassName, GetMethodID, GetToStringValue, NewObject and NewStringUTF. - Split the request wait code in Java processor into a generic function. - Centralized all debug output calls. - ICEDTEAPLUGIN_DEBUG flag now supported. - Dynamic cookie fetching support ported over from current plugin. - Added support for modifying JS objects via SetMember calls. - Message processing model made more robust by using dedicated processing threads, rather than dynamically initialized threads. With this commit, http://www.apl.jhu.edu/~hall/CWP-Sources/CWP-Examples/Chapter19/Everest.html now works. diffstat: 12 files changed, 1577 insertions(+), 552 deletions(-) ChangeLog | 23 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc | 258 ++ plugin/icedteanp/IcedTeaJavaRequestProcessor.h | 34 plugin/icedteanp/IcedTeaNPPlugin.cc | 371 ++-- plugin/icedteanp/IcedTeaNPPlugin.h | 15 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 866 ++++++---- plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 47 plugin/icedteanp/IcedTeaPluginUtils.cc | 145 + plugin/icedteanp/IcedTeaPluginUtils.h | 15 plugin/icedteanp/IcedTeaRunnable.cc | 74 plugin/icedteanp/IcedTeaRunnable.h | 102 + plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 179 +- diffs (truncated from 3025 to 500 lines): diff -r d20bab985f89 -r 4ec5e065fb53 ChangeLog --- a/ChangeLog Fri Jul 17 06:04:59 2009 -0400 +++ b/ChangeLog Thu Jul 23 11:39:18 2009 -0400 @@ -1,3 +1,26 @@ 2009-07-17 Gary Benson + + * plugin/icedteanp/IcedTeaJavaRequestProcessor.c: Added support for + FindClass, GetClassName, GetMethodID, GetToStringValue, NewObject and + NewStringUTF. Split the request wait code into a generic function. + * plugin/icedteanp/IcedTeaNPPlugin.cc: Centralize debug output calls. Obey + the ICEDTEAPLUGIN_DEBUG flag. Support dynamic cookie fetching. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.c: Update multi-threaded + processing model. Support SetMember. Set up a dedicated message queue + processor (arbitrarily scalable). + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Add function and + variable declerations as needed by the .cc file. + * plugin/icedteanp/IcedTeaPluginUtils.cc: Use only long and long long for + memory address translation. Add additional utility methods. + * plugin/icedteanp/IcedTeaPluginUtils.h: Update as needed by the .cc file. + * plugin/icedteanp/IcedTeaRunnable.h: New file. Represents a dispatchable + event, extends nsIRunnable. + * plugin/icedteanp/IcedTeaRunnable.h: New file. Header for + IcedTeaRunnable.cc. + * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: Fix + signature handling to remove the need for return type. Add support for + GetToStringValue and GetClassName. + 2009-07-17 Gary Benson * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp diff -r d20bab985f89 -r 4ec5e065fb53 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Jul 17 06:04:59 2009 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Thu Jul 23 11:39:18 2009 -0400 @@ -67,7 +67,8 @@ JavaRequestProcessor::newMessageOnBus(co // Gather the results // GetStringUTFChars - if (message_parts->at(4) == "GetStringUTFChars") + if (message_parts->at(4) == "GetStringUTFChars" || + message_parts->at(4) == "GetToStringValue") { // first item is length, and it is radix 10 int length = strtol(message_parts->at(5).c_str(), NULL, 10); @@ -81,6 +82,31 @@ JavaRequestProcessor::newMessageOnBus(co int length = strtol(message_parts->at(5).c_str(), NULL, 10); IcedTeaPluginUtilities::getUTF16LEString(length, 6 /* start at */, message_parts, result->return_wstring); + result_ready = true; + } else if (message_parts->at(4) == "FindClass") + { + result->return_identifier = atoi(message_parts->at(5).c_str()); + result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access + result_ready = true; + } else if (message_parts->at(4) == "GetClassName") + { + result->return_identifier = atoi(message_parts->at(5).c_str()); + result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access + result_ready = true; + } else if (message_parts->at(4) == "GetMethodID") + { + result->return_identifier = atoi(message_parts->at(5).c_str()); + result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access + result_ready = true; + } else if (message_parts->at(4) == "NewObject") + { + result->return_identifier = atoi(message_parts->at(5).c_str()); + result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access + result_ready = true; + } else if (message_parts->at(4) == "NewStringUTF") + { + result->return_identifier = atoi(message_parts->at(5).c_str()); + result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access result_ready = true; } @@ -119,6 +145,8 @@ JavaRequestProcessor::JavaRequestProcess JavaRequestProcessor::~JavaRequestProcessor() { + PLUGIN_DEBUG_0ARG("JavaRequestProcessor::~JavaRequestProcessor\n"); + if (result) { if (result->error_msg) @@ -134,32 +162,12 @@ JavaRequestProcessor::~JavaRequestProces } } -/** - * Given a string id, fetches the actual string from Java side - * - * @param request_data The JavaRequest struct containing request relevant information - * @return A JavaResultData struct containing the result of the request - */ - -JavaResultData* -JavaRequestProcessor::getString(JavaRequest* request_data) -{ - std::string string_id; - std::string* message; - - this->instance = 0; // context is always 0 (needed for java-side backwards compat.) - this->reference = IcedTeaPluginUtilities::getReference(); - - string_id = request_data->data->at(0); - - message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); - - message->append(" GetStringUTFChars "); // get it in UTF8 - message->append(string_id); - +void +JavaRequestProcessor::postAndWaitForResponse(std::string* message) +{ struct timespec t; clock_gettime(CLOCK_REALTIME, &t); - t.tv_sec += 60; // 1 minute timeout + t.tv_sec += REQUESTTIMEOUT; // 1 minute timeout result_ready = false; java_to_plugin_bus->subscribe(this); @@ -174,7 +182,7 @@ JavaRequestProcessor::getString(JavaRequ bool timedout = false; if (!result_ready && (curr_t.tv_sec < t.tv_sec)) - sleep(1); + usleep(2000); else break; @@ -187,9 +195,195 @@ JavaRequestProcessor::getString(JavaRequ } java_to_plugin_bus->unSubscribe(this); - IcedTeaPluginUtilities::releaseReference(); - - delete message; - - return result; -} +} + +/** + * Given an object id, fetches the toString() value from Java + * + * @param object_id The ID of the object + * @return A JavaResultData struct containing the result of the request + */ + +JavaResultData* +JavaRequestProcessor::getToStringValue(std::string object_id) +{ + std::string* message; + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + + message->append(" GetToStringValue "); // get it in UTF8 + message->append(object_id); + + postAndWaitForResponse(message); + + IcedTeaPluginUtilities::releaseReference(); + delete message; + + return result; +} + +/** + * Given a string id, fetches the actual string from Java side + * + * @param string_id The ID of the string + * @return A JavaResultData struct containing the result of the request + */ + +JavaResultData* +JavaRequestProcessor::getString(std::string string_id) +{ + std::string* message; + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + + message->append(" GetStringUTFChars "); // get it in UTF8 + message->append(string_id); + + postAndWaitForResponse(message); + + IcedTeaPluginUtilities::releaseReference(); + delete message; + + return result; +} + +JavaResultData* +JavaRequestProcessor::findClass(std::string name) +{ + std::string* message; + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + + message->append(" FindClass "); + message->append(name); + + postAndWaitForResponse(message); + + delete message; + + return result; +} + +JavaResultData* +JavaRequestProcessor::getClassName(std::string ID) +{ + std::string* message; + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + + message->append(" GetClassName "); + message->append(ID); + + postAndWaitForResponse(message); + + delete message; + + return result; +} + +JavaResultData* +JavaRequestProcessor::getMethodID(std::string objectID, NPIdentifier methodName, + std::vector args) +{ + JavaRequestProcessor* java_request; + std::string* message; + std::string* signature; + + signature = new std::string(); + *signature += "("; + + // FIXME: Need to determine how to extract array types and complex java objects + for (int i=0; i < args.size(); i++) + { + *signature += args[i]; + } + + *signature += ")"; + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + *message += " GetMethodID "; + *message += objectID; + *message += " "; + *message += browser_functions.utf8fromidentifier(methodName); + *message += " "; + *message += *signature; + + postAndWaitForResponse(message); + + IcedTeaPluginUtilities::releaseReference(); + delete signature; + delete message; + + return result; +} + +JavaResultData* +JavaRequestProcessor::newObject(std::string objectID, std::string methodID, + std::vector args) +{ + JavaRequestProcessor* java_request; + std::string* message; + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + *message += " NewObject "; + *message += objectID; + *message += " "; + *message += methodID; + *message += " "; + + for (int i=0; i < args.size(); i++) + { + *message += args[i]; + *message += " "; + } + + postAndWaitForResponse(message); + + IcedTeaPluginUtilities::releaseReference(); + delete message; + + return result; +} + +JavaResultData* +JavaRequestProcessor::newString(std::string str) +{ + JavaRequestProcessor* java_request; + std::string* utf_string = new std::string(); + std::string* message; + + IcedTeaPluginUtilities::convertStringToUTF8(&str, utf_string); + + this->instance = 0; // context is always 0 (needed for java-side backwards compat.) + this->reference = IcedTeaPluginUtilities::getReference(); + + message = IcedTeaPluginUtilities::constructMessagePrefix(0, reference); + message->append(" NewStringUTF "); + message->append(*utf_string); + + postAndWaitForResponse(message); + + IcedTeaPluginUtilities::releaseReference(); + delete utf_string; + delete message; + + return result; +} diff -r d20bab985f89 -r 4ec5e065fb53 plugin/icedteanp/IcedTeaJavaRequestProcessor.h --- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Fri Jul 17 06:04:59 2009 -0400 +++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.h Thu Jul 23 11:39:18 2009 -0400 @@ -45,6 +45,8 @@ exception statement from your version. * #include "IcedTeaNPPlugin.h" #include "IcedTeaPluginUtils.h" + +#define REQUESTTIMEOUT 60 /* * This struct holds data specific to a Java operation requested by the plugin @@ -97,11 +99,41 @@ class JavaRequestProcessor : BusSubscrib bool result_ready; JavaResultData* result; + /* Post message on bus and wait */ + void postAndWaitForResponse(std::string* message); + public: JavaRequestProcessor(); ~JavaRequestProcessor(); virtual bool newMessageOnBus(const char* message); - JavaResultData* getString(JavaRequest* request_data); + + /* Returns the toString() value, given an object identifier */ + JavaResultData* getToStringValue(std::string object_id); + + /* Returns the string, given the identifier */ + JavaResultData* getString(std::string string_id); + + /* Returns the method ID from Java side */ + JavaResultData* getMethodID1(NPObject* obj, NPIdentifier methodName, + std::vector args); + + /* Returns the method id */ + JavaResultData* getMethodID(std::string objectID, NPIdentifier methodName, + std::vector args); + + /* Creates a new object */ + JavaResultData* newObject(std::string objectID, std::string methodID, + std::vector args); + + /* Returns the class ID */ + JavaResultData* findClass(std::string name); + + /* Returns the type class name */ + JavaResultData* getClassName(std::string ID); + + /* Creates a new string in the Java store */ + JavaResultData* newString(std::string str); + }; #endif /* ICEDTEAJAVAREQUESTPROCESSOR_H_ */ diff -r d20bab985f89 -r 4ec5e065fb53 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Jul 17 06:04:59 2009 -0400 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jul 23 11:39:18 2009 -0400 @@ -70,14 +70,6 @@ exception statement from your version. * // Liveconnect extension #include "IcedTeaScriptablePluginObject.h" #include "IcedTeaNPPlugin.h" - -// Debugging macros. -#define PLUGIN_DEBUG(message) \ - g_print ("GCJ PLUGIN: thread %p: %s\n", g_thread_self (), message) - -#define PLUGIN_DEBUG_TWO(first, second) \ - g_print ("GCJ PLUGIN: thread %p: %s %s\n", g_thread_self (), \ - first, second) // Error reporting macros. #define PLUGIN_ERROR(message) \ @@ -180,7 +172,7 @@ NPNetscapeFuncs browser_functions; // Various message buses carrying information to/from Java, and internally MessageBus* plugin_to_java_bus = new MessageBus(); MessageBus* java_to_plugin_bus = new MessageBus(); -MessageBus* internal_bus = new MessageBus(); +//MessageBus* internal_bus = new MessageBus(); // Processor for plugin requests PluginRequestProcessor* plugin_req_proc = new PluginRequestProcessor(); @@ -265,6 +257,8 @@ static GPid appletviewer_pid = -1; static GPid appletviewer_pid = -1; static guint appletviewer_watch_id = -1; +int plugin_debug = getenv ("ICEDTEAPLUGIN_DEBUG") != NULL; + // Functions prefixed by GCJ_ are instance functions. They are called // by the browser and operate on instances of GCJPluginData. // Functions prefixed by plugin_ are static helper functions. @@ -289,7 +283,22 @@ GCJ_New (NPMIMEType pluginType, NPP inst int16 argc, char* argn[], char* argv[], NPSavedData* saved) { - PLUGIN_DEBUG ("GCJ_New"); + PLUGIN_DEBUG_0ARG("GCJ_New\n"); + + static NPObject *window_ptr; + NPIdentifier identifier; + NPVariant member_ptr; + browser_functions.getvalue(instance, NPNVWindowNPObject, &window_ptr); + identifier = browser_functions.getstringidentifier("document"); + printf("Looking for %p %p %p (%s)\n", instance, window_ptr, identifier, "document"); + if (!browser_functions.hasproperty(instance, window_ptr, identifier)) + { + printf("%s not found!\n", "document"); + } + browser_functions.getproperty(instance, window_ptr, identifier, &member_ptr); + + PLUGIN_DEBUG_1ARG("Got variant %p\n", &member_ptr); + NPError np_error = NPERR_NO_ERROR; GCJPluginData* data = NULL; @@ -389,9 +398,6 @@ GCJ_New (NPMIMEType pluginType, NPP inst data->scriptable_plugin_object = npPluginObj; instance->pdata = data; - - java_to_plugin_bus->subscribe(plugin_req_proc); - plugin_to_java_bus->subscribe(java_req_proc); goto cleanup_done; @@ -428,7 +434,7 @@ GCJ_New (NPMIMEType pluginType, NPP inst g_hash_table_insert(id_to_instance_map, GINT_TO_POINTER(instance_counter), instance); instance_counter++; - PLUGIN_DEBUG ("GCJ_New return"); + PLUGIN_DEBUG_0ARG ("GCJ_New return\n"); return np_error; } @@ -475,14 +481,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (in_pipe_name); - PLUGIN_DEBUG_TWO ("GCJ_New: creating input fifo:", in_pipe_name); + PLUGIN_DEBUG_1ARG ("GCJ_New: creating input fifo: %s", in_pipe_name); if (mkfifo (in_pipe_name, 0700) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create input pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_in_pipe_name; } - PLUGIN_DEBUG_TWO ("GCJ_New: created input fifo:", in_pipe_name); + PLUGIN_DEBUG_1ARG ("GCJ_New: created input fifo: %s\n", in_pipe_name); // Create plugin-to-appletviewer pipe which we refer to as the // output pipe. @@ -501,14 +507,14 @@ void start_jvm_if_needed() // clean up any older pip unlink (out_pipe_name); - PLUGIN_DEBUG_TWO ("GCJ_New: creating output fifo:", out_pipe_name); + PLUGIN_DEBUG_1ARG ("GCJ_New: creating output fifo: %s\n", out_pipe_name); if (mkfifo (out_pipe_name, 0700) == -1 && errno != EEXIST) { PLUGIN_ERROR_TWO ("Failed to create output pipe", strerror (errno)); np_error = NPERR_GENERIC_ERROR; goto cleanup_out_pipe_name; } - PLUGIN_DEBUG_TWO ("GCJ_New: created output fifo:", out_pipe_name); + PLUGIN_DEBUG_1ARG ("GCJ_New: created output fifo: %s\n", out_pipe_name); // Start a separate appletviewer process for each applet, even if // there are multiple applets in the same page. We may need to From gnu_andrew at member.fsf.org Thu Jul 23 08:36:48 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 23 Jul 2009 16:36:48 +0100 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <20090723152650.1C8206F6@eggemoggin.niobe.net> References: <20090722214810.175B451B@eggemoggin.niobe.net> <20090723152650.1C8206F6@eggemoggin.niobe.net> Message-ID: <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> 2009/7/23 Mark Reinhold : >> From: Mark Reinhold >> Date: Wed, 22 Jul 2009 14:48:10 -0700 > >> ... >> >> Your repo looks fine to me -- thanks for creating it. >> >> Shall I go ahead and replace the current jdk6/hotspot repo with this? >> (That is, does anyone have any concerns?) > > Here's something (perhaps) to be concerned about: A recently-reported > regression in Sun's proprietary 6u14 (and hence also in hsx14) causes > debugging breakpoints to be ignored in some circumstances. ?The bug is > reproducible with both the client and server VMs, but only using the > serial GC. > > The primary Sun bugid is 6862295 [1]; see also the downstream bug first > reported in Eclipse [2]. ?Dan Daugherty is working on a fix, which we'll > publish when available, but in the meantime hsx14 has this bug. > > Is the existence of this bug in hsx14 a reason to delay replacing the > current jdk6/hotspot repo with Andrew's newer version? ?Let me know. > > - Mark > > > [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6862295 > [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137 > It's a concern, no doubt about that, but not moving to hs14 because of it is a bit like shutting the stable door after the horse has bolted; both IcedTea and Sun's proprietary releases have been shipping hs14 for some time. I think the better course of action is to get the patch in as soon as it is available and then roll it out in new releases. Besides, the proposed update doesn't (yet) move OpenJDK6 to HotSpot 14. It rebases the repository so it's now at revision 0 of the current HotSpot7 repositories (plus the OpenJDK6 fixes), allowing changesets from the hs14 master and also the main HotSpot7 repository to be merged (as they all then have a common parent). This is actually hs12b0 I believe (from b24 of OpenJDK7). -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From aph at redhat.com Thu Jul 23 08:52:00 2009 From: aph at redhat.com (Andrew Haley) Date: Thu, 23 Jul 2009 17:52:00 +0200 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> References: <20090722214810.175B451B@eggemoggin.niobe.net> <20090723152650.1C8206F6@eggemoggin.niobe.net> <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> Message-ID: <4A688720.5090800@redhat.com> On 07/23/2009 05:36 PM, Andrew John Hughes wrote: > 2009/7/23 Mark Reinhold : >>> From: Mark Reinhold >>> Date: Wed, 22 Jul 2009 14:48:10 -0700 >>> ... >>> >>> Your repo looks fine to me -- thanks for creating it. >>> >>> Shall I go ahead and replace the current jdk6/hotspot repo with this? >>> (That is, does anyone have any concerns?) >> Here's something (perhaps) to be concerned about: A recently-reported >> regression in Sun's proprietary 6u14 (and hence also in hsx14) causes >> debugging breakpoints to be ignored in some circumstances. The bug is >> reproducible with both the client and server VMs, but only using the >> serial GC. >> >> The primary Sun bugid is 6862295 [1]; see also the downstream bug first >> reported in Eclipse [2]. Dan Daugherty is working on a fix, which we'll >> publish when available, but in the meantime hsx14 has this bug. >> >> Is the existence of this bug in hsx14 a reason to delay replacing the >> current jdk6/hotspot repo with Andrew's newer version? Let me know. >> >> [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6862295 >> [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137 >> > > It's a concern, no doubt about that, but not moving to hs14 because of > it is a bit like shutting the stable door after the horse has bolted; > both IcedTea and Sun's proprietary releases have been shipping hs14 > for some time. I think the better course of action is to get the > patch in as soon as it is available and then roll it out in new > releases. That sounds right to me. > Besides, the proposed update doesn't (yet) move OpenJDK6 to HotSpot > 14. It rebases the repository so it's now at revision 0 of the > current HotSpot7 repositories (plus the OpenJDK6 fixes), allowing > changesets from the hs14 master and also the main HotSpot7 repository > to be merged (as they all then have a common parent). This is > actually hs12b0 I believe (from b24 of OpenJDK7). Do I take it that you intend soon to submit a patch that moves OpenJDK 6 to HS 14? Andrew. From gnu_andrew at member.fsf.org Thu Jul 23 09:17:11 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 23 Jul 2009 17:17:11 +0100 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <4A688720.5090800@redhat.com> References: <20090722214810.175B451B@eggemoggin.niobe.net> <20090723152650.1C8206F6@eggemoggin.niobe.net> <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> <4A688720.5090800@redhat.com> Message-ID: <17c6771e0907230917h59c26566hd72acffe44a23ddc@mail.gmail.com> 2009/7/23 Andrew Haley : > On 07/23/2009 05:36 PM, Andrew John Hughes wrote: >> 2009/7/23 Mark Reinhold : >>>> From: Mark Reinhold >>>> Date: Wed, 22 Jul 2009 14:48:10 -0700 >>>> ... >>>> >>>> Your repo looks fine to me -- thanks for creating it. >>>> >>>> Shall I go ahead and replace the current jdk6/hotspot repo with this? >>>> (That is, does anyone have any concerns?) >>> Here's something (perhaps) to be concerned about: A recently-reported >>> regression in Sun's proprietary 6u14 (and hence also in hsx14) causes >>> debugging breakpoints to be ignored in some circumstances. ?The bug is >>> reproducible with both the client and server VMs, but only using the >>> serial GC. >>> >>> The primary Sun bugid is 6862295 [1]; see also the downstream bug first >>> reported in Eclipse [2]. ?Dan Daugherty is working on a fix, which we'll >>> publish when available, but in the meantime hsx14 has this bug. >>> >>> Is the existence of this bug in hsx14 a reason to delay replacing the >>> current jdk6/hotspot repo with Andrew's newer version? ?Let me know. > >>> >>> [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6862295 >>> [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137 >>> >> >> It's a concern, no doubt about that, but not moving to hs14 because of >> it is a bit like shutting the stable door after the horse has bolted; >> both IcedTea and Sun's proprietary releases have been shipping hs14 >> for some time. ?I think the better course of action is to get the >> patch in as soon as it is available and then roll it out in new >> releases. > > That sounds right to me. > >> Besides, the proposed update doesn't (yet) move OpenJDK6 to HotSpot >> 14. ?It rebases the repository so it's now at revision 0 of the >> current HotSpot7 repositories (plus the OpenJDK6 fixes), allowing >> changesets from the hs14 master and also the main HotSpot7 repository >> to be merged (as they all then have a common parent). ?This is >> actually hs12b0 I believe (from b24 of OpenJDK7). > > Do I take it that you intend soon to submit a patch that moves OpenJDK 6 > to HS 14? > Indeed, that's the intention. I wanted to do as little as possible by replacing directories on the server side, leaving the actual merge to hs14 itself to the usual webrev-and-push process. So expect one mega-patch to update to hs14 once OpenJDK6 is rebased. > Andrew. > Thanks, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From dbhole at redhat.com Thu Jul 23 10:19:42 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 23 Jul 2009 13:19:42 -0400 Subject: RFC: Netx - Dont prompt the user multiple times for the same https certificate In-Reply-To: <4A686CE5.4010502@redhat.com> References: <4A5F8DCF.40307@redhat.com> <20090717172437.GA9660@redhat.com> <4A686CE5.4010502@redhat.com> Message-ID: <20090723171942.GA20799@redhat.com> * Omair Majid [2009-07-23 10:00]: > Deepak Bhole wrote: >> * Omair Majid [2009-07-16 16:47]: >>> Hi, >>> >>> Currently Netx can prompt the user multiple times to accept a single >>> https certificate. >>> >>> You can see the behaviour by running javaws (without cacerts) and >>> going to https://substance.dev.java.net/webstart/Issue447.jnlp. You >>> will get 2 dialogs that ask you to confirm the https certificate (and >>> one that asks you to confirm the jar certificate). >>> >>> The attached patch makes it so that the user is only prompted once to >>> confirm the https certificate. >>> >> >> Can't you just synchronize the function instead of doing it on an object >> lock? All contents appear to be inside the syn. block anyway.. >> > > Makes sense. Updated patch attached. Ok to commit? > Yep, looks good! Deepak > Thanks, > Omair > diff -r d20bab985f89 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java > --- a/rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java Fri Jul 17 06:04:59 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Jul 23 09:58:18 2009 -0400 > @@ -143,7 +143,7 @@ > * @param authType The auth type algorithm > * @param checkOnly Whether to "check only" i.e. no user prompt, or to prompt for permission > */ > - public void checkServerTrusted(X509Certificate[] chain, String authType, boolean checkOnly) throws CertificateException { > + public synchronized void checkServerTrusted(X509Certificate[] chain, String authType, boolean checkOnly) throws CertificateException { > try { > checkAllManagers(chain, authType); > } catch (CertificateException ce) { From mr at sun.com Thu Jul 23 12:12:25 2009 From: mr at sun.com (Mark Reinhold) Date: Thu, 23 Jul 2009 12:12:25 -0700 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: gnu_andrew@member.fsf.org; Thu, 23 Jul 2009 16:36:48 BST; <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> Message-ID: <20090723191225.1C96A8E7@eggemoggin.niobe.net> > Date: Thu, 23 Jul 2009 16:36:48 +0100 > From: Andrew John Hughes > ... > > Besides, the proposed update doesn't (yet) move OpenJDK6 to HotSpot > 14. It rebases the repository so it's now at revision 0 of the > current HotSpot7 repositories (plus the OpenJDK6 fixes), allowing > changesets from the hs14 master and also the main HotSpot7 repository > to be merged (as they all then have a common parent). This is > actually hs12b0 I believe (from b24 of OpenJDK7). Ah, okay, I hadn't realized that. I've blown away the current jdk6/hotspot repository in preparation for dropping in your new repo. I need to make a couple of adjustments on the server prior to doing that, most likely some time tonight PDT. - Mark From mr at sun.com Fri Jul 24 00:04:05 2009 From: mr at sun.com (Mark Reinhold) Date: Fri, 24 Jul 2009 00:04:05 -0700 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: mr@sun.com; Thu, 23 Jul 2009 12:12:25 PDT; <20090723191225.1C96A8E7@eggemoggin.niobe.net> Message-ID: <20090724070405.54CAEE92@eggemoggin.niobe.net> > From: Mark Reinhold > Date: Thu, 23 Jul 2009 12:12:25 -0700 > ... > > I've blown away the current jdk6/hotspot repository in preparation for > dropping in your new repo. I need to make a couple of adjustments on > the server prior to doing that, most likely some time tonight PDT. Done. http://hg.openjdk.java.net/jdk6/jdk6/hotspot is now a clone of http://fuseyism.com/hg/hotspot, plus the addition of one tiny changeset so that the jcheck hook will allow lax comments. - Mark From mark at klomp.org Fri Jul 24 01:37:19 2009 From: mark at klomp.org (Mark Wielaard) Date: Fri, 24 Jul 2009 10:37:19 +0200 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <20090724070405.54CAEE92@eggemoggin.niobe.net> References: <20090724070405.54CAEE92@eggemoggin.niobe.net> Message-ID: <1248424639.3544.8.camel@springer.wildebeest.org> On Fri, 2009-07-24 at 00:04 -0700, Mark Reinhold wrote: > > From: Mark Reinhold > > Date: Thu, 23 Jul 2009 12:12:25 -0700 > > > I've blown away the current jdk6/hotspot repository in preparation for > > dropping in your new repo. I need to make a couple of adjustments on > > the server prior to doing that, most likely some time tonight PDT. > > Done. > > http://hg.openjdk.java.net/jdk6/jdk6/hotspot is now a clone of > http://fuseyism.com/hg/hotspot, plus the addition of one tiny > changeset so that the jcheck hook will allow lax comments. Thanks. For those doing their morning fpull, this means you will have to blow away your jdk6 forest jdk/hotspot subtree, or you will see: [hotspot] pulling from http://hg.openjdk.java.net/jdk6/jdk6/hotspot searching for changes skipped: repository is unrelated You can just move the jdk/hotpot dir away from under the jdk/ dir and a hg fpull will get you a completely new fresh copy. [hotspot] requesting all changes adding changesets adding manifests adding file changes added 58 changesets with 7893 changes to 3278 files Mirrors updated. For those interested in the old hotspot6 repo I kept a clone here: http://classpath.wildebeest.org/hg/hotspot6.old Cheers, Mark From bugzilla-daemon at icedtea.classpath.org Fri Jul 24 06:54:24 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 24 Jul 2009 13:54:24 +0000 Subject: [Bug 362] graphical window appears blank when using icedtea instead of Sun's JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=362 ------- Comment #1 from omajid at redhat.com 2009-07-24 13:54 ------- This is more of a bug in the game code than icedtea6. The game creates a Container and sets its LayoutManager to null, but then uses setPreferredSize() instead of setSize() on its children. Since the LayoutManager is null, setPerferredSize is fairly useless. It has been fixed in the game now [1]. The only strange thing is that this bug only occurs with OpenJDK/IcedTea and not with the proprietary JDK. IcedTea must be doing something differently than the proprietary JDK, but I cant say if it is a bug in IcedTea or merely a coincident that the proprietary JDK works with the code. [1] http://arianne.cvs.sourceforge.net/viewvc/arianne/stendhal/src/games/stendhal/client/gui/j2DClient.java?r1=1.285&r2=1.286 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 24 07:37:54 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 24 Jul 2009 14:37:54 +0000 Subject: [Bug 368] Eclipse repeatedly crashes after changing C++ Project Properties Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=368 ------- Comment #1 from jon.vanalten at redhat.com 2009-07-24 14:37 ------- Please do attach log if available. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gnu_andrew at member.fsf.org Fri Jul 24 08:31:27 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 24 Jul 2009 16:31:27 +0100 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <20090724070405.54CAEE92@eggemoggin.niobe.net> References: <20090723191225.1C96A8E7@eggemoggin.niobe.net> <20090724070405.54CAEE92@eggemoggin.niobe.net> Message-ID: <17c6771e0907240831r45dc2114p433e8d4424e05d5e@mail.gmail.com> 2009/7/24 Mark Reinhold : >> From: Mark Reinhold >> Date: Thu, 23 Jul 2009 12:12:25 -0700 > >> ... >> >> I've blown away the current jdk6/hotspot repository in preparation for >> dropping in your new repo. ?I need to make a couple of adjustments on >> the server prior to doing that, most likely some time tonight PDT. > > Done. > > http://hg.openjdk.java.net/jdk6/jdk6/hotspot is now a clone of > http://fuseyism.com/hg/hotspot, plus the addition of one tiny > changeset so that the jcheck hook will allow lax comments. > > - Mark > Thanks. I'm guessing the changeset 'Remove old jdk6-b00.' needed the lax comments filter, so sorry about that. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From bugzilla-daemon at icedtea.classpath.org Sat Jul 25 20:18:15 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 26 Jul 2009 03:18:15 +0000 Subject: [Bug 371] New: Shark second stage build failure on x86_64 with OpenJDK7 b64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=371 Summary: Shark second stage build failure on x86_64 with OpenJDK7 b64 Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: gnu_andrew at member.fsf.org # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:223), pid=5479, tid=47250468550928 # Error: caught unhandled signal 11 # # JRE version: 7.0-b65 # Java VM: OpenJDK 64-Bit Shark VM (16.0-b06 mixed mode linux-amd64 ) # An error report file with more information is saved as: # /mnt/builder/shark/openjdk/jdk/make/sun/xawt/hs_err_pid5479.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # }; } is output into XAWTIcon64_java_icon24_png.java during its generation. hs_err_pid5479.log attached. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sat Jul 25 20:19:36 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 26 Jul 2009 03:19:36 +0000 Subject: [Bug 371] Shark second stage build failure on x86_64 with OpenJDK7 b64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=371 ------- Comment #1 from gnu_andrew at member.fsf.org 2009-07-26 03:19 ------- Created an attachment (id=248) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=248&action=view) HotSpot Crash Dump -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sat Jul 25 20:19:55 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 26 Jul 2009 03:19:55 +0000 Subject: [Bug 371] Shark second stage build failure on x86_64 with OpenJDK7 b64 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=371 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gbenson at redhat.com |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From ahughes at redhat.com Sat Jul 25 22:45:51 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Sun, 26 Jul 2009 05:45:51 +0000 Subject: changeset in /hg/icedtea: Reduce ecj warnings. Message-ID: changeset 4532857a1523 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=4532857a1523 description: Reduce ecj warnings. 2009-07-26 Andrew John Hughes * javac.in: Turn off more ecj warnings to reduce clutter. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ javac.in | 2 +- diffs (24 lines): diff -r 7a7a1f3bff6c -r 4532857a1523 ChangeLog --- a/ChangeLog Sun Jul 26 05:45:29 2009 +0100 +++ b/ChangeLog Sun Jul 26 06:47:36 2009 +0100 @@ -1,3 +1,8 @@ 2009-07-26 Andrew John Hughes + + * javac.in: + Turn off more ecj warnings to reduce clutter. + 2009-07-26 Andrew John Hughes * patches/hotspot/default/icedtea-core-build.patch, diff -r 7a7a1f3bff6c -r 4532857a1523 javac.in --- a/javac.in Sun Jul 26 05:45:29 2009 +0100 +++ b/javac.in Sun Jul 26 06:47:36 2009 +0100 @@ -3,7 +3,7 @@ use constant NO_DUP_ARGS => qw(-source - use constant NO_DUP_ARGS => qw(-source -target -d -encoding); use constant STRIP_ARGS => qw(-Werror); -my $ECJ_WARNINGS="-warn:-deprecation,serial,unusedImport"; +my $ECJ_WARNINGS="-warn:-deprecation,serial,unused,warningToken"; my $JAVAC_WARNINGS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"; my @bcoption; From ahughes at redhat.com Sat Jul 25 22:45:50 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Sun, 26 Jul 2009 05:45:50 +0000 Subject: changeset in /hg/icedtea: Bump to b65 and upstream Zero. Message-ID: changeset 7a7a1f3bff6c in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7a7a1f3bff6c description: Bump to b65 and upstream Zero. 2009-07-26 Andrew John Hughes * patches/hotspot/default/icedtea-core-build.patch, * patches/hotspot/default/icedtea-static-libstdc++.patch, * patches/hotspot/default/icedtea-zero-build.patch, * patches/icedtea-arch.patch, * patches/icedtea-linker-options.patch, * patches/icedtea-signature-iterator.patch, * patches/icedtea-zero.patch, * platform_zero.in, * ports/hotspot/make/linux/makefiles/zero.make, * ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp, * ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp, * ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp, * ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp, * ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp, * ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp, * ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp, * ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp, * ports/hotspot/src/cpu/zero/vm/copy_zero.hpp, * ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp, * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp, * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp, * ports/hotspot/src/cpu/zero/vm/debug_zero.cpp, * ports/hotspot/src/cpu/zero/vm/deoptimizerFrame_zero.hpp, * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp, * ports/hotspot/src/cpu/zero/vm/dump_zero.cpp, * ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp, * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp, * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp, * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp, * ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp, * ports/hotspot/src/cpu/zero/vm/globals_zero.hpp, * ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp, * ports/hotspot/src/cpu/zero/vm/icache_zero.cpp, * ports/hotspot/src/cpu/zero/vm/icache_zero.hpp, * ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp, * ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp, * ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp, * ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp, * ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp, * ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp, * ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp, * ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp, * ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp, * ports/hotspot/src/cpu/zero/vm/jniTypes_zero.hpp, * ports/hotspot/src/cpu/zero/vm/jni_zero.h, * ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp, * ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp, * ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp, * ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp, * ports/hotspot/src/cpu/zero/vm/register_zero.cpp, * ports/hotspot/src/cpu/zero/vm/register_zero.hpp, * ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp, * ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp, * ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp, * ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp, * ports/hotspot/src/cpu/zero/vm/stack_zero.hpp, * ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp, * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp, * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp, * ports/hotspot/src/cpu/zero/vm/vmStructs_zero.hpp, * ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp, * ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp, * ports/hotspot/src/cpu/zero/vm/vmreg_zero.hpp, * ports/hotspot/src/cpu/zero/vm/vmreg_zero.inline.hpp, * ports/hotspot/src/cpu/zero/vm/vtableStubs_zero.cpp, * ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp, * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp, * ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp, * ports/hotspot/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp: Removed. Zero now upstream. * Makefile.am: Bump to b65. Switch ICEDTEA_{CORE,ZERO}_BUILD to use true not 'yes', and pass to build as CORE_BUILD and ZERO_BUILD. Link files in cpu/zero/vm rather than zero directory (now only used for Shark). Remove unneeded patches and duplicate ports-ecj target. * acinclude.m4: Don't generate platform_zero. * patches/cacao/arch.patch: Moved from patches/icedtea-arch.patch and recreated. * patches/hotspot/default/icedtea-core-zero-build.patch: Use CORE_BUILD not ICEDTEA_CORE_BUILD. * patches/hotspot/default/icedtea-shark-build.patch: Recreated. Depend on $(PLATFORM_FILE) to create platform_zero. * patches/icedtea-core-build.patch, * patches/icedtea-gcc-suffix.patch, * patches/icedtea-libraries.patch, * patches/icedtea-shark-build.patch, * patches/icedtea-zero-build.patch: Recreated. * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: Drop InlineSmallCode as in globals_zero.hpp upstream. diffstat: 88 files changed, 410 insertions(+), 8404 deletions(-) ChangeLog | 101 + Makefile.am | 85 acinclude.m4 | 1 patches/cacao/arch.patch | 191 + patches/hotspot/default/icedtea-core-build.patch | 108 - patches/hotspot/default/icedtea-core-zero-build.patch | 6 patches/hotspot/default/icedtea-shark-build.patch | 69 patches/hotspot/default/icedtea-static-libstdc++.patch | 16 patches/hotspot/default/icedtea-zero-build.patch | 129 - patches/icedtea-arch.patch | 191 - patches/icedtea-core-build.patch | 59 patches/icedtea-gcc-suffix.patch | 12 patches/icedtea-libraries.patch | 60 patches/icedtea-linker-options.patch | 48 patches/icedtea-shark-build.patch | 22 patches/icedtea-signature-iterator.patch | 44 patches/icedtea-zero-build.patch | 184 - patches/icedtea-zero.patch | 212 -- platform_zero.in | 17 ports/hotspot/make/linux/makefiles/zero.make | 41 ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp | 98 - ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp | 70 ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp | 55 ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp | 159 - ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp | 280 -- ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp | 32 ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp | 307 --- ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp | 27 ports/hotspot/src/cpu/zero/vm/copy_zero.hpp | 166 - ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp | 39 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 956 ---------- ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp | 44 ports/hotspot/src/cpu/zero/vm/debug_zero.cpp | 32 ports/hotspot/src/cpu/zero/vm/deoptimizerFrame_zero.hpp | 49 ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp | 35 ports/hotspot/src/cpu/zero/vm/dump_zero.cpp | 37 ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp | 62 ports/hotspot/src/cpu/zero/vm/entry_zero.hpp | 60 ports/hotspot/src/cpu/zero/vm/frame_zero.cpp | 199 -- ports/hotspot/src/cpu/zero/vm/frame_zero.hpp | 74 ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp | 175 - ports/hotspot/src/cpu/zero/vm/globals_zero.hpp | 54 ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp | 52 ports/hotspot/src/cpu/zero/vm/icache_zero.cpp | 36 ports/hotspot/src/cpu/zero/vm/icache_zero.hpp | 33 ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp | 34 ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp | 71 ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp | 38 ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp | 170 - ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp | 144 - ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp | 76 ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp | 62 ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp | 78 ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp | 67 ports/hotspot/src/cpu/zero/vm/jniTypes_zero.hpp | 108 - ports/hotspot/src/cpu/zero/vm/jni_zero.h | 37 ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp | 27 ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp | 50 ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp | 220 -- ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp | 39 ports/hotspot/src/cpu/zero/vm/register_zero.cpp | 39 ports/hotspot/src/cpu/zero/vm/register_zero.hpp | 116 - ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp | 77 ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp | 33 ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp | 116 - ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp | 3 ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp | 293 --- ports/hotspot/src/cpu/zero/vm/stack_zero.hpp | 219 -- ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp | 260 -- ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp | 31 ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp | 55 ports/hotspot/src/cpu/zero/vm/vmStructs_zero.hpp | 52 ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp | 32 ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp | 67 ports/hotspot/src/cpu/zero/vm/vmreg_zero.hpp | 29 ports/hotspot/src/cpu/zero/vm/vmreg_zero.inline.hpp | 32 ports/hotspot/src/cpu/zero/vm/vtableStubs_zero.cpp | 47 ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp | 319 --- ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp | 43 ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 45 ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp | 176 - ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 467 ---- ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp | 46 ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp | 32 ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp | 42 ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp | 32 ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp | 118 - ports/hotspot/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp | 45 diffs (truncated from 9613 to 500 lines): diff -r c43b0d22e99b -r 7a7a1f3bff6c ChangeLog --- a/ChangeLog Tue Jul 21 23:06:12 2009 +0100 +++ b/ChangeLog Sun Jul 26 05:45:29 2009 +0100 @@ -1,3 +1,104 @@ 2009-07-21 Andrew John Hughes + + * patches/hotspot/default/icedtea-core-build.patch, + * patches/hotspot/default/icedtea-static-libstdc++.patch, + * patches/hotspot/default/icedtea-zero-build.patch, + * patches/icedtea-arch.patch, + * patches/icedtea-linker-options.patch, + * patches/icedtea-signature-iterator.patch, + * patches/icedtea-zero.patch, + * platform_zero.in, + * ports/hotspot/make/linux/makefiles/zero.make, + * ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp, + * ports/hotspot/src/cpu/zero/vm/bytecodes_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/bytes_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/codeBuffer_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/copy_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/cppInterpreterGenerator_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/debug_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/deoptimizerFrame_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/dump_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/entryFrame_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/frame_zero.inline.hpp, + * ports/hotspot/src/cpu/zero/vm/globals_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/icache_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/icache_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/interpreterFrame_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/interpreterRT_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/interpreter_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/javaFrameAnchor_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/jniFastGetField_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/jniTypes_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/jni_zero.h, + * ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/nativeInst_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/nativeInst_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/registerMap_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/register_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/register_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/relocInfo_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/stack_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/stubGenerator_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/vmStructs_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/vm_version_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/vmreg_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/vmreg_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/vmreg_zero.inline.hpp, + * ports/hotspot/src/cpu/zero/vm/vtableStubs_zero.cpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/bytes_linux_zero.inline.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/prefetch_linux_zero.inline.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.cpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/threadLS_linux_zero.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/thread_linux_zero.hpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp: + Removed. Zero now upstream. + * Makefile.am: + Bump to b65. Switch ICEDTEA_{CORE,ZERO}_BUILD to use true + not 'yes', and pass to build as CORE_BUILD and ZERO_BUILD. + Link files in cpu/zero/vm rather than zero directory (now + only used for Shark). Remove unneeded patches and duplicate + ports-ecj target. + * acinclude.m4: Don't generate platform_zero. + * patches/cacao/arch.patch: Moved from patches/icedtea-arch.patch + and recreated. + * patches/hotspot/default/icedtea-core-zero-build.patch: + Use CORE_BUILD not ICEDTEA_CORE_BUILD. + * patches/hotspot/default/icedtea-shark-build.patch: + Recreated. Depend on $(PLATFORM_FILE) to create platform_zero. + * patches/icedtea-core-build.patch, + * patches/icedtea-gcc-suffix.patch, + * patches/icedtea-libraries.patch, + * patches/icedtea-shark-build.patch, + * patches/icedtea-zero-build.patch: + Recreated. + * ports/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp: + Drop InlineSmallCode as in globals_zero.hpp upstream. + 2009-07-21 Andrew John Hughes * acinclude.m4: diff -r c43b0d22e99b -r 7a7a1f3bff6c Makefile.am --- a/Makefile.am Tue Jul 21 23:06:12 2009 +0100 +++ b/Makefile.am Sun Jul 26 05:45:29 2009 +0100 @@ -1,20 +1,20 @@ OPENJDK_VERSION = b64 -OPENJDK_VERSION = b64 - -OPENJDK_CHANGESET = 269c1ec4435d -CORBA_CHANGESET = 047dd27fddb6 -JAXP_CHANGESET = a10eec7a1edf -JAXWS_CHANGESET = d1788e8fd315 -JDK_CHANGESET = d799a225c668 -LANGTOOLS_CHANGESET = d8f23a81d46f -HOTSPOT_CHANGESET = ba36394eb84b - -OPENJDK_MD5SUM = 377e7f1139d876175dd85629220213c9 -CORBA_MD5SUM = 203e6eb0231ae7848a501ee40fcc256d -JAXP_MD5SUM = b57ed800ab149e44d4d53525cf58e9a7 -JAXWS_MD5SUM = 768509b4a24dc8e3b060e68e71081f48 -JDK_MD5SUM = dab8727958b03ff1b7992a50545479c3 -LANGTOOLS_MD5SUM = bf1a06f7d30febfb332658b6d7ef5fa5 -HOTSPOT_MD5SUM = 1ffa3dd169e18e9679c56b13c04a0de9 +OPENJDK_VERSION = b65 + +OPENJDK_CHANGESET = 3f9b913a63a5 +CORBA_CHANGESET = 5bd83d1b2476 +JAXP_CHANGESET = 008c662e0ee9 +JAXWS_CHANGESET = 706c94322f68 +JDK_CHANGESET = 76242e1e7faf +LANGTOOLS_CHANGESET = 7e0056ded28c +HOTSPOT_CHANGESET = fa683fcb2628 + +OPENJDK_MD5SUM = 1b83ab007193ac11ace81777a9cf8b34 +CORBA_MD5SUM = c751d1140d3a5f777655b9b7cde41c9f +JAXP_MD5SUM = 5832f64d5469985060f0c16fbcbce574 +JAXWS_MD5SUM = c23b0c5e2140feb224cc04d0f8bc2768 +JDK_MD5SUM = 013f095e5d95f8fe9afb07353670fbc7 +LANGTOOLS_MD5SUM = eca84cbe43c9f0314baa46917463b2cf +HOTSPOT_MD5SUM = db12c9a6a0a61a1d783cd132aef59ba6 CACAO_VERSION = 0.99.4 CACAO_MD5SUM = 63220327925ace13756ae334c55a3baa @@ -1517,12 +1517,12 @@ JDK_UPDATE_VERSION = 0 JDK_UPDATE_VERSION = 0 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) if CORE_BUILD - ICEDTEA_CORE_BUILD = yes + ICEDTEA_CORE_BUILD = true else ICEDTEA_CORE_BUILD = endif if ZERO_BUILD - ICEDTEA_ZERO_BUILD = yes + ICEDTEA_ZERO_BUILD = true else ICEDTEA_ZERO_BUILD = endif @@ -1549,8 +1549,8 @@ ICEDTEA_ENV = \ "ENDORSED=-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \ "CLASSPATH=" \ "LD_LIBRARY_PATH=" \ - "ICEDTEA_CORE_BUILD=$(ICEDTEA_CORE_BUILD)" \ - "ICEDTEA_ZERO_BUILD=$(ICEDTEA_ZERO_BUILD)" \ + "CORE_BUILD=$(ICEDTEA_CORE_BUILD)" \ + "ZERO_BUILD=$(ICEDTEA_ZERO_BUILD)" \ "ICEDTEA_SHARK_BUILD=$(ICEDTEA_SHARK_BUILD)" \ "ZERO_LIBARCH=$(ZERO_LIBARCH)" \ "ZERO_BITSPERWORD=$(ZERO_BITSPERWORD)" \ @@ -1634,8 +1634,8 @@ ICEDTEA_ENV_ECJ = \ "CLASSPATH=" \ "LD_LIBRARY_PATH=" \ "GENSRCDIR=$(abs_top_builddir)/generated" \ - "ICEDTEA_CORE_BUILD=$(ICEDTEA_CORE_BUILD)" \ - "ICEDTEA_ZERO_BUILD=$(ICEDTEA_ZERO_BUILD)" \ + "CORE_BUILD=$(ICEDTEA_CORE_BUILD)" \ + "ZERO_BUILD=$(ICEDTEA_ZERO_BUILD)" \ "ICEDTEA_SHARK_BUILD=$(ICEDTEA_SHARK_BUILD)" \ "ZERO_LIBARCH=$(ZERO_LIBARCH)" \ "ZERO_BITSPERWORD=$(ZERO_BITSPERWORD)" \ @@ -1973,12 +1973,11 @@ endif # Link ports sources into tree stamps/ports.stamp: stamps/extract.stamp for target in $(abs_top_srcdir)/ports/hotspot/make/*/makefiles/* \ - $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ + $(abs_top_srcdir)/ports/hotspot/src/cpu/zero/vm/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ link=$$(dirname $$target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/make#"); \ ln -sfv $$target $$link; \ done - ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/make/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ = "xno" ; then \ mkdir -p openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR) ; \ @@ -2021,11 +2020,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-core-build.patch \ - patches/hotspot/$(HSBUILD)/icedtea-core-build.patch \ - patches/icedtea-linker-options.patch \ - patches/hotspot/$(HSBUILD)/icedtea-static-libstdc++.patch \ patches/icedtea-zero-build.patch \ - patches/hotspot/$(HSBUILD)/icedtea-zero-build.patch \ patches/icedtea-print-lsb-release.patch \ patches/icedtea-jpegclasses.patch \ patches/icedtea-uname.patch \ @@ -2049,7 +2044,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-clean-crypto.patch \ patches/hotspot/$(HSBUILD)/icedtea-shark.patch \ $(GCC_PATCH) \ - patches/icedtea-arch.patch \ + patches/cacao/arch.patch \ patches/icedtea-signed-types.patch \ patches/icedtea-lc_ctype.patch \ patches/icedtea-xjc.patch \ @@ -2063,9 +2058,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ patches/hotspot/$(HSBUILD)/icedtea-bytecodeInterpreter.patch \ - patches/icedtea-signature-iterator.patch \ patches/icedtea-test-atomic-operations.patch \ - patches/icedtea-zero.patch \ patches/icedtea-ia64-bugfix.patch \ patches/hotspot/$(HSBUILD)/icedtea-parisc-opt.patch \ patches/security/icedtea-6592792.patch \ @@ -2453,28 +2446,6 @@ clean-clone-ecj: rm -f stamps/clone-ecj.stamp rm -rf openjdk-ecj -# Link ports sources into tree -stamps/ports-ecj.stamp: stamps/clone-ecj.stamp - for target in $(abs_top_srcdir)/ports/hotspot/make/*/makefiles/* \ - $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ - $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ - link=$$(dirname $$target | sed 's/^.*ports/openjdk-ecj/'|sed "s#hotspot/build#hotspot/make#"); \ - ln -sfv $$target $$link; \ - done - ln -sf $(abs_top_builddir)/platform_zero openjdk-ecj/hotspot/make/linux - if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ - = "xno"; then \ - mkdir -p openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR); \ - ln -sf $(abs_top_builddir)/jvm.cfg \ - openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR)/jvm.cfg; \ - fi - if ! test "x$(ICEDTEA_ZERO_BUILD)$(WITH_CACAO)" = "xno"; then \ - ln -sf $(abs_top_builddir)/ergo.c \ - openjdk-ecj/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c; \ - fi - mkdir -p stamps - touch stamps/ports-ecj.stamp - # Patch OpenJDK for ecj/gcj builds. ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \ patches/ecj/icedtea-hotspot-$(HSBUILD).patch \ @@ -2897,7 +2868,7 @@ endif stamps/icedtea-ecj.stamp: stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp stamps/netx-dist.stamp \ - stamps/liveconnect.stamp stamps/ports-ecj.stamp stamps/patch-ecj.stamp \ + stamps/liveconnect.stamp stamps/ports.stamp stamps/patch-ecj.stamp \ stamps/cacao.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ @@ -2922,7 +2893,7 @@ hotspot: hotspot-helper: stamps/bootstrap-directory-symlink-ecj.stamp \ stamps/hotspot-tools.stamp stamps/plugs.stamp \ - stamps/ports-ecj.stamp stamps/patch-ecj.stamp + stamps/ports.stamp stamps/patch-ecj.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_ECJ) \ -C openjdk-ecj hotspot @@ -3737,8 +3708,6 @@ hotspot-ports: stamps/ports.stamp tools-class-files: stamps/tools-class-files.stamp -hotspot-ports-ecj: stamps/ports-ecj.stamp - clean: distclean-local jtreg: stamps/jtreg.stamp diff -r c43b0d22e99b -r 7a7a1f3bff6c acinclude.m4 --- a/acinclude.m4 Tue Jul 21 23:06:12 2009 +0100 +++ b/acinclude.m4 Sun Jul 26 05:45:29 2009 +0100 @@ -791,7 +791,6 @@ AC_DEFUN([ENABLE_ZERO_BUILD], AC_SUBST(ZERO_ENDIANNESS) AC_SUBST(ZERO_ARCHDEF) AC_SUBST(ZERO_ARCHFLAG) - AC_CONFIG_FILES([platform_zero]) AC_CONFIG_FILES([jvm.cfg]) AC_CONFIG_FILES([ergo.c]) ]) diff -r c43b0d22e99b -r 7a7a1f3bff6c patches/cacao/arch.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/cacao/arch.patch Sun Jul 26 05:45:29 2009 +0100 @@ -0,0 +1,191 @@ +diff -Nru openjdk.orig/corba/make/common/Defs-linux.gmk openjdk/corba/make/common/Defs-linux.gmk +--- openjdk.orig/corba/make/common/Defs-linux.gmk 2009-07-24 00:15:26.000000000 +0100 ++++ openjdk/corba/make/common/Defs-linux.gmk 2009-07-24 00:19:32.000000000 +0100 +@@ -92,9 +92,19 @@ + # We need this frame pointer to make it easy to walk the stacks. + # This should be the default on X86, but ia64 and amd64 may not have this + # as the default. ++CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN + CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_hppa += + CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN + CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_m68k += ++CFLAGS_REQUIRED_mips += ++CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_ppc += -m32 ++CFLAGS_REQUIRED_ppc64 += -m64 ++CFLAGS_REQUIRED_s390 += ++CFLAGS_REQUIRED_s390x += -m64 + CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9 + LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 + CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 +diff -Nru openjdk.orig/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk +--- openjdk.orig/jdk/make/common/Defs-linux.gmk 2009-07-24 00:15:28.000000000 +0100 ++++ openjdk/jdk/make/common/Defs-linux.gmk 2009-07-24 00:19:32.000000000 +0100 +@@ -109,9 +109,19 @@ + # We need this frame pointer to make it easy to walk the stacks. + # This should be the default on X86, but ia64 and amd64 may not have this + # as the default. ++CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN + CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_hppa += + CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN + CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_m68k += ++CFLAGS_REQUIRED_mips += ++CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN ++CFLAGS_REQUIRED_ppc += -m32 ++CFLAGS_REQUIRED_ppc64 += -m64 ++CFLAGS_REQUIRED_s390 += ++CFLAGS_REQUIRED_s390x += -m64 + CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9 + LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 + CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 +diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk +--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2009-07-24 00:15:26.000000000 +0100 ++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2009-07-24 00:19:32.000000000 +0100 +@@ -71,6 +71,52 @@ + REQUIRED_CC_VER = 3.2 + REQUIRED_GCC_VER = 3.2.* + endif ++ ifeq ($(ARCH), alpha) ++ # alpha ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifeq ($(ARCH), amd64) ++ # amd64 ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifeq ($(ARCH), arm) ++ # arm ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifeq ($(ARCH), i586) ++ # i586 ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.1* ++ REQUIRED_GCC_VER_INT = 3.2.1-7a ++ endif ++ ifeq ($(ARCH), ia64) ++ # ia64 ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 2.9[56789].* ++ endif ++ ifneq ("$(findstring m68k,$(ARCH))", "") ++ # m68k ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifneq ("$(findstring mips,$(ARCH))", "") ++ # mips ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifneq ("$(findstring ppc,$(ARCH))", "") ++ # ppc or ppc64 ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif ++ ifneq ("$(findstring s390,$(ARCH))", "") ++ # s390 or s390x ++ REQUIRED_CC_VER = 3.2 ++ REQUIRED_GCC_VER = 3.2.* ++ endif + # Option used to create a shared library + SHARED_LIBRARY_FLAG = -shared -mimpure-text + SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 ) +diff -Nru openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk +--- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk 2009-07-15 17:35:01.000000000 +0100 ++++ openjdk/jdk/make/javax/sound/SoundDefs.gmk 2009-07-24 00:19:32.000000000 +0100 +@@ -58,10 +58,54 @@ + ifeq ($(ZERO_BUILD), true) + CPPFLAGS += -DX_ARCH=X_ZERO + else ++ ifeq ($(ARCH), alpha) ++ CPPFLAGS += -DX_ARCH=X_ALPHA ++ endif # ARCH alpha ++ ++ ifeq ($(ARCH), amd64) ++ CPPFLAGS += -DX_ARCH=X_AMD64 ++ endif # ARCH amd64 ++ ++ ifeq ($(ARCH), arm) ++ CPPFLAGS += -DX_ARCH=X_ARM ++ endif # ARCH arm ++ + ifeq ($(ARCH), i586) + CPPFLAGS += -DX_ARCH=X_I586 + endif # ARCH i586 + ++ ifeq ($(ARCH), ia64) ++ CPPFLAGS += -DX_ARCH=X_IA64 ++ endif # ARCH ia64 ++ ++ ifeq ($(ARCH), m68k) ++ CPPFLAGS += -DX_ARCH=X_M68K ++ endif # ARCH m68k ++ ++ ifeq ($(ARCH), mips) ++ CPPFLAGS += -DX_ARCH=X_MIPS ++ endif # ARCH mips ++ ++ ifeq ($(ARCH), mipsel) ++ CPPFLAGS += -DX_ARCH=X_MIPSEL ++ endif # ARCH mipsel ++ ++ ifeq ($(ARCH), ppc) ++ CPPFLAGS += -DX_ARCH=X_PPC ++ endif # ARCH ppc ++ ++ ifeq ($(ARCH), ppc64) ++ CPPFLAGS += -DX_ARCH=X_PPC64 ++ endif # ARCH ppc64 ++ ++ ifeq ($(ARCH), s390) ++ CPPFLAGS += -DX_ARCH=X_S390 ++ endif # ARCH s390 ++ ++ ifeq ($(ARCH), s390x) ++ CPPFLAGS += -DX_ARCH=X_S390X ++ endif # ARCH s390x ++ + ifeq ($(ARCH), sparc) + CPPFLAGS += -DX_ARCH=X_SPARC + endif # ARCH sparc +diff -Nru openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h +--- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2009-07-15 17:35:01.000000000 +0100 ++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 2009-07-24 00:19:32.000000000 +0100 +@@ -33,12 +33,21 @@ + #define X_LINUX 3 + + // types for X_ARCH +-#define X_I586 1 +-#define X_SPARC 2 +-#define X_SPARCV9 3 +-#define X_IA64 4 +-#define X_AMD64 5 +-#define X_ZERO 6 ++#define X_ALPHA 1 ++#define X_AMD64 2 ++#define X_ARM 3 ++#define X_I586 4 ++#define X_IA64 5 ++#define X_M68K 6 ++#define X_MIPS 7 ++#define X_MIPSEL 8 ++#define X_PPC 9 ++#define X_PPC64 10 ++#define X_S390 11 ++#define X_S390X 12 ++#define X_SPARC 13 ++#define X_SPARCV9 14 ++#define X_ZERO 15 + + // ********************************** + // Make sure you set X_PLATFORM and X_ARCH defines correctly. diff -r c43b0d22e99b -r 7a7a1f3bff6c patches/hotspot/default/icedtea-core-build.patch --- a/patches/hotspot/default/icedtea-core-build.patch Tue Jul 21 23:06:12 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make ---- openjdk.orig/hotspot/make/linux/makefiles/defs.make 2008-05-27 22:28:29.000000000 +0100 -+++ openjdk/hotspot/make/linux/makefiles/defs.make 2008-06-22 03:10:05.000000000 +0100 From ahughes at redhat.com Sun Jul 26 12:23:58 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Sun, 26 Jul 2009 19:23:58 +0000 Subject: changeset in /hg/icedtea: Bump to b66. Message-ID: changeset 0baf35fada62 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0baf35fada62 description: Bump to b66. 2009-07-26 Andrew John Hughes * Makefile.am: Bump to b66. diffstat: 2 files changed, 22 insertions(+), 17 deletions(-) ChangeLog | 5 +++++ Makefile.am | 34 +++++++++++++++++----------------- diffs (53 lines): diff -r 4532857a1523 -r 0baf35fada62 ChangeLog --- a/ChangeLog Sun Jul 26 06:47:36 2009 +0100 +++ b/ChangeLog Sun Jul 26 20:25:37 2009 +0100 @@ -1,3 +1,8 @@ 2009-07-26 Andrew John Hughes + + * Makefile.am: + Bump to b66. + 2009-07-26 Andrew John Hughes * javac.in: diff -r 4532857a1523 -r 0baf35fada62 Makefile.am --- a/Makefile.am Sun Jul 26 06:47:36 2009 +0100 +++ b/Makefile.am Sun Jul 26 20:25:37 2009 +0100 @@ -1,20 +1,20 @@ OPENJDK_VERSION = b65 -OPENJDK_VERSION = b65 - -OPENJDK_CHANGESET = 3f9b913a63a5 -CORBA_CHANGESET = 5bd83d1b2476 -JAXP_CHANGESET = 008c662e0ee9 -JAXWS_CHANGESET = 706c94322f68 -JDK_CHANGESET = 76242e1e7faf -LANGTOOLS_CHANGESET = 7e0056ded28c -HOTSPOT_CHANGESET = fa683fcb2628 - -OPENJDK_MD5SUM = 1b83ab007193ac11ace81777a9cf8b34 -CORBA_MD5SUM = c751d1140d3a5f777655b9b7cde41c9f -JAXP_MD5SUM = 5832f64d5469985060f0c16fbcbce574 -JAXWS_MD5SUM = c23b0c5e2140feb224cc04d0f8bc2768 -JDK_MD5SUM = 013f095e5d95f8fe9afb07353670fbc7 -LANGTOOLS_MD5SUM = eca84cbe43c9f0314baa46917463b2cf -HOTSPOT_MD5SUM = db12c9a6a0a61a1d783cd132aef59ba6 +OPENJDK_VERSION = b66 + +OPENJDK_CHANGESET = e7eeeda332ec +CORBA_CHANGESET = 1741ea5cb854 +JAXP_CHANGESET = 22f9d5d5b5fe +JAXWS_CHANGESET = 43c35a1df5cb +JDK_CHANGESET = 69ba5ca06a43 +LANGTOOLS_CHANGESET = 634f519d6f9a +HOTSPOT_CHANGESET = 945fcffdbcab + +OPENJDK_MD5SUM = 8f63dbb0dcd83d905e243c58d0135174 +CORBA_MD5SUM = 06ac898f583fc9eec179fc2d1dcb5c71 +JAXP_MD5SUM = 366dde7f9a1fa6436f48a64a8704dc20 +JAXWS_MD5SUM = 4fb20d6ee197e63dac567ad340532293 +JDK_MD5SUM = 8c54f71ff1f519440716c9d50e02468f +LANGTOOLS_MD5SUM = cd1389112baa1b2b24da95555345c1b9 +HOTSPOT_MD5SUM = ce3ab877df030cf4842001918898244e CACAO_VERSION = 0.99.4 CACAO_MD5SUM = 63220327925ace13756ae334c55a3baa From gbenson at redhat.com Mon Jul 27 01:24:03 2009 From: gbenson at redhat.com (Gary Benson) Date: Mon, 27 Jul 2009 09:24:03 +0100 Subject: changeset in /hg/icedtea: Bump to b65 and upstream Zero. In-Reply-To: References: Message-ID: <20090727082403.GA3243@redhat.com> Andrew John Hughes wrote: > changeset 7a7a1f3bff6c in /hg/icedtea > details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7a7a1f3bff6c > description: ... > Zero now upstream. Did I miss something? Cheers, Gary -- http://gbenson.net/ From gnu_andrew at member.fsf.org Mon Jul 27 07:06:18 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 27 Jul 2009 15:06:18 +0100 Subject: changeset in /hg/icedtea: Bump to b65 and upstream Zero. In-Reply-To: <20090727082403.GA3243@redhat.com> References: <20090727082403.GA3243@redhat.com> Message-ID: <17c6771e0907270706v578cb6d4h3eaa40643becb274@mail.gmail.com> 2009/7/27 Gary Benson : > Andrew John Hughes wrote: >> changeset 7a7a1f3bff6c in /hg/icedtea >> details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7a7a1f3bff6c >> description: > ... >> ? ? ? ? ? ? ? Zero now upstream. > > Did I miss something? > > Cheers, > Gary > > -- > http://gbenson.net/ > Upstream as in it's in the IcedTea7 forest with your new patch. Nothing more exciting, sorry. It does mean the patch should get some more testing, and any changes should be easy enough to merge in. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From omajid at redhat.com Mon Jul 27 09:28:05 2009 From: omajid at redhat.com (Omair Majid) Date: Mon, 27 Jul 2009 12:28:05 -0400 Subject: RFC: Netx - Support adding desktop shortcuts for JNLP Application Message-ID: <4A6DD595.6030007@redhat.com> Hi, The attached patch allows Netx to add desktop shortcut for webstart applications. I am not very happy with the package for the DesktopEntry class. It's not part of the core of JNLP so net.sourceforge.jnlp doesnt seem like the best place to put it. On the other hand, there doesnt seem to be anything more suitable. The current functionality is pretty FreeDesktop.org specific. Would it make more sense to put this class in a (new) net.sourforge.jnlp.freedesktop subpackage? Another issue is that it requires xdg-desktop-icon to to install the desktop file it creates. Is there a way to express this dependency somewhere? ChangeLog: 2009-07-27 Omair Majid * rt/net/sourceforge/jnlp/DesktopEntry.java: New file. * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. * rt/net/sourceforge/jnlp/Launcher.java: Move StreamEater class to.. * rt/net/sourceforge/jnlp/StreamEater.java: New file. * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java (initialize): Call addMenuAndDesktopEntries. (addMenuAndDesktopEntries): New function. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-desktop-shortcut.patch Type: text/x-patch Size: 11585 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090727/599a2fad/netx-desktop-shortcut.patch From gbenson at redhat.com Tue Jul 28 05:19:26 2009 From: gbenson at redhat.com (Gary Benson) Date: Tue, 28 Jul 2009 13:19:26 +0100 Subject: Removing support for LLVM 2.4 on AMD64 from Shark Message-ID: <20090728121926.GA3268@redhat.com> Hi all, SharkBuilder, which I'm currently refactoring, contains a workaround for a bug in LLVM 2.4, http://www.llvm.org/bugs/show_bug.cgi?id=2920, that has been fixed in LLVM 2.5. Does anybody object to my removing this workaround? Cheers, Gary -- http://gbenson.net/ From ptisnovs at redhat.com Tue Jul 28 05:37:32 2009 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Tue, 28 Jul 2009 14:37:32 +0200 Subject: IcedTea6 compilation failed on F12 (rawhide) with glibc 2.10.90 Message-ID: <4A6EF10C.2010508@redhat.com> OS: Fedora12 64bit (rawhide) glibc: 2.10.90 gcc: 4.4.1 IcedTea6 compilation failed with this error message: /usr/bin/gcc -O3 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN -g -DJDK_MAJOR_VERSION='"1"' -DJDK_MINOR_VERSION='"6"' -DJDK_MICRO_VERSION='"0"' -DJDK_BUILD_NUMBER='"b16"' -DJDK_UPDATE_VERSION='"0"' -D_amd64_ -Damd64 -DARCH='"amd64"' -DLINUX -DRELEASE='"1.6.0_0"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_LP64=1 -I. -I/jck/icedtea6/openjdk-ecj/build/linux-amd64/tmp/java/java.lang/java/CClassHeaders -I../../../src/solaris/javavm/export -I../../../src/share/javavm/export -I../../../src/share/javavm/include -I../../../src/solaris/javavm/include -I../../../src/share/native/java/lang/fdlibm/include -I../../../src/share/native/java/io -I../../../src/solaris/native/java/io -I../../../src/solaris/native/java/util -I../../../src/share/native/common -I../../../src/solaris/native/common -I../../../src/share/native/java/lang -I../../../src/solaris/native/java/lang -DRELEASE='"1.6.0_0"' -DARCHPROPNAME='"amd64"' -DALT_CODESET_KEY=_NL_CTYPE_CODESET_NAME -c -o /jck/icedtea6/openjdk-ecj/build/linux-amd64/tmp/java/java.lang/java/obj64/UnixFileSystem_md.o ../../../src/solaris/native/java/io/UnixFileSystem_md.c ../../../src/solaris/native/java/lang/UNIXProcess_md.c:428: error: conflicting types for 'execvpe' /usr/include/unistd.h:557: note: previous declaration of 'execvpe' was here make[5]: *** [/jck/icedtea6/openjdk-ecj/build/linux-amd64/tmp/java/java.lang/java/obj64/UNIXProcess_md.o] Error 1 This bug is possibly patched by: http://cvs.fedoraproject.org/viewvc/devel/java-1.6.0-openjdk/java-1.6.0-openjdk-execvpe.patch?view=log but the patch is not yet backported to IcedTed6. Pavel T. From omajid at redhat.com Tue Jul 28 09:14:06 2009 From: omajid at redhat.com (Omair Majid) Date: Tue, 28 Jul 2009 12:14:06 -0400 Subject: RFC: Netx - Support adding desktop shortcuts for JNLP Application In-Reply-To: <4A6DD595.6030007@redhat.com> References: <4A6DD595.6030007@redhat.com> Message-ID: <4A6F23CE.1050909@redhat.com> Omair Majid wrote: > Hi, > > The attached patch allows Netx to add desktop shortcut for webstart > applications. > After some offline feedback from Deepak, here is the updated version. If the JNLP file wants a desktop shortcut, it checks if the application is signed or not, and prompts the user if required. ChangeLog: 2009-07-28 Omair Majid * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. * rt/net/sourceforge/jnlp/Launcher.java: Move StreamEater class to ... * rt/net/sourceforge/jnlp/StreamEater.java: New file. * rt/net/sourceforge/jnlp/resources/Messages.properties: Add SDesktopShortcut. * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java (initialize): Call addMenuAndDesktopEntries. (addMenuAndDesktopEntries): New function. * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Add CREATE_DESKTOP_SHORTCUT to AccessType. * rt/net/sourceforge/jnlp/security/AccessWarningPane.java (installComponents): Add a case for CREATE_DESKTOP_SHORTCUT * rt/net/sourceforge/jnlp/services/ServiceUtil.java Remove duplicate enum AccessType. (checkAccess): New function. (checkAccess): Add a new argument app. * rt/net/sourceforge/jnlp/services/SingleInstanceLock.java (getLockFileName): Call FileUtils.sanitizeFileName to sanitize the file name. * rt/net/sourceforge/jnlp/util/FileUtils.java: New file. * rt/net/sourceforge/jnlp/util/XDesktopEntry.java: New file. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-desktop-shortcut-2.patch Type: text/x-patch Size: 18376 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090728/97363019/netx-desktop-shortcut-2.patch From dbhole at redhat.com Tue Jul 28 11:38:50 2009 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 28 Jul 2009 14:38:50 -0400 Subject: RFC: Netx - Support adding desktop shortcuts for JNLP Application In-Reply-To: <4A6F23CE.1050909@redhat.com> References: <4A6DD595.6030007@redhat.com> <4A6F23CE.1050909@redhat.com> Message-ID: <20090728183850.GA10065@redhat.com> * Omair Majid [2009-07-28 12:14]: > Omair Majid wrote: >> Hi, >> >> The attached patch allows Netx to add desktop shortcut for webstart >> applications. >> > > After some offline feedback from Deepak, here is the updated version. If > the JNLP file wants a desktop shortcut, it checks if the application is > signed or not, and prompts the user if required. > Looks good to me! Deepak > ChangeLog: > 2009-07-28 Omair Majid > > * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. > * rt/net/sourceforge/jnlp/Launcher.java: Move StreamEater class to ... > * rt/net/sourceforge/jnlp/StreamEater.java: New file. > * rt/net/sourceforge/jnlp/resources/Messages.properties: Add > SDesktopShortcut. > * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java > (initialize): Call addMenuAndDesktopEntries. > (addMenuAndDesktopEntries): New function. > * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Add > CREATE_DESKTOP_SHORTCUT to AccessType. > * rt/net/sourceforge/jnlp/security/AccessWarningPane.java > (installComponents): Add a case for CREATE_DESKTOP_SHORTCUT > * rt/net/sourceforge/jnlp/services/ServiceUtil.java > Remove duplicate enum AccessType. > (checkAccess): New function. > (checkAccess): Add a new argument app. > * rt/net/sourceforge/jnlp/services/SingleInstanceLock.java > (getLockFileName): Call FileUtils.sanitizeFileName to sanitize the > file name. > * rt/net/sourceforge/jnlp/util/FileUtils.java: New file. > * rt/net/sourceforge/jnlp/util/XDesktopEntry.java: New file. > > Any comments? > > Cheers, > Omair > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/IconDesc.java > --- a/rt/net/sourceforge/jnlp/IconDesc.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/IconDesc.java Tue Jul 28 11:40:53 2009 -0400 > @@ -43,6 +43,9 @@ > > /** splash icon */ > public static final Object SPLASH = "splash"; > + > + /** destop shortcut icon */ > + public static final Object SHORTCUT = "shortcut"; > > > /** the location of the icon */ > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/Launcher.java > --- a/rt/net/sourceforge/jnlp/Launcher.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/Launcher.java Tue Jul 28 11:40:53 2009 -0400 > @@ -770,32 +770,6 @@ > } > }; > > - /** > - * This class reads the output from a launched process and > - * writes it to stdout. > - */ > - private static class StreamEater extends Thread { > - private InputStream stream; > - > - StreamEater(InputStream stream) { > - this.stream = new BufferedInputStream(stream); > - } > - > - public void run() { > - try { > - while (true) { > - int c = stream.read(); > - if (c == -1) > - break; > - > - System.out.write(c); > - } > - } > - catch (IOException ex) { > - } > - } > - }; > - > } > > > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/StreamEater.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/rt/net/sourceforge/jnlp/StreamEater.java Tue Jul 28 11:40:53 2009 -0400 > @@ -0,0 +1,45 @@ > +// Copyright (C) 2001-2003 Jon A. Maxwell (JAM) > +// > +// This library is free software; you can redistribute it and/or > +// modify it under the terms of the GNU Lesser General Public > +// License as published by the Free Software Foundation; either > +// version 2.1 of the License, or (at your option) any later version. > +// > +// This library is distributed in the hope that it will be useful, > +// but WITHOUT ANY WARRANTY; without even the implied warranty of > +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +// Lesser General Public License for more details. > +// > +// You should have received a copy of the GNU Lesser General Public > +// License along with this library; if not, write to the Free Software > +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > + > +package net.sourceforge.jnlp; > + > +import java.io.BufferedInputStream; > +import java.io.IOException; > +import java.io.InputStream; > + > +/** > + * This class reads the output from a launched process and writes it to stdout. > + */ > +public class StreamEater extends Thread { > + private InputStream stream; > + > + public StreamEater(InputStream stream) { > + this.stream = new BufferedInputStream(stream); > + } > + > + public void run() { > + try { > + while (true) { > + int c = stream.read(); > + if (c == -1) > + break; > + > + System.out.write(c); > + } > + } catch (IOException ex) { > + } > + } > +} > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/resources/Messages.properties > --- a/rt/net/sourceforge/jnlp/resources/Messages.properties Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties Tue Jul 28 11:40:53 2009 -0400 > @@ -147,6 +147,7 @@ > # Security > SFileReadAccess=The application has requested read access to a file on the machine. Do you want to allow this action? > SFileWriteAccess=The application has requested write access to a file on the machine. Do you want to allow this action? > +SDesktopShortcut=The application has requested permission to create a desktop launcher. Do you want to allow this action? > SSigUnverified=The application's digital signature cannot be verified. Do you want to run the application? > SSigVerified=The application's digital signature has been verified. Do you want to run the application? > SSignatureError=The application's digital signature has an error. Do you want to run the application? > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java > --- a/rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java Tue Jul 28 11:40:53 2009 -0400 > @@ -25,6 +25,8 @@ > > import net.sourceforge.jnlp.*; > import net.sourceforge.jnlp.event.*; > +import net.sourceforge.jnlp.security.SecurityWarningDialog.AccessType; > +import net.sourceforge.jnlp.services.ServiceUtil; > import net.sourceforge.jnlp.util.*; > > /** > @@ -107,6 +109,32 @@ > */ > public void initialize() { > installEnvironment(); > + addMenuAndDesktopEntries(); > + } > + > + /** > + * Creates menu and desktop entries if required by the jnlp file > + */ > + > + private void addMenuAndDesktopEntries() { > + XDesktopEntry entry = new XDesktopEntry(file); > + > + if (file.getInformation().getShortcut().onDesktop()) { > + if (ServiceUtil.checkAccess(this, AccessType.CREATE_DESTKOP_SHORTCUT)) { > + entry.createDesktopShortcut(); > + } > + } > + > + if (file.getInformation().getShortcut().getMenu() != null) { > + /* > + * Sun's WebStart implementation doesnt seem to do anything under GNOME > + */ > + if (JNLPRuntime.isDebug()) { > + System.err.println("ApplicationInstance.addMenuAndDesktopEntries():" > + + " Adding menu entries NOT IMPLEMENTED"); > + } > + } > + > } > > /** > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/security/AccessWarningPane.java > --- a/rt/net/sourceforge/jnlp/security/AccessWarningPane.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/security/AccessWarningPane.java Tue Jul 28 11:40:53 2009 -0400 > @@ -121,6 +121,9 @@ > case WRITE_FILE: > topLabelText = R("SFileWriteAccess"); > break; > + case CREATE_DESTKOP_SHORTCUT: > + topLabelText = R("SDesktopShortcut"); > + break; > case CLIPBOARD_READ: > topLabelText = R("SClipboardReadAccess"); > break; > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java > --- a/rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java Tue Jul 28 11:40:53 2009 -0400 > @@ -70,6 +70,7 @@ > public static enum AccessType { > READ_FILE, > WRITE_FILE, > + CREATE_DESTKOP_SHORTCUT, > CLIPBOARD_READ, > CLIPBOARD_WRITE, > PRINTER, > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/services/ServiceUtil.java > --- a/rt/net/sourceforge/jnlp/services/ServiceUtil.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/services/ServiceUtil.java Tue Jul 28 11:40:53 2009 -0400 > @@ -57,13 +57,6 @@ > } > > /** > - * Types of system access that may need permissions. > - */ > - public static enum AccessType { > - READ_FILE, WRITE_FILE, CLIPBOARD_READ, CLIPBOARD_WRITE, PRINTER > - } > - > - /** > * Returns the BasicService reference, or null if the service is > * unavailable. > */ > @@ -227,9 +220,29 @@ > * @return true if the access was granted, false otherwise. > */ > public static boolean checkAccess(SecurityWarningDialog.AccessType type, > + Object... extras) { > + return checkAccess(null, type, extras); > + } > + > + /** > + * Returns whether the app requesting a service is signed. If the app is > + * unsigned, the user is prompted with a dialog asking if the action > + * should be allowed. > + * @param app the application which is requesting the check. If null, the current > + * application is used. > + * @param type the type of access being requested > + * @param extras extra Strings (usually) that are passed to the dialog for > + * message formatting. > + * @return true if the access was granted, false otherwise. > + */ > + public static boolean checkAccess(ApplicationInstance app, > + SecurityWarningDialog.AccessType type, > Object... extras) { > > - ApplicationInstance app = JNLPRuntime.getApplication(); > + if (app == null) { > + app = JNLPRuntime.getApplication(); > + } > + > if (app != null) { > if (!app.isSigned()) { > final SecurityWarningDialog.AccessType tmpType = type; > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/services/SingleInstanceLock.java > --- a/rt/net/sourceforge/jnlp/services/SingleInstanceLock.java Thu Jul 23 11:39:18 2009 -0400 > +++ b/rt/net/sourceforge/jnlp/services/SingleInstanceLock.java Tue Jul 28 11:40:53 2009 -0400 > @@ -27,6 +27,7 @@ > > import net.sourceforge.jnlp.JNLPFile; > import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.util.FileUtils; > > /** > * This class represents a Lock for single instance jnlp applications > @@ -152,17 +153,7 @@ > } > > initialName = initialName + getCurrentDisplay(); > - String encodedName; > - > - /* > - * FIXME > - * > - * Assuming safe characters are 'a-z','A-Z','0-9', '_', '.' > - */ > - > - encodedName = initialName.replaceAll("[^a-zA-Z0-9.]", "_"); > - > - return encodedName; > + return FileUtils.sanitizeFileName(initialName); > > } > > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/util/FileUtils.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/rt/net/sourceforge/jnlp/util/FileUtils.java Tue Jul 28 11:40:53 2009 -0400 > @@ -0,0 +1,48 @@ > +// Copyright (C) 2009 Red Hat, Inc. > +// > +// This library is free software; you can redistribute it and/or > +// modify it under the terms of the GNU Lesser General Public > +// License as published by the Free Software Foundation; either > +// version 2.1 of the License, or (at your option) any later version. > +// > +// This library is distributed in the hope that it will be useful, > +// but WITHOUT ANY WARRANTY; without even the implied warranty of > +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +// Lesser General Public License for more details. > +// > +// You should have received a copy of the GNU Lesser General Public > +// License along with this library; if not, write to the Free Software > +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > + > + > +package net.sourceforge.jnlp.util; > + > +/** > + * This class contains a few file-related utility functions. > + * > + * @author Omair Majid > + */ > + > +public class FileUtils { > + > + > + /** > + * Given an input, return a sanitized form of the input suitable for use as > + * a file/directory name > + * > + * @param input > + * @return a sanitized version of the input > + */ > + public static String sanitizeFileName(String input) { > + > + /* > + * FIXME > + * > + * Assuming safe characters are 'a-z','A-Z','0-9', '_', '.' > + */ > + > + String sanitizedName = input.replaceAll("[^a-zA-Z0-9.]", "_"); > + return sanitizedName; > + } > + > +} > diff -r 4ec5e065fb53 rt/net/sourceforge/jnlp/util/XDesktopEntry.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/rt/net/sourceforge/jnlp/util/XDesktopEntry.java Tue Jul 28 11:40:53 2009 -0400 > @@ -0,0 +1,210 @@ > +// Copyright (C) 2009 Red Hat, Inc. > +// > +// This library is free software; you can redistribute it and/or > +// modify it under the terms of the GNU Lesser General Public > +// License as published by the Free Software Foundation; either > +// version 2.1 of the License, or (at your option) any later version. > +// > +// This library is distributed in the hope that it will be useful, > +// but WITHOUT ANY WARRANTY; without even the implied warranty of > +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > +// Lesser General Public License for more details. > +// > +// You should have received a copy of the GNU Lesser General Public > +// License along with this library; if not, write to the Free Software > +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > + > +package net.sourceforge.jnlp.util; > + > +import java.io.File; > +import java.io.FileNotFoundException; > +import java.io.FileOutputStream; > +import java.io.IOException; > +import java.io.OutputStreamWriter; > +import java.io.Reader; > +import java.io.StringReader; > +import java.net.URL; > +import java.nio.charset.Charset; > +import java.util.Arrays; > + > +import net.sourceforge.jnlp.IconDesc; > +import net.sourceforge.jnlp.JNLPFile; > +import net.sourceforge.jnlp.StreamEater; > +import net.sourceforge.jnlp.cache.CacheUtil; > +import net.sourceforge.jnlp.cache.UpdatePolicy; > +import net.sourceforge.jnlp.runtime.JNLPRuntime; > + > +/** > + * This class builds a (freedesktop.org) desktop entry out of a {@link JNLPFile} > + * . This entry can be used to install desktop shortcuts. See xdg-desktop-icon > + * (1) and http://standards.freedesktop.org/desktop-entry-spec/latest/ for more > + * information > + * > + * @author Omair Majid > + * > + */ > +public class XDesktopEntry { > + > + public static final String JAVA_ICON_NAME = "java.png"; > + > + private JNLPFile file = null; > + private int iconSize = -1; > + private String iconLocation = null; > + > + private int[] VALID_ICON_SIZES = new int[] { 16, 22, 32, 48, 64, 128 }; > + > + /** > + * Create a XDesktopEntry for the given JNLP file > + * > + * @param file a {@link JNLPFile} that indicates the application to launch > + */ > + public XDesktopEntry(JNLPFile file) { > + this.file = file; > + > + /* looks like a good initial value */ > + iconSize = VALID_ICON_SIZES[2]; > + } > + > + /** > + * Returns the contents of the {@link XDesktopEntry} through the > + * {@link Reader} interface. > + */ > + public Reader getContentsAsReader() { > + > + String pathToJavaws = System.getProperty("java.home") + File.separator + "bin" > + + File.separator + "javaws"; > + > + String fileContents = "[Desktop Entry]\n"; > + fileContents += "Version=1.0\n"; > + fileContents += "Name=" + file.getTitle() + "\n"; > + fileContents += "GenericName=Java Web Start Application\n"; > + fileContents += "Comment=" + file.getInformation().getDescription() + "\n"; > + fileContents += "Type=Application\n"; > + if (iconLocation != null) { > + fileContents += "Icon=" + iconLocation + "\n"; > + } else { > + fileContents += "Icon=" + JAVA_ICON_NAME + "\n"; > + > + } > + if (file.getInformation().getVendor() != null) { > + fileContents += "Vendor=" + file.getInformation().getVendor() + "\n"; > + } > + fileContents += "Exec=" + pathToJavaws + " \"" + file.getSourceLocation() + "\"\n"; > + > + return new StringReader(fileContents); > + > + } > + > + /** > + * Get the size of the icon (in pixels) for the desktop shortcut > + */ > + public int getIconSize() { > + return iconSize; > + } > + > + /** > + * Set the icon size to use for the desktop shortcut > + * > + * @param size the size (in pixels) of the icon to use. Commonly used sizes > + * are of 16, 22, 32, 48, 64 and 128 > + */ > + public void setIconSize(int size) { > + iconSize = size; > + } > + > + /** > + * Create a desktop shortcut for this desktop entry > + */ > + public void createDesktopShortcut() { > + try { > + cacheIcon(); > + installDesktopLauncher(); > + } catch (Exception e) { > + e.printStackTrace(); > + } > + } > + > + /** > + * Install this XDesktopEntry into the user's desktop as a launcher > + */ > + private void installDesktopLauncher() { > + File shortcutFile = new File(JNLPRuntime.TMP_DIR + File.separator > + + FileUtils.sanitizeFileName(file.getTitle()) + ".desktop"); > + try { > + > + /* > + * Write out a Java String (UTF-16) as a UTF-8 file > + */ > + > + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(shortcutFile), > + Charset.forName("UTF-8")); > + Reader reader = getContentsAsReader(); > + > + char[] buffer = new char[1024]; > + int ret = 0; > + while (-1 != (ret = reader.read(buffer))) { > + writer.write(buffer, 0, ret); > + } > + > + reader.close(); > + writer.close(); > + > + /* > + * Install the desktop entry > + */ > + > + String[] execString = new String[] { "xdg-desktop-icon", "install", "--novendor", > + shortcutFile.getCanonicalPath() }; > + if (JNLPRuntime.isDebug()) { > + System.err.println("Execing: " + Arrays.toString(execString)); > + } > + Process installer = Runtime.getRuntime().exec(execString); > + new StreamEater(installer.getInputStream()).start(); > + new StreamEater(installer.getErrorStream()).start(); > + > + try { > + installer.waitFor(); > + } catch (InterruptedException e) { > + e.printStackTrace(); > + } > + > + if (!shortcutFile.delete()) { > + throw new IOException("Unable to delete temporary file:" + shortcutFile); > + } > + > + } catch (FileNotFoundException e) { > + e.printStackTrace(); > + } catch (IOException e) { > + e.printStackTrace(); > + } > + } > + > + /** > + * Cache the icon for the desktop entry > + */ > + private void cacheIcon() { > + > + URL iconLocation = file.getInformation().getIconLocation(IconDesc.SHORTCUT, iconSize, > + iconSize); > + > + if (iconLocation == null) { > + iconLocation = file.getInformation().getIconLocation(IconDesc.DEFAULT, iconSize, > + iconSize); > + } > + > + if (iconLocation != null) { > + String location = CacheUtil.getCachedResource(iconLocation, null, UpdatePolicy.SESSION) > + .toString(); > + if (!location.startsWith("file:")) { > + throw new RuntimeException("Unable to cache icon"); > + } > + > + this.iconLocation = location.substring("file:".length()); > + > + if (JNLPRuntime.isDebug()) { > + System.err.println("Cached desktop shortcut icon: " + this.iconLocation); > + } > + } > + } > + > +} From gnu_andrew at member.fsf.org Wed Jul 29 08:14:34 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 29 Jul 2009 16:14:34 +0100 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <4A7066B2.7050905@sun.com> References: <20090722214810.175B451B@eggemoggin.niobe.net> <20090723152650.1C8206F6@eggemoggin.niobe.net> <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> <4A7066B2.7050905@sun.com> Message-ID: <17c6771e0907290814sa8aa2b7hf075217d0ca2c922@mail.gmail.com> 2009/7/29 Daniel D. Daugherty : > Andrew John Hughes wrote: > > 2009/7/23 Mark Reinhold : > > > From: Mark Reinhold > Date: Wed, 22 Jul 2009 14:48:10 -0700 > > > ... > > Your repo looks fine to me -- thanks for creating it. > > Shall I go ahead and replace the current jdk6/hotspot repo with this? > (That is, does anyone have any concerns?) > > > Here's something (perhaps) to be concerned about: A recently-reported > regression in Sun's proprietary 6u14 (and hence also in hsx14) causes > debugging breakpoints to be ignored in some circumstances. ?The bug is > reproducible with both the client and server VMs, but only using the > serial GC. > > The primary Sun bugid is 6862295 [1]; see also the downstream bug first > reported in Eclipse [2]. ?Dan Daugherty is working on a fix, which we'll > publish when available, but in the meantime hsx14 has this bug. > > Is the existence of this bug in hsx14 a reason to delay replacing the > current jdk6/hotspot repo with Andrew's newer version? ?Let me know. > > - Mark > > > [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6862295 > [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137 > > > > It's a concern, no doubt about that, but not moving to hs14 because of > it is a bit like shutting the stable door after the horse has bolted; > both IcedTea and Sun's proprietary releases have been shipping hs14 > for some time. I think the better course of action is to get the > patch in as soon as it is available and then roll it out in new > releases. > > Besides, the proposed update doesn't (yet) move OpenJDK6 to HotSpot > 14. It rebases the repository so it's now at revision 0 of the > current HotSpot7 repositories (plus the OpenJDK6 fixes), allowing > changesets from the hs14 master and also the main HotSpot7 repository > to be merged (as they all then have a common parent). This is > actually hs12b0 I believe (from b24 of OpenJDK7). > > > The fix for 6862295 was pushed to the hotspot-rt repo for HSX-16 > last night; it should be integrated in HSX-16-B08. I have the > same fix queued up for HSX-14.1 or HSX-14.2 depending on whether > the fix is approved for 6u15 or 6u16. > > I also have the fix ready for the > http://hg.openjdk.java.net/jdk6/jdk6/hotspot repo. The only odd > thing I see is that the changeset ID is different for openjdk6 > version: > > changeset:?? 58:52f2c77b32e1 > tag:???????? tip > user:??????? dcubed > date:??????? Tue Jul 28 13:35:00 2009 -0600 > files:?????? src/share/vm/memory/genCollectedHeap.cpp > src/share/vm/prims/jvmtiExport.cpp src/share/vm/runtime/globals.hpp > description: > 6862295: JDWP threadid changes during debugging session (leading to ingored > breakpoints) > Summary: Correctly count full GC operations for framework collectors. Add > ForceFullGCJVMTIEpilogues as a future work around if needed. > Reviewed-by: jcoomes, alanb, ysr > > > Here is the changeset from the HSX-14.[12] and HSX-16 versions: > > changeset:?? 558:2b4230d1e589 > parent:????? 501:26bc4770e671 > user:??????? dcubed > date:??????? Tue Jul 28 13:35:00 2009 -0600 > files:?????? src/share/vm/memory/genCollectedHeap.cpp > src/share/vm/prims/jvmtiExport.cpp src/share/vm/runtime/globals.hpp > description: > 6862295: JDWP threadid changes during debugging session (leading to ingored > breakpoints) > Summary: Correctly count full GC operations for framework collectors. Add > ForceFullGCJVMTIEpilogues as a future work around if needed. > Reviewed-by: jcoomes, alanb, ysr > > > I used "hg export" from the HSX-14.1 version to generate the > patch for the openjdk6 version and I used "hg import" on the > patch file. I expected the changeset ID to be the same. > > For the HSX-14.[12] and HSX-16 versions, I found the common > ancestor changeset (501:26bc4770e671), made the changes > relative to that changeset and merged the changes forward > to each release's repo. The common changeset for HSX-14.1 > and openjdk6 goes all the way back to changeset 1. Ouch! > > Maybe there's a better way to do this... > > Dan > > P.S. > What's the process for getting the fix into openjdk6? > Hi Dan, As I mentioned in my last mail, OpenJDK6's repo is still as it was before: at hs12b0. It and the other HotSpot repositories now have a common ancestor, but it's not yet a copy of hs14. I plan to post a webrev moving it forward to hs14 (via a pull from hs14/master). It might be easier to just wait until this is applied, or, if the patch you mention is already in hs14/master it will get applied as part of this merge anyway. Hope that helps, -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From omajid at redhat.com Wed Jul 29 08:18:45 2009 From: omajid at redhat.com (Omair Majid) Date: Wed, 29 Jul 2009 15:18:45 +0000 Subject: changeset in /hg/icedtea6: Netx: prompt the user fewer times for... Message-ID: changeset 090e738a38e7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=090e738a38e7 description: Netx: prompt the user fewer times for https certificate issues diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 2 +- diffs (24 lines): diff -r 4ec5e065fb53 -r 090e738a38e7 ChangeLog --- a/ChangeLog Thu Jul 23 11:39:18 2009 -0400 +++ b/ChangeLog Wed Jul 29 10:48:43 2009 -0400 @@ -1,3 +1,8 @@ 2009-07-23 Deepak Bhole + + * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java + (checkServerTrusted): Synchronize the function. + 2009-07-23 Deepak Bhole * plugin/icedteanp/IcedTeaJavaRequestProcessor.c: Added support for diff -r 4ec5e065fb53 -r 090e738a38e7 rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java Thu Jul 23 11:39:18 2009 -0400 +++ b/rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java Wed Jul 29 10:48:43 2009 -0400 @@ -143,7 +143,7 @@ public class VariableX509TrustManager im * @param authType The auth type algorithm * @param checkOnly Whether to "check only" i.e. no user prompt, or to prompt for permission */ - public void checkServerTrusted(X509Certificate[] chain, String authType, boolean checkOnly) throws CertificateException { + public synchronized void checkServerTrusted(X509Certificate[] chain, String authType, boolean checkOnly) throws CertificateException { try { checkAllManagers(chain, authType); } catch (CertificateException ce) { From omajid at redhat.com Wed Jul 29 08:18:45 2009 From: omajid at redhat.com (Omair Majid) Date: Wed, 29 Jul 2009 15:18:45 +0000 Subject: changeset in /hg/icedtea6: Netx: add support for desktop shortcuts Message-ID: changeset ff01867e1a2a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ff01867e1a2a description: Netx: add support for desktop shortcuts 2009-07-29 Omair Majid * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. * rt/net/sourceforge/jnlp/Launcher.java: Move StreamEater class to ... * rt/net/sourceforge/jnlp/StreamEater.java: New file. * rt/net/sourceforge/jnlp/resources/Messages.properties: Add SDesktopShortcut. * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java (initialize): Call addMenuAndDesktopEntries. (addMenuAndDesktopEntries): New function. * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Add CREATE_DESKTOP_SHORTCUT to AccessType. * rt/net/sourceforge/jnlp/security/AccessWarningPane.java (installComponents): Add a case for CREATE_DESKTOP_SHORTCUT * rt/net/sourceforge/jnlp/services/ServiceUtil.java Remove duplicate enum AccessType. (checkAccess): New function. (checkAccess): Add a new argument app. * rt/net/sourceforge/jnlp/services/SingleInstanceLock.java (getLockFileName): Call FileUtils.sanitizeFileName to sanitize the filename. * rt/net/sourceforge/jnlp/util/FileUtils.java: New file. * rt/net/sourceforge/jnlp/util/XDesktopEntry.java: New file. diffstat: 12 files changed, 386 insertions(+), 45 deletions(-) ChangeLog | 24 + rt/net/sourceforge/jnlp/IconDesc.java | 3 rt/net/sourceforge/jnlp/Launcher.java | 26 - rt/net/sourceforge/jnlp/StreamEater.java | 45 ++ rt/net/sourceforge/jnlp/resources/Messages.properties | 1 rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 28 + rt/net/sourceforge/jnlp/security/AccessWarningPane.java | 3 rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java | 1 rt/net/sourceforge/jnlp/services/ServiceUtil.java | 29 + rt/net/sourceforge/jnlp/services/SingleInstanceLock.java | 13 rt/net/sourceforge/jnlp/util/FileUtils.java | 48 ++ rt/net/sourceforge/jnlp/util/XDesktopEntry.java | 210 +++++++++++ diffs (truncated from 553 to 500 lines): diff -r 090e738a38e7 -r ff01867e1a2a ChangeLog --- a/ChangeLog Wed Jul 29 10:48:43 2009 -0400 +++ b/ChangeLog Wed Jul 29 10:57:38 2009 -0400 @@ -1,3 +1,27 @@ 2009-07-29 Omair Majid + + * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. + * rt/net/sourceforge/jnlp/Launcher.java: Move StreamEater class to ... + * rt/net/sourceforge/jnlp/StreamEater.java: New file. + * rt/net/sourceforge/jnlp/resources/Messages.properties: Add + SDesktopShortcut. + * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java + (initialize): Call addMenuAndDesktopEntries. + (addMenuAndDesktopEntries): New function. + * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Add + CREATE_DESKTOP_SHORTCUT to AccessType. + * rt/net/sourceforge/jnlp/security/AccessWarningPane.java + (installComponents): Add a case for CREATE_DESKTOP_SHORTCUT + * rt/net/sourceforge/jnlp/services/ServiceUtil.java + Remove duplicate enum AccessType. + (checkAccess): New function. + (checkAccess): Add a new argument app. + * rt/net/sourceforge/jnlp/services/SingleInstanceLock.java + (getLockFileName): Call FileUtils.sanitizeFileName to sanitize the + filename. + * rt/net/sourceforge/jnlp/util/FileUtils.java: New file. + * rt/net/sourceforge/jnlp/util/XDesktopEntry.java: New file. + 2009-07-29 Omair Majid * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/IconDesc.java --- a/rt/net/sourceforge/jnlp/IconDesc.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/IconDesc.java Wed Jul 29 10:57:38 2009 -0400 @@ -43,6 +43,9 @@ public class IconDesc { /** splash icon */ public static final Object SPLASH = "splash"; + + /** destop shortcut icon */ + public static final Object SHORTCUT = "shortcut"; /** the location of the icon */ diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/Launcher.java --- a/rt/net/sourceforge/jnlp/Launcher.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/Launcher.java Wed Jul 29 10:57:38 2009 -0400 @@ -770,32 +770,6 @@ public class Launcher { } }; - /** - * This class reads the output from a launched process and - * writes it to stdout. - */ - private static class StreamEater extends Thread { - private InputStream stream; - - StreamEater(InputStream stream) { - this.stream = new BufferedInputStream(stream); - } - - public void run() { - try { - while (true) { - int c = stream.read(); - if (c == -1) - break; - - System.out.write(c); - } - } - catch (IOException ex) { - } - } - }; - } diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/StreamEater.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/net/sourceforge/jnlp/StreamEater.java Wed Jul 29 10:57:38 2009 -0400 @@ -0,0 +1,45 @@ +// Copyright (C) 2001-2003 Jon A. Maxwell (JAM) +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +package net.sourceforge.jnlp; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * This class reads the output from a launched process and writes it to stdout. + */ +public class StreamEater extends Thread { + private InputStream stream; + + public StreamEater(InputStream stream) { + this.stream = new BufferedInputStream(stream); + } + + public void run() { + try { + while (true) { + int c = stream.read(); + if (c == -1) + break; + + System.out.write(c); + } + } catch (IOException ex) { + } + } +} diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/resources/Messages.properties --- a/rt/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/resources/Messages.properties Wed Jul 29 10:57:38 2009 -0400 @@ -147,6 +147,7 @@ CChooseCacheDir=Cache directory # Security SFileReadAccess=The application has requested read access to a file on the machine. Do you want to allow this action? SFileWriteAccess=The application has requested write access to a file on the machine. Do you want to allow this action? +SDesktopShortcut=The application has requested permission to create a desktop launcher. Do you want to allow this action? SSigUnverified=The application's digital signature cannot be verified. Do you want to run the application? SSigVerified=The application's digital signature has been verified. Do you want to run the application? SSignatureError=The application's digital signature has an error. Do you want to run the application? diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java --- a/rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java Wed Jul 29 10:57:38 2009 -0400 @@ -25,6 +25,8 @@ import javax.swing.event.EventListenerLi import net.sourceforge.jnlp.*; import net.sourceforge.jnlp.event.*; +import net.sourceforge.jnlp.security.SecurityWarningDialog.AccessType; +import net.sourceforge.jnlp.services.ServiceUtil; import net.sourceforge.jnlp.util.*; /** @@ -107,6 +109,32 @@ public class ApplicationInstance { */ public void initialize() { installEnvironment(); + addMenuAndDesktopEntries(); + } + + /** + * Creates menu and desktop entries if required by the jnlp file + */ + + private void addMenuAndDesktopEntries() { + XDesktopEntry entry = new XDesktopEntry(file); + + if (file.getInformation().getShortcut().onDesktop()) { + if (ServiceUtil.checkAccess(this, AccessType.CREATE_DESTKOP_SHORTCUT)) { + entry.createDesktopShortcut(); + } + } + + if (file.getInformation().getShortcut().getMenu() != null) { + /* + * Sun's WebStart implementation doesnt seem to do anything under GNOME + */ + if (JNLPRuntime.isDebug()) { + System.err.println("ApplicationInstance.addMenuAndDesktopEntries():" + + " Adding menu entries NOT IMPLEMENTED"); + } + } + } /** diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/security/AccessWarningPane.java --- a/rt/net/sourceforge/jnlp/security/AccessWarningPane.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/security/AccessWarningPane.java Wed Jul 29 10:57:38 2009 -0400 @@ -121,6 +121,9 @@ public class AccessWarningPane extends S case WRITE_FILE: topLabelText = R("SFileWriteAccess"); break; + case CREATE_DESTKOP_SHORTCUT: + topLabelText = R("SDesktopShortcut"); + break; case CLIPBOARD_READ: topLabelText = R("SClipboardReadAccess"); break; diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java --- a/rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java Wed Jul 29 10:57:38 2009 -0400 @@ -70,6 +70,7 @@ public class SecurityWarningDialog exten public static enum AccessType { READ_FILE, WRITE_FILE, + CREATE_DESTKOP_SHORTCUT, CLIPBOARD_READ, CLIPBOARD_WRITE, PRINTER, diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/services/ServiceUtil.java --- a/rt/net/sourceforge/jnlp/services/ServiceUtil.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/services/ServiceUtil.java Wed Jul 29 10:57:38 2009 -0400 @@ -57,13 +57,6 @@ public class ServiceUtil { } /** - * Types of system access that may need permissions. - */ - public static enum AccessType { - READ_FILE, WRITE_FILE, CLIPBOARD_READ, CLIPBOARD_WRITE, PRINTER - } - - /** * Returns the BasicService reference, or null if the service is * unavailable. */ @@ -227,9 +220,29 @@ public class ServiceUtil { * @return true if the access was granted, false otherwise. */ public static boolean checkAccess(SecurityWarningDialog.AccessType type, + Object... extras) { + return checkAccess(null, type, extras); + } + + /** + * Returns whether the app requesting a service is signed. If the app is + * unsigned, the user is prompted with a dialog asking if the action + * should be allowed. + * @param app the application which is requesting the check. If null, the current + * application is used. + * @param type the type of access being requested + * @param extras extra Strings (usually) that are passed to the dialog for + * message formatting. + * @return true if the access was granted, false otherwise. + */ + public static boolean checkAccess(ApplicationInstance app, + SecurityWarningDialog.AccessType type, Object... extras) { - ApplicationInstance app = JNLPRuntime.getApplication(); + if (app == null) { + app = JNLPRuntime.getApplication(); + } + if (app != null) { if (!app.isSigned()) { final SecurityWarningDialog.AccessType tmpType = type; diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/services/SingleInstanceLock.java --- a/rt/net/sourceforge/jnlp/services/SingleInstanceLock.java Wed Jul 29 10:48:43 2009 -0400 +++ b/rt/net/sourceforge/jnlp/services/SingleInstanceLock.java Wed Jul 29 10:57:38 2009 -0400 @@ -27,6 +27,7 @@ import java.net.ServerSocket; import net.sourceforge.jnlp.JNLPFile; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.util.FileUtils; /** * This class represents a Lock for single instance jnlp applications @@ -152,17 +153,7 @@ class SingleInstanceLock { } initialName = initialName + getCurrentDisplay(); - String encodedName; - - /* - * FIXME - * - * Assuming safe characters are 'a-z','A-Z','0-9', '_', '.' - */ - - encodedName = initialName.replaceAll("[^a-zA-Z0-9.]", "_"); - - return encodedName; + return FileUtils.sanitizeFileName(initialName); } diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/util/FileUtils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/net/sourceforge/jnlp/util/FileUtils.java Wed Jul 29 10:57:38 2009 -0400 @@ -0,0 +1,48 @@ +// Copyright (C) 2009 Red Hat, Inc. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +package net.sourceforge.jnlp.util; + +/** + * This class contains a few file-related utility functions. + * + * @author Omair Majid + */ + +public class FileUtils { + + + /** + * Given an input, return a sanitized form of the input suitable for use as + * a file/directory name + * + * @param input + * @return a sanitized version of the input + */ + public static String sanitizeFileName(String input) { + + /* + * FIXME + * + * Assuming safe characters are 'a-z','A-Z','0-9', '_', '.' + */ + + String sanitizedName = input.replaceAll("[^a-zA-Z0-9.]", "_"); + return sanitizedName; + } + +} diff -r 090e738a38e7 -r ff01867e1a2a rt/net/sourceforge/jnlp/util/XDesktopEntry.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/net/sourceforge/jnlp/util/XDesktopEntry.java Wed Jul 29 10:57:38 2009 -0400 @@ -0,0 +1,210 @@ +// Copyright (C) 2009 Red Hat, Inc. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +package net.sourceforge.jnlp.util; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Reader; +import java.io.StringReader; +import java.net.URL; +import java.nio.charset.Charset; +import java.util.Arrays; + +import net.sourceforge.jnlp.IconDesc; +import net.sourceforge.jnlp.JNLPFile; +import net.sourceforge.jnlp.StreamEater; +import net.sourceforge.jnlp.cache.CacheUtil; +import net.sourceforge.jnlp.cache.UpdatePolicy; +import net.sourceforge.jnlp.runtime.JNLPRuntime; + +/** + * This class builds a (freedesktop.org) desktop entry out of a {@link JNLPFile} + * . This entry can be used to install desktop shortcuts. See xdg-desktop-icon + * (1) and http://standards.freedesktop.org/desktop-entry-spec/latest/ for more + * information + * + * @author Omair Majid + * + */ +public class XDesktopEntry { + + public static final String JAVA_ICON_NAME = "java.png"; + + private JNLPFile file = null; + private int iconSize = -1; + private String iconLocation = null; + + private int[] VALID_ICON_SIZES = new int[] { 16, 22, 32, 48, 64, 128 }; + + /** + * Create a XDesktopEntry for the given JNLP file + * + * @param file a {@link JNLPFile} that indicates the application to launch + */ + public XDesktopEntry(JNLPFile file) { + this.file = file; + + /* looks like a good initial value */ + iconSize = VALID_ICON_SIZES[2]; + } + + /** + * Returns the contents of the {@link XDesktopEntry} through the + * {@link Reader} interface. + */ + public Reader getContentsAsReader() { + + String pathToJavaws = System.getProperty("java.home") + File.separator + "bin" + + File.separator + "javaws"; + + String fileContents = "[Desktop Entry]\n"; + fileContents += "Version=1.0\n"; + fileContents += "Name=" + file.getTitle() + "\n"; + fileContents += "GenericName=Java Web Start Application\n"; + fileContents += "Comment=" + file.getInformation().getDescription() + "\n"; + fileContents += "Type=Application\n"; + if (iconLocation != null) { + fileContents += "Icon=" + iconLocation + "\n"; + } else { + fileContents += "Icon=" + JAVA_ICON_NAME + "\n"; + + } + if (file.getInformation().getVendor() != null) { + fileContents += "Vendor=" + file.getInformation().getVendor() + "\n"; + } + fileContents += "Exec=" + pathToJavaws + " \"" + file.getSourceLocation() + "\"\n"; + + return new StringReader(fileContents); + + } + + /** + * Get the size of the icon (in pixels) for the desktop shortcut + */ + public int getIconSize() { + return iconSize; + } + + /** + * Set the icon size to use for the desktop shortcut + * + * @param size the size (in pixels) of the icon to use. Commonly used sizes + * are of 16, 22, 32, 48, 64 and 128 + */ + public void setIconSize(int size) { + iconSize = size; + } + + /** + * Create a desktop shortcut for this desktop entry + */ + public void createDesktopShortcut() { + try { + cacheIcon(); + installDesktopLauncher(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * Install this XDesktopEntry into the user's desktop as a launcher + */ + private void installDesktopLauncher() { + File shortcutFile = new File(JNLPRuntime.TMP_DIR + File.separator + + FileUtils.sanitizeFileName(file.getTitle()) + ".desktop"); + try { + + /* + * Write out a Java String (UTF-16) as a UTF-8 file + */ + + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(shortcutFile), + Charset.forName("UTF-8")); + Reader reader = getContentsAsReader(); + + char[] buffer = new char[1024]; + int ret = 0; + while (-1 != (ret = reader.read(buffer))) { + writer.write(buffer, 0, ret); + } + + reader.close(); + writer.close(); + + /* + * Install the desktop entry + */ + + String[] execString = new String[] { "xdg-desktop-icon", "install", "--novendor", + shortcutFile.getCanonicalPath() }; From Daniel.Daugherty at Sun.COM Wed Jul 29 08:11:46 2009 From: Daniel.Daugherty at Sun.COM (Daniel D. Daugherty) Date: Wed, 29 Jul 2009 09:11:46 -0600 Subject: Switching to HotSpot 14 on OpenJDK6 In-Reply-To: <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> References: <20090722214810.175B451B@eggemoggin.niobe.net> <20090723152650.1C8206F6@eggemoggin.niobe.net> <17c6771e0907230836u3f76c6f3j6112c22e015494d5@mail.gmail.com> Message-ID: <4A7066B2.7050905@sun.com> An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090729/9c6f9bf6/attachment.html From omajid at redhat.com Wed Jul 29 08:49:39 2009 From: omajid at redhat.com (Omair Majid) Date: Wed, 29 Jul 2009 11:49:39 -0400 Subject: RFC: Netx - Support adding desktop shortcuts for JNLP Application In-Reply-To: <20090728183850.GA10065@redhat.com> References: <4A6DD595.6030007@redhat.com> <4A6F23CE.1050909@redhat.com> <20090728183850.GA10065@redhat.com> Message-ID: <4A706F93.60508@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-28 12:14]: >> Omair Majid wrote: >>> Hi, >>> >>> The attached patch allows Netx to add desktop shortcut for webstart >>> applications. >>> >> After some offline feedback from Deepak, here is the updated version. If >> the JNLP file wants a desktop shortcut, it checks if the application is >> signed or not, and prompts the user if required. >> > > Looks good to me! > > Deepak > Thanks. Committed as changeset ff01867e1a2a. Cheers, Omair From omajid at redhat.com Wed Jul 29 08:51:13 2009 From: omajid at redhat.com (Omair Majid) Date: Wed, 29 Jul 2009 11:51:13 -0400 Subject: RFC: Netx - Dont prompt the user multiple times for the same https certificate In-Reply-To: <20090723171942.GA20799@redhat.com> References: <4A5F8DCF.40307@redhat.com> <20090717172437.GA9660@redhat.com> <4A686CE5.4010502@redhat.com> <20090723171942.GA20799@redhat.com> Message-ID: <4A706FF1.20405@redhat.com> Deepak Bhole wrote: > * Omair Majid [2009-07-23 10:00]: >> Deepak Bhole wrote: >>> * Omair Majid [2009-07-16 16:47]: >>>> Hi, >>>> >>>> Currently Netx can prompt the user multiple times to accept a single >>>> https certificate. >>>> >>>> You can see the behaviour by running javaws (without cacerts) and >>>> going to https://substance.dev.java.net/webstart/Issue447.jnlp. You >>>> will get 2 dialogs that ask you to confirm the https certificate (and >>>> one that asks you to confirm the jar certificate). >>>> >>>> The attached patch makes it so that the user is only prompted once to >>>> confirm the https certificate. >>>> >>> Can't you just synchronize the function instead of doing it on an object >>> lock? All contents appear to be inside the syn. block anyway.. >>> >> Makes sense. Updated patch attached. Ok to commit? >> > > Yep, looks good! > Thanks. Committed as changeset 090e738a38e7. Cheers, Omair From bugzilla-daemon at icedtea.classpath.org Wed Jul 29 09:04:18 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jul 2009 16:04:18 +0000 Subject: [Bug 372] New: Netx should stop abusing LookAndFeel related fuctions to do layouts Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 Summary: Netx should stop abusing LookAndFeel related fuctions to do layouts Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: omajid at redhat.com Currently, Netx relies on look-and-feel related functions (such as installUI [1]) to do layouts for it's information and security dialogs. This is quite a bad design. More importantly, it causes problems if other applications want to use a different look and feel. Also see: http://bugzilla.redhat.com/show_bug.cgi?id=509301 [1] http://java.sun.com/javase/6/docs/api/javax/swing/plaf/ComponentUI.html#installUI(javax.swing.JComponent) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Jul 29 09:08:56 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jul 2009 16:08:56 +0000 Subject: [Bug 372] Netx should stop abusing LookAndFeel related fuctions to do layouts Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=372 ------- Comment #1 from omajid at redhat.com 2009-07-29 16:08 ------- Created an attachment (id=249) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=249&action=view) Initial patch This is a first try at a patch to fix the problem. It probably has lots of other issues; I am just posting it here so it doesnt get lost. As dbhole pointed out, it might make more sense to use a factory instead to create dialogs. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From omajid at redhat.com Wed Jul 29 12:20:30 2009 From: omajid at redhat.com (Omair Majid) Date: Wed, 29 Jul 2009 15:20:30 -0400 Subject: RFC: Netx - quote desktop shortcut arguments properly Message-ID: <4A70A0FE.3000702@redhat.com> Hi, The attached patch quotes '\', '$', and '`' inside desktop entry files properly. ChangeLog: 2009-07-29 Omair Majid * rt/net/sourceforge/jnlp/util/XDesktopEntry.java (getContentsAsReader): Call quoteArgument to quote argument to javaws. (quoteArgument): New function. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-desktop-entry-quotes.patch Type: text/x-patch Size: 1911 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090729/b4d94c64/netx-desktop-entry-quotes.patch From aph at redhat.com Thu Jul 30 00:47:39 2009 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Jul 2009 08:47:39 +0100 Subject: Removing support for LLVM 2.4 on AMD64 from Shark In-Reply-To: <20090728121926.GA3268@redhat.com> References: <20090728121926.GA3268@redhat.com> Message-ID: <4A71501B.4090704@redhat.com> Gary Benson wrote: > SharkBuilder, which I'm currently refactoring, contains a workaround > for a bug in LLVM 2.4, http://www.llvm.org/bugs/show_bug.cgi?id=2920, > that has been fixed in LLVM 2.5. Does anybody object to my removing > this workaround? I think this one was mine. It's no problem if you remove it. Andrew. From gbenson at redhat.com Thu Jul 30 01:01:29 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 30 Jul 2009 09:01:29 +0100 Subject: Removing support for LLVM 2.4 on AMD64 from Shark In-Reply-To: <4A71501B.4090704@redhat.com> References: <20090728121926.GA3268@redhat.com> <4A71501B.4090704@redhat.com> Message-ID: <20090730080129.GB3382@redhat.com> Andrew Haley wrote: > Gary Benson wrote: > > SharkBuilder, which I'm currently refactoring, contains a workaround > > for a bug in LLVM 2.4, http://www.llvm.org/bugs/show_bug.cgi?id=2920, > > that has been fixed in LLVM 2.5. Does anybody object to my removing > > this workaround? > > I think this one was mine. It's no problem if you remove it. Cool. Cheers, Gary -- http://gbenson.net/ From gbenson at redhat.com Thu Jul 30 01:55:40 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 30 Jul 2009 08:55:40 +0000 Subject: changeset in /hg/icedtea6: 2009-07-30 Gary Benson changeset 051ca564791d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=051ca564791d description: 2009-07-30 Gary Benson * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp: * ports/hotspot/src/share/vm/shark/sharkRuntime.cpp: Moved everything except the actual methods called by JIT-compiled code into SharkBuilder. * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Merged code to create LLVM callable objects for runtime methods from SharkRuntime, and refactored it (and the existing code to create LLVM callable objects for LLVM intrinsics) to create such objects on the fly. * ports/hotspot/src/share/vm/shark/sharkCompiler.hpp (SharkCompiler::_builder): Removed. (SharkCompiler::builder): Likewise. * ports/hotspot/src/share/vm/shark/sharkInvariants.hpp (SharkCompileInvariants::SharkCompileInvariants): Take a new argument, builder, and store it. (SharkCompileInvariants::builder): Updated. (SharkCompileInvariants::code_buffer): New method. (SharkTargetInvariants::SharkTargetInvariants): Take a new argument, builder, and pass it along to SharkCompileInvariants constructor. * ports/hotspot/src/share/vm/shark/sharkFunction.hpp (SharkFunction::build): Take a new argument, builder, and pass it along to SharkFunction consructor. (SharkFunction::SharkFunction): Take a new argument, builder, and pass it along to SharkTargetInvariants consructor. * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (SharkCompiler::SharkCompiler): Remove builder creation and SharkRuntime initialization. (SharkCompiler::compile_method): Create builder and pass it to SharkFunction::build. * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse_bytecode): Updated for new style calls. * ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp (SharkIntrinsics::do_Math_1to1): Likewise. (SharkIntrinsics::do_Math_2to1): Likewise. * ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp (SharkIntrinsics::do_intrinsic): Likewise. (SharkIntrinsics::do_Math_1to1): Likewise. (SharkIntrinsics::do_Math_2to1): Likewise. (SharkIntrinsics::do_System_currentTimeMillis): Likewise. (SharkIntrinsics::do_Unsafe_compareAndSwapInt): Likewise. * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp (SharkTopLevelBlock::call_vm): Likewise. * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::zero_check_value): Likewise. (SharkTopLevelBlock::check_bounds): Likewise. (SharkTopLevelBlock::maybe_add_safepoint): Likewise. (SharkTopLevelBlock::do_trap): Likewise. (SharkTopLevelBlock::call_register_finalizer): Likewise. (SharkTopLevelBlock::get_interface_callee): Likewise. (SharkTopLevelBlock::do_new): Likewise. (SharkTopLevelBlock::do_newarray): Likewise. (SharkTopLevelBlock::do_anewarray): Likewise. (SharkTopLevelBlock::do_multianewarray): Likewise. (SharkTopLevelBlock::acquire_lock): Likewise. (SharkTopLevelBlock::release_lock): Likewise. * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp (SharkDecacher::start_frame): Updated for new style codebuffer access. * ports/hotspot/src/share/vm/shark/sharkFunction.cpp (SharkFunction::initialize): Likewise. * ports/hotspot/src/share/vm/shark/llvmValue.hpp (LLVMValue::bit_constant): New method. * ports/hotspot/src/share/vm/shark/sharkBlock.hpp (SharkBlock::call_vm_leaf): Removed. * ports/hotspot/src/share/vm/includeDB_shark: Updated. diffstat: 19 files changed, 902 insertions(+), 1060 deletions(-) ChangeLog | 76 + ports/hotspot/src/share/vm/includeDB_shark | 7 ports/hotspot/src/share/vm/shark/llvmValue.hpp | 10 ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 12 ports/hotspot/src/share/vm/shark/sharkBlock.hpp | 7 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 779 ++++++++++----- ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 426 ++------ ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 2 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 13 ports/hotspot/src/share/vm/shark/sharkCompiler.hpp | 7 ports/hotspot/src/share/vm/shark/sharkFunction.cpp | 2 ports/hotspot/src/share/vm/shark/sharkFunction.hpp | 6 ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp | 28 ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp | 4 ports/hotspot/src/share/vm/shark/sharkInvariants.hpp | 35 ports/hotspot/src/share/vm/shark/sharkRuntime.cpp | 267 ----- ports/hotspot/src/share/vm/shark/sharkRuntime.hpp | 191 --- ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 54 - ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp | 36 diffs (truncated from 2632 to 500 lines): diff -r ff01867e1a2a -r 051ca564791d ChangeLog --- a/ChangeLog Wed Jul 29 10:57:38 2009 -0400 +++ b/ChangeLog Thu Jul 30 04:51:32 2009 -0400 @@ -1,3 +1,79 @@ 2009-07-29 Omair Majid + + * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp: + * ports/hotspot/src/share/vm/shark/sharkRuntime.cpp: + Moved everything except the actual methods called by + JIT-compiled code into SharkBuilder. + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + Merged code to create LLVM callable objects for runtime + methods from SharkRuntime, and refactored it (and the + existing code to create LLVM callable objects for LLVM + intrinsics) to create such objects on the fly. + + * ports/hotspot/src/share/vm/shark/sharkCompiler.hpp + (SharkCompiler::_builder): Removed. + (SharkCompiler::builder): Likewise. + * ports/hotspot/src/share/vm/shark/sharkInvariants.hpp + (SharkCompileInvariants::SharkCompileInvariants): Take a new + argument, builder, and store it. + (SharkCompileInvariants::builder): Updated. + (SharkCompileInvariants::code_buffer): New method. + (SharkTargetInvariants::SharkTargetInvariants): Take a new + argument, builder, and pass it along to SharkCompileInvariants + constructor. + * ports/hotspot/src/share/vm/shark/sharkFunction.hpp + (SharkFunction::build): Take a new argument, builder, and pass + it along to SharkFunction consructor. + (SharkFunction::SharkFunction): Take a new argument, builder, + and pass it along to SharkTargetInvariants consructor. + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::SharkCompiler): Remove builder creation and + SharkRuntime initialization. + (SharkCompiler::compile_method): Create builder and pass it + to SharkFunction::build. + + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::parse_bytecode): Updated for new style calls. + * ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp + (SharkIntrinsics::do_Math_1to1): Likewise. + (SharkIntrinsics::do_Math_2to1): Likewise. + * ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp + (SharkIntrinsics::do_intrinsic): Likewise. + (SharkIntrinsics::do_Math_1to1): Likewise. + (SharkIntrinsics::do_Math_2to1): Likewise. + (SharkIntrinsics::do_System_currentTimeMillis): Likewise. + (SharkIntrinsics::do_Unsafe_compareAndSwapInt): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::call_vm): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::zero_check_value): Likewise. + (SharkTopLevelBlock::check_bounds): Likewise. + (SharkTopLevelBlock::maybe_add_safepoint): Likewise. + (SharkTopLevelBlock::do_trap): Likewise. + (SharkTopLevelBlock::call_register_finalizer): Likewise. + (SharkTopLevelBlock::get_interface_callee): Likewise. + (SharkTopLevelBlock::do_new): Likewise. + (SharkTopLevelBlock::do_newarray): Likewise. + (SharkTopLevelBlock::do_anewarray): Likewise. + (SharkTopLevelBlock::do_multianewarray): Likewise. + (SharkTopLevelBlock::acquire_lock): Likewise. + (SharkTopLevelBlock::release_lock): Likewise. + + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + (SharkDecacher::start_frame): Updated for new style codebuffer access. + * ports/hotspot/src/share/vm/shark/sharkFunction.cpp + (SharkFunction::initialize): Likewise. + + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (LLVMValue::bit_constant): New method. + + * ports/hotspot/src/share/vm/shark/sharkBlock.hpp + (SharkBlock::call_vm_leaf): Removed. + + * ports/hotspot/src/share/vm/includeDB_shark: Updated. + 2009-07-29 Omair Majid * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/includeDB_shark --- a/ports/hotspot/src/share/vm/includeDB_shark Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/includeDB_shark Thu Jul 30 04:51:32 2009 -0400 @@ -72,7 +72,6 @@ sharkBlock.cpp sharkBlock.cpp sharkBlock.hpp sharkBlock.cpp sharkBuilder.hpp sharkBlock.cpp sharkConstant.hpp -sharkBlock.cpp sharkRuntime.hpp sharkBlock.cpp sharkState.hpp sharkBlock.cpp sharkValue.hpp @@ -149,7 +148,6 @@ sharkCompiler.cpp sharkCompiler.cpp sharkEntry.hpp sharkCompiler.cpp sharkFunction.hpp sharkCompiler.cpp sharkMemoryManager.hpp -sharkCompiler.cpp sharkRuntime.hpp sharkCompiler.hpp abstractCompiler.hpp sharkCompiler.hpp ciEnv.hpp @@ -212,7 +210,6 @@ sharkIntrinsics.cpp sharkIntrinsics.cpp llvmHeaders.hpp sharkIntrinsics.cpp shark_globals.hpp sharkIntrinsics.cpp sharkIntrinsics.hpp -sharkIntrinsics.cpp sharkRuntime.hpp sharkIntrinsics.cpp sharkState.hpp sharkIntrinsics.cpp sharkValue.hpp @@ -246,15 +243,12 @@ sharkRuntime.cpp sharkRuntime.cpp deoptimization.hpp sharkRuntime.cpp llvmHeaders.hpp sharkRuntime.cpp klassOop.hpp -sharkRuntime.cpp sharkBuilder.hpp sharkRuntime.cpp sharkRuntime.hpp -sharkRuntime.cpp sharkType.hpp sharkRuntime.cpp thread.hpp sharkRuntime.hpp allocation.hpp sharkRuntime.hpp llvmHeaders.hpp sharkRuntime.hpp klassOop.hpp -sharkRuntime.hpp sharkBuilder.hpp sharkRuntime.hpp thread.hpp sharkState.cpp allocation.hpp @@ -298,7 +292,6 @@ sharkTopLevelBlock.cpp sharkTopLevelBlock.cpp sharkBuilder.hpp sharkTopLevelBlock.cpp sharkConstant.hpp sharkTopLevelBlock.cpp sharkInliner.hpp -sharkTopLevelBlock.cpp sharkRuntime.hpp sharkTopLevelBlock.cpp sharkState.hpp sharkTopLevelBlock.cpp sharkValue.hpp diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/llvmValue.hpp --- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -77,6 +77,14 @@ class LLVMValue : public AllStatic { } public: + static llvm::ConstantInt* bit_constant(int value) + { +#if SHARK_LLVM_VERSION >= 26 + return llvm::getGlobalContext().getConstantInt(llvm::Type::Int1Ty, value, false); +#else + return llvm::ConstantInt::get(llvm::Type::Int1Ty, value, false); +#endif + } static llvm::ConstantInt* intptr_constant(intptr_t value) { #if SHARK_LLVM_VERSION >= 26 diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -694,11 +694,13 @@ void SharkBlock::parse_bytecode(int star case Bytecodes::_f2i: push(SharkValue::create_jint( - call_vm_leaf(SharkRuntime::f2i(), pop()->jfloat_value()), false)); + builder()->CreateCall( + builder()->f2i(), pop()->jfloat_value()), false)); break; case Bytecodes::_f2l: push(SharkValue::create_jlong( - call_vm_leaf(SharkRuntime::f2l(), pop()->jfloat_value()), false)); + builder()->CreateCall( + builder()->f2l(), pop()->jfloat_value()), false)); break; case Bytecodes::_f2d: push(SharkValue::create_jdouble( @@ -708,11 +710,13 @@ void SharkBlock::parse_bytecode(int star case Bytecodes::_d2i: push(SharkValue::create_jint( - call_vm_leaf(SharkRuntime::d2i(), pop()->jdouble_value()), false)); + builder()->CreateCall( + builder()->d2i(), pop()->jdouble_value()), false)); break; case Bytecodes::_d2l: push(SharkValue::create_jlong( - call_vm_leaf(SharkRuntime::d2l(), pop()->jdouble_value()), false)); + builder()->CreateCall( + builder()->d2l(), pop()->jdouble_value()), false)); break; case Bytecodes::_d2f: push(SharkValue::create_jfloat( diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -174,13 +174,6 @@ class SharkBlock : public SharkTargetInv protected: virtual void do_zero_check(SharkValue* value); - // Leaf calls - protected: - llvm::CallInst* call_vm_leaf(llvm::Constant* callee, llvm::Value* arg1) - { - return builder()->CreateCall(callee, arg1); - } - // Zero checking protected: void check_null(SharkValue* object) diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -28,39 +28,7 @@ using namespace llvm; -#ifdef ARM -/* - * ARM lacks atomic operation implementation in LLVM - * http://llvm.org/bugs/show_bug.cgi?id=3877 - * - * These two functions zero_cmpxchg_int_fn and zero_cmpxchg_ptr_fn - * are defined so that they can be inserted into llvm as a workaround to - * make shark reroute all atomic calls back to the implementation in zero. - * The actual insertion are done in SharkBuilder::init_external_functions(). - */ - -extern "C" { - jint zero_cmpxchg_int_fn(volatile jint *ptr, - jint *oldval, - jint *newval) - { - return Atomic::cmpxchg(*newval, - ptr, - *oldval); - } - - intptr_t* zero_cmpxchg_ptr_fn(volatile void* ptr, - intptr_t* oldval, - intptr_t* newval) - { - return (intptr_t *) Atomic::cmpxchg_ptr((void *) newval, - ptr, - (void *) oldval); - } -}; -#endif - -SharkBuilder::SharkBuilder(SharkCompiler* compiler) +SharkBuilder::SharkBuilder(Module* module, SharkCodeBuffer* code_buffer) #if SHARK_LLVM_VERSION >= 26 // LLVM 2.6 requires a LLVMContext during IRBuilder construction. // getGlobalConext() returns one that can be used as long as the shark @@ -68,149 +36,480 @@ SharkBuilder::SharkBuilder(SharkCompiler : IRBuilder<>(getGlobalContext()), #else : IRBuilder<>(), -#endif - _compiler(compiler) -{ - init_external_functions(); -} - -Constant* SharkBuilder::make_function(intptr_t addr, - const FunctionType* sig, - const char* name) -{ - Constant *func = make_pointer(addr, sig); +#endif // SHARK_LLVM_VERSION >= 26 + _module(module), + _code_buffer(code_buffer) +{ +} + +// Helpers for accessing structures +Value* SharkBuilder::CreateAddressOfStructEntry(Value* base, + ByteSize offset, + const Type* type, + const char* name) +{ + return CreateBitCast(CreateStructGEP(base, in_bytes(offset)), type, name); +} + +LoadInst* SharkBuilder::CreateValueOfStructEntry(Value* base, + ByteSize offset, + const Type* type, + const char* name) +{ + return CreateLoad( + CreateAddressOfStructEntry( + base, offset, PointerType::getUnqual(type)), + name); +} + +// Helpers for accessing arrays + +LoadInst* SharkBuilder::CreateArrayLength(Value* arrayoop) +{ + return CreateValueOfStructEntry( + arrayoop, in_ByteSize(arrayOopDesc::length_offset_in_bytes()), + SharkType::jint_type(), "length"); +} + +Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, + const Type* element_type, + int element_bytes, + ByteSize base_offset, + Value* index, + const char* name) +{ + Value* offset = CreateIntCast(index, SharkType::intptr_type(), false); + if (element_bytes != 1) + offset = CreateShl( + offset, + LLVMValue::intptr_constant(exact_log2(element_bytes))); + offset = CreateAdd( + LLVMValue::intptr_constant(in_bytes(base_offset)), offset); + + return CreateIntToPtr( + CreateAdd(CreatePtrToInt(arrayoop, SharkType::intptr_type()), offset), + PointerType::getUnqual(element_type), + name); +} + +Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, + BasicType basic_type, + ByteSize base_offset, + Value* index, + const char* name) +{ + return CreateArrayAddress( + arrayoop, + SharkType::to_arrayType(basic_type), + type2aelembytes(basic_type), + base_offset, index, name); +} + +Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, + BasicType basic_type, + Value* index, + const char* name) +{ + return CreateArrayAddress( + arrayoop, basic_type, + in_ByteSize(arrayOopDesc::base_offset_in_bytes(basic_type)), + index, name); +} + +// Helpers for creating intrinsics and external functions. + +const Type* SharkBuilder::make_type(char type, bool void_ok) +{ + switch (type) { + // Primitive types + case 'c': + return SharkType::jbyte_type(); + case 'i': + return SharkType::jint_type(); + case 'l': + return SharkType::jlong_type(); + case 'x': + return SharkType::intptr_type(); + case 'f': + return SharkType::jfloat_type(); + case 'd': + return SharkType::jdouble_type(); + + // Pointers to primitive types + case 'C': + case 'I': + case 'L': + case 'X': + case 'F': + case 'D': + return PointerType::getUnqual(make_type(tolower(type), false)); + + // VM objects + case 'T': + return SharkType::thread_type(); + case 'M': + return PointerType::getUnqual(SharkType::monitor_type()); + case 'O': + return SharkType::oop_type(); + + // Miscellaneous + case 'v': + assert(void_ok, "should be"); + return Type::VoidTy; + case '1': + return Type::Int1Ty; + + default: + ShouldNotReachHere(); + } +} + +const FunctionType* SharkBuilder::make_ftype(const char* params, + const char* ret) +{ + std::vector param_types; + for (const char* c = params; *c; c++) + param_types.push_back(make_type(*c, false)); + + assert(strlen(ret) == 1, "should be"); + const Type *return_type = make_type(*ret, true); + + return FunctionType::get(return_type, param_types, false); +} + +// Create an object representing an intrinsic or external function by +// referencing the symbol by name. This is the LLVM-style approach, +// but it cannot be used on functions within libjvm.so its symbols +// are not exported. Note that you cannot make this work simply by +// exporting the symbols, as some symbols have the same names as +// symbols in the standard libraries (eg, atan2, fabs) and would +// obscure them were they visible. +Value* SharkBuilder::make_function(const char* name, + const char* params, + const char* ret) +{ + return module()->getOrInsertFunction(name, make_ftype(params, ret)); +} + +// Create an object representing an external function by inlining a +// function pointer in the code. This is not the LLVM way, but it's +// the only way to access functions in libjvm.so and functions like +// __kernel_dmb on ARM which is accessed via an absolute address. +Value* SharkBuilder::make_function(address func, + const char* params, + const char* ret) +{ + return CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) func), + PointerType::getUnqual(make_ftype(params, ret))); +} + +// VM calls + +Value* SharkBuilder::find_exception_handler() +{ + return make_function( + (address) SharkRuntime::find_exception_handler, "TIi", "i"); +} + +Value* SharkBuilder::monitorenter() +{ + return make_function((address) SharkRuntime::monitorenter, "TM", "v"); +} + +Value* SharkBuilder::monitorexit() +{ + return make_function((address) SharkRuntime::monitorexit, "TM", "v"); +} + +Value* SharkBuilder::new_instance() +{ + return make_function((address) SharkRuntime::new_instance, "Ti", "v"); +} + +Value* SharkBuilder::newarray() +{ + return make_function((address) SharkRuntime::newarray, "Tii", "v"); +} + +Value* SharkBuilder::anewarray() +{ + return make_function((address) SharkRuntime::anewarray, "Tii", "v"); +} + +Value* SharkBuilder::multianewarray() +{ + return make_function((address) SharkRuntime::multianewarray, "TiiI", "v"); +} + +Value* SharkBuilder::register_finalizer() +{ + return make_function((address) SharkRuntime::register_finalizer, "TO", "v"); +} + +Value* SharkBuilder::safepoint() +{ + return make_function((address) SafepointSynchronize::block, "T", "v"); +} + +Value* SharkBuilder::throw_ArrayIndexOutOfBoundsException() +{ + return make_function( + (address) SharkRuntime::throw_ArrayIndexOutOfBoundsException, "TCii", "v"); +} + +Value* SharkBuilder::throw_NullPointerException() +{ + return make_function( + (address) SharkRuntime::throw_NullPointerException, "TCi", "v"); +} + +// High-level non-VM calls From gbenson at redhat.com Thu Jul 30 02:18:11 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 30 Jul 2009 10:18:11 +0100 Subject: SharkBuilder refactoring Message-ID: <20090730091811.GC3382@redhat.com> Hi all, This commit is a big refactoring I've been working on this past week or so. It mainly relates to the creation of LLVM callable objects to represent external functions, but SharkBuilder has, over time, ended up as a kind of storehouse of dirty hacks and I've taken the opportunity to clean them out. Shark code calls a certain number of external functions, and the LLVM objects representing these were previously split between two classes (SharkBuilder and SharkRuntime). Both classes did much the same thing with their own callables, which is messy. This patch puts all callables into SharkBuilder. The other thing was that such callables were created when Shark was initialized, and cached for the lifetime of the VM. This doesn't actually work -- if a you free an LLVM function, it would free the callables in it, and everything else would bomb. In the new code, callables are created on the fly, and never cached. One consequence of this patch is that Shark will no longer work with LLVM 2.4 on AMD64, so if you're building on AMD64 you need to upgrade to 2.5. Cheers, Gary -- http://gbenson.net/ -------------- next part -------------- diff -r ff01867e1a2a -r 051ca564791d ChangeLog --- a/ChangeLog Wed Jul 29 10:57:38 2009 -0400 +++ b/ChangeLog Thu Jul 30 04:51:32 2009 -0400 @@ -1,3 +1,79 @@ +2009-07-30 Gary Benson + + * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp: + * ports/hotspot/src/share/vm/shark/sharkRuntime.cpp: + Moved everything except the actual methods called by + JIT-compiled code into SharkBuilder. + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + Merged code to create LLVM callable objects for runtime + methods from SharkRuntime, and refactored it (and the + existing code to create LLVM callable objects for LLVM + intrinsics) to create such objects on the fly. + + * ports/hotspot/src/share/vm/shark/sharkCompiler.hpp + (SharkCompiler::_builder): Removed. + (SharkCompiler::builder): Likewise. + * ports/hotspot/src/share/vm/shark/sharkInvariants.hpp + (SharkCompileInvariants::SharkCompileInvariants): Take a new + argument, builder, and store it. + (SharkCompileInvariants::builder): Updated. + (SharkCompileInvariants::code_buffer): New method. + (SharkTargetInvariants::SharkTargetInvariants): Take a new + argument, builder, and pass it along to SharkCompileInvariants + constructor. + * ports/hotspot/src/share/vm/shark/sharkFunction.hpp + (SharkFunction::build): Take a new argument, builder, and pass + it along to SharkFunction consructor. + (SharkFunction::SharkFunction): Take a new argument, builder, + and pass it along to SharkTargetInvariants consructor. + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::SharkCompiler): Remove builder creation and + SharkRuntime initialization. + (SharkCompiler::compile_method): Create builder and pass it + to SharkFunction::build. + + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::parse_bytecode): Updated for new style calls. + * ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp + (SharkIntrinsics::do_Math_1to1): Likewise. + (SharkIntrinsics::do_Math_2to1): Likewise. + * ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp + (SharkIntrinsics::do_intrinsic): Likewise. + (SharkIntrinsics::do_Math_1to1): Likewise. + (SharkIntrinsics::do_Math_2to1): Likewise. + (SharkIntrinsics::do_System_currentTimeMillis): Likewise. + (SharkIntrinsics::do_Unsafe_compareAndSwapInt): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::call_vm): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::zero_check_value): Likewise. + (SharkTopLevelBlock::check_bounds): Likewise. + (SharkTopLevelBlock::maybe_add_safepoint): Likewise. + (SharkTopLevelBlock::do_trap): Likewise. + (SharkTopLevelBlock::call_register_finalizer): Likewise. + (SharkTopLevelBlock::get_interface_callee): Likewise. + (SharkTopLevelBlock::do_new): Likewise. + (SharkTopLevelBlock::do_newarray): Likewise. + (SharkTopLevelBlock::do_anewarray): Likewise. + (SharkTopLevelBlock::do_multianewarray): Likewise. + (SharkTopLevelBlock::acquire_lock): Likewise. + (SharkTopLevelBlock::release_lock): Likewise. + + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + (SharkDecacher::start_frame): Updated for new style codebuffer access. + * ports/hotspot/src/share/vm/shark/sharkFunction.cpp + (SharkFunction::initialize): Likewise. + + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (LLVMValue::bit_constant): New method. + + * ports/hotspot/src/share/vm/shark/sharkBlock.hpp + (SharkBlock::call_vm_leaf): Removed. + + * ports/hotspot/src/share/vm/includeDB_shark: Updated. + 2009-07-29 Omair Majid * rt/net/sourceforge/jnlp/IconDesc.java: Add new icon kind SHORTCUT. diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/includeDB_shark --- a/ports/hotspot/src/share/vm/includeDB_shark Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/includeDB_shark Thu Jul 30 04:51:32 2009 -0400 @@ -72,7 +72,6 @@ sharkBlock.cpp sharkBlock.hpp sharkBlock.cpp sharkBuilder.hpp sharkBlock.cpp sharkConstant.hpp -sharkBlock.cpp sharkRuntime.hpp sharkBlock.cpp sharkState.hpp sharkBlock.cpp sharkValue.hpp @@ -149,7 +148,6 @@ sharkCompiler.cpp sharkEntry.hpp sharkCompiler.cpp sharkFunction.hpp sharkCompiler.cpp sharkMemoryManager.hpp -sharkCompiler.cpp sharkRuntime.hpp sharkCompiler.hpp abstractCompiler.hpp sharkCompiler.hpp ciEnv.hpp @@ -212,7 +210,6 @@ sharkIntrinsics.cpp llvmHeaders.hpp sharkIntrinsics.cpp shark_globals.hpp sharkIntrinsics.cpp sharkIntrinsics.hpp -sharkIntrinsics.cpp sharkRuntime.hpp sharkIntrinsics.cpp sharkState.hpp sharkIntrinsics.cpp sharkValue.hpp @@ -246,15 +243,12 @@ sharkRuntime.cpp deoptimization.hpp sharkRuntime.cpp llvmHeaders.hpp sharkRuntime.cpp klassOop.hpp -sharkRuntime.cpp sharkBuilder.hpp sharkRuntime.cpp sharkRuntime.hpp -sharkRuntime.cpp sharkType.hpp sharkRuntime.cpp thread.hpp sharkRuntime.hpp allocation.hpp sharkRuntime.hpp llvmHeaders.hpp sharkRuntime.hpp klassOop.hpp -sharkRuntime.hpp sharkBuilder.hpp sharkRuntime.hpp thread.hpp sharkState.cpp allocation.hpp @@ -298,7 +292,6 @@ sharkTopLevelBlock.cpp sharkBuilder.hpp sharkTopLevelBlock.cpp sharkConstant.hpp sharkTopLevelBlock.cpp sharkInliner.hpp -sharkTopLevelBlock.cpp sharkRuntime.hpp sharkTopLevelBlock.cpp sharkState.hpp sharkTopLevelBlock.cpp sharkValue.hpp diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/llvmValue.hpp --- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -77,6 +77,14 @@ } public: + static llvm::ConstantInt* bit_constant(int value) + { +#if SHARK_LLVM_VERSION >= 26 + return llvm::getGlobalContext().getConstantInt(llvm::Type::Int1Ty, value, false); +#else + return llvm::ConstantInt::get(llvm::Type::Int1Ty, value, false); +#endif + } static llvm::ConstantInt* intptr_constant(intptr_t value) { #if SHARK_LLVM_VERSION >= 26 diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -694,11 +694,13 @@ case Bytecodes::_f2i: push(SharkValue::create_jint( - call_vm_leaf(SharkRuntime::f2i(), pop()->jfloat_value()), false)); + builder()->CreateCall( + builder()->f2i(), pop()->jfloat_value()), false)); break; case Bytecodes::_f2l: push(SharkValue::create_jlong( - call_vm_leaf(SharkRuntime::f2l(), pop()->jfloat_value()), false)); + builder()->CreateCall( + builder()->f2l(), pop()->jfloat_value()), false)); break; case Bytecodes::_f2d: push(SharkValue::create_jdouble( @@ -708,11 +710,13 @@ case Bytecodes::_d2i: push(SharkValue::create_jint( - call_vm_leaf(SharkRuntime::d2i(), pop()->jdouble_value()), false)); + builder()->CreateCall( + builder()->d2i(), pop()->jdouble_value()), false)); break; case Bytecodes::_d2l: push(SharkValue::create_jlong( - call_vm_leaf(SharkRuntime::d2l(), pop()->jdouble_value()), false)); + builder()->CreateCall( + builder()->d2l(), pop()->jdouble_value()), false)); break; case Bytecodes::_d2f: push(SharkValue::create_jfloat( diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -174,13 +174,6 @@ protected: virtual void do_zero_check(SharkValue* value); - // Leaf calls - protected: - llvm::CallInst* call_vm_leaf(llvm::Constant* callee, llvm::Value* arg1) - { - return builder()->CreateCall(callee, arg1); - } - // Zero checking protected: void check_null(SharkValue* object) diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -28,39 +28,7 @@ using namespace llvm; -#ifdef ARM -/* - * ARM lacks atomic operation implementation in LLVM - * http://llvm.org/bugs/show_bug.cgi?id=3877 - * - * These two functions zero_cmpxchg_int_fn and zero_cmpxchg_ptr_fn - * are defined so that they can be inserted into llvm as a workaround to - * make shark reroute all atomic calls back to the implementation in zero. - * The actual insertion are done in SharkBuilder::init_external_functions(). - */ - -extern "C" { - jint zero_cmpxchg_int_fn(volatile jint *ptr, - jint *oldval, - jint *newval) - { - return Atomic::cmpxchg(*newval, - ptr, - *oldval); - } - - intptr_t* zero_cmpxchg_ptr_fn(volatile void* ptr, - intptr_t* oldval, - intptr_t* newval) - { - return (intptr_t *) Atomic::cmpxchg_ptr((void *) newval, - ptr, - (void *) oldval); - } -}; -#endif - -SharkBuilder::SharkBuilder(SharkCompiler* compiler) +SharkBuilder::SharkBuilder(Module* module, SharkCodeBuffer* code_buffer) #if SHARK_LLVM_VERSION >= 26 // LLVM 2.6 requires a LLVMContext during IRBuilder construction. // getGlobalConext() returns one that can be used as long as the shark @@ -68,149 +36,480 @@ : IRBuilder<>(getGlobalContext()), #else : IRBuilder<>(), -#endif - _compiler(compiler) +#endif // SHARK_LLVM_VERSION >= 26 + _module(module), + _code_buffer(code_buffer) { - init_external_functions(); } -Constant* SharkBuilder::make_function(intptr_t addr, - const FunctionType* sig, - const char* name) +// Helpers for accessing structures +Value* SharkBuilder::CreateAddressOfStructEntry(Value* base, + ByteSize offset, + const Type* type, + const char* name) { - Constant *func = make_pointer(addr, sig); + return CreateBitCast(CreateStructGEP(base, in_bytes(offset)), type, name); +} + +LoadInst* SharkBuilder::CreateValueOfStructEntry(Value* base, + ByteSize offset, + const Type* type, + const char* name) +{ + return CreateLoad( + CreateAddressOfStructEntry( + base, offset, PointerType::getUnqual(type)), + name); +} + +// Helpers for accessing arrays + +LoadInst* SharkBuilder::CreateArrayLength(Value* arrayoop) +{ + return CreateValueOfStructEntry( + arrayoop, in_ByteSize(arrayOopDesc::length_offset_in_bytes()), + SharkType::jint_type(), "length"); +} + +Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, + const Type* element_type, + int element_bytes, + ByteSize base_offset, + Value* index, + const char* name) +{ + Value* offset = CreateIntCast(index, SharkType::intptr_type(), false); + if (element_bytes != 1) + offset = CreateShl( + offset, + LLVMValue::intptr_constant(exact_log2(element_bytes))); + offset = CreateAdd( + LLVMValue::intptr_constant(in_bytes(base_offset)), offset); + + return CreateIntToPtr( + CreateAdd(CreatePtrToInt(arrayoop, SharkType::intptr_type()), offset), + PointerType::getUnqual(element_type), + name); +} + +Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, + BasicType basic_type, + ByteSize base_offset, + Value* index, + const char* name) +{ + return CreateArrayAddress( + arrayoop, + SharkType::to_arrayType(basic_type), + type2aelembytes(basic_type), + base_offset, index, name); +} + +Value* SharkBuilder::CreateArrayAddress(Value* arrayoop, + BasicType basic_type, + Value* index, + const char* name) +{ + return CreateArrayAddress( + arrayoop, basic_type, + in_ByteSize(arrayOopDesc::base_offset_in_bytes(basic_type)), + index, name); +} + +// Helpers for creating intrinsics and external functions. + +const Type* SharkBuilder::make_type(char type, bool void_ok) +{ + switch (type) { + // Primitive types + case 'c': + return SharkType::jbyte_type(); + case 'i': + return SharkType::jint_type(); + case 'l': + return SharkType::jlong_type(); + case 'x': + return SharkType::intptr_type(); + case 'f': + return SharkType::jfloat_type(); + case 'd': + return SharkType::jdouble_type(); + + // Pointers to primitive types + case 'C': + case 'I': + case 'L': + case 'X': + case 'F': + case 'D': + return PointerType::getUnqual(make_type(tolower(type), false)); + + // VM objects + case 'T': + return SharkType::thread_type(); + case 'M': + return PointerType::getUnqual(SharkType::monitor_type()); + case 'O': + return SharkType::oop_type(); + + // Miscellaneous + case 'v': + assert(void_ok, "should be"); + return Type::VoidTy; + case '1': + return Type::Int1Ty; + + default: + ShouldNotReachHere(); + } +} + +const FunctionType* SharkBuilder::make_ftype(const char* params, + const char* ret) +{ + std::vector param_types; + for (const char* c = params; *c; c++) + param_types.push_back(make_type(*c, false)); + + assert(strlen(ret) == 1, "should be"); + const Type *return_type = make_type(*ret, true); + + return FunctionType::get(return_type, param_types, false); +} + +// Create an object representing an intrinsic or external function by +// referencing the symbol by name. This is the LLVM-style approach, +// but it cannot be used on functions within libjvm.so its symbols +// are not exported. Note that you cannot make this work simply by +// exporting the symbols, as some symbols have the same names as +// symbols in the standard libraries (eg, atan2, fabs) and would +// obscure them were they visible. +Value* SharkBuilder::make_function(const char* name, + const char* params, + const char* ret) +{ + return module()->getOrInsertFunction(name, make_ftype(params, ret)); +} + +// Create an object representing an external function by inlining a +// function pointer in the code. This is not the LLVM way, but it's +// the only way to access functions in libjvm.so and functions like +// __kernel_dmb on ARM which is accessed via an absolute address. +Value* SharkBuilder::make_function(address func, + const char* params, + const char* ret) +{ + return CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) func), + PointerType::getUnqual(make_ftype(params, ret))); +} + +// VM calls + +Value* SharkBuilder::find_exception_handler() +{ + return make_function( + (address) SharkRuntime::find_exception_handler, "TIi", "i"); +} + +Value* SharkBuilder::monitorenter() +{ + return make_function((address) SharkRuntime::monitorenter, "TM", "v"); +} + +Value* SharkBuilder::monitorexit() +{ + return make_function((address) SharkRuntime::monitorexit, "TM", "v"); +} + +Value* SharkBuilder::new_instance() +{ + return make_function((address) SharkRuntime::new_instance, "Ti", "v"); +} + +Value* SharkBuilder::newarray() +{ + return make_function((address) SharkRuntime::newarray, "Tii", "v"); +} + +Value* SharkBuilder::anewarray() +{ + return make_function((address) SharkRuntime::anewarray, "Tii", "v"); +} + +Value* SharkBuilder::multianewarray() +{ + return make_function((address) SharkRuntime::multianewarray, "TiiI", "v"); +} + +Value* SharkBuilder::register_finalizer() +{ + return make_function((address) SharkRuntime::register_finalizer, "TO", "v"); +} + +Value* SharkBuilder::safepoint() +{ + return make_function((address) SafepointSynchronize::block, "T", "v"); +} + +Value* SharkBuilder::throw_ArrayIndexOutOfBoundsException() +{ + return make_function( + (address) SharkRuntime::throw_ArrayIndexOutOfBoundsException, "TCii", "v"); +} + +Value* SharkBuilder::throw_NullPointerException() +{ + return make_function( + (address) SharkRuntime::throw_NullPointerException, "TCi", "v"); +} + +// High-level non-VM calls + +Value* SharkBuilder::f2i() +{ + return make_function((address) SharedRuntime::f2i, "f", "i"); +} + +Value* SharkBuilder::f2l() +{ + return make_function((address) SharedRuntime::f2l, "f", "l"); +} + +Value* SharkBuilder::d2i() +{ + return make_function((address) SharedRuntime::d2i, "d", "i"); +} + +Value* SharkBuilder::d2l() +{ + return make_function((address) SharedRuntime::d2l, "d", "l"); +} + +Value* SharkBuilder::is_subtype_of() +{ + return make_function((address) SharkRuntime::is_subtype_of, "OO", "c"); +} + +Value* SharkBuilder::current_time_millis() +{ + return make_function((address) os::javaTimeMillis, "", "l"); +} + +Value* SharkBuilder::sin() +{ + return make_function("llvm.sin.f64", "d", "d"); +} + +Value* SharkBuilder::cos() +{ + return make_function("llvm.cos.f64", "d", "d"); +} + +Value* SharkBuilder::tan() +{ + return make_function((address) ::tan, "d", "d"); +} + +Value* SharkBuilder::atan2() +{ + return make_function((address) ::atan2, "dd", "d"); +} + +Value* SharkBuilder::sqrt() +{ + return make_function("llvm.sqrt.f64", "d", "d"); +} + +Value* SharkBuilder::log() +{ + return make_function("llvm.log.f64", "d", "d"); +} + +Value* SharkBuilder::log10() +{ + return make_function("llvm.log10.f64", "d", "d"); +} + +Value* SharkBuilder::pow() +{ + return make_function("llvm.pow.f64", "dd", "d"); +} + +Value* SharkBuilder::exp() +{ + return make_function("llvm.exp.f64", "d", "d"); +} + +Value* SharkBuilder::fabs() +{ + return make_function((address) ::fabs, "d", "d"); +} + +Value* SharkBuilder::unsafe_field_offset_to_byte_offset() +{ + extern jlong Unsafe_field_offset_to_byte_offset(jlong field_offset); + return make_function((address) Unsafe_field_offset_to_byte_offset, "l", "l"); +} + +// Uncommon trap + +Value* SharkBuilder::uncommon_trap() +{ + return make_function((address) SharkRuntime::uncommon_trap, "Ti", "v"); +} + +// Low-level non-VM calls + +// The ARM-specific code here is to work around unimplemented +// atomic exchange and memory barrier intrinsics in LLVM. +// +// Delegating to external functions for these would normally +// incur a speed penalty, but Linux on ARM is a special case +// in that atomic operations on that platform are handled by +// external functions anyway. It would be *preferable* for +// the calls to be hidden away in LLVM, but it's not hurting +// performance so having the calls here is acceptable. +// +// If you are building Shark on a platform without atomic +// exchange and/or memory barrier intrinsics then it is only +// acceptable to mimic this approach if your platform cannot +// perform these operations without delegating to a function. + +#ifdef ARM +static jint zero_cmpxchg_int(volatile jint *ptr, jint *oldval, jint newval) +{ + return Atomic::cmpxchg(*newval, ptr, *oldval); +} +#endif // ARM + +Value* SharkBuilder::cmpxchg_int() +{ + return make_function( +#ifdef ARM + (address) zero_cmpxchg_int, +#else + "llvm.atomic.cmp.swap.i32", +#endif // ARM + "Iii", "i"); +} + +#ifdef ARM +static intptr_t zero_cmpxchg_ptr(volatile intptr_t* ptr, + intptr_t* oldval, + intptr_t* newval) +{ + return Atomic::cmpxchg_ptr(*newval, ptr, *oldval); +} +#endif // ARM + +Value* SharkBuilder::cmpxchg_ptr() +{ + return make_function( +#ifdef ARM + (address) zero_cmpxchg_ptr, +#else + "llvm.atomic.cmp.swap.i" LP64_ONLY("64") NOT_LP64("32"), +#endif // ARM + "Xxx", "x"); +} + +Value* SharkBuilder::memory_barrier() +{ + return make_function( +#ifdef ARM + (address) 0xffff0fa0, // __kernel_dmb +#else + "llvm.memory.barrier", +#endif // ARM + "11111", "v"); +} + +Value* SharkBuilder::memset() +{ + return make_function("llvm.memset.i32", "Ccii", "v"); +} + +Value* SharkBuilder::unimplemented() +{ + return make_function((address) report_unimplemented, "Ci", "v"); +} + +Value* SharkBuilder::should_not_reach_here() +{ + return make_function((address) report_should_not_reach_here, "Ci", "v"); +} + +Value* SharkBuilder::dump() +{ + return make_function((address) SharkRuntime::dump, "Cx", "v"); +} + +// Public interface to low-level non-VM calls + +CallInst* SharkBuilder::CreateCmpxchgInt(Value* exchange_value, + Value* dst, + Value* compare_value) +{ + return CreateCall3(cmpxchg_int(), dst, compare_value, exchange_value); +} + +CallInst* SharkBuilder::CreateCmpxchgPtr(Value* exchange_value, + Value* dst, + Value* compare_value) +{ + return CreateCall3(cmpxchg_ptr(), dst, compare_value, exchange_value); +} + +CallInst *SharkBuilder::CreateMemoryBarrier(int flags) +{ + Value *args[] = { + LLVMValue::bit_constant((flags & BARRIER_LOADLOAD) ? 1 : 0), + LLVMValue::bit_constant((flags & BARRIER_LOADSTORE) ? 1 : 0), + LLVMValue::bit_constant((flags & BARRIER_STORELOAD) ? 1 : 0), + LLVMValue::bit_constant((flags & BARRIER_STORESTORE) ? 1 : 0), + LLVMValue::bit_constant(0)}; + + return CreateCall(memory_barrier(), args, args + 5); +} + +CallInst* SharkBuilder::CreateMemset(Value* dst, + Value* value, + Value* len, + Value* align) +{ + return CreateCall4(memset(), dst, value, len, align); +} + +CallInst* SharkBuilder::CreateUnimplemented(const char* file, int line) +{ + return CreateCall2( + unimplemented(), + CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) file), + PointerType::getUnqual(SharkType::jbyte_type())), + LLVMValue::jint_constant(line)); +} + +CallInst* SharkBuilder::CreateShouldNotReachHere(const char* file, int line) +{ + return CreateCall2( + should_not_reach_here(), + CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) file), + PointerType::getUnqual(SharkType::jbyte_type())), + LLVMValue::jint_constant(line)); +} #ifndef PRODUCT - ResourceMark rm; - - // Use a trampoline to make dumped code more readable - Function *trampoline = (Function *) module()->getOrInsertFunction(name, sig); - SetInsertPoint(BasicBlock::Create("", trampoline)); - - Value **args = NEW_RESOURCE_ARRAY(Value*, trampoline->arg_size()); - Function::arg_iterator ai = trampoline->arg_begin(); - for (unsigned i = 0; i < trampoline->arg_size(); i++) - args[i] = ai++; - - Value *result = CreateCall(func, args, args + trampoline->arg_size()); - if (sig->getReturnType() == Type::VoidTy) - CreateRetVoid(); +CallInst* SharkBuilder::CreateDump(Value* value) +{ + const char *name; + if (value->hasName()) + // XXX this leaks, but it's only debug code + name = strdup(value->getName().c_str()); else - CreateRet(result); - - func = trampoline; -#endif // !PRODUCT - - return func; -} - -void SharkBuilder::init_external_functions() -{ - std::vector params; - params.push_back(PointerType::getUnqual(SharkType::jbyte_type())); - params.push_back(SharkType::jbyte_type()); - params.push_back(SharkType::jint_type()); - params.push_back(SharkType::jint_type()); - FunctionType *type = FunctionType::get(Type::VoidTy, params, false); - set_llvm_memset_fn(module()->getOrInsertFunction("llvm.memset.i32", type)); - - params.clear(); - params.push_back(PointerType::getUnqual(SharkType::jint_type())); - params.push_back(SharkType::jint_type()); - params.push_back(SharkType::jint_type()); - type = FunctionType::get(SharkType::jint_type(), params, false); - set_llvm_cmpxchg_int_fn( -#ifdef ARM - make_function( - (intptr_t) zero_cmpxchg_int_fn, - type, - "zero_cmpxchg_int_fn")); -#else - module()->getOrInsertFunction("llvm.atomic.cmp.swap.i32", type)); -#endif - - params.clear(); - params.push_back(PointerType::getUnqual(SharkType::intptr_type())); - params.push_back(SharkType::intptr_type()); - params.push_back(SharkType::intptr_type()); - type = FunctionType::get(SharkType::intptr_type(), params, false); - set_llvm_cmpxchg_ptr_fn( -#ifdef ARM - make_function( - (intptr_t) zero_cmpxchg_ptr_fn, - type, - "zero_cmpxchg_ptr_fn")); -#else - module()->getOrInsertFunction( - "llvm.atomic.cmp.swap.i" LP64_ONLY("64") NOT_LP64("32"), type)); -#endif - - /* - * The five booleans passed to llvm.memory.barrier are used like this: - * The first four arguments enables a specific barrier in this order: - * load-load, load-store, store-load and store-store. - * The fith argument specifies that the barrier applies to io or device - * or uncached memory. - */ - params.clear(); - for (int i = 0; i < 5; i++) - params.push_back(Type::Int1Ty); - type = FunctionType::get(Type::VoidTy, params, false); - set_llvm_memory_barrier_fn( -#ifdef ARM - make_function( - 0xffff0fa0, // __kernel_dmb - type, - "__kernel_dmb")); -#else - module()->getOrInsertFunction("llvm.memory.barrier", type)); -#endif - - params.clear(); - params.push_back(SharkType::jdouble_type()); - type = FunctionType::get(SharkType::jdouble_type(), params, false); - set_llvm_sin_fn (module()->getOrInsertFunction("llvm.sin.f64", type)); - set_llvm_cos_fn (module()->getOrInsertFunction("llvm.cos.f64", type)); - set_llvm_sqrt_fn (module()->getOrInsertFunction("llvm.sqrt.f64", type)); - set_llvm_log_fn (module()->getOrInsertFunction("llvm.log.f64", type)); - set_llvm_log10_fn(module()->getOrInsertFunction("llvm.log10.f64", type)); - set_llvm_exp_fn (module()->getOrInsertFunction("llvm.exp.f64", type)); - - params.clear(); - params.push_back(SharkType::jdouble_type()); - params.push_back(SharkType::jdouble_type()); - type = FunctionType::get(SharkType::jdouble_type(), params, false); - set_llvm_pow_fn(module()->getOrInsertFunction("llvm.pow.f64", type)); -} - -CallInst* SharkBuilder::CreateDump(llvm::Value* value) -{ - Constant *const_name; - if (value->hasName()) -#if SHARK_LLVM_VERSION >= 26 - const_name = getGlobalContext().getConstantArray(value->getName()); - else - const_name = getGlobalContext().getConstantArray("unnamed_value"); -#else - const_name = ConstantArray::get(value->getName()); - else - const_name = ConstantArray::get("unnamed_value"); -#endif - - Value *name = CreatePtrToInt( - CreateStructGEP( - new GlobalVariable( -#if SHARK_LLVM_VERSION >= 26 - // LLVM 2.6 requires a LLVMContext during GlobalVariable construction. - // getGlobalConext() returns one that can be used as long as the shark - // compiler are single-threaded. - getGlobalContext(), -#endif - const_name->getType(), - true, GlobalValue::InternalLinkage, - const_name, "dump", module()), - 0), - SharkType::intptr_type()); + name = "unnamed_value"; if (isa(value->getType())) value = CreatePtrToInt(value, SharkType::intptr_type()); @@ -219,65 +518,77 @@ else Unimplemented(); - Value *args[] = {name, value}; - return CreateCall2(SharkRuntime::dump(), name, value); + return CreateCall2( + dump(), + CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) name), + PointerType::getUnqual(SharkType::jbyte_type())), + value); +} +#endif // PRODUCT + +// HotSpot memory barriers + +void SharkBuilder::CreateUpdateBarrierSet(BarrierSet* bs, Value* field) +{ + if (bs->kind() != BarrierSet::CardTableModRef) + Unimplemented(); + + CreateStore( + LLVMValue::jbyte_constant(CardTableModRefBS::dirty_card), + CreateIntToPtr( + CreateAdd( + LLVMValue::intptr_constant( + (intptr_t) ((CardTableModRefBS *) bs)->byte_map_base), + CreateLShr( + CreatePtrToInt(field, SharkType::intptr_type()), + LLVMValue::intptr_constant(CardTableModRefBS::card_shift))), + PointerType::getUnqual(SharkType::jbyte_type()))); } -CallInst* SharkBuilder::CreateCmpxchgInt(Value* exchange_value, - Value* dst, - Value* compare_value) +// Helpers for accessing the code buffer + +Value* SharkBuilder::code_buffer_address(int offset) { - return CreateCall3( - llvm_cmpxchg_int_fn(), dst, compare_value, exchange_value); + return CreateAdd( + code_buffer()->base_pc(), + LLVMValue::intptr_constant(offset)); } -CallInst* SharkBuilder::CreateCmpxchgPtr(Value* exchange_value, - Value* dst, - Value* compare_value) +Value* SharkBuilder::CreateInlineOop(ciObject* object, const char* name) { - return CreateCall3( - llvm_cmpxchg_ptr_fn(), dst, compare_value, exchange_value); + return CreateLoad( + CreateIntToPtr( + code_buffer_address(code_buffer()->inline_oop(object)), + PointerType::getUnqual(SharkType::jobject_type())), + name); } -CallInst* SharkBuilder::CreateMemset(Value* dst, - Value* value, - Value* len, - Value* align) +// Helpers for creating basic blocks. + +BasicBlock* SharkBuilder::GetBlockInsertionPoint() const { - return CreateCall4(llvm_memset_fn(), dst, value, len, align); + BasicBlock *cur = GetInsertBlock(); + + // BasicBlock::Create takes an insertBefore argument, so + // we need to find the block _after_ the current block + Function::iterator iter = cur->getParent()->begin(); + Function::iterator end = cur->getParent()->end(); + while (iter != end) { + iter++; + if (&*iter == cur) { + iter++; + break; + } + } + + if (iter == end) + return NULL; + else + return iter; } -CallInst* SharkBuilder::CreateUnimplemented(const char* file, int line) +BasicBlock* SharkBuilder::CreateBlock(BasicBlock* ip, const char* name) const { - return CreateCall2( - SharkRuntime::unimplemented(), - pointer_constant(file), - LLVMValue::jint_constant(line)); -} - -CallInst* SharkBuilder::CreateShouldNotReachHere(const char* file, int line) -{ - return CreateCall2( - SharkRuntime::should_not_reach_here(), - pointer_constant(file), - LLVMValue::jint_constant(line)); -} - -CallInst *SharkBuilder::CreateMemoryBarrier(BarrierFlags flags) -{ - Value *args[] = { -#if SHARK_LLVM_VERSION >= 26 - getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_LOADLOAD) ? 1 : 0), - getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_LOADSTORE) ? 1 : 0), - getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_STORELOAD) ? 1 : 0), - getGlobalContext().getConstantInt(Type::Int1Ty, (flags & BARRIER_STORESTORE) ? 1 : 0), - getGlobalContext().getConstantInt(Type::Int1Ty, 0)}; -#else - ConstantInt::get(Type::Int1Ty, (flags & BARRIER_LOADLOAD) ? 1 : 0), - ConstantInt::get(Type::Int1Ty, (flags & BARRIER_LOADSTORE) ? 1 : 0), - ConstantInt::get(Type::Int1Ty, (flags & BARRIER_STORELOAD) ? 1 : 0), - ConstantInt::get(Type::Int1Ty, (flags & BARRIER_STORESTORE) ? 1 : 0), - ConstantInt::get(Type::Int1Ty, 0)}; -#endif - return CreateCall(llvm_memory_barrier_fn(), args, args + 5); -} + return BasicBlock::Create(name, GetInsertBlock()->getParent(), ip); +} diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -24,322 +24,150 @@ */ class SharkBuilder : public llvm::IRBuilder<> { - public: - SharkBuilder(SharkCompiler* compiler); - - private: - SharkCompiler* _compiler; + friend class SharkCompileInvariants; public: - SharkCompiler* compiler() const - { - return _compiler; - } + SharkBuilder(llvm::Module* module, SharkCodeBuffer* code_buffer); + + // The LLVM module and Shark code buffer we are building into. + private: + llvm::Module* _module; + SharkCodeBuffer* _code_buffer; private: llvm::Module* module() const { - return compiler()->module(); + return _module; } - llvm::ExecutionEngine* execution_engine() const + protected: + SharkCodeBuffer* code_buffer() const { - return compiler()->execution_engine(); + return _code_buffer; } - // Helpers for creating basic blocks - // NB don't use unless SharkFunction::CreateBlock is unavailable - public: - llvm::BasicBlock* GetBlockInsertionPoint() const - { - llvm::BasicBlock *cur = GetInsertBlock(); - - // BasicBlock::Create takes an insertBefore argument, so - // we need to find the block _after_ the current block - llvm::Function::iterator iter = cur->getParent()->begin(); - llvm::Function::iterator end = cur->getParent()->end(); - while (iter != end) { - iter++; - if (&*iter == cur) { - iter++; - break; - } - } - - if (iter == end) - return NULL; - else - return iter; - } - llvm::BasicBlock* CreateBlock(llvm::BasicBlock* ip, const char* name="") const - { - return llvm::BasicBlock::Create(name, GetInsertBlock()->getParent(), ip); - } - - // Helpers for accessing structures and arrays + // Helpers for accessing structures. public: llvm::Value* CreateAddressOfStructEntry(llvm::Value* base, ByteSize offset, const llvm::Type* type, - const char *name = "") - { - return CreateBitCast(CreateStructGEP(base, in_bytes(offset)), type, name); - } - + const char *name = ""); llvm::LoadInst* CreateValueOfStructEntry(llvm::Value* base, ByteSize offset, const llvm::Type* type, - const char *name = "") - { - return CreateLoad( - CreateAddressOfStructEntry( - base, offset, llvm::PointerType::getUnqual(type)), - name); - } + const char *name = ""); - llvm::LoadInst* CreateArrayLength(llvm::Value* array) - { - return CreateValueOfStructEntry( - array, in_ByteSize(arrayOopDesc::length_offset_in_bytes()), - SharkType::jint_type(), "length"); - } - + // Helpers for accessing arrays. + public: + llvm::LoadInst* CreateArrayLength(llvm::Value* arrayoop); llvm::Value* CreateArrayAddress(llvm::Value* arrayoop, const llvm::Type* element_type, int element_bytes, ByteSize base_offset, llvm::Value* index, - const char* name = "") - { - llvm::Value* offset = CreateIntCast(index, SharkType::intptr_type(), false); - if (element_bytes != 1) - offset = CreateShl( - offset, - LLVMValue::intptr_constant(exact_log2(element_bytes))); - offset = CreateAdd( - LLVMValue::intptr_constant(in_bytes(base_offset)), offset); - - return CreateIntToPtr( - CreateAdd(CreatePtrToInt(arrayoop, SharkType::intptr_type()), offset), - llvm::PointerType::getUnqual(element_type), - name); - } - + const char* name = ""); llvm::Value* CreateArrayAddress(llvm::Value* arrayoop, BasicType basic_type, ByteSize base_offset, llvm::Value* index, - const char* name = "") - { - return CreateArrayAddress( - arrayoop, - SharkType::to_arrayType(basic_type), - type2aelembytes(basic_type), - base_offset, index, name); - } - + const char* name = ""); llvm::Value* CreateArrayAddress(llvm::Value* arrayoop, BasicType basic_type, llvm::Value* index, - const char* name = "") - { - return CreateArrayAddress( - arrayoop, basic_type, - in_ByteSize(arrayOopDesc::base_offset_in_bytes(basic_type)), - index, name); - } + const char* name = ""); - // Helper for making function pointers + // Helpers for creating intrinsics and external functions. + private: + static const llvm::Type* make_type(char type, bool void_ok); + static const llvm::FunctionType* make_ftype(const char* params, + const char* ret); + llvm::Value* make_function(const char* name, + const char* params, + const char* ret); + llvm::Value* make_function(address func, + const char* params, + const char* ret); + + // Intrinsics and external functions, part 1: VM calls. + // These are functions declared with JRT_ENTRY and JRT_EXIT, + // macros which flip the thread from _thread_in_Java to + // _thread_in_vm and back. VM calls always safepoint, and can + // therefore throw exceptions. VM calls require of setup and + // teardown, and must be called with SharkTopLevelBlock::call_vm. public: - llvm::Constant* make_function(intptr_t addr, - const llvm::FunctionType* sig, - const char* name); + llvm::Value* find_exception_handler(); + llvm::Value* monitorenter(); + llvm::Value* monitorexit(); + llvm::Value* new_instance(); + llvm::Value* newarray(); + llvm::Value* anewarray(); + llvm::Value* multianewarray(); + llvm::Value* register_finalizer(); + llvm::Value* safepoint(); + llvm::Value* throw_ArrayIndexOutOfBoundsException(); + llvm::Value* throw_NullPointerException(); - llvm::Constant* pointer_constant(const void *ptr) - { -#if SHARK_LLVM_VERSION >= 25 || !defined(AMD64) - return LLVMValue::intptr_constant((intptr_t) ptr); -#else - // Create a pointer constant that points at PTR. We do this by - // creating a GlobalVariable mapped at PTR. This is a workaround - // for http://www.llvm.org/bugs/show_bug.cgi?id=2920 + // Intrinsics and external functions, part 2: High-level non-VM calls. + // These are called like normal functions. The stack is not set + // up for walking so they must not safepoint or throw exceptions, + // or call anything that might. + public: + llvm::Value* f2i(); + llvm::Value* f2l(); + llvm::Value* d2i(); + llvm::Value* d2l(); + llvm::Value* is_subtype_of(); + llvm::Value* current_time_millis(); + llvm::Value* sin(); + llvm::Value* cos(); + llvm::Value* tan(); + llvm::Value* atan2(); + llvm::Value* sqrt(); + llvm::Value* log(); + llvm::Value* log10(); + llvm::Value* pow(); + llvm::Value* exp(); + llvm::Value* fabs(); + llvm::Value* unsafe_field_offset_to_byte_offset(); - using namespace llvm; + // Intrinsics and external functions, part 3: Uncommon trap. + // This is a special case in that it is invoked like a non-VM + // call but it does VM call stuff. This is acceptable so long + // as the method that calls uncommon_trap returns to its caller + // immediately that uncommon_trap returns. + public: + llvm::Value* uncommon_trap(); - // This might be useful but it returns a const pointer that can't - // be used for anything. Go figure... -// { -// const GlobalValue *value -// = execution_engine()->getGlobalValueAtAddress(const_cast(ptr)); -// if (value) -// return ConstantExpr::getPtrToInt(value, SharkType::intptr_type()); -// } + // Intrinsics and external functions, part 4: Low-level non-VM calls. + // These have the same caveats as the high-level non-VM calls + // above. They are not accessed directly; rather, you should + // access them via the various Create* methods below. + private: + llvm::Value* cmpxchg_int(); + llvm::Value* cmpxchg_ptr(); + llvm::Value* memory_barrier(); + llvm::Value* memset(); + llvm::Value* unimplemented(); + llvm::Value* should_not_reach_here(); + llvm::Value* dump(); - char name[128]; - snprintf(name, sizeof name - 1, "pointer_constant_%p", ptr); - - GlobalVariable *value = new GlobalVariable( - SharkType::intptr_type(), - false, GlobalValue::ExternalLinkage, - NULL, name, module()); - execution_engine()->addGlobalMapping(value, const_cast(ptr)); - - return ConstantExpr::getPtrToInt(value, SharkType::intptr_type()); -#endif // SHARK_LLVM_VERSION >= 25 || !AMD64 - } - - // Helper for making pointers + // Public interface to low-level non-VM calls. public: - llvm::Constant* make_pointer(intptr_t addr, const llvm::Type* type) - { - return llvm::ConstantExpr::getIntToPtr( - LLVMValue::intptr_constant(addr), - llvm::PointerType::getUnqual(type)); - } - - // External functions (and intrinsics) - private: - llvm::Constant* _llvm_cmpxchg_int_fn; - llvm::Constant* _llvm_cmpxchg_ptr_fn; - llvm::Constant* _llvm_memory_barrier_fn; - llvm::Constant* _llvm_memset_fn; - llvm::Constant* _llvm_sin_fn; - llvm::Constant* _llvm_cos_fn; - llvm::Constant* _llvm_sqrt_fn; - llvm::Constant* _llvm_log_fn; - llvm::Constant* _llvm_log10_fn; - llvm::Constant* _llvm_pow_fn; - llvm::Constant* _llvm_exp_fn; - - void set_llvm_cmpxchg_int_fn(llvm::Constant* llvm_cmpxchg_int_fn) - { - _llvm_cmpxchg_int_fn = llvm_cmpxchg_int_fn; - } - void set_llvm_cmpxchg_ptr_fn(llvm::Constant* llvm_cmpxchg_ptr_fn) - { - _llvm_cmpxchg_ptr_fn = llvm_cmpxchg_ptr_fn; - } - void set_llvm_memory_barrier_fn(llvm::Constant* llvm_memory_barrier_fn) - { - _llvm_memory_barrier_fn = llvm_memory_barrier_fn; - } - void set_llvm_memset_fn(llvm::Constant* llvm_memset_fn) - { - _llvm_memset_fn = llvm_memset_fn; - } - void set_llvm_sin_fn(llvm::Constant* llvm_sin_fn) - { - _llvm_sin_fn = llvm_sin_fn; - } - void set_llvm_cos_fn(llvm::Constant* llvm_cos_fn) - { - _llvm_cos_fn = llvm_cos_fn; - } - void set_llvm_sqrt_fn(llvm::Constant* llvm_sqrt_fn) - { - _llvm_sqrt_fn = llvm_sqrt_fn; - } - void set_llvm_log_fn(llvm::Constant* llvm_log_fn) - { - _llvm_log_fn = llvm_log_fn; - } - void set_llvm_log10_fn(llvm::Constant* llvm_log10_fn) - { - _llvm_log10_fn = llvm_log10_fn; - } - void set_llvm_pow_fn(llvm::Constant* llvm_pow_fn) - { - _llvm_pow_fn = llvm_pow_fn; - } - void set_llvm_exp_fn(llvm::Constant* llvm_exp_fn) - { - _llvm_exp_fn = llvm_exp_fn; - } - - void init_external_functions(); - - protected: - llvm::Constant* llvm_cmpxchg_int_fn() const - { - return _llvm_cmpxchg_int_fn; - } - llvm::Constant* llvm_cmpxchg_ptr_fn() const - { - return _llvm_cmpxchg_ptr_fn; - } - llvm::Constant* llvm_memory_barrier_fn() const - { - return _llvm_memory_barrier_fn; - } - llvm::Constant* llvm_memset_fn() const - { - return _llvm_memset_fn; - } - - public: - llvm::Constant* llvm_sin_fn() const - { - return _llvm_sin_fn; - } - llvm::Constant* llvm_cos_fn() const - { - return _llvm_cos_fn; - } - llvm::Constant* llvm_sqrt_fn() const - { - return _llvm_sqrt_fn; - } - llvm::Constant* llvm_log_fn() const - { - return _llvm_log_fn; - } - llvm::Constant* llvm_log10_fn() const - { - return _llvm_log10_fn; - } - llvm::Constant* llvm_pow_fn() const - { - return _llvm_pow_fn; - } - llvm::Constant* llvm_exp_fn() const - { - return _llvm_exp_fn; - } - - public: - llvm::CallInst* CreateDump(llvm::Value* value); + llvm::CallInst* CreateCmpxchgInt(llvm::Value* exchange_value, + llvm::Value* dst, + llvm::Value* compare_value); + llvm::CallInst* CreateCmpxchgPtr(llvm::Value* exchange_value, + llvm::Value* dst, + llvm::Value* compare_value); + llvm::CallInst* CreateMemoryBarrier(int flags); llvm::CallInst* CreateMemset(llvm::Value* dst, llvm::Value* value, llvm::Value* len, llvm::Value* align); - llvm::CallInst* CreateCmpxchgInt(llvm::Value* exchange_value, - llvm::Value* dst, - llvm::Value* compare_value); - llvm::CallInst* CreateCmpxchgPtr(llvm::Value* exchange_value, - llvm::Value* dst, - llvm::Value* compare_value); + llvm::CallInst* CreateUnimplemented(const char* file, int line); llvm::CallInst* CreateShouldNotReachHere(const char* file, int line); - llvm::CallInst* CreateUnimplemented(const char* file, int line); - - // HotSpot memory barriers - public: - void CreateUpdateBarrierSet(BarrierSet* bs, llvm::Value* field) - { - if (bs->kind() != BarrierSet::CardTableModRef) { - Unimplemented(); - } - - CreateStore( - LLVMValue::jbyte_constant(CardTableModRefBS::dirty_card), - CreateIntToPtr( - CreateAdd( - pointer_constant(((CardTableModRefBS *) bs)->byte_map_base), - CreateLShr( - CreatePtrToInt(field, SharkType::intptr_type()), - LLVMValue::intptr_constant(CardTableModRefBS::card_shift))), - llvm::PointerType::getUnqual(SharkType::jbyte_type()))); - } - - // Hardware memory barriers + NOT_PRODUCT(llvm::CallInst* CreateDump(llvm::Value* value)); + + // Flags for CreateMemoryBarrier. public: enum BarrierFlags { BARRIER_LOADLOAD = 1, @@ -348,48 +176,20 @@ BARRIER_STORESTORE = 8 }; + // HotSpot memory barriers public: - llvm::CallInst* CreateMemoryBarrier(BarrierFlags flags); + void CreateUpdateBarrierSet(BarrierSet* bs, llvm::Value* field); - // Alignment + // Helpers for accessing the code buffer. public: - llvm::Value* CreateAlign(llvm::Value* x, intptr_t s, const char* name = "") - { - assert(is_power_of_2(s), "should be"); - return CreateAnd( - CreateAdd(x, LLVMValue::intptr_constant(s - 1)), - LLVMValue::intptr_constant(~(s - 1)), - name); - } + llvm::Value* code_buffer_address(int offset); + llvm::Value* CreateInlineOop(ciObject* object, const char* name = ""); - // CodeBuffer interface - private: - SharkCodeBuffer* _code_buffer; - + // Helpers for creating basic blocks. + // NB don't use unless SharkFunction::CreateBlock is unavailable. + // XXX these are hacky and should be removed. public: - SharkCodeBuffer* code_buffer() const - { - return _code_buffer; - } - void set_code_buffer(SharkCodeBuffer* code_buffer) - { - _code_buffer = code_buffer; - } - - public: - llvm::Value* code_buffer_address(int offset) - { - return CreateAdd( - code_buffer()->base_pc(), LLVMValue::intptr_constant(offset)); - } - - public: - llvm::Value* CreateInlineOop(ciObject* object, const char* name = "") - { - return CreateLoad( - CreateIntToPtr( - code_buffer_address(code_buffer()->inline_oop(object)), - llvm::PointerType::getUnqual(SharkType::jobject_type())), - name); - } + llvm::BasicBlock* GetBlockInsertionPoint() const; + llvm::BasicBlock* CreateBlock(llvm::BasicBlock* ip, + const char* name="") const; }; diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -31,7 +31,7 @@ void SharkDecacher::start_frame() { // Start recording the debug information - _pc_offset = builder()->code_buffer()->create_unique_offset(); + _pc_offset = code_buffer()->create_unique_offset(); _oopmap = new OopMap( oopmap_slot_munge(function()->oopmap_frame_size()), oopmap_slot_munge(arg_size())); diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -53,9 +53,6 @@ _module = new Module("shark"); #endif - // Create the builder to build our functions - _builder = new SharkBuilder(this); - #if SHARK_LLVM_VERSION >= 26 // If we have a native target, initialize it to ensure it is linked in and // usable by the JIT. @@ -82,7 +79,6 @@ // Initialize Shark components that need it SharkType::initialize(); - SharkRuntime::initialize(builder()); mark_initialized(); } @@ -137,22 +133,19 @@ env->debug_info()->set_oopmaps(&oopmaps); env->set_dependencies(new Dependencies(env)); - // Create the code buffer and hook it into the builder + // Create the code buffer and builder SharkCodeBuffer cb(env->oop_recorder()); - builder()->set_code_buffer(&cb); + SharkBuilder builder(module(), &cb); // Emit the entry point SharkEntry *entry = (SharkEntry *) cb.malloc(sizeof(SharkEntry)); // Build the LLVM IR for the method - Function *function = SharkFunction::build(this, env, flow, name); + Function *function = SharkFunction::build(this, env, &builder, flow, name); if (SharkPrintBitcodeOf != NULL) { if (!fnmatch(SharkPrintBitcodeOf, name, 0)) function->dump(); } - - // Unhook the code buffer - builder()->set_code_buffer(NULL); // Compile to native code #ifndef PRODUCT diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkCompiler.hpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -22,8 +22,6 @@ * have any questions. * */ - -class SharkBuilder; class SharkCompiler : public AbstractCompiler { public: @@ -50,7 +48,6 @@ // LLVM interface private: llvm::Module* _module; - SharkBuilder* _builder; SharkMemoryManager* _memory_manager; llvm::ExecutionEngine* _execution_engine; @@ -58,10 +55,6 @@ llvm::Module* module() const { return _module; - } - SharkBuilder* builder() const - { - return _builder; } SharkMemoryManager* memory_manager() const { diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkFunction.cpp --- a/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -42,7 +42,7 @@ method->setName("method"); Argument *base_pc = ai++; base_pc->setName("base_pc"); - builder()->code_buffer()->set_base_pc(base_pc); + code_buffer()->set_base_pc(base_pc); Argument *thread = ai++; thread->setName("thread"); set_thread(thread); diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkFunction.hpp --- a/ports/hotspot/src/share/vm/shark/sharkFunction.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -30,19 +30,21 @@ public: static llvm::Function* build(SharkCompiler* compiler, ciEnv* env, + SharkBuilder* builder, ciTypeFlow* flow, const char* name) { - SharkFunction function(compiler, env, flow, name); + SharkFunction function(compiler, env, builder, flow, name); return function.function(); } private: SharkFunction(SharkCompiler* compiler, ciEnv* env, + SharkBuilder* builder, ciTypeFlow* flow, const char* name) - : SharkTargetInvariants(compiler, env, flow) { initialize(name); } + : SharkTargetInvariants(compiler, env, builder, flow) { initialize(name); } private: void initialize(const char* name); diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp --- a/ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -92,34 +92,34 @@ do_Math_minmax(llvm::ICmpInst::ICMP_SGE); break; case vmIntrinsics::_dabs: - do_Math_1to1(SharkRuntime::fabs()); + do_Math_1to1(builder()->fabs()); break; case vmIntrinsics::_dsin: - do_Math_1to1(builder()->llvm_sin_fn()); + do_Math_1to1(builder()->sin()); break; case vmIntrinsics::_dcos: - do_Math_1to1(builder()->llvm_cos_fn()); + do_Math_1to1(builder()->cos()); break; case vmIntrinsics::_dtan: - do_Math_1to1(SharkRuntime::tan()); + do_Math_1to1(builder()->tan()); break; case vmIntrinsics::_datan2: - do_Math_2to1(SharkRuntime::atan2()); + do_Math_2to1(builder()->atan2()); break; case vmIntrinsics::_dsqrt: - do_Math_1to1(builder()->llvm_sqrt_fn()); + do_Math_1to1(builder()->sqrt()); break; case vmIntrinsics::_dlog: - do_Math_1to1(builder()->llvm_log_fn()); + do_Math_1to1(builder()->log()); break; case vmIntrinsics::_dlog10: - do_Math_1to1(builder()->llvm_log10_fn()); + do_Math_1to1(builder()->log10()); break; case vmIntrinsics::_dpow: - do_Math_2to1(builder()->llvm_pow_fn()); + do_Math_2to1(builder()->pow()); break; case vmIntrinsics::_dexp: - do_Math_1to1(builder()->llvm_exp_fn()); + do_Math_1to1(builder()->exp()); break; // java.lang.Object @@ -181,7 +181,7 @@ sa->zero_checked() && sb->zero_checked())); } -void SharkIntrinsics::do_Math_1to1(Constant *function) +void SharkIntrinsics::do_Math_1to1(Value *function) { SharkValue *empty = state()->pop(); assert(empty == NULL, "should be"); @@ -192,7 +192,7 @@ state()->push(NULL); } -void SharkIntrinsics::do_Math_2to1(Constant *function) +void SharkIntrinsics::do_Math_2to1(Value *function) { SharkValue *empty = state()->pop(); assert(empty == NULL, "should be"); @@ -235,7 +235,7 @@ { state()->push( SharkValue::create_jlong( - builder()->CreateCall(SharkRuntime::current_time_millis()), + builder()->CreateCall(builder()->current_time_millis()), false)); state()->push(NULL); } @@ -264,7 +264,7 @@ // Convert the offset offset = builder()->CreateCall( - SharkRuntime::unsafe_field_offset_to_byte_offset(), + builder()->unsafe_field_offset_to_byte_offset(), offset); // Locate the field diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp --- a/ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkIntrinsics.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -46,8 +46,8 @@ private: void do_Math_minmax(llvm::ICmpInst::Predicate p); - void do_Math_1to1(llvm::Constant* function); - void do_Math_2to1(llvm::Constant* function); + void do_Math_1to1(llvm::Value* function); + void do_Math_2to1(llvm::Value* function); void do_Object_getClass(); void do_System_currentTimeMillis(); void do_Thread_currentThread(); diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkInvariants.hpp --- a/ports/hotspot/src/share/vm/shark/sharkInvariants.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkInvariants.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -31,25 +31,30 @@ class SharkCompileInvariants : public ResourceObj { protected: - SharkCompileInvariants(SharkCompiler* compiler, ciEnv* env) + SharkCompileInvariants(SharkCompiler* compiler, + ciEnv* env, + SharkBuilder* builder) : _compiler(compiler), _env(env), + _builder(builder), _thread(NULL) {} SharkCompileInvariants(const SharkCompileInvariants* parent) : _compiler(parent->_compiler), _env(parent->_env), + _builder(parent->_builder), _thread(parent->_thread) {} private: SharkCompiler* _compiler; ciEnv* _env; + SharkBuilder* _builder; llvm::Value* _thread; // The SharkCompiler that is compiling this method. Holds the - // classes that form the interface with LLVM (the builder, the - // module, the memory manager, etc) and provides the compile() - // method to convert LLVM functions to native code. + // classes that form the interface with LLVM (the module, the + // memory manager, etc) and provides the compile() method to + // convert LLVM functions to native code. protected: SharkCompiler* compiler() const { @@ -71,6 +76,13 @@ return _env; } + // The SharkBuilder that is used to build LLVM IR. + protected: + SharkBuilder* builder() const + { + return _builder; + } + // Pointer to this thread's JavaThread object. This is not // available until a short way into SharkFunction creation // so a setter is required. Assertions are used to enforce @@ -89,10 +101,6 @@ // Objects that handle various aspects of the compilation. protected: - SharkBuilder* builder() const - { - return compiler()->builder(); - } DebugInformationRecorder* debug_info() const { return env()->debug_info(); @@ -100,6 +108,10 @@ Dependencies* dependencies() const { return env()->dependencies(); + } + SharkCodeBuffer* code_buffer() const + { + return builder()->code_buffer(); } // That well-known class... @@ -112,8 +124,11 @@ class SharkTargetInvariants : public SharkCompileInvariants { protected: - SharkTargetInvariants(SharkCompiler* compiler, ciEnv* env, ciTypeFlow* flow) - : SharkCompileInvariants(compiler, env), + SharkTargetInvariants(SharkCompiler* compiler, + ciEnv* env, + SharkBuilder* builder, + ciTypeFlow* flow) + : SharkCompileInvariants(compiler, env, builder), _target(flow->method()), _flow(flow), _max_monitors(count_monitors()) {} diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkRuntime.cpp --- a/ports/hotspot/src/share/vm/shark/sharkRuntime.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkRuntime.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -28,222 +28,9 @@ using namespace llvm; -// VM calls -Constant* SharkRuntime::_find_exception_handler; -Constant* SharkRuntime::_monitorenter; -Constant* SharkRuntime::_monitorexit; -Constant* SharkRuntime::_new_instance; -Constant* SharkRuntime::_newarray; -Constant* SharkRuntime::_anewarray; -Constant* SharkRuntime::_multianewarray; -Constant* SharkRuntime::_register_finalizer; -Constant* SharkRuntime::_safepoint; -Constant* SharkRuntime::_throw_ArrayIndexOutOfBoundsException; -Constant* SharkRuntime::_throw_NullPointerException; - -// Leaf calls -Constant* SharkRuntime::_f2i; -Constant* SharkRuntime::_f2l; -Constant* SharkRuntime::_d2i; -Constant* SharkRuntime::_d2l; - -// Non-VM calls -Constant* SharkRuntime::_dump; -Constant* SharkRuntime::_is_subtype_of; -Constant* SharkRuntime::_should_not_reach_here; -Constant* SharkRuntime::_unimplemented; -Constant* SharkRuntime::_uncommon_trap; -Constant* SharkRuntime::_current_time_millis; -Constant* SharkRuntime::_fabs; -Constant* SharkRuntime::_tan; -Constant* SharkRuntime::_atan2; -Constant* SharkRuntime::_unsafe_field_offset_to_byte_offset; - -extern jlong Unsafe_field_offset_to_byte_offset(jlong field_offset); - -void SharkRuntime::initialize(SharkBuilder* builder) -{ - // VM calls - std::vector params; - params.push_back(SharkType::thread_type()); - params.push_back(PointerType::getUnqual(SharkType::jint_type())); - params.push_back(SharkType::jint_type()); - _find_exception_handler = builder->make_function( - (intptr_t) find_exception_handler_C, - FunctionType::get(SharkType::jint_type(), params, false), - "SharkRuntime__find_exception_handler"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(PointerType::getUnqual(SharkType::monitor_type())); - _monitorenter = builder->make_function( - (intptr_t) monitorenter_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__monitorenter"); - _monitorexit = builder->make_function( - (intptr_t) monitorexit_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__monitorexit"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::jint_type()); - _new_instance = builder->make_function( - (intptr_t) new_instance_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__new_instance"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::jint_type()); - params.push_back(SharkType::jint_type()); - _newarray = builder->make_function( - (intptr_t) newarray_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__newarray"); - _anewarray = builder->make_function( - (intptr_t) anewarray_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__anewarray"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::jint_type()); - params.push_back(SharkType::jint_type()); - params.push_back(PointerType::getUnqual(SharkType::jint_type())); - _multianewarray = builder->make_function( - (intptr_t) multianewarray_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__multianewarray"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::oop_type()); - _register_finalizer = builder->make_function( - (intptr_t) register_finalizer_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__register_finalizer"); - - params.clear(); - params.push_back(SharkType::thread_type()); - _safepoint = builder->make_function( - (intptr_t) SafepointSynchronize::block, - FunctionType::get(Type::VoidTy, params, false), - "SafepointSynchronize__block"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::intptr_type()); - params.push_back(SharkType::jint_type()); - params.push_back(SharkType::jint_type()); - _throw_ArrayIndexOutOfBoundsException = builder->make_function( - (intptr_t) throw_ArrayIndexOutOfBoundsException_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__throw_ArrayIndexOutOfBoundsException"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::intptr_type()); - params.push_back(SharkType::jint_type()); - _throw_NullPointerException = builder->make_function( - (intptr_t) throw_NullPointerException_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__throw_NullPointerException"); - - // Leaf calls - params.clear(); - params.push_back(SharkType::jfloat_type()); - _f2i = builder->make_function( - (intptr_t) SharedRuntime::f2i, - FunctionType::get(SharkType::jint_type(), params, false), - "SharedRuntime__f2i"); - _f2l = builder->make_function( - (intptr_t) SharedRuntime::f2l, - FunctionType::get(SharkType::jlong_type(), params, false), - "SharedRuntime__f2l"); - - params.clear(); - params.push_back(SharkType::jdouble_type()); - _d2i = builder->make_function( - (intptr_t) SharedRuntime::d2i, - FunctionType::get(SharkType::jint_type(), params, false), - "SharedRuntime__d2i"); - _d2l = builder->make_function( - (intptr_t) SharedRuntime::d2l, - FunctionType::get(SharkType::jlong_type(), params, false), - "SharedRuntime__d2l"); - - // Non-VM calls - params.clear(); - params.push_back(SharkType::intptr_type()); - params.push_back(SharkType::intptr_type()); - _dump = builder->make_function( - (intptr_t) dump_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__dump"); - - params.clear(); - params.push_back(SharkType::oop_type()); - params.push_back(SharkType::oop_type()); - assert(sizeof(bool) == 1, "fix this"); - _is_subtype_of = builder->make_function( - (intptr_t) is_subtype_of_C, - FunctionType::get(Type::Int8Ty, params, false), - "SharkRuntime__is_subtype_of"); - - params.clear(); - params.push_back(SharkType::intptr_type()); - params.push_back(SharkType::jint_type()); - _should_not_reach_here = builder->make_function( - (intptr_t) report_should_not_reach_here, - FunctionType::get(Type::VoidTy, params, false), - "report_should_not_reach_here"); - _unimplemented = builder->make_function( - (intptr_t) report_unimplemented, - FunctionType::get(Type::VoidTy, params, false), - "report_unimplemented"); - - params.clear(); - params.push_back(SharkType::thread_type()); - params.push_back(SharkType::jint_type()); - _uncommon_trap = builder->make_function( - (intptr_t) uncommon_trap_C, - FunctionType::get(Type::VoidTy, params, false), - "SharkRuntime__uncommon_trap"); - - params.clear(); - _current_time_millis = builder->make_function( - (intptr_t) os::javaTimeMillis, - FunctionType::get(SharkType::jlong_type(), params, false), - "os__javaTimeMillis"); - - params.clear(); - params.push_back(SharkType::jdouble_type()); - _fabs = builder->make_function( - (intptr_t) ::fabs, - FunctionType::get(SharkType::jdouble_type(), params, false), - "fabs"); - _tan = builder->make_function( - (intptr_t) ::tan, - FunctionType::get(SharkType::jdouble_type(), params, false), - "tan"); - params.push_back(SharkType::jdouble_type()); - _atan2 = builder->make_function( - (intptr_t) ::atan2, - FunctionType::get(SharkType::jdouble_type(), params, false), - "atan2"); - - params.clear(); - params.push_back(SharkType::jlong_type()); - _unsafe_field_offset_to_byte_offset = builder->make_function( - (intptr_t) Unsafe_field_offset_to_byte_offset, - FunctionType::get(SharkType::jlong_type(), params, false), - "Unsafe_field_offset_to_byte_offset"); -} - -JRT_ENTRY(int, SharkRuntime::find_exception_handler_C(JavaThread* thread, - int* indexes, - int num_indexes)) +JRT_ENTRY(int, SharkRuntime::find_exception_handler(JavaThread* thread, + int* indexes, + int num_indexes)) { constantPoolHandle pool(thread, method(thread)->constants()); KlassHandle exc_klass(thread, ((oop) tos_at(thread, 0))->klass()); @@ -263,8 +50,8 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::monitorenter_C(JavaThread* thread, - BasicObjectLock* lock)) +JRT_ENTRY(void, SharkRuntime::monitorenter(JavaThread* thread, + BasicObjectLock* lock)) { if (PrintBiasedLockingStatistics) Atomic::inc(BiasedLocking::slow_path_entry_count_addr()); @@ -281,8 +68,8 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::monitorexit_C(JavaThread* thread, - BasicObjectLock* lock)) +JRT_ENTRY(void, SharkRuntime::monitorexit(JavaThread* thread, + BasicObjectLock* lock)) { Handle object(thread, lock->obj()); assert(Universe::heap()->is_in_reserved_or_null(object()), "should be"); @@ -293,7 +80,7 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::new_instance_C(JavaThread* thread, int index)) +JRT_ENTRY(void, SharkRuntime::new_instance(JavaThread* thread, int index)) { klassOop k_oop = method(thread)->constants()->klass_at(index, CHECK); instanceKlassHandle klass(THREAD, k_oop); @@ -323,18 +110,18 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::newarray_C(JavaThread* thread, - BasicType type, - int size)) +JRT_ENTRY(void, SharkRuntime::newarray(JavaThread* thread, + BasicType type, + int size)) { oop obj = oopFactory::new_typeArray(type, size, CHECK); thread->set_vm_result(obj); } JRT_END -JRT_ENTRY(void, SharkRuntime::anewarray_C(JavaThread* thread, - int index, - int size)) +JRT_ENTRY(void, SharkRuntime::anewarray(JavaThread* thread, + int index, + int size)) { klassOop klass = method(thread)->constants()->klass_at(index, CHECK); objArrayOop obj = oopFactory::new_objArray(klass, size, CHECK); @@ -342,10 +129,10 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::multianewarray_C(JavaThread* thread, - int index, - int ndims, - int* dims)) +JRT_ENTRY(void, SharkRuntime::multianewarray(JavaThread* thread, + int index, + int ndims, + int* dims)) { klassOop klass = method(thread)->constants()->klass_at(index, CHECK); oop obj = arrayKlass::cast(klass)->multi_allocate(ndims, dims, CHECK); @@ -353,8 +140,8 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::register_finalizer_C(JavaThread* thread, - oop object)) +JRT_ENTRY(void, SharkRuntime::register_finalizer(JavaThread* thread, + oop object)) { assert(object->is_oop(), "should be"); assert(object->klass()->klass_part()->has_finalizer(), "should have"); @@ -362,7 +149,7 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::throw_ArrayIndexOutOfBoundsException_C( +JRT_ENTRY(void, SharkRuntime::throw_ArrayIndexOutOfBoundsException( JavaThread* thread, const char* file, int line, @@ -377,9 +164,9 @@ } JRT_END -JRT_ENTRY(void, SharkRuntime::throw_NullPointerException_C(JavaThread* thread, - const char* file, - int line)) +JRT_ENTRY(void, SharkRuntime::throw_NullPointerException(JavaThread* thread, + const char* file, + int line)) { Exceptions::_throw_msg( thread, file, line, @@ -391,7 +178,7 @@ // Non-VM calls // Nothing in these must ever GC! -void SharkRuntime::dump_C(const char *name, intptr_t value) +void SharkRuntime::dump(const char *name, intptr_t value) { oop valueOop = (oop) value; tty->print("%s = ", name); @@ -404,12 +191,12 @@ tty->print_cr(""); } -bool SharkRuntime::is_subtype_of_C(klassOop check_klass, klassOop object_klass) +bool SharkRuntime::is_subtype_of(klassOop check_klass, klassOop object_klass) { return object_klass->klass_part()->is_subtype_of(check_klass); } -void SharkRuntime::uncommon_trap_C(JavaThread* thread, int trap_request) +void SharkRuntime::uncommon_trap(JavaThread* thread, int trap_request) { // In C2, uncommon_trap_blob creates a frame, so all the various // deoptimization functions expect to find the frame of the method diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkRuntime.hpp --- a/ports/hotspot/src/share/vm/shark/sharkRuntime.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkRuntime.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -24,94 +24,32 @@ */ class SharkRuntime : public AllStatic { + // VM calls public: - static void initialize(SharkBuilder* builder); + static int find_exception_handler(JavaThread* thread, + int* indexes, + int num_indexes); - // VM calls - private: - static llvm::Constant* _find_exception_handler; - static llvm::Constant* _monitorenter; - static llvm::Constant* _monitorexit; - static llvm::Constant* _new_instance; - static llvm::Constant* _newarray; - static llvm::Constant* _anewarray; - static llvm::Constant* _multianewarray; - static llvm::Constant* _register_finalizer; - static llvm::Constant* _safepoint; - static llvm::Constant* _throw_ArrayIndexOutOfBoundsException; - static llvm::Constant* _throw_NullPointerException; + static void monitorenter(JavaThread* thread, BasicObjectLock* lock); + static void monitorexit(JavaThread* thread, BasicObjectLock* lock); - public: - static llvm::Constant* find_exception_handler() - { - return _find_exception_handler; - } - static llvm::Constant* monitorenter() - { - return _monitorenter; - } - static llvm::Constant* monitorexit() - { - return _monitorexit; - } - static llvm::Constant* new_instance() - { - return _new_instance; - } - static llvm::Constant* newarray() - { - return _newarray; - } - static llvm::Constant* anewarray() - { - return _anewarray; - } - static llvm::Constant* multianewarray() - { - return _multianewarray; - } - static llvm::Constant* register_finalizer() - { - return _register_finalizer; - } - static llvm::Constant* safepoint() - { - return _safepoint; - } - static llvm::Constant* throw_ArrayIndexOutOfBoundsException() - { - return _throw_ArrayIndexOutOfBoundsException; - } - static llvm::Constant* throw_NullPointerException() - { - return _throw_NullPointerException; - } + static void new_instance(JavaThread* thread, int index); + static void newarray(JavaThread* thread, BasicType type, int size); + static void anewarray(JavaThread* thread, int index, int size); + static void multianewarray(JavaThread* thread, + int index, + int ndims, + int* dims); - private: - static int find_exception_handler_C(JavaThread* thread, - int* indexes, - int num_indexes); + static void register_finalizer(JavaThread* thread, oop object); - static void monitorenter_C(JavaThread* thread, BasicObjectLock* lock); - static void monitorexit_C(JavaThread* thread, BasicObjectLock* lock); - - static void new_instance_C(JavaThread* thread, int index); - static void newarray_C(JavaThread* thread, BasicType type, int size); - static void anewarray_C(JavaThread* thread, int index, int size); - static void multianewarray_C(JavaThread* thread, - int index, - int ndims, - int* dims); - - static void register_finalizer_C(JavaThread* thread, oop object); - - static void throw_ArrayIndexOutOfBoundsException_C(JavaThread* thread, - const char* file, - int line, - int index); - static void throw_NullPointerException_C(JavaThread* thread, - const char* file, - int line); + static void throw_ArrayIndexOutOfBoundsException(JavaThread* thread, + const char* file, + int line, + int index); + static void throw_NullPointerException(JavaThread* thread, + const char* file, + int line); // Helpers for VM calls private: @@ -136,88 +74,9 @@ return *(thread->zero_stack()->sp() + offset); } - // Leaf calls - private: - static llvm::Constant* _f2i; - static llvm::Constant* _f2l; - static llvm::Constant* _d2i; - static llvm::Constant* _d2l; - + // Non-VM calls public: - static llvm::Constant* f2i() - { - return _f2i; - } - static llvm::Constant* f2l() - { - return _f2l; - } - static llvm::Constant* d2i() - { - return _d2i; - } - static llvm::Constant* d2l() - { - return _d2l; - } - - // Non-VM calls - private: - static llvm::Constant* _dump; - static llvm::Constant* _is_subtype_of; - static llvm::Constant* _should_not_reach_here; - static llvm::Constant* _unimplemented; - static llvm::Constant* _uncommon_trap; - static llvm::Constant* _current_time_millis; - static llvm::Constant* _fabs; - static llvm::Constant* _tan; - static llvm::Constant* _atan2; - static llvm::Constant* _unsafe_field_offset_to_byte_offset; - - public: - static llvm::Constant* dump() - { - return _dump; - } - static llvm::Constant* is_subtype_of() - { - return _is_subtype_of; - } - static llvm::Constant* should_not_reach_here() - { - return _should_not_reach_here; - } - static llvm::Constant* unimplemented() - { - return _unimplemented; - } - static llvm::Constant* uncommon_trap() - { - return _uncommon_trap; - } - static llvm::Constant* current_time_millis() - { - return _current_time_millis; - } - static llvm::Constant* fabs() - { - return _fabs; - } - static llvm::Constant* tan() - { - return _tan; - } - static llvm::Constant* atan2() - { - return _atan2; - } - static llvm::Constant* unsafe_field_offset_to_byte_offset() - { - return _unsafe_field_offset_to_byte_offset; - } - - private: - static void dump_C(const char *name, intptr_t value); - static bool is_subtype_of_C(klassOop check_klass, klassOop object_klass); - static void uncommon_trap_C(JavaThread* thread, int trap_request); + static void dump(const char *name, intptr_t value); + static bool is_subtype_of(klassOop check_klass, klassOop object_klass); + static void uncommon_trap(JavaThread* thread, int trap_request); }; diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Thu Jul 30 04:51:32 2009 -0400 @@ -324,8 +324,10 @@ builder()->SetInsertPoint(zero_block); if (value->is_jobject()) { call_vm( - SharkRuntime::throw_NullPointerException(), - builder()->pointer_constant(__FILE__), + builder()->throw_NullPointerException(), + builder()->CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) __FILE__), + PointerType::getUnqual(SharkType::jbyte_type())), LLVMValue::jint_constant(__LINE__), EX_CHECK_NONE); } @@ -349,8 +351,10 @@ builder()->SetInsertPoint(out_of_bounds); SharkState *saved_state = current_state()->copy(); call_vm( - SharkRuntime::throw_ArrayIndexOutOfBoundsException(), - builder()->pointer_constant(__FILE__), + builder()->throw_ArrayIndexOutOfBoundsException(), + builder()->CreateIntToPtr( + LLVMValue::intptr_constant((intptr_t) __FILE__), + PointerType::getUnqual(SharkType::jbyte_type())), LLVMValue::jint_constant(__LINE__), index->jint_value(), EX_CHECK_NONE); @@ -433,7 +437,7 @@ builder()->CreateStructGEP(options, i)); Value *index = call_vm( - SharkRuntime::find_exception_handler(), + builder()->find_exception_handler(), builder()->CreateStructGEP(options, 0), LLVMValue::jint_constant(num_options), EX_CHECK_NO_CATCH); @@ -483,7 +487,8 @@ Value *state = builder()->CreateLoad( builder()->CreateIntToPtr( - builder()->pointer_constant(SafepointSynchronize::address_of_state()), + LLVMValue::intptr_constant( + (intptr_t) SafepointSynchronize::address_of_state()), PointerType::getUnqual(SharkType::jint_type())), "state"); @@ -494,7 +499,7 @@ do_safepoint, safepointed); builder()->SetInsertPoint(do_safepoint); - call_vm(SharkRuntime::safepoint(), EX_CHECK_FULL); + call_vm(builder()->safepoint(), EX_CHECK_FULL); BasicBlock *safepointed_block = builder()->GetInsertBlock(); builder()->CreateBr(safepointed); @@ -553,7 +558,7 @@ { decache_for_trap(); builder()->CreateCall2( - SharkRuntime::uncommon_trap(), + builder()->uncommon_trap(), thread(), LLVMValue::jint_constant(trap_request)); builder()->CreateRetVoid(); @@ -594,7 +599,7 @@ do_call, done); builder()->SetInsertPoint(do_call); - call_vm(SharkRuntime::register_finalizer(), receiver, EX_CHECK_FULL); + call_vm(builder()->register_finalizer(), receiver, EX_CHECK_FULL); BasicBlock *branch_block = builder()->GetInsertBlock(); builder()->CreateBr(done); @@ -989,16 +994,19 @@ builder()->CreateIntCast(vtable_length, SharkType::intptr_type(), false); bool needs_aligning = HeapWordsPerLong > 1; - const char *itable_start_name = "itable_start"; Value *itable_start = builder()->CreateAdd( vtable_start, builder()->CreateShl( vtable_length, LLVMValue::intptr_constant(exact_log2(vtableEntry::size() * wordSize))), - needs_aligning ? "" : itable_start_name); - if (needs_aligning) - itable_start = builder()->CreateAlign( - itable_start, BytesPerLong, itable_start_name); + needs_aligning ? "" : "itable_start"); + if (needs_aligning) { + itable_start = builder()->CreateAnd( + builder()->CreateAdd( + itable_start, LLVMValue::intptr_constant(BytesPerLong - 1)), + LLVMValue::intptr_constant(~(BytesPerLong - 1)), + "itable_start"); + } // Locate this interface's entry in the table Value *iklass = builder()->CreateInlineOop(method->holder()); @@ -1327,7 +1335,7 @@ builder()->CreateCondBr( builder()->CreateICmpNE( builder()->CreateCall2( - SharkRuntime::is_subtype_of(), check_klass, object_klass), + builder()->is_subtype_of(), check_klass, object_klass), LLVMValue::jbyte_constant(0)), is_instance, not_instance); @@ -1483,13 +1491,13 @@ // Heap allocation Value *top_addr = builder()->CreateIntToPtr( - builder()->pointer_constant(Universe::heap()->top_addr()), + LLVMValue::intptr_constant((intptr_t) Universe::heap()->top_addr()), PointerType::getUnqual(SharkType::intptr_type()), "top_addr"); Value *end = builder()->CreateLoad( builder()->CreateIntToPtr( - builder()->pointer_constant(Universe::heap()->end_addr()), + LLVMValue::intptr_constant((intptr_t) Universe::heap()->end_addr()), PointerType::getUnqual(SharkType::intptr_type())), "end"); @@ -1565,7 +1573,7 @@ // The slow path call_vm( - SharkRuntime::new_instance(), + builder()->new_instance(), LLVMValue::jint_constant(iter()->get_klass_index()), EX_CHECK_FULL); slow_object = function()->CreateGetVMResult(); @@ -1595,7 +1603,7 @@ BasicType type = (BasicType) iter()->get_index(); call_vm( - SharkRuntime::newarray(), + builder()->newarray(), LLVMValue::jint_constant(type), pop()->jint_value(), EX_CHECK_FULL); @@ -1618,7 +1626,7 @@ } call_vm( - SharkRuntime::anewarray(), + builder()->anewarray(), LLVMValue::jint_constant(iter()->get_klass_index()), pop()->jint_value(), EX_CHECK_FULL); @@ -1650,7 +1658,7 @@ } call_vm( - SharkRuntime::multianewarray(), + builder()->multianewarray(), LLVMValue::jint_constant(iter()->get_klass_index()), LLVMValue::jint_constant(ndims), builder()->CreateStructGEP(dimensions, 0), @@ -1764,7 +1772,7 @@ // It's not a recursive case so we need to drop into the runtime builder()->SetInsertPoint(not_recursive); call_vm( - SharkRuntime::monitorenter(), monitor_addr, + builder()->monitorenter(), monitor_addr, exception_action | EAM_MONITOR_FUDGE); BasicBlock *acquired_slow = builder()->GetInsertBlock(); builder()->CreateBr(lock_acquired); @@ -1817,7 +1825,7 @@ // Need to drop into the runtime to release this one builder()->SetInsertPoint(slow_path); - call_vm(SharkRuntime::monitorexit(), monitor_addr, exception_action); + call_vm(builder()->monitorexit(), monitor_addr, exception_action); BasicBlock *released_slow = builder()->GetInsertBlock(); builder()->CreateBr(lock_released); diff -r ff01867e1a2a -r 051ca564791d ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Wed Jul 29 10:57:38 2009 -0400 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Thu Jul 30 04:51:32 2009 -0400 @@ -256,10 +256,10 @@ // VM calls private: - llvm::CallInst* call_vm(llvm::Constant* callee, - llvm::Value** args_start, - llvm::Value** args_end, - int exception_action) + llvm::CallInst* call_vm(llvm::Value* callee, + llvm::Value** args_start, + llvm::Value** args_end, + int exception_action) { decache_for_VM_call(); function()->set_last_Java_frame(); @@ -274,32 +274,32 @@ } public: - llvm::CallInst* call_vm(llvm::Constant* callee, - int exception_action) + llvm::CallInst* call_vm(llvm::Value* callee, + int exception_action) { llvm::Value *args[] = {thread()}; return call_vm(callee, args, args + 1, exception_action); } - llvm::CallInst* call_vm(llvm::Constant* callee, - llvm::Value* arg1, - int exception_action) + llvm::CallInst* call_vm(llvm::Value* callee, + llvm::Value* arg1, + int exception_action) { llvm::Value *args[] = {thread(), arg1}; return call_vm(callee, args, args + 2, exception_action); } - llvm::CallInst* call_vm(llvm::Constant* callee, - llvm::Value* arg1, - llvm::Value* arg2, - int exception_action) + llvm::CallInst* call_vm(llvm::Value* callee, + llvm::Value* arg1, + llvm::Value* arg2, + int exception_action) { llvm::Value *args[] = {thread(), arg1, arg2}; return call_vm(callee, args, args + 3, exception_action); } - llvm::CallInst* call_vm(llvm::Constant* callee, - llvm::Value* arg1, - llvm::Value* arg2, - llvm::Value* arg3, - int exception_action) + llvm::CallInst* call_vm(llvm::Value* callee, + llvm::Value* arg1, + llvm::Value* arg2, + llvm::Value* arg3, + int exception_action) { llvm::Value *args[] = {thread(), arg1, arg2, arg3}; return call_vm(callee, args, args + 4, exception_action); From omajid at redhat.com Thu Jul 30 08:29:38 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 30 Jul 2009 11:29:38 -0400 Subject: RFC: Netx - disable desktop shortcuts Message-ID: <4A71BC62.9050508@redhat.com> Hi, I would like to disable the desktop launcher code in Netx as it has some issues. Thanks to Deepak who originally brought up these problems. The two major ones are: 1. First of all, the desktop launcher Netx creates dont work well with the alternatives system. They all invoke $CURRENT_JDK_HOME/bin/javaws instead of /usr/bin/javaws. However changing to /usr/bin/javaws brings up other problems. /usr/bin/javaws is likely to be some other JDK which may or may not understand Netx's options that it uses in the launcher. This could lead to desktop launchers that dont work. /usr/bin/javaws overwite our shortcut with it's own which would then call, for example, /usr/java/latest/bin/javaws instead of /usr/bin/javaws. Also note that Sun's javaws creates a launcher that points to their cache. Netx wont be able to use that cache. Part of this issue can be fixed by using the exact same options as Sun's javaws to maintain compatibility. However I dont see a simple way to make a proprietary JRE's javaws invoke /usr/bin/javaws. Or to share the cache between multiple JDKs. 2. These shortcuts dont work offline, even if the application allows it. The current launchers just point Netx to the original JNLP file, which wont work if the machine is offline (even if everything has been cached by Netx). The correct fix is to ensure that Netx supports offline mode, uses the cache and JNLP update mechanism correctly and then make the launcher point to the cache. This might take some time to implement correctly. Because of these major issues, I would like to disable desktop shortcut support in Netx. ChangeLog: 2009-07-30 Omair Majid * rt/net/sourceforge/jnlp/runtime/ApplicationInstance.java (initialize): Disable creating desktop shortcuts. Any comments? Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-disable-desktop-shortcuts.patch Type: text/x-patch Size: 1315 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090730/cae97c4b/netx-disable-desktop-shortcuts.patch From gnu_andrew at member.fsf.org Thu Jul 30 14:14:16 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 30 Jul 2009 22:14:16 +0100 Subject: changeset in /hg/icedtea6: New patch to fix CACAO build on GCC 4.4 In-Reply-To: References: Message-ID: <17c6771e0907301414g3c2dd21dxc22b441cf91f971@mail.gmail.com> 2009/6/24 : > changeset 629f7b7a918f in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=629f7b7a918f > description: > ? ? ? ?New patch to fix CACAO build on GCC 4.4 > > ? ? ? ?2009-06-24 ?Andrew John Hughes ? > > ? ? ? ? ? ? ? ?* patches/cacao/no-strict-aliasing.patch: > ? ? ? ? ? ? ? ?New patch to fix CACAO build on GCC 4.4 (see PR129). > ? ? ? ? ? ? ? ?* Makefile.am: Add new patch. > ? ? ? ? ? ? ? ?* HACKING: Update. > > diffstat: > > 4 files changed, 34 insertions(+), 1 deletion(-) > ChangeLog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?7 +++++++ > HACKING ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?2 ++ > Makefile.am ? ? ? ? ? ? ? ? ? ? ? ? ? ?| ? ?3 ++- > patches/cacao/no-strict-aliasing.patch | ? 23 +++++++++++++++++++++++ > > diffs (66 lines): > > diff -r 46341fc21171 -r 629f7b7a918f ChangeLog > --- a/ChangeLog Tue Jun 23 16:31:22 2009 +0200 > +++ b/ChangeLog Wed Jun 24 10:26:38 2009 +0200 > @@ -1,3 +1,10 @@ 2009-06-23 ?Matthias Klose ? +2009-06-24 ?Andrew John Hughes ? > + > + ? ? ? * patches/cacao/no-strict-aliasing.patch: > + ? ? ? New patch to fix CACAO build on GCC 4.4 (see PR129). > + ? ? ? * Makefile.am: Add new patch. > + ? ? ? * HACKING: Update. > + > ?2009-06-23 ?Matthias Klose ? > > ? ? ? ?* ports/hotspot/src/share/vm/shark/llvmHeaders.hpp: Fix header location. > diff -r 46341fc21171 -r 629f7b7a918f HACKING > --- a/HACKING ? Tue Jun 23 16:31:22 2009 +0200 > +++ b/HACKING ? Wed Jun 24 10:26:38 2009 +0200 > @@ -98,6 +98,8 @@ The following patches are currently appl > ?* icedtea-java2d-stroker-internal-close-joint.patch: Fix final joint created by GeneralPath.closePath(). > ?* icedtea-cacao.patch: For the 'java' command, create new thread depending on the current VM. > ?* icedtea-cacao-no-mmap-first-page.patch: Don't mmap the first memory page. > +* cacao/no-strict-aliasing.patch: Turn off strict aliasing which causes an issue with the verifier when building with GCC 4.4 (cacao PR129). > + > ?* icedtea-bytecodeInterpreter.patch: Replace fast opcodes with opc_default. > ?* icedtea-ia64-bugfix.patch: Remove workaround for IA64 GCC bug. > ?* icedtea-signature-iterator.patch: Add zero-specific signature handling. > diff -r 46341fc21171 -r 629f7b7a918f Makefile.am > --- a/Makefile.am ? ? ? Tue Jun 23 16:31:22 2009 +0200 > +++ b/Makefile.am ? ? ? Wed Jun 24 10:26:38 2009 +0200 > @@ -614,7 +614,8 @@ if BUILD_CACAO > ?if BUILD_CACAO > ?ICEDTEA_PATCHES += \ > ? ? ? ?patches/icedtea-cacao.patch \ > - ? ? ? patches/icedtea-cacao-no-mmap-first-page.patch > + ? ? ? patches/icedtea-cacao-no-mmap-first-page.patch \ > + ? ? ? patches/cacao/no-strict-aliasing.patch > ?endif > ?if WITH_CACAO > ?ICEDTEA_PATCHES += \ > diff -r 46341fc21171 -r 629f7b7a918f patches/cacao/no-strict-aliasing.patch > --- /dev/null ? Thu Jan 01 00:00:00 1970 +0000 > +++ b/patches/cacao/no-strict-aliasing.patch ? ?Wed Jun 24 10:26:38 2009 +0200 > @@ -0,0 +1,23 @@ > +--- cacao/cacao/configure.ac~ ?2009-03-16 12:42:56.000000000 +0100 > ++++ cacao/cacao/configure.ac ? 2009-06-23 16:19:20.000000000 +0200 > +@@ -37,7 +37,7 @@ > + > + dnl set optimization and debugging for all architectures and systems > + if test x"$CFLAGS" = "x"; then > +- ? ?OPT_CFLAGS="-g -O2" > ++ ? ?OPT_CFLAGS="-g -O2 -fno-strict-aliasing" > + else > + ? ? OPT_CFLAGS=$CFLAGS > + fi > +diff -ur cacao-0.99.4.orig/configure cacao-0.99.4/configure > +--- cacao/cacao/configure ? ? ?2009-03-16 12:42:56.000000000 +0100 > ++++ cacao/cacao/configure ? ? ?2009-06-23 16:19:21.000000000 +0200 > +@@ -2825,7 +2825,7 @@ > + > + > + if test x"$CFLAGS" = "x"; then > +- ? ?OPT_CFLAGS="-g -O2" > ++ ? ?OPT_CFLAGS="-g -O2 -fno-strict-aliasing" > + else > + ? ? OPT_CFLAGS=$CFLAGS > + fi > Thanks for applying this on my behalf! Only noticed when I came to update IcedTea6 today and I had collisions :( -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From omajid at redhat.com Thu Jul 30 14:18:56 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 30 Jul 2009 17:18:56 -0400 Subject: RFC: Netx - implement -Xclearcache command line option Message-ID: <4A720E40.7020406@redhat.com> Hi, The attached patch adds the option -Xclearcache to Netx. ChangeLog: 2009-07-30 Omair Majid * rt/net/sourceforge/jnlp/cache/CacheUtil.java (clearCache): New function. * rt/net/sourceforge/jnlp/resources/Messages.properties: Add BXclearcache. * rt/net/sourceforge/jnlp/runtime/Boot.java Add -Xclearcache to helpMessage. (run): Check for option -Xclearcache and call CacheUtil.clearCache. * rt/net/sourceforge/jnlp/util/FileUtils.java (recursiveDelete): New function. Any comments? Cheers, Omair From omajid at redhat.com Thu Jul 30 14:23:25 2009 From: omajid at redhat.com (Omair Majid) Date: Thu, 30 Jul 2009 17:23:25 -0400 Subject: RFC: Netx - implement -Xclearcache command line option In-Reply-To: <4A720E40.7020406@redhat.com> References: <4A720E40.7020406@redhat.com> Message-ID: <4A720F4D.8010007@redhat.com> Omair Majid wrote: > The attached patch adds the option -Xclearcache to Netx. What I really meant was the patch I am going to attach to the next email I send ;) Cheers, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: netx-Xclearcache.patch Type: text/x-patch Size: 5358 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090730/47cf886f/netx-Xclearcache.patch From ahughes at redhat.com Thu Jul 30 14:49:44 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 30 Jul 2009 22:49:44 +0100 Subject: execvpe backport Message-ID: <20090730214944.GA16482@rivendell.middle-earth.co.uk> This patch backports the execvpe patch provided by Martin Buchholz: http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002047.html This is needed with newer versions of glibc (e.g. that in F12). Discussed on core-libs-dev list and approved on IRC by Lillian. ChangeLog: 2009-07-30 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/rename-execvpe.patch, Backport execvpe patch from Martin Buchholz. http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002047.html -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 -------------- next part -------------- diff -r 051ca564791d Makefile.am --- a/Makefile.am Thu Jul 30 04:51:32 2009 -0400 +++ b/Makefile.am Thu Jul 30 22:41:12 2009 +0100 @@ -587,7 +587,8 @@ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ patches/openjdk/bidi-tests.patch \ - patches/openjdk/annotation-tests.patch + patches/openjdk/annotation-tests.patch \ + patches/openjdk/rename-execvpe.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r 051ca564791d patches/openjdk/rename-execvpe.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/rename-execvpe.patch Thu Jul 30 22:41:12 2009 +0100 @@ -0,0 +1,42 @@ +# HG changeset patch +# User martin +# Date 1248923453 25200 +# Node ID 0f6e8cdc0cbab5221e81b7d25f1b869bd6ecf34a +# Parent ac4f0c58f4c771267f1b5c65a8cf5bf2722a881b +[mq]: rename-execvpe + +diff --git a/src/solaris/native/java/lang/UNIXProcess_md.c b/src/solaris/native/java/lang/UNIXProcess_md.c +--- openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ++++ openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c +@@ -423,9 +423,20 @@ + return -1; + } + +-/* execvpe should have been included in the Unix standards. */ ++/** ++ * 'execvpe' should have been included in the Unix standards, ++ * and is a GNU extension in glibc 2.10. ++ * ++ * JDK_execvpe is identical to execvp, except that the child environment is ++ * specified via the 3rd argument instead of being inherited from environ. ++ * ++ * This implementation of JDK_execvpe does not work if memory is shared ++ * with the parent, when using vfork(2), or clone(2) with CLONE_VM. ++ */ + static int +-execvpe(const char *file, const char *const argv[], const char *const envp[]) ++JDK_execvpe(const char *file, ++ const char *const argv[], ++ const char *const envp[]) + { + /* This is one of the rare times it's more portable to declare an + * external symbol explicitly, rather than via a system header. +@@ -601,7 +612,7 @@ + if (fcntl(FAIL_FILENO, F_SETFD, FD_CLOEXEC) == -1) + goto WhyCantJohnnyExec; + +- execvpe(argv[0], argv, envv); ++ JDK_execvpe(argv[0], argv, envv); + + WhyCantJohnnyExec: + /* We used to go to an awful lot of trouble to predict whether the From ahughes at redhat.com Thu Jul 30 14:48:09 2009 From: ahughes at redhat.com (Andrew John Hughes) Date: Thu, 30 Jul 2009 21:48:09 +0000 Subject: changeset in /hg/icedtea6: Backport execvpe patch (needed with n... Message-ID: changeset 4041898deb5a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4041898deb5a description: Backport execvpe patch (needed with newer glibc). 2009-07-30 Andrew John Hughes * Makefile.am: Add new patch. * patches/openjdk/rename-execvpe.patch, Backport execvpe patch from Martin Buchholz. http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002047.html diffstat: 3 files changed, 52 insertions(+), 1 deletion(-) ChangeLog | 8 ++++++ Makefile.am | 3 +- patches/openjdk/rename-execvpe.patch | 42 ++++++++++++++++++++++++++++++++++ diffs (74 lines): diff -r 051ca564791d -r 4041898deb5a ChangeLog --- a/ChangeLog Thu Jul 30 04:51:32 2009 -0400 +++ b/ChangeLog Thu Jul 30 22:47:00 2009 +0100 @@ -1,3 +1,11 @@ 2009-07-30 Gary Benson + + * Makefile.am: + Add new patch. + * patches/openjdk/rename-execvpe.patch, + Backport execvpe patch from Martin Buchholz. + http://mail.openjdk.java.net/pipermail/core-libs-dev/2009-July/002047.html + 2009-07-30 Gary Benson * ports/hotspot/src/share/vm/shark/sharkRuntime.hpp: diff -r 051ca564791d -r 4041898deb5a Makefile.am --- a/Makefile.am Thu Jul 30 04:51:32 2009 -0400 +++ b/Makefile.am Thu Jul 30 22:47:00 2009 +0100 @@ -587,7 +587,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ patches/openjdk/bidi-tests.patch \ - patches/openjdk/annotation-tests.patch + patches/openjdk/annotation-tests.patch \ + patches/openjdk/rename-execvpe.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r 051ca564791d -r 4041898deb5a patches/openjdk/rename-execvpe.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/rename-execvpe.patch Thu Jul 30 22:47:00 2009 +0100 @@ -0,0 +1,42 @@ +# HG changeset patch +# User martin +# Date 1248923453 25200 +# Node ID 0f6e8cdc0cbab5221e81b7d25f1b869bd6ecf34a +# Parent ac4f0c58f4c771267f1b5c65a8cf5bf2722a881b +[mq]: rename-execvpe + +diff --git a/src/solaris/native/java/lang/UNIXProcess_md.c b/src/solaris/native/java/lang/UNIXProcess_md.c +--- openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ++++ openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c +@@ -423,9 +423,20 @@ + return -1; + } + +-/* execvpe should have been included in the Unix standards. */ ++/** ++ * 'execvpe' should have been included in the Unix standards, ++ * and is a GNU extension in glibc 2.10. ++ * ++ * JDK_execvpe is identical to execvp, except that the child environment is ++ * specified via the 3rd argument instead of being inherited from environ. ++ * ++ * This implementation of JDK_execvpe does not work if memory is shared ++ * with the parent, when using vfork(2), or clone(2) with CLONE_VM. ++ */ + static int +-execvpe(const char *file, const char *const argv[], const char *const envp[]) ++JDK_execvpe(const char *file, ++ const char *const argv[], ++ const char *const envp[]) + { + /* This is one of the rare times it's more portable to declare an + * external symbol explicitly, rather than via a system header. +@@ -601,7 +612,7 @@ + if (fcntl(FAIL_FILENO, F_SETFD, FD_CLOEXEC) == -1) + goto WhyCantJohnnyExec; + +- execvpe(argv[0], argv, envv); ++ JDK_execvpe(argv[0], argv, envv); + + WhyCantJohnnyExec: + /* We used to go to an awful lot of trouble to predict whether the From bugzilla-daemon at icedtea.classpath.org Fri Jul 31 02:42:37 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 31 Jul 2009 09:42:37 +0000 Subject: [Bug 373] New: [PATCH] ignore MToolkit Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=373 Summary: [PATCH] ignore MToolkit Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: mvyskocil at suse.cz Icedtea removes motif AWT support from openjdk. But the JVM still allows to select a toolkit [1], because it recognizes an AWT_TOOLKIT variable, or awt.toolkit property. If Mtoolkit is specified, it causes those errors: Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0/jre/lib/i386/motif21/libmawt.so as described in bnc#520903 [2]. Following patch ignores explicitly settings and use XToolkit, even if the MToolkit is specified. [1] http://java.sun.com/j2se/1.5.0/docs/guide/awt/1.5/xawt.html [2] https://bugzilla.novell.com/show_bug.cgi?id=520903 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Jul 31 02:44:00 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 31 Jul 2009 09:44:00 +0000 Subject: [Bug 373] [PATCH] ignore MToolkit Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=373 ------- Comment #1 from mvyskocil at suse.cz 2009-07-31 09:43 ------- Created an attachment (id=250) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=250&action=view) This patch ignores the MToolkit and uses the Xtoolkit only -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mvyskocil at suse.cz Fri Jul 31 05:13:15 2009 From: mvyskocil at suse.cz (Michal Vyskocil) Date: Fri, 31 Jul 2009 14:13:15 +0200 Subject: [PATCH] build IcedTeaNPPlugin from icedtea6-1.5 with xulrunner-1.9.1 Message-ID: <200907311413.20962.mvyskocil@suse.cz> Hi all, attached patch allows build of IcedTeaNPPlugin from icedtea6-1.5 with xulrunner-1.9.1 - see bmo#455458[1]. I did not post it to bugzilla, because I don't think that you'll be interested on integrating of it, because devel version of plugin is different (eve if it still use npupp.h, so this patch should be usefull too, but I did not tested it with icedtea6). So this is just JFI. Maybe someone else will be interested in combination of icedtea6-1.5 plugin and xulrunner-1.9.1 [1] https://bugzilla.mozilla.org/show_bug.cgi?id=455458 Regards Michal Vyskocil -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtead6-1.5-nppplugin-xulrunner191.patch Type: text/x-patch Size: 2097 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090731/eda6c9e7/icedtead6-1.5-nppplugin-xulrunner191.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part. Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090731/eda6c9e7/attachment.bin From gnu_andrew at member.fsf.org Fri Jul 31 20:44:29 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sat, 1 Aug 2009 04:44:29 +0100 Subject: [FOR REVIEW] hs14 merge for OpenJDK6 Message-ID: <17c6771e0907312044q43080f55y3353927a57dca99f@mail.gmail.com> Here it is, the mother of all webrevs: http://cr.openjdk.java.net/~andrew/jdk6-hs14-merge/webrev.01/ with the patch itself being ~13mb. This takes OpenJDK6 up to HotSpot 14 build 16 (see http://hg.openjdk.java.net/hsx/hsx14/master/), incorporating 553 changesets from the hs14 repo. and one merge changeset. I'll shortly push this to http://fuseyism.com/hg/hotspot too. Ok to push? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Erik.Trimble at Sun.COM Fri Jul 31 23:49:51 2009 From: Erik.Trimble at Sun.COM (Erik Trimble) Date: Fri, 31 Jul 2009 23:49:51 -0700 Subject: [FOR REVIEW] hs14 merge for OpenJDK6 In-Reply-To: <17c6771e0907312044q43080f55y3353927a57dca99f@mail.gmail.com> References: <17c6771e0907312044q43080f55y3353927a57dca99f@mail.gmail.com> Message-ID: <4A73E58F.9020502@sun.com> Andrew John Hughes wrote: > Here it is, the mother of all webrevs: > > http://cr.openjdk.java.net/~andrew/jdk6-hs14-merge/webrev.01/ > > with the patch itself being ~13mb. > > This takes OpenJDK6 up to HotSpot 14 build 16 (see > http://hg.openjdk.java.net/hsx/hsx14/master/), incorporating 553 > changesets from the hs14 repo. and one merge changeset. > I'll shortly push this to http://fuseyism.com/hg/hotspot too. > > Ok to push? > I approve. -- Erik Trimble Java System Support Mailstop: usca22-123 Phone: x17195 Santa Clara, CA Timezone: US/Pacific (GMT-0800)