SPECvirt_sc2010 Technical Support

Version 1.01

Harness

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:

Webserver/Infraserver

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.

Appserver/Dbserver

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.

Mailserver

Idleserver


Copyright © 2010 Standard Performance Evaluation Corporation.  All rights reserved.