Q. I've completed a run that passes all validation tests and would like to submit the result, but some (or all) of the testbed information in the disclosure report .html needs to be updated. How do I regenerate updated/corrected .sub and .html files for submission?
The recommended way to do this is to update all of the information in the
Testbed.config file (located in the SPECvirt directory). Then, copy and
insert the contents of Testbed.config into the .raw file at the line just
above "END SPECvirt_sc2010". Finally, regenerate the .sub file with the
usual syntax:
Q: How do I fix webserver validation errors?
This can occur if there are Besim processes (e.g. besim_fcgi.fcgi)
on the infraserver VM that retain the data from a prior run. This is
most likely to occur when a test is aborted and restarted but the httpd
and associate Besim daemons aren't restarted on the infraserver VMs.
To avoid this condition, delete the old besim_support.globals file and
restart the httpd on the infraserver:
# ssh infraserver /etc/init.d/httpd stop
# ssh infraserver rm -f /tmp/besim_support.globals
# ssh infraserver /etc/init.d/httpd start
You also can configure the harness to run an initialization script
that contains these commands.
For example, the Control.config contains: PRIME_HOST_INIT_SCRIPT[1] =
"webInit.sh" and the script webInit.sh would include the commands
above.
Q. When running webserver, the test seems to be running and possibly
gives one or two lines of polling data when the test ends. Examination
of Clientmgr logs shows one or more SPECweb tests have large numbers of
errors similar to:
Messages from: 10.17.181.118:1191
-> 2009-10-02 10:06:43:115 Creating specwebclient using RMI Registry
port 1191
-> 2009-10-02 10:06:43:144 perf2.company.com:1191
ready...
-> 2009-10-02 10:09:04:082 LoadGenerator: Setting sleep delay.
-> 2009-10-02 10:09:07:373 specwebclient: setting tile ID to 1
-> 2009-10-02 10:09:08:383 LoadGenerator: Ramping up for 60 seconds.
-> 2009-10-02 10:09:08:383 LoadGenerator: Starting 500 threads.
-> 2009-10-02 10:10:08:385 LoadGenerator: All threads running, test
starting
-> 2009-10-02 10:10:59:731 Connection: SocketTimeoutException
waiting for end-of-header
-> 2009-10-02 10:10:59:731 SPECweb_Support: [ERROR]
SocketTimeoutException encountered during run!
-> 2009-10-02 10:11:01:264 SPECweb_Support: [ERROR] Invalid title
tag, expecting 'SPECweb2005: Support Category' but got 'SPECweb2005:
Support Home' was found
-> 2009-10-02 10:11:01:264 SPECweb_Support: [ERROR] Expected 13
catalog listings, 7 found.
-> 2009-10-02 10:11:01:264 SPECweb_Support: [ERROR] STATE 2;
Expected 27500 bytes appended to response but found 51700
-> 2009-10-02 10:11:01:264 SPECweb_Support: [ERROR] STATE 2;
RESPONSE INVALID on GET /support/catalog.php?id=3936 HTTP/1.1
-> 2009-10-02 10:11:01:264 SPECweb_Support: [ERROR] Response was:
-> http/1.1 200 ok
A. Check the open file limit on the clients:
# ssh client2 "ulimit -n"
If you get a number such as 1024, then the ulimit hasn't been set.
Check the /etc/sysctl.conf file to make sure that you have a line
similar to:
fs.file-max = 500000
Then check /etc/bashrc to make sure the following is near the top:
# Overide open files limit of 1024
ulimit -n 100000 > /dev/null 2>&1
Then reboot the affected client(s) and rerun the test.
Q. How do I build SPECjAppServer2004 using GlassFish?
Building SPECjAppServer2004 for any application server requires vendor-specific
deployment descriptors. For GlassFish, build_glassfish.xml is the
modified version of the generic build.xml to include GlassFish deployment
descriptors from src/deploy/glassfish. To build SPECjAppServer.ear with
GlassFish, update config/glassfish.env as per your environment and run ant
from the SPECjAppServer2004 directory as follows:
Q: How do I fix the Unsuccessful switchlog appserver error:
Messages from: 10.17.181.114:1091
-> 2010-08-18 15:58:16:893 Creating jappclient using RMI Registry
port 1091
-> 2010-08-18 15:58:16:931 perf2.company.com:1091 ready...
-> Driver Host: perf2company.com Tile Number:0
-> 2010-08-18 16:02:19:457 matchOut() messages set ...
-> 2010-08-18 16:02:19:458 Starting rmiregistry; bindWait = 45000
-> 2010-08-18 16:03:04:466 Starting Controller; bindWait = 45000
-> 2010-08-18 16:03:04:473 waiting for: Binding controller to /
-> rec'd notifyInterrupt(101) call
-> Binding controller to //perf2company.com:2098/Controller
-> Launcher: done in waitMatch(0)
-> 2010-08-18 16:03:49:611 Starting Agents
-> ---------------//perf2.company.com:2098/Controller
-> Calling switchLog as master
-> url[0] is :
http://specemulator:8080/Emulator/EmulatorServlet?cmd=switchlog
-> url[1] is :
http://specdelivery:8000/Supplier/DeliveryServlet?cmd=switchlog
-> 2010-08-18 16:04:34:775 Exception encountered executing
runScript(): java.io.
IOException: Unsuccessful switchlog
-> java.io.IOException: Unsuccessful switchlog
-> at org.spec.jappserver.launcher.Driver.switchLog(Driver.java:705)
-> at org.spec.jappserver.launcher.Driver.runScript(Driver.java:531)
-> at
org.spec.jappserver.launcher.jappclient.setup(jappclient.java:146)
-> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
To Debug:
# curl http://specemulator:8080/Emulator/EmulatorServlet?cmd=switchlog
200 OK
# curl http://specdelivery:8000/Supplier/DeliveryServlet?cmd=switchlog
400 Error
/opt/glassfish/domains/spec2004-1/generated/jsp/j2ee-apps/SPECjAppServer/supplier_war/Delivery_log1.err
(Permission
denied)
# ssh specdelivery ls -l
/opt/glassfish/domains/spec2004-1/generated/jsp/j2ee-apps/SPECjAppServer/supplier_war
total 12
-rw-r--r-- 1 root root 42 Aug 16 20:43 Delivery_log0.err
-rw-r--r-- 1 root root 42 Aug 16 20:43 Delivery_log1.err
-rw-rw-r-- 1 spec spec 44 Dec 17 2009 tldCache.ser
The .err files aren't owned by spec:spec. To change their ownership, on the appserver issue:
# chown -R spec:spec /opt/glassfish
Q: How do I fix the NullPointerException appserver error in Clientmgrn_1088.out:
-> Error: Connection: UnknownHostException?: specdelivery
-> java.lang.NullPointerException? -> at
org.spec.jappserver.driver.http.HttpDealer?.login(HttpDealer?.java:651)
->
at
org.spec.jappserver.driver.DealerEntry?.logIn(DealerEntry?.java:1193)
-> at
org.spec.jappserver.driver.DealerEntry?.loginCtl(DealerEntry?.java:1134)
->
at
org.spec.jappserver.driver.DealerEntry?.doBrowse(DealerEntry?.java:1046)
->
at
org.spec.jappserver.driver.DealerEntry?.run(DealerEntry?.java:256)
A. Check the open file limit on the clients:
# ssh client2 "ulimit -n"
If you get a number such as 1024, then the ulimit hasn't been set.
Check the /etc/sysctl.conf file to make sure that you have a line
similar to:
fs.file-max = 500000
Then check /etc/bashrc to make sure the following is near the top:
# Overide open files limit of 1024
ulimit -n 100000 > /dev/null 2>&1
Then reboot the affected client(s) and rerun the test.