== sanity-lnet test 233: Check for successful resends ==== 00:45:08 (1763876708) Cleaning up LNet Writer error: failed to resolve Netlink family id /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 114: echo: write error: Device or resource busy /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 156: echo: write error: Device or resource busy unloading modules via unload_modules_local on: 'oleg405-server' oleg405-server: oleg405-server.virtnet: executing unload_modules_local oleg405-server: /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 114: echo: write error: Device or resource busy oleg405-server: LNET unconfigure error 22: Invalid argument oleg405-server: /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 156: echo: write error: Device or resource busy modules unloaded. /home/green/git/lustre-release/lustre/tests/test-framework.sh: line 1030: echo: write error: Device or resource busy /home/green/git/lustre-release/lustre/tests/test-framework.sh: line 1031: echo: write error: Device or resource busy Loading modules from /home/green/git/lustre-release/lustre detected 4 online CPUs by sysfs MODOPTS_LIBCFS= Force libcfs to create 2 CPU partitions ../libcfs/libcfs/libcfs options: 'cpu_npartitions=2' /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl lnet configure -a oleg405-server: Writer error: failed to resolve Netlink family id oleg405-server: opening /dev/lnet failed: No such file or directory oleg405-server: hint: the kernel modules may not be loaded oleg405-server: IOC_LIBCFS_GET_NI error 2: No such file or directory pdsh@oleg405-client: oleg405-server: ssh exited with exit code 1 oleg405-server: oleg405-server.virtnet: executing load_lnet oleg405-server: Loading modules from /home/green/git/lustre-release/lustre oleg405-server: /home/green/git/lustre-release/lustre/tests/test-framework.sh: line 1030: echo: write error: Device or resource busy oleg405-server: /home/green/git/lustre-release/lustre/tests/test-framework.sh: line 1031: echo: write error: Device or resource busy oleg405-server: detected 4 online CPUs by sysfs oleg405-server: MODOPTS_LIBCFS= oleg405-server: Force libcfs to create 2 CPU partitions /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl discover 192.168.204.105@tcp discover: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp oleg405-server: oleg405-server.virtnet: executing lnet_if_list oleg405-server: oleg405-server.virtnet: executing /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net add --net tcp1 --if ens2 oleg405-server: default via 192.168.204.254 dev ens2 192.168.204.0/24 dev ens2 proto kernel scope link src 192.168.204.105 oleg405-server: default via 192.168.204.254 dev ens2 192.168.204.0/24 dev ens2 proto kernel scope link src 192.168.204.105 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl lnet configure /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net add --net tcp1 --if ens2 default via 192.168.204.254 dev ens2 192.168.204.0/24 dev ens2 proto kernel scope link src 192.168.204.5 default via 192.168.204.254 dev ens2 192.168.204.0/24 dev ens2 proto kernel scope link src 192.168.204.5 net: - net type: lo local NI(s): - nid: 0@lo status: up - net type: tcp local NI(s): - nid: 192.168.204.5@tcp status: up interfaces: 0: ens2 - net type: tcp1 local NI(s): - nid: 192.168.204.5@tcp1 status: up interfaces: 0: ens2 - primary nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp health stats: health value: 1000 - nid: 192.168.204.105@tcp1 health stats: health value: 1000 debug=+net Simulate intermittent local_interrupt /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp1 -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp1 -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp1 -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp1 -m GET -e local_interrupt -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl ping --source 192.168.204.5@tcp 192.168.204.105@tcp ping: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set numa_range 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_interfaces 200 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set discovery 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set drop_asym_route 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set retry_count 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set transaction_timeout 150 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set health_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_interval 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set router_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set response_tracking 3 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_limit 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_recovery_ping_interval 900 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl peer set --health 1000 --all /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net set --health 1000 --all Check for 1 successful resend Simulate intermittent local_dropped /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp1 -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp1 -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp1 -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp1 -m GET -e local_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl ping --source 192.168.204.5@tcp 192.168.204.105@tcp ping: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set numa_range 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_interfaces 200 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set discovery 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set drop_asym_route 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set retry_count 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set transaction_timeout 150 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set health_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_interval 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set router_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set response_tracking 3 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_limit 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_recovery_ping_interval 900 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl peer set --health 1000 --all /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net set --health 1000 --all Check for 1 successful resend Simulate intermittent local_aborted /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp1 -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp1 -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp1 -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp1 -m GET -e local_aborted -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl ping --source 192.168.204.5@tcp 192.168.204.105@tcp ping: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set numa_range 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_interfaces 200 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set discovery 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set drop_asym_route 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set retry_count 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set transaction_timeout 150 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set health_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_interval 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set router_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set response_tracking 3 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_limit 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_recovery_ping_interval 900 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl peer set --health 1000 --all /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net set --health 1000 --all Check for 1 successful resend Simulate intermittent local_no_route /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp1 -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp1 -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp1 -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp1 -m GET -e local_no_route -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl ping --source 192.168.204.5@tcp 192.168.204.105@tcp ping: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set numa_range 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_interfaces 200 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set discovery 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set drop_asym_route 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set retry_count 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set transaction_timeout 150 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set health_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_interval 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set router_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set response_tracking 3 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_limit 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_recovery_ping_interval 900 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl peer set --health 1000 --all /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net set --health 1000 --all Check for 1 successful resend Simulate intermittent local_timeout /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp1 -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp1 -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp1 -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp1 -m GET -e local_timeout -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl ping --source 192.168.204.5@tcp 192.168.204.105@tcp ping: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set numa_range 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_interfaces 200 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set discovery 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set drop_asym_route 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set retry_count 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set transaction_timeout 150 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set health_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_interval 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set router_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set response_tracking 3 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_limit 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_recovery_ping_interval 900 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl peer set --health 1000 --all /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net set --health 1000 --all Check for 1 successful resend Simulate intermittent remote_dropped /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.105@tcp1 -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp -d 192.168.204.5@tcp1 -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/utils/lctl net_drop add -s 192.168.204.5@tcp1 -d 192.168.204.105@tcp1 -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl fault drop add -s 192.168.204.5@tcp1 -d 192.168.204.5@tcp1 -m GET -e remote_dropped -r 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl ping --source 192.168.204.5@tcp 192.168.204.105@tcp ping: - primary nid: 192.168.204.105@tcp Multi-Rail: true peer_ni: - nid: 192.168.204.105@tcp - nid: 192.168.204.105@tcp1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set numa_range 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_interfaces 200 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set discovery 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set drop_asym_route 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set retry_count 2 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set transaction_timeout 150 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set health_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_interval 1 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set router_sensitivity 100 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set response_tracking 3 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set recovery_limit 0 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl set max_recovery_ping_interval 900 /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl peer set --health 1000 --all /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net set --health 1000 --all Check for 1 successful resend oleg405-server: oleg405-server.virtnet: executing /home/green/git/lustre-release/lustre/../lnet/utils/lnetctl net del --net tcp1 --if ens2 Writer error: failed to resolve Netlink family id /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 114: echo: write error: Device or resource busy /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 156: echo: write error: Device or resource busy unloading modules via unload_modules_local on: 'oleg405-server' oleg405-server: oleg405-server.virtnet: executing unload_modules_local oleg405-server: /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 114: echo: write error: Device or resource busy oleg405-server: /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 156: echo: write error: Device or resource busy modules unloaded. oleg405-server: oleg405-server.virtnet: executing unload_modules_local oleg405-server: /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 114: echo: write error: Device or resource busy oleg405-server: LNET unconfigure error 22: Invalid argument oleg405-server: /home/green/git/lustre-release/lustre/scripts/lustre_rmmod: line 156: echo: write error: Device or resource busy pdsh@oleg405-client: oleg405-client: ssh exited with exit code 2 pdsh@oleg405-client: oleg405-server: ssh exited with exit code 2 pdsh@oleg405-client: oleg405-server: ssh exited with exit code 2 pdsh@oleg405-client: oleg405-client: ssh exited with exit code 2