Skip to content

Instantly share code, notes, and snippets.

@hoswey
Created October 31, 2017 03:47
Show Gist options
  • Save hoswey/1306e5575d6f55380229fdbed7cebdee to your computer and use it in GitHub Desktop.
Save hoswey/1306e5575d6f55380229fdbed7cebdee to your computer and use it in GitHub Desktop.
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.65-b01 mixed mode):
"Attach Listener" #22 daemon prio=9 os_prio=31 tid=0x00007fcfd5114000 nid=0x5c07 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"threadDeathWatcher-2-1" #21 daemon prio=1 os_prio=31 tid=0x00007fcfd131c000 nid=0x5a03 waiting on condition [0x000070000175b000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:152)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
at java.lang.Thread.run(Thread.java:745)
"DestroyJavaVM" #20 prio=5 os_prio=31 tid=0x00007fcfd129a800 nid=0x1703 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"server" #18 prio=5 os_prio=31 tid=0x00007fcfd2851000 nid=0x5803 waiting on condition [0x0000700001658000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000740bc93a0> (a java.util.concurrent.CountDownLatch$Sync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:77)
at reactor.core.publisher.Mono.block(Mono.java:1280)
at org.springframework.boot.web.embedded.netty.NettyWebServer$1.run(NettyWebServer.java:97)
"parallel-1" #17 daemon prio=5 os_prio=31 tid=0x00007fcfd41af800 nid=0x5603 waiting on condition [0x0000700001555000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000740a2b118> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
"reactor-http-nio-4" #16 daemon prio=5 os_prio=31 tid=0x00007fcfd27f7800 nid=0x540b waiting for monitor entry [0x0000700001452000]
java.lang.Thread.State: BLOCKED (on object monitor)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:151)
- waiting to lock <0x0000000740bc52c8> (a ch.qos.logback.classic.Logger)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:53)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at reactor.util.Loggers$Slf4JLoggerFactory.getLogger(Loggers.java:78)
at reactor.util.Loggers.getLogger(Loggers.java:55)
at reactor.core.publisher.SignalLogger$$Lambda$304/463255032.apply(Unknown Source)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:119)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:75)
at reactor.core.publisher.Mono.log(Mono.java:2202)
at reactor.core.publisher.Mono.log(Mono.java:2171)
at reactor.core.publisher.Mono.log(Mono.java:2129)
at org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping.getHandlerInternal(RoutePredicateHandlerMapping.java:53)
at org.springframework.web.reactive.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:134)
at org.springframework.web.reactive.DispatcherHandler.lambda$handle$0(DispatcherHandler.java:127)
at org.springframework.web.reactive.DispatcherHandler$$Lambda$286/15972958.apply(Unknown Source)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:355)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:210)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:91)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:55)
at reactor.core.publisher.FluxConcatMap.subscribe(FluxConcatMap.java:121)
at reactor.core.publisher.MonoNext.subscribe(MonoNext.java:40)
at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.Mono.subscribe(Mono.java:2769)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:165)
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61)
at reactor.ipc.netty.channel.ChannelOperations.applyHandler(ChannelOperations.java:380)
at reactor.ipc.netty.http.server.HttpServerOperations.onHandlerStart(HttpServerOperations.java:354)
at reactor.ipc.netty.channel.ContextHandler$$Lambda$275/2047426068.run(Unknown Source)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:745)
"reactor-http-nio-3" #15 daemon prio=5 os_prio=31 tid=0x00007fcfd1013000 nid=0x380b waiting for monitor entry [0x000070000134f000]
java.lang.Thread.State: BLOCKED (on object monitor)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:151)
- waiting to lock <0x0000000740bc52c8> (a ch.qos.logback.classic.Logger)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:53)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at reactor.util.Loggers$Slf4JLoggerFactory.getLogger(Loggers.java:78)
at reactor.util.Loggers.getLogger(Loggers.java:55)
at reactor.core.publisher.SignalLogger$$Lambda$304/463255032.apply(Unknown Source)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:119)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:75)
at reactor.core.publisher.Mono.log(Mono.java:2202)
at reactor.core.publisher.Mono.log(Mono.java:2171)
at reactor.core.publisher.Mono.log(Mono.java:2129)
at org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping.getHandlerInternal(RoutePredicateHandlerMapping.java:53)
at org.springframework.web.reactive.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:134)
at org.springframework.web.reactive.DispatcherHandler.lambda$handle$0(DispatcherHandler.java:127)
at org.springframework.web.reactive.DispatcherHandler$$Lambda$286/15972958.apply(Unknown Source)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:355)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:210)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:91)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:55)
at reactor.core.publisher.FluxConcatMap.subscribe(FluxConcatMap.java:121)
at reactor.core.publisher.MonoNext.subscribe(MonoNext.java:40)
at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.Mono.subscribe(Mono.java:2769)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:165)
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61)
at reactor.ipc.netty.channel.ChannelOperations.applyHandler(ChannelOperations.java:380)
at reactor.ipc.netty.http.server.HttpServerOperations.onHandlerStart(HttpServerOperations.java:354)
at reactor.ipc.netty.channel.ContextHandler$$Lambda$275/2047426068.run(Unknown Source)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:745)
"reactor-http-nio-2" #14 daemon prio=5 os_prio=31 tid=0x00007fcfd1774000 nid=0x3707 runnable [0x000070000124c000]
java.lang.Thread.State: RUNNABLE
at java.util.Arrays.copyOf(Arrays.java:3181)
at java.util.concurrent.CopyOnWriteArrayList.add(CopyOnWriteArrayList.java:439)
at ch.qos.logback.classic.Logger.createChildByName(Logger.java:359)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:154)
- locked <0x0000000740bc52c8> (a ch.qos.logback.classic.Logger)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:53)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at reactor.util.Loggers$Slf4JLoggerFactory.getLogger(Loggers.java:78)
at reactor.util.Loggers.getLogger(Loggers.java:55)
at reactor.core.publisher.SignalLogger$$Lambda$304/463255032.apply(Unknown Source)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:119)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:75)
at reactor.core.publisher.Mono.log(Mono.java:2202)
at reactor.core.publisher.Mono.log(Mono.java:2171)
at reactor.core.publisher.Mono.log(Mono.java:2129)
at org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping.getHandlerInternal(RoutePredicateHandlerMapping.java:53)
at org.springframework.web.reactive.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:134)
at org.springframework.web.reactive.DispatcherHandler.lambda$handle$0(DispatcherHandler.java:127)
at org.springframework.web.reactive.DispatcherHandler$$Lambda$286/15972958.apply(Unknown Source)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:355)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:210)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:91)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:55)
at reactor.core.publisher.FluxConcatMap.subscribe(FluxConcatMap.java:121)
at reactor.core.publisher.MonoNext.subscribe(MonoNext.java:40)
at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.Mono.subscribe(Mono.java:2769)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:165)
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61)
at reactor.ipc.netty.channel.ChannelOperations.applyHandler(ChannelOperations.java:380)
at reactor.ipc.netty.http.server.HttpServerOperations.onHandlerStart(HttpServerOperations.java:354)
at reactor.ipc.netty.channel.ContextHandler$$Lambda$275/2047426068.run(Unknown Source)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:745)
"reactor-http-nio-1" #13 daemon prio=5 os_prio=31 tid=0x00007fcfd49ac800 nid=0x1407 waiting for monitor entry [0x0000700000a31000]
java.lang.Thread.State: BLOCKED (on object monitor)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:151)
- waiting to lock <0x0000000740bc52c8> (a ch.qos.logback.classic.Logger)
at ch.qos.logback.classic.LoggerContext.getLogger(LoggerContext.java:53)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at reactor.util.Loggers$Slf4JLoggerFactory.getLogger(Loggers.java:78)
at reactor.util.Loggers.getLogger(Loggers.java:55)
at reactor.core.publisher.SignalLogger$$Lambda$304/463255032.apply(Unknown Source)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:119)
at reactor.core.publisher.SignalLogger.<init>(SignalLogger.java:75)
at reactor.core.publisher.Mono.log(Mono.java:2202)
at reactor.core.publisher.Mono.log(Mono.java:2171)
at reactor.core.publisher.Mono.log(Mono.java:2129)
at org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping.getHandlerInternal(RoutePredicateHandlerMapping.java:53)
at org.springframework.web.reactive.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:134)
at org.springframework.web.reactive.DispatcherHandler.lambda$handle$0(DispatcherHandler.java:127)
at org.springframework.web.reactive.DispatcherHandler$$Lambda$286/15972958.apply(Unknown Source)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:355)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:210)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:91)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:55)
at reactor.core.publisher.FluxConcatMap.subscribe(FluxConcatMap.java:121)
at reactor.core.publisher.MonoNext.subscribe(MonoNext.java:40)
at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.Mono.subscribe(Mono.java:2769)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:165)
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56)
at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44)
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61)
at reactor.ipc.netty.channel.ChannelOperations.applyHandler(ChannelOperations.java:380)
at reactor.ipc.netty.http.server.HttpServerOperations.onHandlerStart(HttpServerOperations.java:354)
at reactor.ipc.netty.channel.ContextHandler$$Lambda$275/2047426068.run(Unknown Source)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Thread.java:745)
"Service Thread" #9 daemon prio=9 os_prio=31 tid=0x00007fcfd180b000 nid=0x4b03 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread2" #8 daemon prio=9 os_prio=31 tid=0x00007fcfd1011000 nid=0x4903 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=31 tid=0x00007fcfd10af000 nid=0x4703 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=31 tid=0x00007fcfd20d9000 nid=0x4503 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Monitor Ctrl-Break" #5 daemon prio=5 os_prio=31 tid=0x00007fcfd20dd000 nid=0x4303 runnable [0x0000700000c3a000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
- locked <0x00000007401e6918> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
- locked <0x00000007401e6918> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at com.intellij.rt.execution.application.AppMainV2$1.run(AppMainV2.java:64)
"Signal Dispatcher" #4 daemon prio=9 os_prio=31 tid=0x00007fcfd1832000 nid=0x320f runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=31 tid=0x00007fcfd1807800 nid=0x3003 in Object.wait() [0x000070000092e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x00000007400b2978> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" #2 daemon prio=10 os_prio=31 tid=0x00007fcfd1008000 nid=0x2e03 in Object.wait() [0x000070000082b000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
- locked <0x000000074009ba60> (a java.lang.ref.Reference$Lock)
"VM Thread" os_prio=31 tid=0x00007fcfd281e800 nid=0x2c03 runnable
"GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007fcfd1007800 nid=0x2403 runnable
"GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007fcfd1800800 nid=0x2603 runnable
"GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007fcfd1809000 nid=0x2803 runnable
"GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007fcfd1807000 nid=0x2a03 runnable
"VM Periodic Task Thread" os_prio=31 tid=0x00007fcfd28b0000 nid=0x4d03 waiting on condition
JNI global references: 951
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment