cisco-system-traffic-generator / trex-stateless-gui

TRex stateless GUI
Apache License 2.0
218 stars 64 forks source link

Unable to connect 4.5.6 GUI to Trex 2.7.5 #121

Open talentedbrute opened 4 years ago

talentedbrute commented 4 years ago

Using the latest Oracle 8 JDK (1.8.0_241) on Ubuntu 18.04 attempting to connect the Stateless GUI v4.5.6 to trex 2.7.5 is unsuccessful. GUI shows that it is connected, but the connect window never closes and the UI becomes unusable. Below are the logs that come from the UI.

[TRACE] 03-09-2020 12:05:33 com.exalttech.trex.core.ConnectionManager sendRequest - Sending request { "id": "aggogxls", "jsonrpc": "2.0", "method": "ping", "params": {} } [TRACE] 03-09-2020 12:05:33 com.exalttech.trex.core.ConnectionManager sendRequest - Received Server response { "id": "aggogxls", "jsonrpc": "2.0", "result": { "ts": 293.52914184758623 } }

EgorBlagov commented 4 years ago

Hi, thank you for reporting it, I'm going to look into it.

eduser25 commented 4 years ago

Same. Just deployed new setup and experiencing same issue.

EgorBlagov commented 4 years ago

Hi,

I've tried it, and faced no issues: I've checked under ubuntu 16, with latest JRE, java gui v4.5.6 (tar.gz), and TRex v2.75.

egor@blagov-home:~/Downloads/trex-gui$ java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
egor@blagov-home:~/Downloads/trex-gui$ java -jar trex-stateless-gui.jar 
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/egor/Downloads/trex-gui/lib/slf4j-nop-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/egor/Downloads/trex-gui/lib/trex-packet-editor-1.01.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/egor/Downloads/trex-gui/lib/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory]
[INFO] 03-11-2020 14:33:56 com.exalttech.trex.application.TrexApp main - Starting TRex
[INFO] 03-11-2020 14:33:56 com.exalttech.trex.application.TrexApp main - Current relative path is: /home/egor/Downloads/trex-gui
[INFO] 03-11-2020 14:33:56 com.exalttech.trex.application.TrexApp main - /home/egor/Downloads/trex-gui
Mar 11, 2020 2:33:59 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '*.titled-pane>*.content' in stylesheet jar:file:/usr/lib/jvm/jre1
.8.0_241/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Mar 11, 2020 2:34:00 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '*.titled-pane>*.content' in stylesheet jar:file:/usr/lib/jvm/jre1
.8.0_241/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
[TRACE] 03-11-2020 14:34:00 com.exalttech.trex.core.ConnectionManager sendRequest - Sending request 
{
  "id": "aggogxls",
  "jsonrpc": "2.0",
  "method": "ping",
  "params": {}
}
[TRACE] 03-11-2020 14:34:00 com.exalttech.trex.core.ConnectionManager sendRequest - Received Server response 
{
  "id": "aggogxls",
  "jsonrpc": "2.0",
  "result": {
    "ts": 220.84987883827586
  }
}
[TRACE] 03-11-2020 14:34:00 com.exalttech.trex.core.ConnectionManager sendRequest - Sending request 
{
  "id": "aggogxls",
  "jsonrpc": "2.0",
  "method": "api_sync",
  "params": {
    "api_vers": [
      {
        "major": 4,
        "minor": 0,
        "type": "core"
      }
    ]
  }
}
[TRACE] 03-11-2020 14:34:00 com.exalttech.trex.core.ConnectionManager sendRequest - Received Server response 

screenshot

Could you attach more info, please? Also please share me your trex_cfg.yaml.

Thanks & regards, Egor.

PS. accidentally closed issue, hence reopened.

talentedbrute commented 4 years ago

I was trying to do this on Ubuntu 18.04. Let me know what more information I can provide.

My trex_cf.yaml is:

### Config file generated by dpdk_setup_ports.py ###

- version: 2
  interfaces: ['00:06.0', '00:07.0']
  port_info:
      - ip: 1.1.1.1
        default_gw: 2.2.2.2
      - ip: 2.2.2.2
        default_gw: 1.1.1.1

  platform:
      master_thread_id: 0
      latency_thread_id: 1
      dual_if:
        - socket: 0
          threads: [2,3,4,5]
EgorBlagov commented 4 years ago

Ok, please attach me also java -version, and log with java -jar trex-stateless-gui.jar. And if possible could you share whether it works on previous TRex version, and at what version it stops working for you?

talentedbrute commented 4 years ago

This was with running against TRex 2.7.4. I'll post the output from TRex 2.7.5 next

tareed@trex:~/Desktop/trex-gui-4.5.6$ java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) tareed@trex:~/Desktop/trex-gui-4.5.6$ java -jar trex-stateless-gui.jar SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/tareed/Desktop/trex-gui-4.5.6/lib/slf4j-nop-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/tareed/Desktop/trex-gui-4.5.6/lib/trex-packet-editor-1.01.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/tareed/Desktop/trex-gui-4.5.6/lib/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory] [INFO] 03-11-2020 09:35:50 com.exalttech.trex.application.TrexApp main - Starting TRex [INFO] 03-11-2020 09:35:50 com.exalttech.trex.application.TrexApp main - Current relative path is: /home/tareed/Desktop/trex-gui-4.5.6 [INFO] 03-11-2020 09:35:50 com.exalttech.trex.application.TrexApp main - /home/tareed/Desktop/trex-gui-4.5.6 Mar 11, 2020 9:36:05 AM javafx.scene.CssStyleHelper calculateValue WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '.titled-pane>.content' in stylesheet jar:file:/opt/jdk1.8.0_241/jre/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss Mar 11, 2020 9:36:07 AM javafx.scene.CssStyleHelper calculateValue WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '.titled-pane>.content' in stylesheet jar:file:/opt/jdk1.8.0_241/jre/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss [TRACE] 03-11-2020 09:36:11 com.exalttech.trex.core.ConnectionManager sendRequest - Sending request { "id": "aggogxls", "jsonrpc": "2.0", "method": "ping", "params": {} } [TRACE] 03-11-2020 09:36:11 com.exalttech.trex.core.ConnectionManager sendRequest - Received Server response { "id": "aggogxls", "jsonrpc": "2.0", "result": { "ts": 14.01700203275862 } }

eduser25 commented 4 years ago

Tried on 2 different systems running viewer. T-rex is top-of-master (2.75), verified there's not connectivity or fw issues between the viewer and the t-rex node.

  • port_limit : 2 version : 2

    List of interfaces. Change to suit your setup. Use ./dpdk_setup_ports.py -s to see available options

    interfaces : ["13:00.0", 'dummy'] port_info : # Port IPs. Change to suit your needs. In case of loopback, you can leave as is.

    • ip : 1.1.1.1 default_gw : 2.2.2.2
    • ip : 2.2.2.2 default_gw : 1.1.1.1

Viewer:

java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) Client VM (build 25.221-b11, mixed mode, sharing)

stuck here: image

[INFO] 03-11-2020 11:04:17 com.exalttech.trex.application.TrexApp main - Starting TRex [INFO] 03-11-2020 11:04:17 com.exalttech.trex.application.TrexApp main - Current relative path is: C:\Program Files\TRex\trex-stateless-gui\app [INFO] 03-11-2020 11:04:17 com.exalttech.trex.application.TrexApp main - C:\Program Files\TRex\trex-stateless-gui\app Mar 11, 2020 11:04:21 AM javafx.scene.CssStyleHelper calculateValue WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '.titled-pane>.content' in stylesheet jar:file:/C:/Program%20Files%20(x86)/Java/jre1.8.0_221/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss Mar 11, 2020 11:04:40 AM javafx.scene.CssStyleHelper calculateValue WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '.titled-pane>.content' in stylesheet jar:file:/C:/Program%20Files%20(x86)/Java/jre1.8.0_221/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss [TRACE] 03-11-2020 11:04:44 com.exalttech.trex.core.ConnectionManager sendRequest - Sending request { "id": "aggogxls", "jsonrpc": "2.0", "method": "ping", "params": {} } [TRACE] 03-11-2020 11:04:44 com.exalttech.trex.core.ConnectionManager sendRequest - Received Server response { "id": "aggogxls", "jsonrpc": "2.0", "result": { "ts": 57028.424778498185 } }

EgorBlagov commented 4 years ago

This was with running against TRex 2.7.4. I'll post the output from TRex 2.7.5 next

tareed@trex:~/Desktop/trex-gui-4.5.6$ java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) tareed@trex:~/Desktop/trex-gui-4.5.6$ java -jar trex-stateless-gui.jar SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/tareed/Desktop/trex-gui-4.5.6/lib/slf4j-nop-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/tareed/Desktop/trex-gui-4.5.6/lib/trex-packet-editor-1.01.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/tareed/Desktop/trex-gui-4.5.6/lib/log4j-slf4j-impl-2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory] [INFO] 03-11-2020 09:35:50 com.exalttech.trex.application.TrexApp main - Starting TRex [INFO] 03-11-2020 09:35:50 com.exalttech.trex.application.TrexApp main - Current relative path is: /home/tareed/Desktop/trex-gui-4.5.6 [INFO] 03-11-2020 09:35:50 com.exalttech.trex.application.TrexApp main - /home/tareed/Desktop/trex-gui-4.5.6 Mar 11, 2020 9:36:05 AM javafx.scene.CssStyleHelper calculateValue WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '.titled-pane>.content' in stylesheet jar:file:/opt/jdk1.8.0241/jre/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss Mar 11, 2020 9:36:07 AM javafx.scene.CssStyleHelper calculateValue WARNING: Caught 'java.lang.ClassCastException: java.lang.String cannot be cast to javafx.scene.paint.Paint' while converting value for '-fx-border-color' from rule '.titled-pane>_.content' in stylesheet jar:file:/opt/jdk1.8.0_241/jre/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss [TRACE] 03-11-2020 09:36:11 com.exalttech.trex.core.ConnectionManager sendRequest - Sending request { "id": "aggogxls", "jsonrpc": "2.0", "method": "ping", "params": {} } [TRACE] 03-11-2020 09:36:11 com.exalttech.trex.core.ConnectionManager sendRequest - Received Server response { "id": "aggogxls", "jsonrpc": "2.0", "result": { "ts": 14.01700203275862 } }

Am I correct that at v2.74 it also didn't work?

EgorBlagov commented 4 years ago

Ok, I have another thought. Could you start trex-console from machine where you start the GUI, and connect to that TRex instance to check if it connects?

  1. either git clone trex-core or download trex release and unpack it
  2. go to scripts directory if you've cloned it, or just to v2.75 directory if you've downloaded it
  3. give ./trex-console -s <ip address of trex>
talentedbrute commented 4 years ago

The TRex Console works just fine, I have been using that for testing. In my environment the trex server, console and stateless UI are all on the same box. All connections are made over localhost.

EgorBlagov commented 4 years ago

The TRex Console works just fine, I have been using that for testing. In my environment the trex server, console and stateless UI are all on the same box. All connections are made over localhost.

could you show me "advanced options" of GUI connect modal? and also, could you confirm if it worked with v2.74 or not? I'm confused with this sentence: "This was with running against TRex 2.7.4"

EgorBlagov commented 4 years ago

@tareed @eduser25 could you please update

talentedbrute commented 4 years ago

Sorry I didnt see your comment from last week. Yes its against TRex 2.74, just a typo on my part. It will not connect using version 2.74. The trex-console app works fine. I cannot get 2.75 to build on the same box which is why I am using 2.74.

Heres the screen shot you asked for.

Screen Shot 2020-03-18 at 11 27 59 AM