Breakwater running error: couldn't connect to raddr

Hi Calanda, Breakwater developers,
I try to run the Breakwater example application in readme but encounter problems. (Before that I do not encounter the same problem when I run the synthetic application in Calanda readme).
The Breakwater example application does run successfully when I run it the first time. But when I want to run it for many times, (each time, I resetup the machine using sudo ./scripts/setup_machine.sh, then start iokerneld  and the application at the client. so does at the server) I can never run it successfully again unless I reboot the machine. The IP-related configuration is right since I can run the synthetic application in Calanda successfully.
Environment

i7-6700 CPU
Intel 82599ES NIC
Ubuntu 20.04 with kernel 5.4

server.config file
host_addr <IP_ADDRESS>
host_netmask <IP_ADDRESS>
host_gateway <IP_ADDRESS>
runtime_kthreads 4
runtime_guaranteed_kthreads 4

Server output:
I omit the output of sudo ./iokerneld ias nobw no_hw_qdel.  so does client.
~/caladan/breakwater: sudo ./apps/netbench/netbench breakwater ../server.config server
CPU 02| <5> cpu: detected 8 cores, 1 nodes
CPU 02| <5> time: detected 3407 ticks / us
CPU 02| <6> init: entering 'early' init
CPU 02| <6> init: entering 'normal' init
CPU 02| <6> init: entering 'late' init
[  0.000296] CPU 02| <5> loading configuration from '../server.config'
[  0.006781] CPU 02| <5> process pid: 151042
[  0.006786] CPU 02| <6> entering 'global' init phase
[  0.006788] CPU 02| <6> init -> kthread
[  0.006798] CPU 02| <6> init -> ioqueues
[  0.019990] CPU 02| <6> init -> stack
[  0.020006] CPU 02| <6> init -> sched
[  0.020011] CPU 02| <6> init -> preempt
[  0.020017] CPU 02| <6> init -> smalloc
[  0.020025] CPU 02| <6> init -> net
[  0.020699] CPU 02| <5> net: started network stack
[  0.020702] CPU 02| <5> net: using the following configuration:
[  0.020706] CPU 02| <5>   addr:	<IP_ADDRESS>
[  0.020710] CPU 02| <5>   netmask:	<IP_ADDRESS>
[  0.020713] CPU 02| <5>   gateway:	<IP_ADDRESS>
[  0.020716] CPU 02| <5>   mac:	EA:82:2E:DD:AE:1E
[  0.020720] CPU 02| <6> init -> directpath
[  0.020723] CPU 02| <6> init -> arp
[  0.020734] CPU 02| <6> init -> trans
[  0.020825] CPU 02| <6> init -> storage
[  0.020828] CPU 02| <6> init -> gc
[  0.020854] CPU 02| <5> thread: created thread 0
[  0.020857] CPU 02| <6> init: entering 'thread' init
[  0.020860] CPU 02| <6> entering 'per-thread' init phase
[  0.020863] CPU 02| <6> init -> kthread
[  0.020867] CPU 02| <6> init -> ioqueues
[  0.020870] CPU 02| <6> init -> stack
[  0.020873] CPU 02| <6> init -> timer
[  0.020882] CPU 02| <6> init -> sched
[  0.020922] CPU 02| <6> init -> smalloc
[  0.020925] CPU 02| <6> init -> net
[  0.020928] CPU 02| <6> init -> directpath
[  0.020931] CPU 02| <6> init -> storage
[  0.020933] CPU 02| <5> spawning 4 kthreads
[  0.021004] CPU 01| <5> thread: created thread 1
[  0.021014] CPU 01| <6> init: entering 'thread' init
[  0.021018] CPU 01| <6> entering 'per-thread' init phase
[  0.021030] CPU 01| <6> init -> kthread
[  0.021022] CPU 03| <5> thread: created thread 2
[  0.021042] CPU 03| <6> init: entering 'thread' init
[  0.021046] CPU 03| <6> entering 'per-thread' init phase
[  0.021050] CPU 03| <6> init -> kthread
[  0.021052] CPU 02| <5> thread: created thread 3
[  0.021061] CPU 02| <6> init: entering 'thread' init
[  0.021065] CPU 03| <6> init -> ioqueues
[  0.021054] CPU 01| <6> init -> ioqueues
[  0.021067] CPU 02| <6> entering 'per-thread' init phase
[  0.021075] CPU 01| <6> init -> stack
[  0.021082] CPU 01| <6> init -> timer
[  0.021072] CPU 03| <6> init -> stack
[  0.021092] CPU 01| <6> init -> sched
[  0.021094] CPU 03| <6> init -> timer
[  0.021077] CPU 02| <6> init -> kthread
[  0.021107] CPU 03| <6> init -> sched
[  0.021121] CPU 02| <6> init -> ioqueues
[  0.021126] CPU 02| <6> init -> stack
[  0.021129] CPU 02| <6> init -> timer
[  0.021134] CPU 02| <6> init -> sched
[  0.021161] CPU 01| <6> init -> smalloc
[  0.021165] CPU 01| <6> init -> net
[  0.021167] CPU 01| <6> init -> directpath
[  0.021171] CPU 01| <6> init -> storage
[  0.021181] CPU 03| <6> init -> smalloc
[  0.021184] CPU 03| <6> init -> net
[  0.021187] CPU 03| <6> init -> directpath
[  0.021190] CPU 03| <6> init -> storage
[  0.021192] CPU 02| <6> init -> smalloc
[  0.021200] CPU 02| <6> init -> net
[  0.021203] CPU 02| <6> init -> directpath
[  0.021206] CPU 02| <6> init -> storage
[  0.021237] CPU 03| <6> entering 'late' init phase
[  0.021241] CPU 03| <6> init -> arp
[  0.021246] CPU 03| <6> init -> stat
[  0.021253] CPU 03| <6> init -> tcp
[  0.021257] CPU 03| <6> init -> rcu
[  0.021261] CPU 03| <6> init -> directpath

client.config file
host_addr <IP_ADDRESS>
host_netmask <IP_ADDRESS>
host_gateway <IP_ADDRESS>
runtime_kthreads 4
runtime_spinning_kthreads 4
runtime_guaranteed_kthreads 4
runtime_priority lc

Client output:
/caladan/breakwater$ ./apps/netbench/netbench breakwater ../client.config client 100 <IP_ADDRESS> 10 exp 100 0 100000
CPU 06| <5> cpu: detected 8 cores, 1 nodes
CPU 06| <5> time: detected 3408 ticks / us
CPU 06| <6> init: entering 'early' init
CPU 06| <6> init: entering 'normal' init
CPU 06| <6> init: entering 'late' init
[  0.000290] CPU 06| <5> loading configuration from '../client.config'
[  0.000309] CPU 06| <5> process pid: 859656
[  0.000313] CPU 06| <6> entering 'global' init phase
[  0.000316] CPU 06| <6> init -> kthread
[  0.000323] CPU 06| <6> init -> ioqueues
[  0.013486] CPU 06| <6> init -> stack
[  0.013502] CPU 06| <6> init -> sched
[  0.013508] CPU 06| <6> init -> preempt
[  0.013512] CPU 06| <6> init -> smalloc
[  0.013520] CPU 06| <6> init -> net
[  0.014196] CPU 06| <5> net: started network stack
[  0.014200] CPU 06| <5> net: using the following configuration:
[  0.014204] CPU 06| <5>   addr:	<IP_ADDRESS>
[  0.014207] CPU 06| <5>   netmask:	<IP_ADDRESS>
[  0.014210] CPU 06| <5>   gateway:	<IP_ADDRESS>
[  0.014212] CPU 06| <5>   mac:	1E:C3:48:5A:08:5B
[  0.014216] CPU 06| <6> init -> directpath
[  0.014650] CPU 06| <6> init -> arp
[  0.014661] CPU 06| <6> init -> trans
[  0.014745] CPU 06| <6> init -> storage
[  0.014752] CPU 06| <6> init -> gc
[  0.014777] CPU 06| <5> thread: created thread 0
[  0.014780] CPU 06| <6> init: entering 'thread' init
[  0.014782] CPU 06| <6> entering 'per-thread' init phase
[  0.014788] CPU 06| <6> init -> kthread
[  0.014792] CPU 06| <6> init -> ioqueues
[  0.014796] CPU 06| <6> init -> stack
[  0.014798] CPU 06| <6> init -> timer
[  0.014804] CPU 06| <6> init -> sched
[  0.014844] CPU 06| <6> init -> smalloc
[  0.014847] CPU 06| <6> init -> net
[  0.014849] CPU 06| <6> init -> directpath
[  0.014850] CPU 06| <6> init -> storage
[  0.014852] CPU 06| <5> spawning 4 kthreads
[  0.014912] CPU 01| <5> thread: created thread 1
[  0.014921] CPU 01| <6> init: entering 'thread' init
[  0.014925] CPU 01| <6> entering 'per-thread' init phase
[  0.014930] CPU 01| <6> init -> kthread
[  0.014939] CPU 07| <5> thread: created thread 2
[  0.014947] CPU 07| <6> init: entering 'thread' init
[  0.014951] CPU 07| <6> entering 'per-thread' init phase
[  0.014955] CPU 01| <6> init -> ioqueues
[  0.014963] CPU 01| <6> init -> stack
[  0.014967] CPU 01| <6> init -> timer
[  0.014955] CPU 07| <6> init -> kthread
[  0.014957] CPU 06| <5> thread: created thread 3
[  0.014986] CPU 06| <6> init: entering 'thread' init
[  0.014990] CPU 06| <6> entering 'per-thread' init phase
[  0.014994] CPU 06| <6> init -> kthread
[  0.014973] CPU 01| <6> init -> sched
[  0.014994] CPU 07| <6> init -> ioqueues
[  0.015005] CPU 06| <6> init -> ioqueues
[  0.015019] CPU 06| <6> init -> stack
[  0.015024] CPU 06| <6> init -> timer
[  0.015013] CPU 07| <6> init -> stack
[  0.015035] CPU 01| <6> init -> smalloc
[  0.015037] CPU 07| <6> init -> timer
[  0.015040] CPU 01| <6> init -> net
[  0.015048] CPU 07| <6> init -> sched
[  0.015050] CPU 01| <6> init -> directpath
[  0.015059] CPU 01| <6> init -> storage
[  0.015031] CPU 06| <6> init -> sched
[  0.015116] CPU 06| <6> init -> smalloc
[  0.015119] CPU 06| <6> init -> net
[  0.015122] CPU 06| <6> init -> directpath
[  0.015124] CPU 06| <6> init -> storage
[  0.015124] CPU 07| <6> init -> smalloc
[  0.015135] CPU 07| <6> init -> net
[  0.015139] CPU 07| <6> init -> directpath
[  0.015143] CPU 07| <6> init -> storage
[  0.015177] CPU 06| <6> entering 'late' init phase
[  0.015180] CPU 06| <6> init -> arp
[  0.015185] CPU 06| <6> init -> stat
[  0.015191] CPU 06| <6> init -> tcp
[  0.015195] CPU 06| <6> init -> rcu
[  0.015199] CPU 06| <6> init -> directpath
num_threads,offered_load,throughput,goodput,cpu,min,mean,p50,p90,p99,p999,p9999,max,p1_win,mean_win,p99_win,p1_q,mean_q,p99_q,mean_stime,p99_stime,server:rx_pps,server:tx_pps,server:rx_bps,server:tx_bps,server:rx_drops_pps,server:rx_ooo_pps,server:winu_rx_pps,server:winu_tx_pps,server:win_tx_wps,server:req_rx_pps,server:req_drop_rate,server:resp_tx_pps,client:min_tput,client:max_tput,client:winu_rx_pps,client:winu_tx_pps,client:resp_rx_pps,client:req_tx_pps,client:win_expired_wps,client:req_dropped_rps
[  0.015883] CPU 01| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  0.015895] CPU 01| <6> tcp: 0x100000019000 CREATE -> SYN-SENT
[  0.325878] CPU 05| <6> tcp: 0x100000019000 retransmission timeout
[  0.325890] CPU 01| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  0.625914] CPU 05| <6> tcp: 0x100000019000 retransmission timeout
[  0.625924] CPU 01| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  0.925954] CPU 01| <6> tcp: 0x100000019000 retransmission timeout
[  0.925964] CPU 05| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  1.225988] CPU 02| <6> tcp: 0x100000019000 retransmission timeout
[  1.226002] CPU 06| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  1.526025] CPU 01| <6> tcp: 0x100000019000 retransmission timeout
[  1.526033] CPU 06| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  1.826060] CPU 01| <6> tcp: 0x100000019000 retransmission timeout
[  1.826074] CPU 02| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  2.126100] CPU 05| <6> tcp: 0x100000019000 retransmission timeout
[  2.126108] CPU 01| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  2.426134] CPU 01| <6> tcp: 0x100000019000 retransmission timeout
[  2.426141] CPU 05| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  2.726169] CPU 02| <6> tcp: 0x100000019000 retransmission timeout
[  2.726177] CPU 05| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  3.026204] CPU 06| <6> tcp: 0x100000019000 retransmission timeout
[  3.026212] CPU 05| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  3.326239] CPU 02| <6> tcp: 0x100000019000 retransmission timeout
[  3.326248] CPU 05| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  3.626277] CPU 05| <6> tcp: 0x100000019000 retransmission timeout
[  3.626284] CPU 01| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  3.926313] CPU 02| <6> tcp: 0x100000019000 retransmission timeout
[  3.926322] CPU 06| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  4.226350] CPU 02| <6> tcp: 0x100000019000 retransmission timeout
[  4.226359] CPU 06| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  4.526388] CPU 06| <6> tcp: 0x100000019000 retransmission timeout
[  4.526395] CPU 01| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  4.826423] CPU 01| <6> tcp: 0x100000019000 retransmission timeout
[  4.826430] CPU 06| <6> tcp: 0x100000019000 <IP_ADDRESS>:56120 -> <IP_ADDRESS>:8123 FLAGS=SYN SEQ=ISS+0 ACK=IRS+0 WND=64240 LEN=0
[  5.016447] CPU 02| <6> tcp: 0x100000019000 SYN-SENT -> CLOSED
[  5.016453] CPU 06| <0> couldn't connect to raddr.
[  5.016458] CPU 06| <5> init: shutting down -> FAILURE

Can you attach the debug output from the iokernel instances also?

I doubt the DPDK version (19.11) current Caladan/Breakwater supports might not be compatible with your Ubuntu 20.04
Note that Ubuntu 20.04 (Kernel 5.4) has not been tested in Intel platforms with Intel NICs combinations before DPDK 20.05 (https://doc.dpdk.org/guides-20.11/rel_notes/release_19_11.html)
Can you check whether you see the same issues with an older Linux kernel?
Ubuntu 18.04 with Linux 4.15 which is used for Breakwater evaluation or Ubuntu 18.04 with Linux 5.2 which is used for Caladan would be the best option to try.

Can you attach the debug output from the iokernel instances also?

Server:
~/caladan$ sudo ./iokerneld ias nobw no_hw_qdel
CPU 07| <6> entering 'iokernel' init phase
CPU 07| <6> init -> base
CPU 07| <5> cpu: detected 8 cores, 1 nodes
CPU 07| <5> time: detected 3407 ticks / us
CPU 07| <6> init: entering 'early' init
CPU 07| <6> init: entering 'normal' init
CPU 07| <6> init: entering 'late' init
[  0.000339] CPU 07| <6> init -> ksched
[  0.000358] CPU 07| <6> init -> sched
[  0.000362] CPU 07| <5> sched: CPU configuration...
node 0: [0,4][1,5][2,6][3,7]
[  0.000372] CPU 07| <5> sched: dataplane on 4, control on 0
[  0.000375] CPU 07| <6> init -> simple
[  0.000381] CPU 07| <6> init -> numa
[  0.000383] CPU 07| <6> init -> ias
[  0.000387] CPU 07| <6> init -> control
[  0.026285] CPU 07| <5> control: spawning control thread
[  0.026364] CPU 07| <6> init -> dpdk
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15b7 net_e1000_em
EAL: PCI device 0000:01:00.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:01:00.1 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
[  1.482301] CPU 04| <6> init -> rx
EAL: WARNING! Base virtual address hint (0x1100805000 != 0x7f683838a000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
[  1.589685] CPU 04| <6> init -> tx
[  1.592309] CPU 04| <6> init -> dp_clients
[  1.592322] CPU 04| <6> init -> dpdk_late
[  3.138781] CPU 04| <5> dpdk: driver: net_ixgbe port 0 MAC: 00 1b 21 88 d2 94
[  3.138792] CPU 04| <6> init -> hw_timestamp
[  3.138797] CPU 04| <5> main: core 4 running dataplane. [Ctrl+C to quit]
[  3.735374] CPU 04| <6> rx: received 1 packets on port 0
[  3.735384] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  3.735388] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[  3.735446] CPU 04| <6> rx: received 1 packets on port 0
[  3.735449] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  3.735453] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  5.622595] CPU 04| <6> rx: received 1 packets on port 0
[  5.622601] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  5.622605] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  6.438784] CPU 04| <6> rx: received 1 packets on port 0
[  6.438791] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  6.438795] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[  6.622797] CPU 04| <6> rx: received 1 packets on port 0
[  6.622801] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  6.622804] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  7.623111] CPU 04| <6> rx: received 1 packets on port 0
[  7.623116] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  7.623121] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  8.439352] CPU 04| <6> rx: received 1 packets on port 0
[  8.439357] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  8.439360] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
.......... (repeat above)
Client (Client and server are connected via a switch)
~/caladan$ sudo ./iokerneld ias nobw no_hw_qdel
CPU 00| <6> entering 'iokernel' init phase
CPU 00| <6> init -> base
CPU 00| <5> cpu: detected 8 cores, 1 nodes
CPU 00| <5> time: detected 3408 ticks / us
CPU 00| <6> init: entering 'early' init
CPU 00| <6> init: entering 'normal' init
CPU 00| <6> init: entering 'late' init
[  0.000287] CPU 00| <6> init -> ksched
[  0.000304] CPU 00| <6> init -> sched
[  0.000312] CPU 00| <5> sched: CPU configuration...
node 0: [0,4][1,5][2,6][3,7]
[  0.000319] CPU 00| <5> sched: dataplane on 4, control on 0
[  0.000322] CPU 00| <6> init -> simple
[  0.000327] CPU 00| <6> init -> numa
[  0.000330] CPU 00| <6> init -> ias
[  0.000334] CPU 00| <6> init -> control
[  0.025872] CPU 00| <5> control: spawning control thread
[  0.025942] CPU 00| <6> init -> dpdk
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:00:1f.6 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:15b7 net_e1000_em
EAL: PCI device 0000:01:00.0 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
EAL: PCI device 0000:01:00.1 on NUMA socket -1
EAL:   Invalid NUMA socket, default to 0
EAL:   probe driver: 8086:10fb net_ixgbe
[  1.487067] CPU 04| <6> init -> rx
EAL: WARNING! Base virtual address hint (0x1100805000 != 0x7f8c3558d000) not respected!
EAL:    This may cause issues with mapping memory into secondary processes
[  1.519877] CPU 04| <6> init -> tx
[  1.522722] CPU 04| <6> init -> dp_clients
[  1.522735] CPU 04| <6> init -> dpdk_late
[  3.142901] CPU 04| <5> dpdk: driver: net_ixgbe port 0 MAC: 00 1b 21 89 6e ac
[  3.142910] CPU 04| <6> init -> hw_timestamp
[  3.142915] CPU 04| <5> main: core 4 running dataplane. [Ctrl+C to quit]
[  3.570855] CPU 04| <6> rx: received 1 packets on port 0
[  3.570861] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  3.570866] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  3.571357] CPU 04| <6> rx: received 1 packets on port 0
[  3.571360] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  3.571364] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[  4.905497] CPU 04| <6> rx: received 1 packets on port 0
[  4.905501] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  4.905505] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  5.716392] CPU 04| <6> rx: received 1 packets on port 0
[  5.716397] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  5.716401] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[  5.900380] CPU 04| <6> rx: received 1 packets on port 0
[  5.900384] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  5.900388] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  6.954245] CPU 04| <6> rx: received 1 packets on port 0
[  6.954249] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[  6.954252] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
[  7.716403] CPU 04| <6> rx: received 1 packets on port 0
[  7.716407] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  7.716411] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[  9.716431] CPU 04| <6> rx: received 1 packets on port 0
[  9.716436] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[  9.716441] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 11.716449] CPU 04| <6> rx: received 1 packets on port 0
[ 11.716453] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 11.716458] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 13.716467] CPU 04| <6> rx: received 1 packets on port 0
[ 13.716471] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 13.716475] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 15.716480] CPU 04| <6> rx: received 1 packets on port 0
[ 15.716486] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 15.716490] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 17.716504] CPU 04| <6> rx: received 1 packets on port 0
[ 17.716509] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 17.716513] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 19.716519] CPU 04| <6> rx: received 1 packets on port 0
[ 19.716524] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 19.716528] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 21.716542] CPU 04| <6> rx: received 1 packets on port 0
[ 21.716546] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 21.716550] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 23.289722] CPU 04| <6> tx: transmitted 1 packets on port 0
[ 23.716562] CPU 04| <6> rx: received 1 packets on port 0
[ 23.716567] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 23.716571] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 25.289688] CPU 04| <6> tx: transmitted 1 packets on port 0
[ 25.716579] CPU 04| <6> rx: received 1 packets on port 0
[ 25.716584] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 25.716589] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 26.289717] CPU 04| <6> tx: transmitted 1 packets on port 0
[ 27.289746] CPU 04| <6> tx: transmitted 1 packets on port 0
[ 27.716597] CPU 04| <6> rx: received 1 packets on port 0
[ 27.716602] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 27.716605] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 29.716613] CPU 04| <6> rx: received 1 packets on port 0
[ 29.716618] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 29.716622] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 31.716632] CPU 04| <6> rx: received 1 packets on port 0
[ 31.716637] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 31.716640] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 33.716647] CPU 04| <6> rx: received 1 packets on port 0
[ 33.716652] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 33.716656] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 33.720804] CPU 04| <6> rx: received 1 packets on port 0
[ 33.720808] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 33.720811] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 36.717163] CPU 04| <6> rx: received 1 packets on port 0
[ 36.717167] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 00
[ 36.717171] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 0
[ 36.900714] CPU 04| <6> rx: received 1 packets on port 0
[ 36.900718] CPU 04| <6> rx: rx packet with MAC 01 80 c2 00 00 0e
[ 36.900721] CPU 04| <6> rx: unhandled packet with MAC 1 80 c2 0 0 e
........

Thanks! Could you also check dmesg and see if there are any relevant messages there (perhaps from igb_uio)? Can you try unbinding and re-binding the NIC to the igb_uio driver between experiments? You can use the dpdk-setup.sh script in dpdk/usertools

Thanks! Could you also check dmesg and see if there are any relevant messages there (perhaps from igb_uio)? Can you try unbinding and re-binding the NIC to the igb_uio driver between experiments? You can use the dpdk-setup.sh script in dpdk/usertools

Thanks. Unfortunately, I do not notice any special warning messages in dmesg. I also try unbinding and re-binding the NIC at both client and server, but the problem remains. I'll try to run under the Ubuntu version and kernel version as suggested by @inhocho89

@Yi-ran You mentioned that it works fine after the machine reboot. Did you have to reboot the server, the client, or both?

@Yi-ran You mentioned that it works fine after the machine reboot. Did you have to reboot the server, the client, or both?

Only rebooting the client is needed.  I guess that the client encounters problems after sending requests? However, no other useful error output under the debug mode and in dmesg. By the way, I also test the Breakwater example application under Ubuntu 18.04 with Linux 4.15 (both client and server), but the problem still exists.

Thanks for trying with an older Linux kernel.
Based on the information you provided, the client cannot establish a TCP connection with the server even before sending requests. It looks like the TCP SYN packets from the client are dropped somewhere, but I'm not sure where and what causes this for now.
Caladan's synthetic application runs fine because it uses UDP by default. As Caladan and Breakwater share the same runtime API for TCP connection, I think you will encounter the same problem if you run Caladan's synthetic application with TCP. To run the synthetic application with TCP, you need to add a command-line argument --transport tcp.
Do you have any information which can be useful to determine where the TCP SYN packets are dropped (e.g. counters at client, server, switch)? I think DPDK (igb_uio driver), NIC, or switch may drop the packets.

@joshuafried Hi, I recheck the synthetic application example in Calanda (Ubuntu 18.04 with Linux 4.15), it turns out that after the first successful run, the following runs also have packet drops.  Because it uses UDP,  it does not have the connection error like TCP uses in Breakwater.
The output:
Distribution, Target, Actual, Dropped, Never Sent, Median, 90th, 99th, 99.9tht
zero, 669, 441, 2047, 2913, 2053062.0, inf, inf, inf, inf,<PHONE_NUMBER>, 1323146
zero, 1999, 1999, 0, 0, 27.0, 29.0, 35.0, 40.0, 43.0,<PHONE_NUMBER>,<PHONE_NUMBER>79
zero, 2628, 2628, 0, 3354, 28.0, 1179937.0, 1587158.0, 1657009.0, 1662081.0, 5
[ 82.380460] CPU 06| <6> arp: responding to arp request from IP <IP_ADDRESS>
[ 94.226195] CPU 06| <6> arp: responding to arp request from IP <IP_ADDRESS>
[ 94.226199] CPU 02| <6> arp: responding to arp request from IP <IP_ADDRESS>
zero, 2647, 2550, 867, 12137, 103622.0, 1214256.0, inf, inf, inf,<PHONE_NUMBER>,3
[115.408214] CPU 06| <6> arp: responding to arp request from IP <IP_ADDRESS>
zero, 3261, 2810, 2968, 23485, 450190.0, inf, inf, inf, inf,<PHONE_NUMBER>, 86963
zero, 2852, 2836, 127, 30697, 791102.0, 2049957.0, 2318952.0, inf, inf, 161840
[166.703801] CPU 06| <6> arp: responding to arp request from IP <IP_ADDRESS>
zero, 2539, 2539, 0, 41767, 102222.0, 2383708.0, 2658246.0, 2685632.0, 268902

I guess the problem is not limited to TCP or Breakwater, maybe dropped by DPDK? But now I have no idea how to obtain the information of drop packets.

Thanks! Are there other processes/interrupts that are competing for CPU time on the cores used by the iokernel and the runtime? It seems from this output that one or both of iokernel and synthetic are being interrupted for long periods of time. Caladan generally assumes exclusive use of the cores that it is managing, and you may need to configure your OS to ensure that this is the case (using isolcpus, interrupt pinning/disabling irqbalance, etc).

@joshuafried @inhocho89
The connection issue disappears after I remove the switch and directly connect the client and server.
I opened the DPDK log and no error TX stats. After that, I notice that each run, the real source MAC addresses in the log are different.  At runtime/ioqueues.c, the generate_random_mac() function generates source MAC addresses randomly. As the switch maintains the MAC table, I guess it will drop packets if learned MAC address changes frequently.  At iokernel/dpdk.c, in dpdk_port_init(), the original MAC address of the NIC is obtained by rte_eth_macaddr_get(port, &addr).  As a result, there are two MAC addresses : the real MAC address (but is generated randomly) showed in output of ./apps/netbench/netbench and an original MAC address showed in output of ./iokerneld.
I wonder why a random generated MAC address is needed, why do not use the original MAC address of NIC? As for the problem I encountered, one direct way seems to use a fixed MAC address instead of a randomly generated MAC address.

Sounds good. I'm surprised the switch is not able to learn the MAC addresses quickly. We have never seen this problem with any switch that we've used. What is the model of this switch?
Each runtime instance on the machine has its own MAC so the iokernel (or hardware) can route inbound packets to the correct runtime.  In theory we could have chosen to route packets to runtimes by IP address instead.

The host_mac option may help as well, as it would allow you to hardcode a MAC for each runtime.

The real reason is that STP is default enabled in our switch after I check the log in the switch... (not due to different mac, I was wrong before)
Now the problem solved.
Thanks  a lot.


static directory can not access,return 404

http://sanic.readthedocs.io/en/latest/sanic/static_files.html

The code:
from sanic import Sanic
from sanic.response import text
from sanic.exceptions import RequestTimeout
app = Sanic(name)
app.static('/static', './static')
app.static('/st/1.html', './static/1.html')
@app.exception(RequestTimeout)
def timeout(request, exception):
return text('RequestTimeout from error_handler.', 408)
app.run(host="<IP_ADDRESS>", port=8000,workers=16)
wget localhost:8000/st/1.html,everything is ok.
but when wget localhost:8000/static,get a 404 error.
and,by the way,when there is a performance test:
wrk -t100 -c20000 -d30s http://localhost:8000/st/1.html
I get a lot of :(I modified the app.py logging format,let the log to show more content.)
2017-04-14 15:17:05,875: ERROR sanic   write_response::/home/yhubuntu/anaconda3/lib/python3.6/site-packages/sanic/server.py!!!!!:server.py::::server::::201   Connection lost before response written @ ('<IP_ADDRESS>', 43536)
btw:
Is there someplace that I can ask questions,or just post the questions here?
Thanks.

well ,there may be some misunderstanding about the static directory,the right way to use a static directory,is like:
wget localhost:8000/static/1.html


Sorting is bad on CPUs over 10 cores

Describe the bug
Sorting breaks on CPUs with more than 10 cores
To Reproduce
Steps to reproduce the behavior:

Buy a CPU with more than 10 cores
Run acs monitor
The sorting will be thrown off

Expected behavior
see screenshot
Screen

shots
On Laptop
Version 0.1.7

Ohhh, hm, it's doing alphabetical

We just need to change this to work with numeric values https://github.com/JakeRoggenbuck/auto-clock-speed/blob/d8b66d1f327c31acf9c282fba83189b63ca44e91/src/system.rs#L123


Update Dockerfile to use multi-stage builds

Uses multi-stage build to reduce final container
Harmonize the base image to use same OpenJDK base from Eclipse Temurin and Ubuntu Focal LTS
Make all tooling versions customizable through docker build args
Each tooling is built in separate components, improving the  process to add or remove specific tools

Is there a way to unresolve a conversation, I think https://github.com/oss-review-toolkit/ort/pull/4746#discussion_r757104461 (and https://github.com/heliocastro/ort/pull/18) is worth to think about

Up to date with upstream Docker changes, including new Java 17

Up to date with upstream Docker changes, including new Java 17

I just had to revert that 😢 See https://github.com/oss-review-toolkit/ort/pull/4948.

Taking some notes from today's meeting with @heliocastro and @tsteenbe:

Uses multi-stage build to reduce final container

Now different package managers are installed in different layers of "helper images", for which the final images just copies required files. This optimizes for incremental build time, but it also reduces the image size, as only required binaries are included, and not the files to build the binaries.

Harmonize the base image to use same OpenJDK base from Eclipse Temurin and Ubuntu Focal LTS

This is good, but just as a remark, meanwhile also available in the "legacy" Dockerfile.

Make all tooling versions customizable through docker build args

Note to myself: Tool versions were customizable before, but only via environment variables, but via build arguments.

Each tooling is built in separate components, improving the  process to add or remove specific tools

Also see explanations for the first bullet item.

Removed.
You are correct
On Sun, Feb 27, 2022 at 6:24 PM Maximilian Huber @.***>
wrote:

@.**** commented on this pull request.
In docker/bash_prompt
https://github.com/oss-review-toolkit/ort/pull/4746#discussion_r815468412
:

@@ -0,0 +1,99 @@
+#!/bin/bash

Under which license is that file?
I am thinking that this is going to far. convenience for interactive usage
should be in another image that is added on top and not included by default.
—
Reply to this email directly, view it on GitHub
https://github.com/oss-review-toolkit/ort/pull/4746#pullrequestreview-894527479,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADGDAFBHJND3WQVT5MS33LU5JM4VANCNFSM5IVMVK5A
.
You are receiving this because you were mentioned.Message ID:
@.***>

@fviernau @heliocastro @tsteenbe had a meeting on July 15th to discuss getting this PR merged.
@fviernau @tsteenbe agreed this can be merged once below action items 4,6 and 7 are done
Action items:

Fill issue to replace  virtualenv on Python analysis to use pyenv  (@heliocastro)
Fill issue to drop Ruby 2 in ORT (@heliocastro)
Fill issue to ORT docker image should also work on ARM (@tsteenbe)
Fix functional test failure  "Could not build image for container run.", see https://github.com/oss-review-toolkit/ort/runs/7354719297?check_suite_focus=true
How to debug this issue? (@heliocastro/ @sschuberth)
Nominate @heliocastro to become an ORT contributor
Update ort-gitlab-ci to enable running with legacy Docker image (@tsteenbe)
Test multi-stage Docker image with a variety of projects using different package managers (@fviernau / @tsteenbe)
Once 4 has been addressed, make announcement that PR will be merged by date X (1 week period) and that users dependend on legacy image need to take mitigation measures. (@tsteenbe)

@tsteenbe Ruby issue
@tsteenbe Python vitualenv replacement proposal

Android copyright information is present in the following files in the resulting container:
/opt/android-sdk/cmdline-tools/NOTICE.txt
/opt/android-sdk/platform-tools/NOTICE.txt

Cross-posting from Slack: Please don't merge this with a whopping 43 (!) commits in the history. I guess most of this should be squashable, or?

@mnonnenmacher @MarcelBochtler @fviernau could you live with the Git history in this PR?

@mnonnenmacher @MarcelBochtler @fviernau could you live with the Git history in this PR?

@sschuberth I would not merge it like this, because just from a short look I see so many issues:

43 commits is far too much for a single PR. This is impossible to review.
Many commits change multiple things at once. Just as one example, the "Revert to Java 11" commit changes the pyenv installation and there is no explanation in the commit message if this is related to the base image change or just completely unrelated.
There are a lot of typos and hard to understand sentences in the commit messages.
Several commits contain lists of changes which shows they should have been separate commits.
There is one commit that creates a legacy Dockerfile, but this is not the current version of the file but an old version. Instead there is a separate commit that updates the legacy file.
There are version updates all over the place, it's unfeasible to check if all of these are updates related to some old version of the original Dockerfile or to the current Dockerfile. For example, the first commit downgrades ScanCode only to upgrade it again in a later commit.
Commit message prefixes are inconsistent, some start with "Docker fix:" or "Docker update:" or "Dockerfile:" or "docker:".
It's unclear why some entries were added to the .gitignore.
The link to the BuildKit docs was removed from the README.

And this is not the complete list.
I understand that this PR was worked on for almost a year now, and that this was probably a bit frustrating. So I want to thank @heliocastro for being to persistent with your efforts to improve our Docker setup. But nevertheless this PR should follow our standards. We have put a lot of effort into maintaining a clean Git history for this project because it brings a lot of benefits, and I would not like to ignore this now just because someone has an urge to merge these changes.
My suggestion to move this forward in a clean way would be to squash all changes into just a few commits, so that the PR can be reviewed properly, for example:

One commit to copy the current Dockerfile to the legacy directory.
A few commits that apply the relevant changes on top of the current Dockerfile, but without all the version updates that just repeat version updates which already happened in our current Dockerfile. Or even squashing all changes into a single commit would be better than the current state of the PR.
One commit for each version update that changes a version compared to our current Dockerfile.

And as a general comment, if you work on a contribution that takes a long time, to a project with mandatory code review, it is super important to rebase your changes on top of the current main branch on a regular basis. Yes, this can be a lot of work, but it is the responsibility of the author to make sure that their changes are in a reviewable state.

Does one of you maybe have a better idea how to clean this up?

Looks like a clean-up was already done in https://github.com/oss-review-toolkit/ort/pull/5760. I'll close this PR in favor of that one. Let's continue the discussion over there.


Getting transparent image on IPhone

Hi, on iphone, im getting transparent image instead normal image.. Im doing some check with width of picture :
var imageData = $('.box-wrap > img').cropper('getImageData');

                  if(imageData.naturalWidth > 960)
                  {
                     var $canvas = $('.box-wrap > img').cropper('getCroppedCanvas', {width: 960});
                  }else{
                    var $canvas = $('.box-wrap > img').cropper('getCroppedCanvas');
                  }

and this getting me transparent image with width 960px on IPhone

I seem to be getting the same thing, IOS9 seems to work, but not on ios 8 or 7 phones.  IOS 8 also seems to work on the ipad air 2.  I'm trying to figure out the issue myself, I am also sending in the width through there as you are.

Removing the width seemed to fix it, unfortunately this could be problematic, especially when using the width is actually required.

http://stackoverflow.com/questions/26152652/ios-html5-canvas-todataurl
After inspecting in browser using browserstack, it turns out it's returning data; when the image is too large at times.  It turns out if you use larger than a 3 megapixel canvas (on 256 or less mb ram devices), or 5 megapixels on larger ram devices, it returns a blank data canvas or blank data url.  When you  force a height / width it forces a blank all white image as a data url.  If you view the data url, it, in my case, repeated the string CAAQMGDBgwYM, I'm assuming means a single white pixel.
Ironically, this 5 megapixel limit means they don't support photos taken by their own phones.  I haven't been seeing this issue with IOS 9, but it's entirely possible they updated the requirements some.  Not sure of an actual solution to this one, other than asking users to use a real phone, or reduce the size beforehand.

iOS resource limits is a known issue, see #294.

@gdsdougherty  thx for your comments. @fengyuanchen so thats what i`m doing like in issue #294. i make picture little than 1000px.

We can't downsize the image because we used the cropped image for print. I've identified and am working on a fix for this.


Feature Addition :  Add Scroll Down Progress Bar

Hey @codervivek5
We have multiple lengthy pages such as Home, About Us, Privacy Policy, Return and Cancellation etc., on our website, and to enhance user experience, we would like to implement a scroll down progress bar. This will help users understand their reading progress on the page.
Like this

Could you please assign this issue to me under GSSOC24 ?

@codervivek5
Please assign me.


Add navigation bar

Implement a navigation bar (left side of the page) to provide easy navigation throughout the website

Let's add this important feature!


hope Add a new Plugins

https://github.com/veigr/BattleInfoPlugin
https://ci.appveyor.com/project/veigr/battleinfoplugin/history
BattleInfoPlugin  戦闘情報表示
It does not support this version
But   hope you join this new plug-in
Plug-language continue to use Japanese
Thanks

My BattleInfoPlugin worked on the KCV of this version before.
But after the most recent kancolle maintenance, it failed.
So maybe it's not KCV that doesn't support BattleInfo.

The authors have updated
But here KCV  can not use it
Fighting Will appear Caton


move towards syn_mid

syn_mid ✗|stashed $ cargo run --example=basic
   Compiling tokio-trace-proc-macros v0.1.0 (/home/jlusby/git/rust/tokio-trace-nursery/tokio-trace-proc-macros)
    Finished dev [unoptimized + debuginfo] target(s) in 2.06s
     Running `/home/jlusby/git/rust/tokio-trace-nursery/target/debug/examples/basic`
DEBUG Getting rec from another function.{number_of_recs=1}:suggest_band{traced_function="suggest_band"}: basic: Suggesting a band.
 INFO Getting rec from another function.{number_of_recs=1}: basic: Got a rec. band_recommendation=Wild Pink

It seems to be working. Output is the same before and after the changes in this PR. There is a white-spacing issue in the first line but I think  that should be approached as a separate issue.

Yeah, the whitespace issue is just because David gave the spans in the example full sentence names, which is not really the convention the formatter expects.

My naming scheme/space utilization is probably wrong. feel free to replace it with something without whitespace & is less idiosyncratic.

okay so this is very much a WIP commit but im stuck and could use some help.
Introducing the async block in the proc macro is making it explode. To be more specific, if I add async { #body } to the proc macro it ends up with an empty body in the cargo expand output and fails to compile because it cannot find a struct called async
If I try to put async move { ... } in the proc macro it gets even worse and doesn't even format correctly and you end up with an unreadable mess from cargo expand, but as far as I can tell it has that same empty async block body error.
specific error for the version that matches the example @davidbarsky gave me
syn_mid $ cargo build
   Compiling tokio-trace-async-test v0.1.0 (/home/jlusby/git/rust/tokio-trace-nursery/tokio-trace-async-test)
error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `move`
 --> tokio-trace-async-test/src/lib.rs:8:1
  |
8 | #[trace]
  | ^^^^^^^^ expected one of 8 possible tokens here

error[E0425]: cannot find value `async` in this scope
 --> tokio-trace-async-test/src/lib.rs:8:1
  |
8 | #[trace]
  | ^^^^^^^^ not found in this scope

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0425`.
error: Could not compile `tokio-trace-async-test`.

To learn more, run the command again with --verbose.

I know the error message isn't very helpful, which is part of the problem and why I'm stuck :(

@yaahallo My guess (and I'm not an expert here) is that maybe the syn_mid version you're on doesn't know about the async keyword?

maybe quote? I don't think its syn_mid because let is_async = function.asyncness.is_some(); works

ahh, yeah. probably quote? i'd check to see if we're on the latest version (we probably aren't)

looks like quote is on the newest version, "0.6" with no patch version number specified. The newest published version is 0.6.20. Also searching the quote git repo for mentions of async gives no results, not sure if that is indicative of good or bad things.

@yaahallo
I don't know why that error is occurring, but you can fix that error like this: https://github.com/taiki-e/tokio-trace-nursery/commit/a49073e68897d5e15625d8b583ba3101b4155730 (note: this commit also fixes other errors that occur after fixing that error)


 So disable it.
I also disabled it for git keywords, it's not like you type them and can make errors, they are already there from git.
I see on top of the files is maintainer mentioned so I'll Cc: @tpope .

can you please take this change and open it as PR over at https://github.com/tpope/vim-git ? Thanks.

@chrisbra Done https://github.com/tpope/vim-git/pull/72

okay, closing here then. I hope @tpope takes care of this and sends updates of the runtime files.


Remove unused debug_filepath

Thanks to @pda pointed out in https://github.com/buildkite/test-collector-ruby/pull/97#issuecomment-1147098900.
Remove unused debug_filepath.
This was introduced at https://github.com/buildkite/test-collector-ruby/commit/8d99faf74dbf505476202c2ab67e5a0cdd493c76 to dump debug logs into a preferred location but it is not in used anymore
I do not believe anyone but us uses this feature but this is a breaking API change for the configure method.

Is it breaking enough to warrant a minor version bump?

If we follow SemVer, I think this should be major version bump 😬

It is unlikely anyone would be using this debugging feature however.

Yes...

Is it breaking enough to warrant a minor version bump?

If we follow SemVer, I think this should be major version bump 😬

Heh, in that case you could keep the debug_filepath: nil in the method args (assuming that method is part of a public API?) and emit a deprecation warning if it receives a value until the next major version.


Parcel exchange

@sjboeing @jevbelikov A first version of the parcel halo swap is implemented. We must improve the MPI communication in a next step, but I guess this can be a starting point.


Cannot type into URL field

It loses focus after first character. Works fine if pasting a URL into it. Only direct typing is a problem.

Not seeing this problem in v0.0.18 build 8d934e9 QA. I am able to type in the URL in the Custom URL field.

Tested with v0.9.0-rc.2 build 29a2450 QA. Typing in URL isn’t a problem. Working properly


Adding playwright test for the explorer

This PR is the first addition of playwright test for the explorer
Description
Below are the use cases we are running through for test automation, we will add test to this as we see fit. This serves as a baseline to add the Playwright test frame work to the repo and begin test automation.
Run the following on desktop in Google Chrome, FF and Safari
Test will run for Mobile on these browsers & Desktop on the following browsers Google chrome and FF
Test scenario

Go to the explorer
Enter an address in the search bar
Verify a clickable link appears
Verify  the user can click the link and go to the expected page
When the page loads get the STX balance and verify the number appears as expected.

Test scenario

Go to the explorer
Go to Transactions verify transactions are displaying and the page loads
Click the latest transaction showing
Verify the page loads without an error opens
Verify the page doesn't time out
Verify the page contains the following data correctly:
1. Summary
2. Amount
3. Sender address
4. Recipient
5. Transaction ID

Test scenario

Go to the explorer
Go to Blocks page
Verify the blocks are displaying and the page loads
Click the latest block link and verify the page loads without error
Verify the page doesn't time out
Verify the page contains the following data correctly:
1. Summary
2. Hash
3. Block height
4. Mined
5. Transactions

Type of Change

[X ] New feature
[ ] Bug fix
[ ] API reference/documentation update
[ ] Other

Does this introduce a breaking change?
List the APIs or describe the functionality that this PR breaks.
Workarounds for or expected timeline for deprecation
Are documentation updates required?
<!--
  DOCUMENTATION
Link to playwright docs:
 -https://codecept.io/playwright/#setup

## Checklist
- [ ] Code is commented where needed
- [ ] Unit test coverage for new or modified code paths
- [ ] `npm run test` passes
- [ ] Changelog is updated
- [ ] Tag 1 of @person1 or @person2

@aulneau The test that tries to interact with the search bar fails when running in Mobile browsers, because search-bar is not visible (hidden property in body tag) please see the screen shot below.

Hey @timstackblock I'll let @aulneau go through this more thoroughly, but a few observations.
The build is failing because of your first commit not conforming to our standard. You've also duplicated the same successive commits. You should git rebase -i origin/master these into a single commit. Let me know if you want to run through doing this.
You'd added the test dependencies as regular deps, rather than devDependencies. Make sure to use the -D flag when installing deps that are only needed for build environment/testing.

@kyranjamie thank you, yes that's correct, however the primary branch is main, so the rebase command @timstackblock would be git rebase -i origin/main. I will try to get some time to look through this today.

@timstackblock is this still relevant?

@markmhx Yes this PR can be added in with the explorer integration test.
I think the wallet test are higher priority right now.


Unused parameters get reset to 0 when animated by an active AnimationNodeStateMachine AnimationTree despite nothing explicitly defining them.

Godot version
4.1
System information
Windows 10
Issue description
I noticed that any parameters being modified across all of my AnimationPlayer's Animations get set to 0 (or the RESET track values) when not in use by the AnimationTree using that player.
Example:
I have two animations relevant to a ColorRect.

one that changes the RGBA values
another that changes the Rect's position

In my AnimationNodeStateMachine when I switch between the two animations, the parameters that are not in use by the active animation get reset.
This is with the RESET track values setting the parameters so that the animation reset can be seen:

Without the RESET track the unused parameters between the animations get set to 0 and therefore you cannot see the Rect when the "move" animation is playing since Alpha is set to 0:

This is annoying because you are forced to use multiple AnimationTrees ( and AnimationPlayers considering: #80951 ) for each parameter you wish to modify if you don't want the values to reset themselves.
Deleting the RESET track should nullify this RESET behavior.
Note: I've mainly only used AnimationNodeStateMachines across my projects so I am unsure if this behavior is seen with other tree_roots.
Steps to reproduce

Create a ColorRect to animate, then create an AnimationPlayer and AnimationTree node in your scene.
Define a looping animation of the ColorRect changing color
Define a looping animation of the ColorRect moving around
Delete the RESET animation if you created it.
Set the AnimationTree tree_root to an AnimationNodeStateMachine and connect the anim_player to the AnimationPlayer in the scene.
In the AnimationNodeStateMachine connect the two animations via transitions with advance_mode set to enabled so the user can manually switch between the animations.
Activate the AnimationTree and try switching between the animations.

Minimal reproduction project
TestProj.zip

I've just bumped into this issue myself (and wasted a few hours trying to figure out what was overriding my node's positions!)
It also seems to happen even if there's no nodes at all in the AnimationTree, just the fact it's linked to an animation player and set to active is enough to set any property animation tracks to 0
I also noticed it doesn't seem to affect tracks such as 3D Position, although I'm not sure about the other types

I think this should be pushed to 4.2 since there are some things you simply cannot do without a bunch of code to manually override the animations.

containing both an animation that uses bezier curve tracks and an animation that uses a property track for the same property,

For blending value with bezier tracks, see issue: #49431

upon further investigation, they actually crash the game/editor instead when an animation using them is played within the AnimationTree...

@sketchyfun if you found a crash, please PLEASE file a new issue. If it is crashing, it is not a known bug. Include a minimal reproduction project and the version of the engine. Thanks!

just the fact it's linked to an animation player and set to active is enough to set any used property animation tracks to 0

Any track which enters the track cache will be output, either to the RESET animation value or to zero. Here is a PR #60093 which shows some of the code in question:
I could see it being expected behavior that tracks which you do not hit do not output. HOWEVER, note that attempting to fix the system in this way would create a different problem:

In Unity, they have some bizarre behavior. Basically, all tracks of all animations are output by an Animator every frame. Until an animation writes to that track, Unity reads in the current value of that output on the frame the animator was enabled, and uses that. Sometimes this causes unexpected behavior.
Another alternative approach could be to only add tracks to the track cache once they have been hit, but that could lead to a different set of unexpected behavior when an animation goes from state A (outputs value V) then to state B (outputs value V + W) and then back to state A (now also outputs V + W???)
Another possible fix for your issue might be to only add tracks from the set of Animations which are reachable from any blend tree / state machine nodes. I think this could work, but it also feels a little unexpected, that adding an unused state in the state machine affects outputs from other states. (This behavior exists in Unity, for example, and can be rather confusing)

So it's a little unclear to me what the expected behavior should be in your case. It ought to be possible to use a track filter to filter for the specific output tracks you want. This might require going through an AnimationNodeBlendTree at the root: I would be curious if this works: regardless of the blending behavior, it should be possible to filter tracks you want.
Finally, note that there is work in progress to overhaul AnimationTree and AnimationPlayer to share a common class rather than having wildly different code. This might make it easier to fix these types of bugs.

Forgive me, but I'm still having trouble understanding where this issue arises from? If one animation affects position and another affects rotation, why is it that playing (via an AnimationTree) the position animation resets the rotation, and the rotation animation resets the position? I kind of understand that if equivalent tracks are missing in the destination animation then it would need some other values to blend towards (zero, or RESET values I guess?), but surely if there is a blend time of 0, aka no blending between the two animations, then this shouldn't occur?

Missing tracks are not processed means that when changing the blend amount of multiple AnimationNodes, the results will not equal depending on the order in which the AnimationNodes are operated by you.
We are currently working on unifying AnimationPlayer's blending process with AnimationTree, which should improve this issue.
Setting the initial value as Reset works well in many cases in a blending-based system like AnimationTree, but is not ideal for queued playback like AnimationPlayer.
The StateMachine works similarly to a queue. However, it relies on the AnimationTree blending process, so internally there is no "fixed animation blending order" such as a "queue". In other words, there is no guarantee that the playback result will always be correct between the same states.
My plan is to refactor the AnimationPlayer/Tree to allow it to not process tracks when initial values are missing as an option, but perhaps this option would come at the disadvantage of the possibility that the playback results would not always be correct.


NoNeedForMonad throws a MatchError on legal code

I have some code which compiles cleanly without wartremover, and wartremover throws an uncatched MatchError on it. The offending lines seems to be:
for ((byte, i) <- data.zipWithIndex) {
  slice.buffer.put(offset + i, byte)
}

Stacktrace here: https://gist.github.com/nbraud/a0b1917d28560ba35927

@nbraud, would you prepare a complete minimal example?

It looks like binding the value in the for-comprehension, and using unapply to extract parts of it at the same time, produces that. Will have a look.

Thanks a lot.


Doesn't copy into clipboard the right selection

https://s.natalian.org/2018-03-28/1522205981.mp4
Running 5.1.0-1 on Archlinux with packaged dmenu 4.8-1.
Sorry the video seems to drop frames and the initial selections are not clear.

I'm afraid I really don't understand what's going on here in the video. Could you be more clear? :-)

Pretty sure this is the same as #73, since there's more discussion let's go there :-)


Experiment with static Zeit deployment

This configuration should allow Zeit to publish all files statically and provide a URL for proofs for every pull request.

The deploy “worked” but the desired outcome would be working pages. Will have to evaluate an alternate build strategy that renders a single page with tests and proofs.


Add web interface configuration option

To support large federations, support for a web interface configuration file that allows users to pre-define the federates and/or value messages they want to monitor in the web interface. When not present, the web interface by default will display all value signals and federates in the value signal table and federate table respectively. When present, helics_cli will use this to display only the indicated subset.
This file will also be used to define the data stored in the SQLite database. (If you disagree, let's discuss).
The file will be a JSON formatted file similar to what is used in other parts of HELICS.

Need to add JSON object for observer ("observer") to define what gets written to the SQLiteDB. Will be a simple list of publications to record; observer will subscribe to all values in that list.


I do not understand how to enter the admin panel.

I do not understand how to enter the admin panel.

Connected to local panel via ssh tunnel:
sudo ssh -L 80:<IP_ADDRESS>:80 -N -f -l root xx.xx.xx.xx.xx -p 22
I open the address in a browser http://<IP_ADDRESS>
I enter the issued passwords:
"Admin password: yyyyyyyyyy
IMAP and SMTP submission password for<EMAIL_ADDRESS>xxxxxxxxxx"
Login -<EMAIL_ADDRESS>password - xxxxxxxxxxxx, everything is ok, I'm in.
But how to get into the admin panel?
Password I see - yyyyyyyyyy, what login and do I go there? Admin;yyyyyyyyy or admin;yyyyyyyyyy or admin@test.com;yyyyyyyyyyy?
 Thanks for reporting, I'll clarify the the docs! Hope this gets you going again.

I think this last commit will make it clearer for future users. I'll close this issue, please reopen if you there is still a problem. Thanks again!


The property FlyoutBase.IsOpen doesn't raise property changed notification

Describe the bug
The dependency property FlyoutBase.IsOpenProperty doesn't notify listeners, especially bindings, about value changes when the flyout open/close.
Steps to reproduce the bug

Create a window and add inside it a Button with a Flyout named flyout.
In the window constructor, add the following line after this.InitializeComponent();

flyout.RegisterPropertyChangedCallback(FlyoutBase.IsOpenProperty, OnIsOpenChanged);

Add the following method and set a breakpoint inside it

private void OnIsOpenChanged(DependencyObject sender, DependencyProperty dp)
{

}

Run the app then click on the button to show the flyout

Expected behavior
The dependency property FlyoutBase.IsOpenProperty should raise property changed notification whenever the value change.
Screenshots
No response
NuGet package version
WinUI 3 - Windows App SDK 1.5.2: 1.5.240404000
Windows version
No response
Additional context
Tested on Windows 10 22H2 (Build 19045) which is missing in the issue template

Describe the bug
The dependency property doesn't notify listeners, especially bindings, about value changes when the flyout open/close.FlyoutBase.IsOpenProperty
Steps to reproduce the bug

Create a window and add inside it a  with a  named .Button``Flyout``flyout
In the window constructor, add the following line after this.InitializeComponent();

flyout.RegisterPropertyChangedCallback(FlyoutBase.IsOpenProperty, OnIsOpenChanged);

Add the following method and set a breakpoint inside it

private void OnIsOpenChanged(DependencyObject sender, DependencyProperty dp)
{

}

Run the app then click on the button to show the flyout

Expected behavior
The dependency property should raise property changed notification whenever the value change.FlyoutBase.IsOpenProperty
Screenshots
No response
NuGet package version
WinUI 3 - Windows App SDK 1.5.2: 1.5.240404000
Windows version
No response
Additional context
Tested on Windows 10 22H2 (Build 19045) which is missing in the issue template

I'm curious why you don't use FlyoutBase's existing events to monitor whether FlyoutBase is on and off?

I'm curious why you don't use FlyoutBase's existing events to monitor whether FlyoutBase is on and off?

@Gaoyifei1011 Because I want to use IsOpen property in XAML via binding.
And I'm already using these events as a workaround until the bug is fixed :(


Emphasizing no production environments for experimental features

Adding bold to emphasize not to use experimental features in production environments.
Live example: https://docs.docker.com/engine/reference/commandline/assemble/
Preview example:
Signed-off-by: Adrian Plata<EMAIL_ADDRESS>

Deploy preview for docsdocker ready!
Built with commit fc4d3872c42a52d66679bb6a608baef0d21a3be7
https://deploy-preview-9527--docsdocker.netlify.com


Update reference-service-limits.md for custom auth extensions

@csmulligan

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Dependency issues

Hi, I'm trying to build tally-zero locally, but there are issues with wagmi and/or web3modal dependencies which prevents the app to run.

I tried @stephelacy's PR and it works! 🎉
Thanks @stephelacy and @dawsbot 🤘😎


Bug fixes, default template provider, refactor functional tests

Changes include:

Fix bug to support multiple data type template conversion using storage account blob provider.
Add support for default template provider.
Add UTs and functional tests.
Refactor functional tests to test template collection providers too.

I'm not sure why suddenly for this PR the check for 'microsoft.FHIR-Converter' is required - a pipeline that has been disable for 2-3 weeks now. It hasn't appeared in prior PRs so not sure what is causing this yet. Only the FHIR-Converter OSS PR Build is expected as a required check.


Where does report save at? #HELP_WANTED

In the previous version, I can view the result in the report folder. How about this new version? I accidentally closed the terminal window and didn't see the result. Should I run it again or I can find the report somewhere?
Thanks a lot.

Spark Bench Version on Your Cluster
spark-bench_2.1.1_0.2.2-RELEASE_55

Spark Version on Your Cluster
Spark <IP_ADDRESS>.6.1.0-129
Scala Version on Your Cluster
Scala version 2.11.8

Your Exact Configuration File (with system details anonymized)

Relevant Stack Trace (If Applicable)

Description of Problem, Any Other Info

Hi @akasaki, thanks for using Spark-Bench!
The output can go anywhere you want it to go! You can set a location using the benchmark-output for each of your workload suites. Using this, you can have your results output to the console by using benchmark-output = "console", or to a file in local storage (not recommended), HDFS (recommended!), or any object storage that your cluster is set up to use such as S3. benchmark-output = "hdfs:///tmp/my-amazing-spark-bench-results.csv" Currently you can output your results as a CSV or as Parquet, support for more formats is in the works :)

Thank you so much @ecurtin. I got it! For some reason, I couldn't save it to local disk, but not a big deal. HDFS is fine.

Sweet! Yeah, specifying a local disk path on a cluster can be complicated depending on your setup because it'll get written to the local disk of whatever node happens to be doing that particular task, not necessarily to the local disk of the filesystem. That's just a Spark thing, not a Spark-Bench thing.
Anyway, glad it worked for you!


[AutoDiff] Fix @differentiable attribute derivative configurations.

In AbstractFunctionDecl::getDerivativeFunctionConfigurations, type-check @differentiable attributes.
This is important to populate derivative configurations for original functions in other files. Otherwise, they will incorrectly be diagnosed with:
cannot differentiate functions that have not been marked '@differentiable' and that are defined in other files

Resolves TF-1271.
Exposes TF-1272: fix derivative configurations for cross-file @derivative attributes. This is a more difficult issue.

@swift-ci Please smoke test

macOS CI failed on a LLDB test:
20:24:09 Failing Tests (1):
20:24:09     lldb-shell :: Reproducer/Swift/TestBridging.test

Retriggering to see if it's reproducible.
@swift-ci Please smoke test macOS

@swift-ci Please smoke test


Refine the Thread variant of Windows Handle enum

Pull request #4004 followed the first proposal from https://github.com/rust-lang/miri/pull/4004#discussion_r1828351341 which led to some ugliness in Windows shims. That should be fixed by wrapping the logic of Handle::from_scalar in a function with access to InterpCx. See thread_id_try_from for an example.

@rustbot label +E-good-first-issue +A-shims +A-windows


syntax_highlight causes panic

Version: 04395ee
~/dev/pix-engine on  main [$?] is 📦 v0.5.4 via 🦀 v1.58.1
[17:46] 0.1.0 ❯ { thread 'main' panicked at 'byte index<PHONE_NUMBER>3709543046 is out of bounds of `{ k`', crates/nu-cli/src/syntax_highlight.rs:41:30
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

All I typed was { k and it panicked. I was attempting to type an each { kill $it.pid }

@lukexor - I'm not able to repro with these steps. Hmm, I wonder what might be different. I'm using a different prompt and am on linux mint, but neither of those in theory should mess with the spans like that. Hmm, not sure

Let me see if I can get more details on it.

It's because I had an alias alias k = kubectl. Removing it fixes the issue. Running which on it returns no results but locate shows it as being in /usr/local/bin/kubectl

I have a different repro but might be the same root cause:
> alias g = git
> { g }
> <up arrow to get previous history>

oh ya, I think aliases are broken again. #771, #770, #702, #620

They're tricky to get right :upside_down_face:
I suspect we aren't going to be able to use the span helper function that merges spans for us. Since these might come from aliases, we have to be super careful not to create spans that don't actually exist in the file cache.

I think what I'll do instead is harden the highlighter. We still need to do more work on how aliases expand, and it'll probably require a bit of a rewrite of that part of the parser and associated AST. For now, let's at least not crash.


[nrf fromlist] modules: hal_nordic: nrf_802154: Fix RADIO IRQ ...

... handling configuration
This commit fixes nRF 802.15.4 radio driver IRQ management
configuration.
Upstream PR: https://github.com/zephyrproject-rtos/zephyr/pull/33869
Signed-off-by: Jedrzej Ciupis<EMAIL_ADDRESS>

To avoid bigger conflicts this PR should be merged after https://github.com/nrfconnect/sdk-zephyr/pull/481


readme, add combobox

removed Command example, looks to be the same as Combobox for now

Pardon me for I didn't understand the purpose of this PR but is there a reason why I should remove the Command demo? The purpose of it is to demonstrate the API, it doesn't really matter if it looks visually (and functionally) similar to Combobox

ahh, you probably should've added it anyways. It's purpose is to demo the API, regardless of how it looks like. It just so happens that I based it off the Combobox demo


Git autocrlf (changing line-endings) was a very bad idea

Scenario:

Github changes line endings in the local and remote repositories when autocrlf is set in local and or global git configs or defined in .gitattributes file
This causes "unexpected" changes (red) which CANNOT be reverted, removed, discarded or otherwise ignored:

dispite what is written by git, e.g. use git checkout -- .
this inflates (bloats) the repository with many changes (for nothing).

See StackOverflow on this topic, it seems many people have the same problem.

Requirements:

Make sure that Git does NOT change any files or line endings in any files.
The phpStorm editors (OSX and Windows workstations) shall all have the LF setting defined in properties.
This shall explicitly be documented in project documents.

fixed this in commit https://github.com/TIXI24/sfitixi/commit/ae513c98306ccbc0f631f063dbb978c7b630a587


Added glossary entries to Glossary page (2nd attempt)

Proposed changes

Added glossary entries to Glossary page

Types of changes
Please put an x in the boxes related to your change.

[ ] Minor Issues and Typos
[x] Major Content Contribution
[ ] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to reach out. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES
[x] I have signed the CLA
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Related issues

Please leave the issue numbers or links related to this PR here.

Further comments

I'v made this PR for the second time because the original PR (https://github.com/klaytn/klaytn-docs/pull/592) has a problem with CLA signing due to incorrect email configuration in local repo.

recheck

I have read the CLA Document and I hereby sign the CLA

Would be nice to add those comments to a future PR thanks


Defer setting material number in MCNP material card

Description
This is a minor change that should not impact functionality of any existing code. This slight modification allows downstream code to generate MCNP inputs more effectively by avoiding duplication of identical materials many times over.

Checklist

[x] This PR has only one purpose or idea.
[ ] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[ ] The release notes (location doc/release/0.X.rst) are up-to-date with any bug fixes or new features.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in setup.py.

The only potential pitfall is if somebody was calling this function and intentionally passing the default value matNum=0. m0 is used in MCNP inputs to define a library to use for all materials. I don't think users would be using this function to create an m0 card, but if they were then this would require them to make some minor changes.


Fix newlines in boxes

I had to backslash \n in various labels in order to render correctly these elements.


Release v0.0.2

@muga #14 has been merged, and releasing v0.0.2 soon. Ping me when you see any concerns.

I'm OK. We still might need to fix so, please feel free to release new one if needed.


CodeFactor Issue - client.py too complex code

podcastfy/client.py#L230-L324
Complex Method

Dividing tasks into smaller functions: This approach helps ensure that each function performs only one task, making debugging and code development easier.
Reducing the number of parameters: By defining a class to store and use configurations, we can avoid repeatedly passing configuration parameters.
I would like to work on this issue, so please assign it to me.

https://github.com/souzatharsis/podcastfy/pull/125

Refactor client.py to use pydantic for data validation python
Separation of responsibilities


How to handle sid claim issue

Hi Team,
As per the oidc code,
How to handle this code as part of UserManager.js
if (signinResponse.session_state && signinResponse.profile.sub && signinResponse.profile.sid) {
i m not getting sid from oauth provider.
Regards,
Heero.

OAuth doesn't issue a sid, since OAuth is not a protocol for authentication.


Fixed typo in authenticate.js

Coverage remained the same at 99.401% when pulling 3a2addab3a7ecb70a38ae607633faae977ca14f1 on alexanderweiss:patch-1 into 6bc59cb329ec1aebc028423d304b3f34f8112e60 on jaredhanson:master.


8.0 SDK diff pipeline cannot find associated installer build

The sdk-diff-tests pipeline is failing to find the associated builds for 8.0 (internal Microsoft link):
Could not find a build of installer for commit '1ES.PT.Official
ES365AIMigrationTooling
8dfcac5e401437cfe5ab5ae3a3a64e011c4f9c57'

Looking at the latest run of installer for 8.0, the run is not tagged with any one of the three tags expected by the sdk diff pipeline.
This failure was introduced by https://github.com/dotnet/installer/pull/19073.

@oleksandr-didyk has a fix for this

The fix is in main, completed by https://github.com/dotnet/source-build/issues/4275
I have the branch locally so I'll just open a PR for 8.0 as well

PR with the fix from main was merged, should be resolved once the change gets mirrored

Awesome, thanks Alex!


how Can I generate new redoc app with redoc-cli

I need to use redoc, how can I generate redoc app(server) with redoc-cli

I found solution https://github.com/Rebilly/generator-openapi-repo#generator-openapi-repo--

Can I close this?

Closing, feel free to continue discussion here


[Question] what is reward scaling ?

Hello, seolhokim.
thanks for the quality code.
I have a question. what is args.reward_scaling ? And why did you choose 0.1 for the reward_scaling?
I found the possible hint from this paper (https://openreview.net/pdf?id=r1etN1rtPB). I cannot pinpoint the exact relationship with args.reward_scaling? On the appendix A.2, reward is divided by RS. But I cannot relate RS with args.reward_scaling?
So, please tell me what is args.reward_scaling and why we use it, and why did you choose 0.1 for it?
좋은 코드 감사합니다.
질문이 있어서 이렇게 글을 남깁니다. args.reward_scaling은 무엇이며, 왜 0.1로 설정하였나요?
검색을 하다가 이 논문(link)에서 힌트를 찾은것 같은데요. 사실 논문과 seolhokim님이 짠 코드와 연결을 못 시키겠습니다.
Appendix A.2에 reward를 RS로 나누는거 같은데, 이게 0.1(args.reward_scaling)과 관련있는거 같진 않습니다.
혹시 괜찮으시면, reward_scaling의 정체와 우리가 왜 이걸 사용해야 하는지, 그리고 왜 0.1로 설정했는지 가르쳐 주실 수 있으신가요?

@pixar0407
Hi, Thank you for your interest. When training agents, you should pay attention to network training(optimization) problems. You need to keep in mind excessive cumulative reward can diverge the network.
The paper you found describes similar techniques for stable training. Proper scaling can help your agent learning.

@seolhokim, Thanks for the reply.
So, Do you mean that it is hyperparameter?
But how did you choose it as 0.1? I cannot find it on baseline3link.
Is it empirical? And is it changed depend on environment(e.g. hooper, walker2d etc) or network?
그럼 reward_scaling은 그저 hyperparameter란 뜻인가요?
하지만 어떤 과정을 거쳐서 0.1이라는 숫자를 얻게 되셨나요? 공식 code인 baseline3도 나와 있지 않습니다.
여러번 실험을 거쳐서 0.1이 최선임을 알게 되셨나요?  그리고 reward_scaling은 게임의 종류(hooper, walker2d 등)에 따라 달라지나요? 아니면 network에 따라 달라지나요?

@seolhokim
And, Can you tell me the difference between reward_scaling and gamma?
I know that gamma also works for smoothing excessive cumulative reward.
아 그리고, reward_scaling과 감마와의 역할 차이 알려주실 수 있나요?
excessive cumulative reward를 경감시키는 방안은 감마가 해주는 것 아닌가요?
reward_scaling은 reward 각각의 scaling 자체를 1/10 해주는 것인데, 감마는 미래의 reward의 영향을 감소하는 것 아닌가요?

@pixar0407
You understand properly. It usually depends on environment(ex : environment episode length). You can choose the appropriate scaling parameter by looking at the value estimation in training process. You can find some paper that used reward scaling parameter(but more delicate like you found). Finding the reward scaling parameter value just relied on my intuition.
Suppose the environments that agent always get reward 10 and 1. If gamma is 0.9, then agent's value estimation 100 and 10. In my point of view, 100 is too high. Not only the future effect of reward, but also the current effect decreases.

@seolhokim thank you for the quick answers.
Now i finally come to understand the reward_scaling.
But i cannot understand the what you said.

Suppose the environments that agent always get reward 10 and 1. If gamma is 0.9, then agent's value estimations are 100 and 10.

Can you show how did you calculate 100 out of 0.9 and 10? Sorry for the bothering. It seem somewhat 10/(1-0.9)=100. But i don't understand the equation's meaning.
답변 감사합니다. 이제 reward_scaling은 이해되었습니다.
그런데, 답변 중 아래의 문장이 이해하기 힘듭니다.

Suppose the environments that agent always get reward 10 and 1. If gamma is 0.9, then agent's value estimations are 100 and 10.

어떻게 value estimation 100이 0.9와 10으로 부터 나왔는지 공식으로 설명가능하신가요? 귀찮게 해드려 죄송합니다.
10/(1-0.9)=100으로 계산했을 것 같은데, 이 공식의 의미를 모르겠습니다.

@pixar0407
Suppose your agent estimates value in state s1. Then exact value estimation about s1 is 10 + 10 x 0.9 + 10 x 0.9^2 + ... = 100. Sorry for making you misunderstand.

@seolhokim
Ah, now it makes sense.
Thank you for answering all the continuing questions.
Hope you have good weekend night.


ngclient testing: client workflow sequences

Description of issue or feature request:
If needed, narrow down the scope of this issue and spawn separate ones for top-level metadata update, delegations metadata update, Fetching targets.
edit:  This issue deals with top-level-metadata updates. Delegated roles and targets will be covered #1641 #1642  #1643 .
Following the high-level steps described in #1579 implement tests for the various client workflow sequences:

Tests scenarios from specification (Can we mark these to be our conformance tests?)
Specific sequences the client should be able to handle go here
Extracted useful scenarios from legacy tests
Specific python-tuf sequences (for ex. loading and validating local metadata)

Decide what we want to test sometimes and what should be always included:

errors / no errors
what metadata is downloaded?
what metadata is read from disk?
what metadata is on disk afterwards?
are the currently loaded metadata versions correct?
(some of the same bullet points repeated for targets)
? more ?

The tests should be RepositorySimulator based.

what metadata is downloaded?
what metadata is read from disk?

I think these are worth testing (because it's so easy to regress into loading something twice or something), but I think making all tests do this would be ugly... I would suggest a specific set of tests that e.g. runs a few  refresh(), get_targetinfo() and download_target() calls with a reasonably complex repository setup, and ensures only the expected downloads and file reads  are done.

what metadata is on disk afterwards?
are the currently loaded metadata versions correct?

These should be checked on more tests than just a specific one... at least the root key rotation tests should ensure that local trusted metadata is the expected file.

The new set of tests (test_updater_top_level_update.py) is in my opinion the state of the art now:

tests are reasonably short and readable
it's easy to see what individual tests actually check

If we can document the decision making process that lead to these choices (situation X -> should test for Y) maybe in the test module docstring or somewhere that would be good... but if there are no generic rules and we just need to look at individual tests, then I guess the current examples are good examples to look at.
Can we close this or are there more sub issues that need to be filed first?

I opened two follow up issues for testing the rest of the steps following the client workflow from the specification: #1641 #1642. We can close this one.


add me i am important

Coverage remained the same at 72.276% when pulling a4b9c86d43c0abb2bd26360f62f7a630c555dfe7 on add-me into 5cd999d74921f5ed0022371381f8c08da9815182 on master.

Resolve dat conflict tho.

Coverage remained the same at 72.276% when pulling e474f3ac530e10d6f8bbbef1c893a54afc9ca941 on add-me into 1959f12652a573f36ea3a236a9afa0d677a7b4ce on master.

Coverage remained the same at 72.276% when pulling c747144351ab7f436de78cd5ed07c74689cb4250 on add-me into 1959f12652a573f36ea3a236a9afa0d677a7b4ce on master.


Ability to FIND IN RESULTS GRID to search ALL columns for a given value

Is your feature request related to a problem? Please describe.
After running a query and getting a resultset I'd like to be able to quickly search all columns of the results grid for a specified value.
Describe the solution or feature you'd like
Ability to hit CTRL + F or else right-click in the results grid and have the option to search all columns of the results grid (not the SQL script)
Describe alternatives you've considered

Export to CSV then open in Excel then CTRL+F.
Use the filtering dropdown in the column heading but it only searches the CURRENT column and not ALL columns.

Additional context

Same need here. Please include the result headers in the search as well.


Bower package?

Any chance of releasing a bower package? There don't appear to be any other toml parsers on there.

I've just created a branch for bower, could you check if it is set up properly? I don't use bower myself. ;-) If everything is ok, I'd register my package.

I'm relatively new to bower myself too.
I'm unsure about the **/.* line within the ignore array, in my mind that should ignore every file?
However, the below installs successfully:
bower install https://github.com/jakwings/toml-j0.4/archive/bower.tar.gz

Ok, looks good. Now you can install it via bower install toml-j0.4. Further questions are welcome!
**/.* matches all dot-files in all directories (including sub-directories). Dot-files are .gitignore, .npmignore and the like, excluding bower.json.


Proposing hacktoverfest tag

Hi, it would be great if i could use this repository for hacktoberfest (https://hacktoberfest.com/), then i could help do some pull requests on this repository.
but for that you would need to add the 'hacktoberfest' tag to the repository

Sure, done.

Alright thank you


Add shutdown tests for tracing

Should go to ttrace_sdk. This needs to wait until metrics branch gets merged to a branch derived from main

In metrics branch


Fix "I wait _ seconds": Allow that step to work before an interview has been loaded

That step (correctly) uses our afterStep code to complete what it's doing. We need to configure afterStep to handle situations where no page has yet been loaded so that it can be used even when interviews have not yet been loaded so that someone can wait before an interview loads.
This is actually a hack for dealing race conditions for the first test of the test suite. Right now, we're having trouble with server load times after the repo has been pulled into a project - the server often still hasn't completely loaded and our load tests aren't sufficient for that. That's a whole other complicated discussion. This fix might also be useful under other circumstances, though I don't know what those would be.

At least one of our assembly_line.feature file tests uses that as the first step now, so this must be fixed. Not sure how. We should add a formal test for it in 'establishing_steps.feature'.

Dang, got mixed up between this and the custom timeout step. This one is the 'wait' Step, which may still need work.

For v4, there's a 'wait'-type function in its own file. Maybe we should make something for v3 as well. For now we'll add it separately and reduce duplication later.

Closed by #506


WIP - Add lumo script for building the lambda zip

Hi! :smile: here I am with the script :tada:
Path is maybe off for a script, I just wanted to put it out there.
Thanks to this I am able to compile (cljs bootstrap compatible) lambdas. I am now missing the deploy part and that is why I am going to ask some help here :smile:
I also have a question about the serverless.yml file itself, because maybe we could define custom entries for bootstrapped compilation (which requires extra care), for instance:
 handler-lambda-cljs:
    cljs-lumo: handler.core/my-lambda

Open to thoughts - suggestions - corrections!

On August 18, 2017 8:37:32 PM GMT+02:00, Matt Bishop<EMAIL_ADDRESS>wrote:

mattbishop commented on this pull request.

;; copying index.js from project-dir, should this change?
(copy-index! (:target-path project-opts) project-dir)

(compile! inputs options)

;; the only async step is this
(zip! serverless-path

     (merge {:dirs #{"target" "node_modules"}}

            (when-let [project-name (:project-name project-opts)]

              {:file-name (generate-zip-name project-name)}))

     options))

)

+(comment
Should this be in an examples.cljs file?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/nervous-systems/serverless-cljs-plugin/pull/6#pullrequestreview-57280527

Usually repl trial and error goes in (comment)...in any case I don't think this will used like this, that is why I put a big WIP there, still need to explore how to trigger it...
Sent from my Android device with K-9 Mail. Please excuse my brevity.

@arichiardi I appreciate this - I'm going to have to learn a little about lumo before merging - a couple of high-level things maybe you can help with:

The build function accepts a leiningen-formatted project map - do lumo projects typically have those?  If they do, is there a problem with reading it from the project directory in the module's main function?
serverless-cljs-plugin passes the output zip path to cljs-lambda - this script should also accept it, and only ever write the zip there.
Why does the script expect there to be an index.js on the filesystem?  Maintaining it will be a pain for the users - we should generate it for them, and add it to the zip file.  I can do that, if you're not comfortable with it.

To keep it simple, let's keep serverless.yml the same, and have the 'use-lumo' thing be a switch accepted by serverless-cljs-plugin.

Lumo is like the vanilla cljs compiler, so you pass things in. I will probably then need to read the project.clj file from the script.
The output of the zip can be passed to the zip! function. Now it is hardcoded to .serverless
About index.js, I thought it was a convention coming from the cljs-lambda template but you are right, somebody could choose not to use that.

@arichiardi - in order:

If that's the case, then we need to either establish a convention of storing an edn file in the project directory with the compiler settings in them, or allow to them to be specified  yaml and placed in serverless.yml.  Probably the second one.
I don't just mean the containing directory, I mean the whole path - this script doesn't need to guess names.  This is important because the serverless plugin needs to know where the zip file is once the script is done.
It's the convention because cljs-lambda generates the file - it's an internal convention.  cljs-lambda doesn't even support user-maintained index.js files, and there hasn't been a need to.  So generating the index file with this script is definitely the way to do.

@arichiardi This is a great idea!

what information we would need from project.clj?  Lumo projects usually work directly from the node_modules folder.

I saw in the jvm one you return the path of the zip, are you referring to this? The zip file name can be passed in btw, probably it would be good to establish what is the input to a build, I will investigate this as well

so what do you suggest I should do for this then? I will change according to your suggestions.

Just to give more context, this has to be executed with:
lumo serverless-cljs-lambda/js_build.cljs param1 param2

The compiler arguments.  I'm not saying we need project.clj, just that since we don't have it, we need another convention for specifying compiler arguments.  Ideally serverless-cljs-plugin would support something like this in serverless.yml:

custom:
  lumo:
    optimizations: none
    sourceMap: true

Or whatever is applicable to lumo.  We should default everything, and make up our own output-to, output-dir, etc. inside the script - it doesn't make sense for the user to specify those.

It returns the path to the zip, but that doesn't get used - it also optionally takes a path to a zip, which the serverless plugin always passes.  Currently i'm imagining the inputs would be "edn string of compiler arguments" and "output zip path"
I can do that bit, it'll be very similar to what the jvm plugin does.  The script will have to take a list of the functions that were parsed out of serverless.yml, so it knows what handlers to generate - I can take care of that also.

Ok so basically what you'd need is to modify the build! function, it seems all the parameters you describe are already input to compile! and zip! at the moment.
One of the nice conventions that I have seen more and more around is to have edn files. So we could baptize here our cljs-lambda.edn which will contain compiler options, inputs..same as the :cljs-lambda that at the moment is nested in project.clj.
How does it sound?
Also, are you going to spawn a new branch or you want to continue on this one? Just so I don't rebase it.
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Well it is definitely easier to start from edn, then once the feature is ready we can think of parsing yaml (which is definitely more familiar for JS users, but is always limited)... I guess that yes I can hook the edn.
The plugin in the feature if necessary could in order scan:

yaml section
cljs-lambda.edn
project.clj

But ok step by step. In any case cool stuff!

@arichiardi I added some superficial commentary - when you're ready, if you reopen the pull request against the branch wip/lumo, I can make the index changes there, and will discuss with you before merging into master.

I am actually thinking about a change that will pass everything that it is not compiler options at the comment line, new call:
lumo -c scripts -m lumo.build --zip-path .serverless/logpoc.js --functions ....

What do you think?
I see that functions is computed in index.js...so it cannot go in cljs-lambda.edn option.

That's what we need, yeah - it's edn, so e.g. --functions '[{:name ...} ...]' - see index.js for specifics.

Ok so this last version works fine with:
lumo -c scripts -m lumo.build --zip-path .serverless/logpoc.js --functions "[{:name logpoc :invoke logpoc}]"

Quotes are necessary. I will push the changes to wip/lumo if there are not objections.

Ok @moea no objections but I need to be Collaborator in order to push to wip/lumo :smile:

Btw thanks to this the lumo command will be greatly simplified.

@arichiardi I can add you as a collaborator, but can't you just open a PR against that branch and I can merge it?

Oh, never tried that, I thought you can only merge to master from github unless you change the default branch. Are you sure it is going to work?

https://github.com/blog/2224-change-the-base-branch-of-a-pull-request

Wow awesome did not know that :)

@arichiardi I am pressed for time, but hope to have an example with index generation etc. working by the end of the week.

I will try that too then, I am pressed for time as well ;) Thanks for your hints, this is going to be a very nice feature

@arichiardi Let's not both do the same thing!

Ok you are right let me do that then, I need to make this work soon...I was wondering if the local invoke can be worked on as well...for sure you are more familiar with it. What do you think?

@arichiardi I wouldn't feel comfortable delegating the index generation task, it needs to be as similar as possible to what cljs-lambda is doing, and work for all optimization levels.  If you are in a hurry to get it working, just manually write an index file once for your project, and add it to the zip.
I am personally not particularly interested in local invoke - I can just call the exposed function from a REPL.  If you are interested in it, and it doesn't involve far reaching changes, then I am happy to include it.

Ok sounds good.

@arichiardi If you create a project which depends on serverless-cljs-plugin 0.2.0-alpha, then serverless deploy --lumo or serverless package --lumo should work.  I've only tested with optimizations :none.  See lumo-example in the branch wip/lumo for a working example.

Note that I changed the format of the config file and made it optional - see commits in the branch for details.

Oh you went for a cmd line option for that, I was thinking of having a lumo key instead of cljs in serverless.yml, it is more convenient (less to type and to think about, what if I forget the switch? :smile:).
I am checking the commits ;)

Having lumo instead of cljs would be per-handler, so it would give the mistaken impression that it's possible to mix both cljs and lumo handlers in a single serverless.yml, which it's not.
It would be possible to also support a top level custom lumo: true option, but I don't think it makes a huge difference.

I like the lumo: true option better - or even cljs-compiler: lumo. I can
contribute that, is it going to be in opts in the plugin?

Yeah, so ideally it should work if you do either this:
custom:
  lumo: true

or deploy with --lumo.  I think changing the if condition to if(_.get(serverless.service, 'custom.lumo') || opts.lumo) is sufficient.


Merge patch

Merge patch for hiding the UI on tap.

Do I need to update it on a forked version of the repo?


Rename dbaas-shared to mariadb-dbaas

At some stage the dbaas-operator may support more than just mariadb, this renames dbaas-shared to mariadb-dbaas
This way there could be mongo-dbaas or postgres-dbaas options in the future.

@shreddedbacon
as https://github.com/amazeeio/lagoon/pull/1657 has landed now, can you maybe update this PR with the same variable names as the OpenShift implementation? thank you!

@Schnitzel I've made the changes


⚠ Bofrost.de has degraded performance

In 2e7b5e4, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1824 ms

Resolved: Bofrost.de performance has improved in 252994c after 52 minutes.


How to correctly tag paket file references for JS compilation?

We have a private repository that hosts some libraries we'd like to be able to use client side.  These are currently included in projects via a paket File: MyModule.Fs references for each necessary in the library.  How can we tell a project that these should be compiled to JS for some projects and CLR to others?
For example, in a server side project, we have
solution
--paket-files
----Foo.fs
----Bar.fs
--[project files]

and in a client-side project we have
solution
--paket-files
----Foo.fs
----Bar.fs
--[project files]

Both Foo.fs and Bar.fs define modules in the namespace FooBar.  A module in Bar.fs, FooBar.Bar refers to a module in Foo.fs, FooBar.Foo:  this leads WS to complain that FooBar.Foo is does not exist in the Javascript assembly.
Is there a good way of working with shared exterior sources like this?

Hello,
with WebSharper 4, you can use the JavaScript attribute on assembly-level:
[<assembly: JavaScript>]
do ()

And you can also opt-out of its effect with [] on a module/type/member.
I know this does not cover the case where you would like to combine outside files with and without JS translation in the same project, but if you can split your application at a certain point so that the assembly-level setting can be different, these should solve your problem.

I am turning this into a proposal: there could be an extension of the assembly-level usage, so that single files can be annotated from anywhere in the project: [<assembly: JavaScript "Foo.fs">]
Would this be required for your use case, or the above is enough? Thanks.

The above might be sufficient for our needs, however, we're now running into another problem: We have two projects with assembly-level JS attribute and they both reference the same namespace.
This appears to be throwing a static naming error on the javascript assembly as websharper is attempting to add the namespace to the assembly twice.

Namespaces itself should not cause any key clash as they are not registered, only types. Are you sure there is no two classes with the exact same full name? Also, what does the error say, or if it's just a generic Dictionary exception, can you paste the stack trace? Thanks a lot!

Assembly attributes for control should nicely clean up some of our code (wasn't aware it'd been implemented in 4.x). We have libraries that are used both on a cluster and in a web worker via WebSharper. To make this work we stub out the JavaScript attribute in many files. Being able to do this in a central file will keep the source files clean. If it can toggle on globally and tweak files off, or adjust the style direct/inline etc. that would be great.

@Jand42
Severity	Code	Description	Project	File	Line	Suppression State
Error		Static member name conflict at JavaScript address: 'Empty.Grph.Graph.AlgebraicGraphs'	Mobile.Main	FSC	1

from the following type:
module Graph =
    type Grph<'a> =
            | Empty
[...]

New feature added, will be released soon:
JavaScript("MyFile.fs") and JavaScript("MyAssembly.MyType") attributes can be used on assembly level to mark files/types for JavaScript translation from outside of the affected file.
File names are case sensitive and include no path (this can be changed possibly, based on discussion).

The new features of the JavaScript attribute are available in the freshly released version: https://github.com/intellifactory/websharper/releases/tag/WebSharper.<IP_ADDRESS>-rc


Fix url field truncation

by default all answers are stored in the string_value field on Response.
This field is a varchar(255) which means long urls built from query strings are truncated silently.
In order to change this a made questions in the questionnaire with a url type to be a text input instead of string. This stores the answer in the text_value column which is a TEXT blob with a 64kb size limit instead.
I've delegated most hard coded references to string_value to data_value which attempts to retrieve from text_value first and made sure the styling of the questionnaire is still the same.
Also ResponseSet#autocomplete and CertificateGenerator insert values in the correct column which is worked out by value_key on the Answer model.

Coverage increased (+0.04%) to 80.66% when pulling 358b9b98ba8cea234fe301238ac48d8367af7d97 on fix-url-field-length-truncation into fa4c05438c87cced7e66784820c0165a496b2de0 on staging.