DiskSpeed, hdd/ssd benchmarking (unRAID 6+), version 2.10.8


Recommended Posts

On 11/3/2022 at 5:39 PM, jbartlett said:

@FQs19 - You've got two errors here, the 2nd one (logs from DiskSpeed) shows an out of memory condition. How much memory does your system have?

Just for clearification:

The Java stuff also runs out of memory nearly instant if one of those dd commands fails and spams the console buffer.

 

@jbartlett I'll send you the requested debug log along with with my Whatsapp number via PM - feel free to message me there. I'm not checking the forum constantly.

Link to comment
On 11/1/2022 at 5:39 PM, jbartlett said:

It was supposed to loop from 0 to 9 instead of 1 to 9. I made that change.

But be aware if you "just" loop from 0 to 9 you need to change the numbering within your loop.

My first try was also to loop 0 to 9 but that results in wrong array index @ HW.A.Ports and PortNo etc.

Edited by IZSkiSurfer
Typo
Link to comment
4 hours ago, jbartlett said:

@IZSkiSurfer - 2.9.7.1 pushed to include the i-1 change to the Spinup process, decided to get that out instead of waiting for 2.10 with the SSD benchmarking as the cosmetic tweaks getting SSD's and Spinners to look good together on the same graph is taking longer than I expected.

I just installed this update and for the first time, since I was on 6.9.2, it worked!

Thank you both, @jbartlett and @IZSkiSurfer, for working together on fixing the issue. I'm sorry I wasn't able to help besides saying it wasn't working for me. 

 

Cheers!

 

Also, here's the logs from the working DiskSpeed docker on my 6.11.1 unRAID. 

Spoiler
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
07-Nov-2022 19:13:25.712 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.65
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jul 14 2022 12:28:53 UTC
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.65.0
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            5.19.14-Unraid
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/local/openjdk-11
07-Nov-2022 19:13:25.714 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           11.0.16+8
07-Nov-2022 19:13:25.715 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
07-Nov-2022 19:13:25.715 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
07-Nov-2022 19:13:25.715 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
07-Nov-2022 19:13:25.733 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
07-Nov-2022 19:13:25.733 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
07-Nov-2022 19:13:25.734 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
07-Nov-2022 19:13:25.734 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
07-Nov-2022 19:13:25.734 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
07-Nov-2022 19:13:25.734 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
07-Nov-2022 19:13:25.734 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
07-Nov-2022 19:13:25.735 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
07-Nov-2022 19:13:25.735 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
07-Nov-2022 19:13:25.735 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
07-Nov-2022 19:13:25.735 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms64m
07-Nov-2022 19:13:25.735 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx512m
07-Nov-2022 19:13:25.735 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
07-Nov-2022 19:13:25.736 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
07-Nov-2022 19:13:25.736 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
07-Nov-2022 19:13:25.736 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
07-Nov-2022 19:13:25.736 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
07-Nov-2022 19:13:25.756 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.35] using APR version [1.7.0].
07-Nov-2022 19:13:25.756 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
07-Nov-2022 19:13:25.756 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
07-Nov-2022 19:13:25.759 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1n  15 Mar 2022]
07-Nov-2022 19:13:25.986 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8888"]
07-Nov-2022 19:13:26.008 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [490] milliseconds
07-Nov-2022 19:13:26.037 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
07-Nov-2022 19:13:26.038 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.65]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
07-Nov-2022 19:13:27.811 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8888"]
07-Nov-2022 19:13:27.820 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1812] milliseconds
07-Nov-2022 19:13:29.825 INFO [http-nio-8888-exec-1] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
        java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x03Z0xa30xd4o0x8eU0x120xc90xee0xc40x130xe30xb90x0b0xbf0xcb0x98b0xa7V&0x950xf30xad0x900x81*0xae0xf80xa20xf40xaa ]. HTTP method names must be tokens
                at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:419)
                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:271)
                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
                at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
                at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.base/java.lang.Thread.run(Thread.java:829)

 

 

  • Thanks 2
Link to comment
17 hours ago, jbartlett said:

@IZSkiSurfer - 2.9.7.1 pushed to include the i-1 change to the Spinup process, decided to get that out instead of waiting for 2.10 with the SSD benchmarking as the cosmetic tweaks getting SSD's and Spinners to look good together on the same graph is taking longer than I expected.

Congrats - now it "initializes" fine ;) THX

Just the problem with the benchmark to be resolved "Scanning Disk 1 (nvme0n1) at 0 GB - 0|9999999999|0 (1)" which I mentioned here: 

But if I got you right you're working on that @jbartlett?

Link to comment
4 hours ago, IZSkiSurfer said:

Just the problem with the benchmark to be resolved "Scanning Disk 1 (nvme0n1) at 0 GB - 0|9999999999|0 (1)"

 

That'll be inadvertently resolved in version 2.10. I'm adding proper benchmarking of solid state devices by writing multiple files to the device and then reading them back taking the averages.

 

image.png.cf5d25326004ad22fc9c1b6c940ec36b.png

 

Highcharts is giving me issues with the multiple x & y axis on one graph, the width of the bars get smaller the larger the spinners included are.

 

Bench marking solid state devices will be limited to ones in an array slot or a single drive pool and requires a mounted partition with 25GB free space available (based on default benchmarking configuration). You'll be able to test write/reading x number of files of y size.

 

I'm also leaning towards allowing write benchmarking of spinners but that'll definitely require a drive with no partitions and will likely not be included into version 3.0.

Link to comment

Hi @jbartlett. I had an unclean shutdown during the initial scanning phase when I started and opened DiskSpeed. I thought I'd share my DiskSpeed.log and diagnostics just in case you need them. I hadn't run DiskSpeed for several months, but the container was up-to-date, and I'd also just updated Unraid to 6.11.3. 

 

This is the main error I can see from the DiskSpeed.log:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

 

I'm going to do some testing to see if it happens again. Thanks!

tower-diagnostics-20221109-1135.zip DiskSpeed.log

Link to comment

Hi @jbartlett, DiskSpeed stopped working. It starts normally (and detects controllers and drives correctly after a clean reinstall), but as soon as I try to benchmark one drive (ssd, hdd,..) the GUI loads forever. In the logs I find the following errors: 10-Nov-2022 14:43:09.585 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8888"]
10-Nov-2022 14:43:09.605 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [3307] milliseconds
Exception in thread "Thread-728" java.lang.OutOfMemoryError: Java heap space
        at java.base/java.util.Arrays.copyOf(Arrays.java:3745)
        at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:172)
        at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:686)
        at java.base/java.lang.StringBuffer.append(StringBuffer.java:414)
        at java.base/java.io.StringWriter.write(StringWriter.java:99)
        at lucee.commons.io.IOUtil.copy(IOUtil.java:390)
        at lucee.commons.io.IOUtil.copy(IOUtil.java:351)
        at lucee.commons.io.IOUtil.toString(IOUtil.java:881)
        at lucee.commons.io.IOUtil.toString(IOUtil.java:868)
        at lucee.commons.io.IOUtil.toString(IOUtil.java:828)
        at lucee.commons.cli.StreamGobbler.run(Command.java:187)

Link to comment
On 11/9/2022 at 4:06 AM, MustardTiger said:

Hi @jbartlett. I had an unclean shutdown during the initial scanning phase when I started and opened DiskSpeed. I thought I'd share my DiskSpeed.log and diagnostics just in case you need them. I hadn't run DiskSpeed for several months, but the container was up-to-date, and I'd also just updated Unraid to 6.11.3. 

 

This is the main error I can see from the DiskSpeed.log:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

 

I'm going to do some testing to see if it happens again. Thanks!

 

This error can be ignored. It's something that the Lucee application server team has to resolve. As long as the DiskSpeed application itself recovers...

Link to comment
4 hours ago, Andreas Rathmayr said:

Hi @jbartlett, DiskSpeed stopped working. It starts normally (and detects controllers and drives correctly after a clean reinstall), but as soon as I try to benchmark one drive (ssd, hdd,..) the GUI loads forever. In the logs I find the following errors: 10-Nov-2022 14:43:09.585 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8888"]
10-Nov-2022 14:43:09.605 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [3307] milliseconds
Exception in thread "Thread-728" java.lang.OutOfMemoryError: Java heap space

 

Kick off a benchmark of two or more drives so the "Click on a drive label to hide or show it." label shows up. The period at the end, or the space right after, is a hidden link that displays the hidden iframes that are performing the actual tests. The error message will be displayed in there along with the command or text describing what it tried to do. Share that info but you can exclude any long stack trace.

Link to comment

Just installed and got this error.

 

DiskSpeed - Disk Diagnostics & Reporting tool
Version: 2.9.7.1
 

Scanning Hardware
11:23:22 Spinning up hard drives
11:23:22 Scanning system storage
11:23:23 Scanning USB Bus
11:23:23 Scanning hard drives
11:23:25 Scanning storage controllers
11:23:27 Scanning USB hubs & devices
11:23:27 Scanning motherboard resources
11:23:28 Fetching known drive vendors from the Hard Drive Database
11:23:32 Found controller SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
11:23:32 Found drive Western Digital WD120EMFZ Rev: 81.00A81 Serial: 9RJGM04C (sdb), 1 partition
11:23:32 Found drive HGST HUH721212ALE604 Rev: LEGNW3D0 Serial: 8DKHZ9GH (sdc), 1 partition
11:23:32 Found drive Western Digital WD80EZAZ Rev: 83.H0A83 Serial: 7SKWSW4W (sdd), 1 partition
11:23:32 Found drive Seagate ST10000DM0004 Rev: DN01 Serial: ZA225FVW (sde), 1 partition
11:23:32 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1XXR1 (sdf), 1 partition
11:23:32 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1YLAY (sdg), 1 partition
11:23:33 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1YKLM (sdh), 1 partition
11:23:33 Found drive Seagate ST8000DM004 Rev: 0001 Serial: ZCT2QQ9D (sdi), 1 partition
11:23:33 Found drive Seagate ST8000DM004 Rev: 0001 Serial: WCT0EZRW (sdj), 1 partition
11:23:33 Found drive Seagate ST5000DM003 Rev: 0001 Serial: WCV009KY (sdk), 1 partition
11:23:33 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1X37L (sdl), 1 partition
11:23:33 Found drive Seagate ST8000DM004 Rev: 0001 Serial: WCT08S2J (sdm), 1 partition
11:23:34 Found drive Seagate ST5000DM003 Rev: 0001 Serial: WG7003CF (sdn), 1 partition
11:23:34 Found drive Seagate ST8000DM004 Rev: 0001 Serial: ZCT03N4J (sdo), 1 partition
11:23:34 Found drive Seagate ST8000DM004 Rev: 0001 Serial: ZCT050GQ (sdp), 1 partition
11:23:34 Found drive Unknown WL4000GSA6454 Rev: 80.00A80 Serial: WOL240396872 (sdq), 1 partition
11:23:34 Found drive Western Digital WD80EMAZ Rev: 83.H0A83 Serial: 7SJ9XBDW (sdr), 1 partition
11:23:34 Found drive HGST HUH721010ALE600 Rev: LHGNT384 Serial: 7PKREZPG (sds), 1 partition
11:23:34 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1SSDJ (sdt), 1 partition

Lucee 5.3.9.166 Error (expression)

Messageinvalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [2]

patternlistgetat(list:string, position:number, [delimiters:string, [includeEmptyFields:boolean]]):string

StacktraceThe Error Occurred in
/var/www/ScanControllers.cfm: line 1725

1723: <CFSET TotalPartitions=0>
1724: <CFSET Part=StructNew()>
1725: <CFSET Part.PartitionTable=ListGetAt(ListGetAt(PartInfo,2,Chr(10)),6,":",true)>
1726: <CFSET Part.Partitions=ArrayNew(1)>
1727: <cfexecute name="/sbin/blkid" arguments="-o export /dev/#DriveID#" variable="PartInfo2" timeout="90" />
 

called from /var/www/ScanControllers.cfm: line 1650

1648: </CFIF>
1649: </CFLOOP>
1650: </CFLOOP>
1651:
1652: <!--- Admin drive creation --->
 

Java Stacktracelucee.runtime.exp.FunctionException: invalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [2]
  at lucee.runtime.functions.list.ListGetAt.call(ListGetAt.java:46)
  at lucee.runtime.functions.list.ListGetAt.call(ListGetAt.java:40)
  at scancontrollers_cfm$cf.call_000163(/ScanControllers.cfm:1725)
  at scancontrollers_cfm$cf.call(/ScanControllers.cfm:1650)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1054)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:946)
  at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:65)
  at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:45)
  at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2490)
  at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2476)
  at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2447)
  at lucee.runtime.engine.Request.exe(Request.java:45)
  at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1198)
  at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1144)
  at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
  at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
  at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
  at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
  at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
  at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
  at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
  at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
  at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.base/java.lang.Thread.run(Thread.java:829)
 

Timestamp11/12/22 11:23:34 AM EST

Link to comment
20 hours ago, columbuscoltsfan said:

Just installed and got this error.

 

DiskSpeed - Disk Diagnostics & Reporting tool
Version: 2.9.7.1
 

Scanning Hardware
11:23:22 Spinning up hard drives
11:23:22 Scanning system storage
11:23:23 Scanning USB Bus
11:23:23 Scanning hard drives
11:23:25 Scanning storage controllers
11:23:27 Scanning USB hubs & devices
11:23:27 Scanning motherboard resources
11:23:28 Fetching known drive vendors from the Hard Drive Database
11:23:32 Found controller SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor]
11:23:32 Found drive Western Digital WD120EMFZ Rev: 81.00A81 Serial: 9RJGM04C (sdb), 1 partition
11:23:32 Found drive HGST HUH721212ALE604 Rev: LEGNW3D0 Serial: 8DKHZ9GH (sdc), 1 partition
11:23:32 Found drive Western Digital WD80EZAZ Rev: 83.H0A83 Serial: 7SKWSW4W (sdd), 1 partition
11:23:32 Found drive Seagate ST10000DM0004 Rev: DN01 Serial: ZA225FVW (sde), 1 partition
11:23:32 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1XXR1 (sdf), 1 partition
11:23:32 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1YLAY (sdg), 1 partition
11:23:33 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1YKLM (sdh), 1 partition
11:23:33 Found drive Seagate ST8000DM004 Rev: 0001 Serial: ZCT2QQ9D (sdi), 1 partition
11:23:33 Found drive Seagate ST8000DM004 Rev: 0001 Serial: WCT0EZRW (sdj), 1 partition
11:23:33 Found drive Seagate ST5000DM003 Rev: 0001 Serial: WCV009KY (sdk), 1 partition
11:23:33 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1X37L (sdl), 1 partition
11:23:33 Found drive Seagate ST8000DM004 Rev: 0001 Serial: WCT08S2J (sdm), 1 partition
11:23:34 Found drive Seagate ST5000DM003 Rev: 0001 Serial: WG7003CF (sdn), 1 partition
11:23:34 Found drive Seagate ST8000DM004 Rev: 0001 Serial: ZCT03N4J (sdo), 1 partition
11:23:34 Found drive Seagate ST8000DM004 Rev: 0001 Serial: ZCT050GQ (sdp), 1 partition
11:23:34 Found drive Unknown WL4000GSA6454 Rev: 80.00A80 Serial: WOL240396872 (sdq), 1 partition
11:23:34 Found drive Western Digital WD80EMAZ Rev: 83.H0A83 Serial: 7SJ9XBDW (sdr), 1 partition
11:23:34 Found drive HGST HUH721010ALE600 Rev: LHGNT384 Serial: 7PKREZPG (sds), 1 partition
11:23:34 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1SSDJ (sdt), 1 partition

Lucee 5.3.9.166 Error (expression)

Messageinvalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [2]

patternlistgetat(list:string, position:number, [delimiters:string, [includeEmptyFields:boolean]]):string

StacktraceThe Error Occurred in
/var/www/ScanControllers.cfm: line 1725

1723: <CFSET TotalPartitions=0>
1724: <CFSET Part=StructNew()>
1725: <CFSET Part.PartitionTable=ListGetAt(ListGetAt(PartInfo,2,Chr(10)),6,":",true)>
1726: <CFSET Part.Partitions=ArrayNew(1)>
1727: <cfexecute name="/sbin/blkid" arguments="-o export /dev/#DriveID#" variable="PartInfo2" timeout="90" />
 

called from /var/www/ScanControllers.cfm: line 1650

1648: </CFIF>
1649: </CFLOOP>
1650: </CFLOOP>
1651:
1652: <!--- Admin drive creation --->
 

Java Stacktracelucee.runtime.exp.FunctionException: invalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [2]
  at lucee.runtime.functions.list.ListGetAt.call(ListGetAt.java:46)
  at lucee.runtime.functions.list.ListGetAt.call(ListGetAt.java:40)
  at scancontrollers_cfm$cf.call_000163(/ScanControllers.cfm:1725)
  at scancontrollers_cfm$cf.call(/ScanControllers.cfm:1650)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1054)
  at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:946)
  at lucee.runtime.listener.ClassicAppListener._onRequest(ClassicAppListener.java:65)
  at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:45)
  at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2490)
  at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2476)
  at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2447)
  at lucee.runtime.engine.Request.exe(Request.java:45)
  at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1198)
  at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1144)
  at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
  at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
  at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
  at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
  at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
  at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
  at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
  at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
  at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.base/java.lang.Thread.run(Thread.java:829)
 

Timestamp11/12/22 11:23:34 AM EST

I'm not at my computer at the moment but maybe it's because you have more then 10 drives. On some positions in the code jbartlett iterates from 0-9 when gathering informations. Maybe he does that on other places different so information for the 11th drive and so on are missing and you get those errors.

 

But that's really just a guess.

Link to comment
On 11/12/2022 at 8:44 AM, columbuscoltsfan said:

11:23:34 Found drive Seagate ST5000DM000 Rev: CC49 Serial: W4J1SSDJ (sdt), 1 partition

Lucee 5.3.9.166 Error (expression)

Messageinvalid call of the function listGetAt, second Argument (posNumber) is invalid, invalid string list index [2]

 

What drive is sdu? It performed a parted command and got back something unexpected.

 

Open up a command shell to your unraid box and enter in the following and reply with the result. The first line takes you into the DiskSpeed Docker container and the 2nd returns the partition information.

docker exec -it DiskSpeed bash
parted -m /dev/sdu unit B print free

 

You should get back something like the following:

root@NAS:~# parted -m /dev/sdf unit B print free
BYT;
/dev/sdf:6001175126016B:scsi:512:4096:gpt:ATA WDC WD6002FFWX-6:;
1:17408B:32767B:15360B:free;
1:32768B:6001175109119B:6001175076352B:btrfs::;

 

Link to comment
On 11/10/2022 at 5:54 PM, jbartlett said:

 

This error can be ignored. It's something that the Lucee application server team has to resolve. As long as the DiskSpeed application itself recovers...

Thank you, that's good to know I can ignore those. However, opening DiskSpeed is still causing my server crash. About 5-10 seconds after opening the GUI it freezes and my machine goes into an unclean shutdown, triggering a parity check when it boots back up.

 

This time upon reboot the container is showing as an orphaned image. I was struggling to find anything in the diagnostics each time I looked at them, but I enabled a remote syslog server and this occured just as it crashed:

 

Nov 17 13:04:42 Kernal Error: nvme0: Admin Cmd(0x7f), I/O Error (sct 0x0 / sc 0x1)

 

I've tried removing the container and reinstalling it, but that hasn't worked. I'll attach my diagnostics, but I don't have a DiskSpeed.log because the image is orphaned. I think I'll try deleting my docker.img and see if starting fresh will fix it.

 

Thanks!

tower-diagnostics-20221117-1311.zip

Edited by MustardTiger
Link to comment

@MustardTiger - Please create a diagnostic file from this URL:

http://[nas ip]:18888/isolated/CreateDebugInfo.cfm and click on the "Create Debug File" button. This button will create a file that has the container diagnostics of what it was doing. Using the age of the files, I can see what it was attempting when your server crashed.

 

A Docker shouldn't ever be able to crash its host. Do you have anything "odd" to your setup?

Link to comment
17 hours ago, jbartlett said:

@MustardTiger - Please create a diagnostic file from this URL:

http://[nas ip]:18888/isolated/CreateDebugInfo.cfm and click on the "Create Debug File" button. This button will create a file that has the container diagnostics of what it was doing. Using the age of the files, I can see what it was attempting when your server crashed.

 

A Docker shouldn't ever be able to crash its host. Do you have anything "odd" to your setup?

Hi, thanks for your reply. I don't think I have anything too odd in my setup, although recently I added a few extra commands to my syslinux config to get GPU passthrough to work:  

append intel_iommu=relax_rmrr video=efifb:off video=simplefb:off isolcpus=4-19,24-39 initrd=/bzroot

 

With regard to hardware, the only recent change is installing a GPU, so I'm not sure if that could affect anything. No change to my array or cache. I tried deleting my docker.img, then installed DiskSpeed on its own and it still crashed Unraid. I made sure I had no VMs running, also.

 

I just noticed that each time my server crashes I get this error in my Integrated Management Log in HP iLO : 

PCI Bus Error (Slot 3, Bus 0, Device 1, Function 0)

It happens at the exact same time as the crash. Slot 3 is my nvme to PCI-E adapter where my nvme cache drive is installed. So, that appears to link in to the previous error I got when it crashed the other day:

Nov 17 13:04:42 Kernal Error: nvme0: Admin Cmd(0x7f), I/O Error (sct 0x0 / sc 0x1)

However, I did not get that error in my syslog server when I recreated the crash today for the debug files. The crash I recreated happened today at 11:41.

 

 

I did the debug file with controller info as well just in case:

DebugFile_20221122_115802.tar.gzDebugFileControllerInfo_20221122_115952.tar.gz

 

Here's a more up-to-date diagnostics created just after latest crash. Please let me know if you need any more info, such as a more extensive syslog from remote syslog server, thanks!

tower-diagnostics-20221122-1200.zip

Link to comment
  • 2 weeks later...
On 11/17/2022 at 5:50 AM, MustardTiger said:

This time upon reboot the container is showing as an orphaned image. I was struggling to find anything in the diagnostics each time I looked at them, but I enabled a remote syslog server and this occured just as it crashed:

 

Nov 17 13:04:42 Kernal Error: nvme0: Admin Cmd(0x7f), I/O Error (sct 0x0 / sc 0x1)

 

 

I've found that this error by itself is harmless, it's the OS trying to identify what the drive supports.

 

If you want to try to isolate what is causing the problem, here are the series of commands that are executed. Start the DiskSpeed docker app but do not open the web interface. Open a command shell on the system and enter the following:

 

docker exec -it DiskSpeed bash

 

Unfortunately, the debug files you sent did not include any of the data files that are created while scanning the drive. Please try running the following to see if any of these cause issues. I don't need to know what worked or what was returned, just which one blew up if any.
 

/usr/bin/lspci
/bin/ls -l /sys/dev/block
/bin/lsblk
/bin/ls -l /sys/block
/usr/sbin/hwinfo --pci --bridge --storage-ctrl --disk --ide --scsi
/usr/bin/lspci -D
/usr/bin/find /sys/devices -name usb?
/bin/ls -l /sys/block
/usr/sbin/nvme list
/usr/bin/lshw -c storage
/sbin/blockdev --getmaxsect /dev/nvme0n1
/sbin/blockdev --getsize64 /dev/nvme0n1
/sbin/hdparm -I /dev/nvme0n1
/usr/bin/lshw -xml
/usr/sbin/dmidecode -t 2
/usr/sbin/dmidecode -t 9
/bin/df -B 1KB
/sbin/parted -m /dev/nvme0n1 unit B print free
/sbin/blkid -o export /dev/nvme0n1
/sbin/blkid -n -o mountpoint /dev/nvme0n1

 

If these all work, I'll see about adding support for adding a "sync" after each file creation to enforce the data to be saved prior to running the more dynamically generated commands.

  • Like 1
Link to comment
  • jbartlett changed the title to DiskSpeed, hard drive benchmarking (unRAID 6+), version 2.10 with SSD benchmarking

Right Proper SSD benchmarking has been added. To perform a benchmark, a configurable number of test files of a given size (defaults to 10 2GB files) are written to the drive and then read back. The overall time taken for each is used to compute the MB/Sec average for the file.

 

Restriction: SSD's that exist in a multi-drive pool are excluded. To benchmark a SSD intended to be in a pool, use the "Unassigned Devices" plugin to format & mount the SSD and restart the DiskSpeed docker. After benchmarking, use "Unassigned Devices" to clear the partitions and then add to your pool.

 

image.png.c73938e49db3b9888200a42b7afe111e.png

 

While the system cache is bypassed when benchmarking, some devices have a built-in cache that ignores cache bypass commands. An initial high write speed that quickly levels out is a sign of such as shown below.

image.png.9260b298052956777ec4403164e4d4eb.png

  • Like 3
Link to comment

Hmmmmm...

It seems, there is something strange...

I have two NVMe's - a Cache-Drive and an unasigned device... there is no Pool...

And your tool says:

Unable to benchmark. Requires a mounted partition not included in a multi-drive pool with 25GB available.
You will need to restart the DiskSpeed docker after making changes to mounted drives. (???)

 

Link to comment
1 hour ago, Zonediver said:

Hmmmmm...

It seems, there is something strange...

I have two NVMe's - a Cache-Drive and an unasigned device... there is no Pool...

And your tool says:

Unable to benchmark. Requires a mounted partition not included in a multi-drive pool with 25GB available.
You will need to restart the DiskSpeed docker after making changes to mounted drives. (???)

 

It's kinda an inclusive statement. If the drive is not mounted *or* is mounted but with 25GB or less available *or* is part of a pool, then it can't be benchmarked. If you are referring to the unassigned device, you'll need to use the "Unassigned Devices" plugin to mount the drive (may need formatting) and then restart DiskSpeed so it can see the change. I'll see about updating to indicate more specifically why it can't be benchmarked. The mounted requirement is because files have to be created on the device and it has to be mounted to do so.

 

Please open a command shell to your unraid box or the DiskSpeed app and enter the following commands and reply with the result:

lsblk /dev/nvme0n1

lsblk /dev/nvme1n1

Link to comment
  • jbartlett changed the title to DiskSpeed, hdd/ssd benchmarking (unRAID 6+), version 2.10.8

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.