Unable to use Windows Docker Daemon with Bolt Docker transport

What actually happens
When running a task on a Windows image running in Windows Docker Daemon, Bolt errors with:
Running task run '#<struct Bolt::Task name="puppet_agent::install", file=nil, files=[{"name"=>"install_shell.sh", "path"=>"C:/Source/puppet-strings/spec/fixtures/modules/puppet_agent/tasks/install_shell.sh"}, {"name"=>"install_powershell.ps1", "path"=>"C:/Source/puppet-strings/spec/fixtures/modules/puppet_agent/tasks/install_powershell.ps1"}, {"name"=>"facts/tasks/bash.sh", "path"=>"C:/Source/puppet-strings/spec/fixtures/modules/facts/tasks/bash.sh"}], metadata={"description"=>"Install the Puppet agent package", "parameters"=>{"version"=>{"description"=>"The version of puppet-agent to install", "type"=>"Optional[String]"}, "collection"=>{"description"=>"The Puppet collection to install from (defaults to puppet, which maps to the latest collection released)", "type"=>"Optional[Enum[puppet5, puppet6, puppet, puppet5-nightly, puppet6-nightly, puppet-nightly]]"}, "yum_source"=>{"description"=>"The source location to find yum repos (defaults to yum.puppet.com)", "type"=>"Optional[String]"}, "apt_source"=>{"description"=>"The source location to find apt repos (defaults to apt.puppet.com)", "type"=>"Optional[String]"}, "mac_source"=>{"description"=>"The source location to find mac packages (defaults to downloads.puppet.com)", "type"=>"Optional[String]"}, "windows_source"=>{"description"=>"The source location to find windows packages (defaults to downloads.puppet.com)", "type"=>"Optional[String]"}, "install_options"=>{"description"=>"optional install arguments to the windows installer (defaults to REINSTALLMODE=\"amus\")", "type"=>"Optional[String]"}}, "implementations"=>[{"name"=>"install_shell.sh", "requirements"=>["shell"], "files"=>["facts/tasks/bash.sh"], "input_method"=>"environment"}, {"name"=>"install_powershell.ps1", "requirements"=>["powershell"]}]}>' on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39
Started on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39...
Completed analytics submission
{"node":"95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39","target":"95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39","action":null,"object":null,"status":"failure","result":{"_error":{"kind":"puppetlabs.tasks/connect-error","msg":"Failed to connect to 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39: undefined method `sockaddr_un' for Socket:Class\nDid you mean?  sockaddr_in (NoMethodError)","details":{},"issue_code":"CONNECT_ERROR"}}}

For clarity:
undefined method `sockaddr_un' for Socket:Class\nDid you mean?  sockaddr_in (NoMethodError)

What should happen
Bolt should execute this task on the Windows Container successfully.
Environment
Windows 10 - 1903
Docker Information
> docker version
Client: Docker Engine - Enterprise
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        1578dcadd2
 Built:             05/04/2019 02:34:11
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Enterprise
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.24)
  Go version:       go1.10.8
  Git commit:       1578dcadd2
  Built:            05/04/2019 02:32:24
  OS/Arch:          windows/amd64
  Experimental:     false
 Kubernetes:
  Version:          Unknown
  StackAPI:         Unknown

Happens with ruby Bolt gem, or the packaged bolt version
Docker container is running correctly
> docker ps
CONTAINER ID        IMAGE                                       COMMAND                    CREATED             STATUS              PORTS               NAMES
95c42917e56e        mcr.microsoft.com/windows/servercore:1903   "c:\\windows\\system32…"   26 minutes ago      Up 25 minutes                           wizardly_lumiere

> docker exec 95c42917e56e53ec5d22a8 cmd /c Echo 'Hello'
Hello

Investigation
The code that's causing the error is in the Excon gem
[9] pry(#<Excon::UnixSocket>)> whereami

Frame number: 0/35

From: C:/Source/bolt/.bundle/windows/ruby/2.5.0/gems/excon-0.64.0/lib/excon/unix_socket.rb @ line 13 Excon::UnixSocket#connect:

     8:       @socket  = ::Socket.new(::Socket::AF_UNIX, ::Socket::SOCK_STREAM, 0)
     9:       # If a Unix proxy was specified, the :path option will be set for it,
    10:       # otherwise fall back to the :socket option.
    11:       proxy_path = @data[:proxy] ? @data[:proxy][:path] : nil
    12:       require 'pry'; binding.pry
 => 13:       sockaddr = ::Socket.sockaddr_un(proxy_path || @data[:socket])
    14:       if @nonblock
    15:         begin
    16:           @socket.connect_nonblock(sockaddr)
    17:         rescue Errno::EINPROGRESS
    18:           unless IO.select(nil, [@socket], nil, @data[:connect_timeout])

[10] pry(#<Excon::UnixSocket>)> ls ::Socket
constants:
  AF_APPLETALK  AF_OSI          EAI_SOCKTYPE            IP_ADD_MEMBERSHIP          IPPROTO_DSTOPTS   IPPROTO_TCP          IPV6_V6ONLY     PF_DATAKIT  SHUT_RD        SO_SNDTIMEO
  AF_ATM        AF_PUP          Ifaddr                  IP_ADD_SOURCE_MEMBERSHIP   IPPROTO_ESP       IPPROTO_UDP          MSG_DONTROUTE   PF_DLI      SHUT_RDWR      SO_TYPE
  AF_CCITT      AF_SNA          IFF_BROADCAST           IP_BLOCK_SOURCE            IPPROTO_FRAGMENT  IPV6_CHECKSUM        MSG_OOB         PF_ECMA     SHUT_WR        SO_USELOOPBACK
  AF_CHAOS      AF_UNIX         IFF_LOOPBACK            IP_DROP_MEMBERSHIP         IPPROTO_GGP       IPV6_DONTFRAG        MSG_PEEK        PF_HYLINK   SO_ACCEPTCONN  SOCK_DGRAM
  AF_DATAKIT    AF_UNSPEC       IFF_MULTICAST           IP_DROP_SOURCE_MEMBERSHIP  IPPROTO_HOPOPTS   IPV6_HOPLIMIT        MSG_WAITALL     PF_IMPLINK  SO_BROADCAST   SOCK_RAW
  AF_DLI        AI_CANONNAME    IFF_POINTOPOINT         IP_HDRINCL                 IPPROTO_ICMP      IPV6_HOPOPTS         NI_DGRAM        PF_INET     SO_DEBUG       SOCK_RDM
  AF_ECMA       AI_NUMERICHOST  IFF_UP                  IP_MULTICAST_IF            IPPROTO_ICMPV6    IPV6_JOIN_GROUP      NI_MAXHOST      PF_INET6    SO_DONTROUTE   SOCK_SEQPACKET
  AF_HYLINK     AI_PASSIVE      IFNAMSIZ                IP_MULTICAST_LOOP          IPPROTO_IDP       IPV6_LEAVE_GROUP     NI_MAXSERV      PF_IPX      SO_ERROR       SOCK_STREAM
  AF_IMPLINK    Constants       INADDR_ALLHOSTS_GROUP   IP_MULTICAST_TTL           IPPROTO_IGMP      IPV6_MULTICAST_HOPS  NI_NAMEREQD     PF_ISO      SO_KEEPALIVE   SOL_SOCKET
  AF_INET       EAI_AGAIN       INADDR_ANY              IP_OPTIONS                 IPPROTO_IP        IPV6_MULTICAST_IF    NI_NOFQDN       PF_LAT      SO_LINGER      SOMAXCONN
  AF_INET6      EAI_BADFLAGS    INADDR_BROADCAST        IP_PKTINFO                 IPPROTO_IPV6      IPV6_MULTICAST_LOOP  NI_NUMERICHOST  PF_MAX      SO_OOBINLINE   TCP_NODELAY
  AF_IPX        EAI_FAIL        INADDR_LOOPBACK         IP_TOS                     IPPROTO_MAX       IPV6_PKTINFO         NI_NUMERICSERV  PF_NS       SO_RCVBUF      UDPSource
  AF_ISO        EAI_FAMILY      INADDR_MAX_LOCAL_GROUP  IP_TTL                     IPPROTO_ND        IPV6_RECVRTHDR       Option          PF_OSI      SO_RCVLOWAT
  AF_LAT        EAI_MEMORY      INADDR_NONE             IP_UNBLOCK_SOURCE          IPPROTO_NONE      IPV6_RECVTCLASS      PF_APPLETALK    PF_PUP      SO_RCVTIMEO
  AF_MAX        EAI_NODATA      INADDR_UNSPEC_GROUP     IPPORT_RESERVED            IPPROTO_PUP       IPV6_RTHDR           PF_ATM          PF_SNA      SO_REUSEADDR
  AF_NETBIOS    EAI_NONAME      INET6_ADDRSTRLEN        IPPORT_USERRESERVED        IPPROTO_RAW       IPV6_TCLASS          PF_CCITT        PF_UNIX     SO_SNDBUF
  AF_NS         EAI_SERVICE     INET_ADDRSTRLEN         IPPROTO_AH                 IPPROTO_ROUTING   IPV6_UNICAST_HOPS    PF_CHAOS        PF_UNSPEC   SO_SNDLOWAT
Object.methods: yaml_tag
IO.methods: binread  binwrite  console  copy_stream  foreach  new  open  pipe  popen  read  readlines  select  sysopen  try_convert  write
BasicSocket.methods: do_not_reverse_lookup  do_not_reverse_lookup=  for_fd
Socket.methods:
  accept_loop    gethostbyname  getnameinfo    ip_address_list   sockaddr_in  tcp_server_loop     udp_server_loop_on  unix                unpack_sockaddr_in
  getaddrinfo    gethostname    getservbyname  pack_sockaddr_in  socketpair   tcp_server_sockets  udp_server_recv     unix_server_loop
  gethostbyaddr  getifaddrs     getservbyport  pair              tcp          udp_server_loop     udp_server_sockets  unix_server_socket
Socket#methods: accept  accept_nonblock  bind  connect  connect_nonblock  ipv6only!  listen  recvfrom  recvfrom_nonblock  sysaccept

And indeed that method is missing. This may well be because this is Windows, the Socket method does not have sockaddr_un which is for Unix Domain Sockets. But we should never have got here in the first place.
The actual socket it's trying to create is /var/run/docker.sock which is clearly not Windows
[12] pry(#<Excon::UnixSocket>)> proxy_path || @data[:socket]
=> "/var/run/docker.sock"

Looking through the Bolt code I see another problem:
In the code here:
https://github.com/puppetlabs/bolt/blob/f40ad72646c1146258dea98ca369eb010101f164/lib/bolt/transport/docker/connection.rb#L21-L22
It uses a default Docker URI from the Docker module (not sure where the source of that is) which is incorrect for Windows
[13] pry(#<Excon::UnixSocket>)> ::Docker.url
=> "unix:///var/run/docker.sock"

As per Docker's documentation the default is over named pipes npipe://./pipe/docker_engine

Poking around, it's the docker-api gem's fault again
https://github.com/swipely/docker-api/blob/master/lib/docker.rb#L39-L41
And there's no mention of npipe either.

Setting the Docker Host env var to npipe:////./pipe/docker_engine does not work either.
...
tional[String]"}}, "implementations"=>[{"name"=>"install_shell.sh", "requirements"=>["shell"], "files"=>["facts/tasks/bash.sh"], "input_method"=>"environment"}, {"name"=>"install_powershell.ps1", "requirements"=>["powershell"]}]}>' on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39
Started on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39...
{"node":"95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39","target":"95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39","action":null,"object":null,"status":"failure","result":{"_error":{"kind":"puppetlabs.tasks/connect-error","msg":"Failed to connect to 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39: getaddrinfo: No such host is known.  (SocketError)","details":{},"issue_code":"CONNECT_ERROR"}}}
> docker ps
CONTAINER ID        IMAGE                                       COMMAND                    CREATED             STATUS              PORTS               NAMES
95c42917e56e        mcr.microsoft.com/windows/servercore:1903   "c:\\windows\\system32…"   39 minutes ago      Up 39 minutes                           wizardly_lumiere

Using the TCP transport gets further but never returns
> $ENV:DOCKER_HOST = 'tcp://localhost:2375'
> docker ps
CONTAINER ID        IMAGE                                       COMMAND                    CREATED             STATUS              PORTS               NAMES
95c42917e56e        mcr.microsoft.com/windows/servercore:1903   "c:\\windows\\system32…"   40 minutes ago      Up 40 minutes                           wizardly_lumiere
> be bolt --targets 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39 --inventoryfile C:\Source\puppet-strings\inventory.yaml --modulepath C:\Source\puppet-strings/spec/fixtures/modules --debug --trace command run "Echo 'Hello'"
Loaded inventory from C:/Source/puppet-strings/inventory.yaml
Analytics opt-out is set, analytics will be disabled
Skipping submission of 'command_run' screenview because analytics is disabled
Started with 100 max thread(s)
Skipping submission of 'Transport initialize' event because analytics is disabled
Starting: command 'Echo 'Hello'' on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39
Running command 'Echo 'Hello'' on ["95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39"]
Running command 'Echo 'Hello'' on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39
Started on 95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39

prying into the code it's this line which is never returns
https://github.com/puppetlabs/bolt/blob/f40ad72646c1146258dea98ca369eb010101f164/lib/bolt/transport/docker/connection.rb#L24
From: C:/Source/bolt/lib/bolt/transport/docker/connection.rb @ line 24 Bolt::Transport::Docker::Connection#connect:

    20: def connect
    21:   # Explicitly create the new Connection to avoid relying on global state in the Docker module.
    22:   url = @target.options['service-url'] || ::Docker.url
    23:   options =<EMAIL_ADDRESS>|| {})
 => 24:   @container =<EMAIL_ADDRESS>{}, ::Docker::Connection.new(url, options))
    25:   @logger.debug { "Opened session" }
    26: rescue StandardError => e
    27:   raise Bolt::Node::ConnectError.new(
    28:     "Failed to connect to<EMAIL_ADDRESS>#{e.message}",
    29:     'CONNECT_ERROR'
    30:   )
    31: end
[1] pry(#<Bolt::Transport::Docker::Connection>)> ::Docker::Connection.new(url, options)
=> #<Docker::Connection:0x0000000009a07f90 @options={}, @url="tcp://localhost:2375">
[2] pry(#<Bolt::Transport::Docker::Connection>)> @target.host
=> "95c42917e56e53ec5d22a8a9ec7b14d92618a97c65cfcdacf136b578f9785c39"
[3] pry(#<Bolt::Transport::Docker::Connection>)><EMAIL_ADDRESS>{}, ::Docker::Connection.new(url, options))

Which again is in the Docker-Api gem

Fixed


Update StackFrame(_ex) pages

Looks like the 2 pages were copypasted from the 64bit version without adjusting its contents correctly. This PR fixes that.
Affected pages:

https://learn.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-stackframe
https://learn.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-stackframe_ex

The c++ code example was directly coped from the windows header files.

@microsoft-github-policy-service agree


[onnx/ort] Convert transformer optimizations using custom-ops to functions for optimizer/rewriter usage

There are a few commonly used transformer-based optimizations using custom-ops in onnxruntime some of which are listed.
Custom ops to be converted to functions for ONNX Script (will add more custom ops based on findings and priority) :
### Tasks
- [ ] SkipLayerNorm
- [ ] RotaryEmbeddings
- [ ] MultiHeadAttention fusions
- [ ] Attention fusions

The goal is to create an infrastructure via which these custom-ops can be stored as functions for ease of usage with the optimizer and rewriter tools. If the functions are not desired in the graph, the graph can be simply inlined to get back to the original form.
Road-map for this task:
### Tasks
- [ ] Find the correct function signature/definition to be defined for each custom op. A good starting point could be work already done in the function-rewriter.
- [ ] Create a common method to convert these custom-ops to functions
- [ ] Add ONNX Spec for these custom ops so that they could be added to ONNX standard

@gramalingam Feel free to edit/add any more information that I might have missed regarding this item.

LGTM, thanks!  What we want to do is:

Define these as ONNX functions (and test/validate them)
Extend the ONNX standard by adding these as function-ops
Potentially use these in a rewriting-optimizer (that identifies matches to the function-body and extracts them out as either model-local functions or standard ONNX ops, if they have been added to the ONNX standard as in step 2).

For steps 1 and 2, the corresponding custom op definition in ORT is also a helpful starting point.


HIVE-24511: Fix typo in SerDeStorageSchemaReader

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

close to retrigger the test...

close to retrigger the test...


Update enketo-core dependency in overview page

Since enketo-xpathjs has been replaced by openrosa-xpath-evaluator in enketo-core. Should this here be replaced to point to the new dependency? https://github.com/enketo/enketo-website/blob/12d41ea3f8185d64b6fd96b977580fe7115c0cc2/src/views/develop/index.pug#L36
If this should change, I'd be glad to make a PR.
Thanks.

seems this change was reverted

Thanks Frank!
It will come back soon so it's good to leave this open. I was just doing some initial testing and collecting some performance data on https://github.com/enketo/enketo-core-performance-monitor.


Wallpaper dose not change

Wallpaper dose not change

its not working for me either.
OSX El Capitan 10.11.6

This is the case for me as well since upgrading to Sierra.


How does routing happen?

Hey Cilium team,
This is great, just fascinating. I couldn't attend LinuxCon NA 2016 and missed this entirely. I did the "compare networking options for ultra-low-latency" presentation in Tokyo and Berlin, so it was particularly appealing.
How does Cilium do routing? I get that you assign an IPv6 address to each container, of which the host may or may not be aware. BPF gives you the ability to control ingress to and egress from that container's address.
So a packet leaves a container x on host a, targeted at container y on host b. How do you know to route the x->y packet from a->b? Are you using the host's routing tables like Calico? Or is it something else? And if so, is there any type of route aggregation?
Really impressed.

@deitch
Great to hear from you. We should be putting this into the documentation but let met give you a quick answer before we have that.
The programmability of BPF allows Cilium to implement whatever model is desired. What is currently implemented is as follows:

Cilium will perform internal routing for any packets addressed to another local container. (L2 rewrite, TTL dec, redirect into device of destination container)
For packets addressed to containers on other servers or for external network endpoints Cilium can be configured to either:

Pass the packet to the Linux routing layer to perform a normal L3 operation as per routing table. We do not include any control plane to modify the routing table of Linux in this case. We will require the routing table to have an entry for each per server prefix out of which each server allocates IPs to local containers. This can achieved easily with static configuration or by running routing daemons.
The second option is to run in encapsulation mode in which case Cilium will create a encapsulation device in metadata mode of your choice (VXLAN, GRE, Geneve, ...) and will then encapsulate each packet addresses for a container on another server. After encapsulation, the packet is again given to Linux for routing. This scenario requires the routing table of the server to have enough information to reach all other servers.

Hope this helps

@tgraf : and great to be welcomed! :-)

The programmability of BPF allows Cilium to implement whatever model is desired

So Cilium is more of a framework enabling implementation of Overlay or L3 strategies, but by doing it right there in the kernel using BPF? And you can build complete solutions on top of that?
Is the intent that, e.g. Weave or Flannel might rebuild their system - which distribute IPs using a key/value store like etcd as a backend to coordinate and encapsulates packets - but using Cilium is the encapsulation layer? Or Calico would do the same but using Cilium?

So Cilium is more of a framework enabling implementation of Overlay or L3 strategies, but by doing it right there in the kernel using BPF? And you can build complete solutions on top of that?

Cilium will assume and derive sane defaults wherever possible if run without specific options, e.g. running Cilium in a Kubernetes environment will cause Cilium to automatically derive the node pod CIDR of each server for allocation of IPs to local containers and networking will just work. No additional configuration required.
For encapsulation, each container address is structured in a way that allows deriving the server address whether the container is running on so encapsulation will work without any additional routing configuration beyond simple server to server connectivity which is typically a given anyway. All you have to do here is specify the type of encapsulation at startup, e.g. -t vxlan
If these defaults are not meeting your exact requirements Cilium allows to define and implement almost any L3 strategy.

Is the intent that, e.g. Weave or Flannel might rebuild their system - which distribute IPs using a key/value store like etcd as a backend to coordinate and encapsulates packets - but using Cilium is the encapsulation layer? Or Calico would do the same but using Cilium?

CIlium has an IPAM plugin for libnetwork and CNI and will allocate of a per server prefix and would replace flannel in regard of allocation and encapsulation but with likely better performance due to Cilium operating exclusively in the kernel. I guess you could run the routing daemon components of Calico side by side with Cilium if you wanted as the L3 routing mode of Cilium seems very similar with how Calico operates. You could also run any of those IPAM components potentially as long as the basic requirement of the host allocator is met, i.e. that a container receives an IP out of a per server prefix.

will cause Cilium to automatically derive the node pod CIDR of each server for allocation of IPs to local containers and networking will just work

That's the default k8s networking, so it will just use that? What are the advantages to doing it that way vs. the shipped-with-k8s CNI plugin?

you could run the routing daemon components of Calico side by side with Cilium if you wanted as the L3 routing mode of Cilium seems very similar with how Calico operates

Ah, that makes sense if you want a more complex routing model.
So, basically, in the end, Cilium handles in-kernel (using BPF) much of what flannel/weave do in  user space (although Weave has a fast datapath mode which is supposed to avoid 2 context switches per packet, more https://www.weave.works/documentation/net-latest-how-it-works/net-latest-fastdp-how-it-works/ ). From a Calico perspective, it all happens in kernel anyways because no userspace needs touch each packet, which is kind of nice.
I can say that there are performance differences. I gave a presentation at LinuxCon Tokyo and Berlin last year comparing performance of various networking options for containers. Would love to get Cilium in the mix. Actually, I heard about Cilium from a colleague at Docker who was at the presentation and send me the link this week.
My preso is here http://www.slideshare.net/deitcher/linux-con-berlin2016presentationdeitchera
If/when I do the next low-latency project, I will have to add this to the mix.

That's the default k8s networking, so it will just use that? What are the advantages to doing it that way vs. the shipped-with-k8s CNI plugin?

Cilium derives the default k8s network address model, yes. The advantages of Cilium compared to stock k8s networking are scalable policy enforcement with a single hashtable lookup, increased visibility via a fast ring buffer (e.g. you will see the src/dst pod labels of dropped packets), integrated load balancing, policy enforcement of a pod talking to itself, ... I'm probably missing quite a bit here.

So, basically, in the end, Cilium handles in-kernel (using BPF) much of what flannel/weave do in user space (although Weave has a fast datapath mode which is supposed to avoid 2 context switches per packet, more https://www.weave.works/documentation/net-latest-how-it-works/net-latest-fastdp-how-it-works/ ). From a Calico perspective, it all happens in kernel anyways because no userspace needs touch each packet, which is kind of nice.

I'm careful with comparing Cilium with other solutions as often small details matter and I don't know enough about all the details for it be a fair comparison. The Weave fast datapath uses the OVS in-kernel datapath which is a wildcard flow table capable of executing actions. It is programmable to a great extend but not to the same extend as BPF. A simple example here is that if a pod requires port mapping, we will construct the BPF program for that pod to perform the port mapping for all packet it receives/transmits whereis in a flow table model, this requires an action which needs to be configured. Native instructions without any branching and cache misses is simply faster.
While Calico and Cilium will show very similar performance on raw forwarding as both ultimately depend on the kernel. They will show differences when enforcing security policies. Calico depends on iptables and ipset to enforce policies while Cilium compiles a hashtable of allowed consumers which will show avg behaviour of O(1) versus traversing a sequence of rules in the case of iptables.
Another example of this is the difference in the k8s services implementation of CIlium and kube-proxy. kube-proxy eventually results in n*1K iptables rules to DNAT services where Cilium will maintain a hashtable for this and both insertion and lookup scale nicely as number of services increase.
To summarise, Cilium leverages BPF to gain access to programmability of user space solutions such as flannel or Weave while remaining in the kernel and sharing many of the benefits of Calico without depending on iptabels. I believe there is a sweet spot there. The downside of using BPF is obviously the increased platform requirements in terms of minimal kernel version required (4.8) to run Cilium.
We are still in very early stages and this is alpha at best. Given we have implemented all the functionality that we wanted initially, we will shift focus on Documenting and stabilising of what we have so far.

The advantages of Cilium compared to stock k8s networking  ... I'm probably missing quite a bit here.

Definitely worth documenting, as you said. You built this for a reason, feeling existing solutions were insufficient, let people know the reason.
FYI, I do not love the native k8s networking model. Assuming I will have 254 (`/24) containers on each host, and then however many in the subnet in which the hosts live, is rigid, although I get the desire to make route aggregation simple.
Calico's model appeals to me for its pure L3, although without aggregation, it means very large tables on each host.
The real solution, of course, is route aggregation via IPv6. Then, you can have subnets of almost any size on a host and not worry at all.

I'm careful with comparing Cilium with other solutions as often small details matter

I get that. But people will ask, because in the end, implementors will want to know why to use X vs Y.

while Cilium compiles a hashtable of allowed consumers which will show avg behaviour of O(1) versus traversing a sequence of rules in the case of iptables

That is an interesting point. iptables still just runs down the sequence with each packet?

The downside of using BPF is obviously the increased platform requirements in terms of minimal kernel version required (4.8) to run Cilium

Eh, don't worry about that. Eventually everyone catches up, and it is worth it.

we will shift focus on Documenting and stabilising of what we have so far

I very much look forward to reading them!

In any case, thanks for all of the details. I will close out the issue.


"sanic.server.serve" need use the existing loop if it's provided and "run_async == False"

sanic/server.py#L353
    if not run_async:
        loop = async_loop.new_event_loop()

        # isn't it suppose to be created like this?
        # if not loop: loop = async_loop.new_event_loop()
        asyncio.set_event_loop(loop)

This is intentional. See here for more context: https://github.com/channelcat/sanic/issues/152#issuecomment-261316341.

Closing, see above comment


CMake: fix python detection

Python libs detection is broken on Ubuntu 14.04 (with system CMake <IP_ADDRESS>) via find_package(PythonLibs) with specified PYTHON_LIBRARY and PYTHON_INCLUDE_DIR.
This problem cause a python detection failure on the second CMake pass where these variables are got from CMake cache.
Current solution is to bypass python search if python is already found.

:+1:


Fix responsiveness

Summary
The PR fixes issues in responsiveness;
and social icons

Thank you @sandygudie - can you fix the conflict, pls?

Hi @BatoolMM
I noticed the update is not working on the main domain(https://osc-ksa.com/) , i think the issue is from the domain host(.com)
I  deployed the site on netlify  and it's working great(https://funny-dusk-1b1748.netlify.app/)


Column level Detection While using labeler

Is your feature request related to a problem? Please describe.
When we predict using labeler.predict(data) we are getting cell level labels.
Describe the outcome you'd like:
How to get output as column level labels
Additional context:
And when we train new Labeler with custom data how to include the new labeler model into profiler while profiling the data to get Data_Label in the Json output.
Thankyou

@kvrameshreddy Thank you for the feature request.
We currently utilize the profiler aspect of the library to provide column level labeling with respect to labeler cell level results.
It is not out of the question that a future model iteration could provide column level feedback.
For reference, if you would like to get column results right now using the profiler, you can use the profiler which will add additional statistics, or you could directly call the profiler for data labeling (this is fed column by column)
For using the profiler in general:
import dataprofiler as dp

<import data>
.
.

profile = Profiler(data) # Calculate Statistics, Entity Recognition, etc
human_readable_report = profile.report(report_options={"output_format":"pretty"})

# data labels are assigned to each column in the `data_stats` key
human_readable_report['data_stats']["<COLUMN_NAME"]["data_label"]

Additionally, I should note you can turn off the other profiling features by setting the options such that only the data_labeler is utilized.

Closing this issue as there has not been activity for almost 1 year.


.packemon.js config file naming no longer supported

When this was removed
https://github.com/milesj/packemon/commit/c22e5f60bb7a0c0d9fdd7e9e0c1680fe5c599a40#diff-e06054b3fcc75704ac7a1aaa88d7f7d465a7ea5f659c2b386e8d3483f8f1a779L61
It broke how config files are found:
https://github.com/milesj/boost/blob/master/packages/config/src/helpers/createFileName.ts#L19
And packages can only use packemon.config.js naming style now.
Not a bug since the fix is to just rename the config files, but probably needs docs updating

@wespickett It's still supported, it's just that the "root" is the cwd. So if you're running the command in a sub-folder, and that's the cwd, then it doesn't traverse upwards. It's all based on this: https://packemon.dev/docs/migrate/3.0#no-longer-workspaces-aware-by-default

Try adding DEBUG=* and see what it spits out.


Containerized servings.py

Added Dockerfile & docker-compose.yml for containerized deployment.
Had to make a slight adjustment to servings.py changing host ip from <IP_ADDRESS> to <IP_ADDRESS>.
Hope this helps others with quick and convenient deployment and testing.

Thanks for this, we'll have a look in a bit...
noticed that you were trying to add references... quick note on them:
i) we don't support cross-lingual cloning yet, so I think the german reference is unlikely to work
ii) we don't support references shorter than 30 seconds, and stuff is unclean/has background noise etc is very unlikely to work!

Thanks for this, we'll have a look in a bit...
noticed that you were trying to add references... quick note on them: i) we don't support cross-lingual cloning yet, so I think the german reference is unlikely to work ii) we don't support references shorter than 30 seconds, and stuff is unclean/has background noise etc is very unlikely to work!

The references were just for testing, what comes out, if I through in a German reference. Outcome: Funny :wink:
Looking forward to actual fine-tuning capabilities. Are those LoRAs?

The references were just for testing, what comes out, if I through in a German reference. Outcome: Funny 😉
lol expected

Looking forward to actual fine-tuning capabilities. Are those LoRAs?
I am not sure if finetuning will be able to make that 20s sample with background noise work :P ... have you tried others that were longer than 30s and were clean that you're hoping to finetune on but couldn't get zero-shot to work?

LoRAs - not sure yet... we're open to folks adding that, and I can provide some guidance!

IF it was transformers I would be able to help quickly with LoRA PEFT. But as I see you have your very custom GPT implementation.

I am happy to help with those rough edges!

I do not understand why this API is using a very non-standard "X-Payload" header to contain the request body, and despite the link to /docs, there is no real documentation there. The FastAPI implementation does not explicitly say that TTSRequest is the expected request type, likely because pulling it out of a header isn't a common approach, so the generated docs assume there are no parameters at all.
For anyone else trying to figure this out, here is a curl command that serves as a basic example with the way the API is currently structured:
curl -X POST http://localhost:8869/tts \
     -H "X-Payload: {\"text\": \"Hello, this is a test!\", \"guidance\": 3.0, \"top_p\": 0.95, \"speaker_ref_path\": \"assets/av
a.flac\"}" \
     -o output.mp3

I do not understand why this API is using a very non-standard "X-Payload" header to contain the request body, and despite the link to /docs, there is no real documentation there. The FastAPI implementation does not explicitly say that TTSRequest is the expected request type, likely because pulling it out of a header isn't a common approach, so the generated docs assume there are no parameters at all.
For anyone else trying to figure this out, here is a curl command that serves as a basic example with the way the API is currently structured:
curl -X POST http://localhost:8869/tts \
     -H "X-Payload: {\"text\": \"Hello, this is a test!\", \"guidance\": 3.0, \"top_p\": 0.95, \"speaker_ref_path\": \"assets/av
a.flac\"}" \
     -o output.mp3

EDIT:
I have also discovered this:
    # NOTE: supports max. 220 characters atm.
    # Long form synthesis coming soon...
    MAX_CHARS = 220

so... that's fun. It's currently hardcoded to only support up to 220 characters of input. I can't see where the 220 character limit is actually being enforced, but I can't think of any use case where 220 characters is reliably large enough to use.
I am excited to see more options in the open source TTS space, so hopefully that limitation is lifted soon.

Yeah was wondering about X-Payload as well and thought of changing it to but just kept it as is in the end.
For the length, I think the current implementation expects you to basically feed the API a text in chunks, with a max char length of 220...

hey folks! we are grateful for your feedback, and contributions.
We are balancing fundamental improvements to the models, and improving the experience with the released model (such as optimizations, lower VRAM, Mac, releasing long-form, and releasing finetuning). We're trying to get them out as quickly as possible, but we are still a small team. That being said, we are actively hiring (https://metavoice.notion.site/Join-MetaVoice-e4c907cb6a2f4c33af2b148f635adda4?pvs=4). Alternatively, contributions are always welcome.
Thanks again you outlining the problems you mentioned, I assure you we're working hard to resolve them.

I do not understand why this API is using a very non-standard "X-Payload" header to contain the request body

Will fix this shortly

@sidroopdaska With a good enough synthesized voice, I would enjoy being able to paste in an article and have it read it to me sometimes. So, I was just playing around with that kind of thing.


Weird issues with merge modules config

What version of Hugo are you using (hugo version)?
v0.117.0
Does this issue reproduce with the latest release?
yes
Reproduce with the following steps:

git clone https://github.com/bep/hugo-starter-tailwind-basic
use following script create new site and serve

#!/usr/bin/env bash

rm -rf ./hugotest
hugo new site hugotest
cd hugotest
hugo mod init hugotest

cat >> hugo.toml<< EOF
[build]
  _merge = 'deep'
[module]
  _merge = 'shallow'
  replacements = 'github.com/bep/hugo-starter-tailwind-basic/v3 -> ../../hugo-starter-tailwind-basic'
  [[module.imports]]
    path = 'github.com/bep/hugo-starter-tailwind-basic/v3'
EOF

hugo mod npm pack
npm install
hugo server -logLevel debug

open http://localhost:1313, it shows Page Not Found. This is the first problem and can be solved with the next step.
edit hugo-starter-tailwind-basic/hugo.toml, add missing default mounts.

  [[module.mounts]]
    source = "content"
    target = "content"
  [[module.mounts]]
    source = "static"
    target = "static"
  [[module.mounts]]
    source = "layouts"
    target = "layouts"
  [[module.mounts]]
    source = "data"
    target = "data"
  [[module.mounts]]
    source = "i18n"
    target = "i18n"
  [[module.mounts]]
    source = "archetypes"
    target = "archetypes"

Now the page content is present, but the css styles are missing.
Had to re-run hugo server, so that the page style can be displayed correctly.
Run the script again to recreate a new site will still have this problem.  Always appears on the first run of hugo server for a new site (with merge module), don't know why

This works (I have removed the replacement part, which I don't think is important here):
baseURL      = 'https://example.org/'
languageCode = 'en-us'
title        = 'My New Hugo Site'
[build]
  _merge = 'deep'
[module]
  _merge       = 'shallow'
  [[module.imports]]
    path = 'github.com/bep/hugo-starter-tailwind-basic/v3'
    [[module.imports.mounts]]
      source = "assets"
      target = "assets"
    [[module.imports.mounts]]
      source = "content"
      target = "content"
    [[module.imports.mounts]]
      source = "static"
      target = "static"
    [[module.imports.mounts]]
      source = "layouts"
      target = "layouts"
    [[module.imports.mounts]]
      source = "data"
      target = "data"
    [[module.imports.mounts]]
      source = "i18n"
      target = "i18n"
    [[module.imports.mounts]]
      source = "archetypes"
      target = "archetypes"

Note the placement of the mounts below the import, also the important assets mount where the CSS lives.
But note:

github.com/bep/hugo-starter-tailwind-basic is not meant to be used as a theme, but as a starter/example project. It works as a theme, but you need the above elaborate setup.
The replacements config was added before Go's workspace support; now I would recommend that you set up your development with work files, see https://gohugo.io/hugo-modules/use-modules/#module-workspaces

This only solves the first issue. Let's use my theme for testing, which is more intuitive..
(Note, run in WSL2, ubuntu 22.04.3)

Run the script, and the page will display as follows
#!/usr/bin/env bash
# remove dir for new test
rm -rf ./hugotest
hugo new site hugotest
cd hugotest
hugo mod init hugotest

cat >> hugo.toml<< EOF
[build]
  _merge = 'deep'
[module]
  _merge = 'shallow'
  [[module.imports]]
    path = 'github.com/canstand/compost'
EOF

hugo mod npm pack
npm install
hugo server  -logLevel debug

No need to make any changes, just press Ctrl+C to exit, then cd hugotest; hugo server, and refresh the page, it's back to normal.

But, If you replace _merge = 'shallow' in the script with the specific config, there will be no such issue.
  [[module.mounts]]
    source = "assets"
    target = "assets"
  [[module.mounts]]
    source = "hugo_stats.json"
    target = "assets/watching/hugo_stats.json"

screenshot
first run

after

Yea, OK, now I get it. What you see is the
[[module.mounts]]
  source = 'hugo_stats.json'
  target = 'assets/watching/hugo_stats.json'

Not considered to be a "watch candidate" when coming from a module. So, the configuration merge works, but I suspect it's a ordering "thing" where we evaluate the watch directories based on the project config only (not sure what, someone needs to look at the code).

OK, now I think I understand.
Running this locally, the mount assets/watching/hugo_stats.json mounts to<EMAIL_ADDRESS>To cut a long story short:

Eeach module has its own set of mounts which will be merged on file system level.
Merging the mounts config (with the _merge) doesn't (to me) make a whole lot of sense.

Anyhow, you need to move the hugo_stats mount to the project config.

Thanks, now I understand, I need to guide the theme users to explicitly configure mounts, not merge.
Thanks.


[TEST] use cpu reference for div_rn(x,y)

For precise_math case in intel XPU device, we found the LLVM optimization pass instCombine always re-write the pattern "fptrunc(OpI (fpextend x), (fpextend y))" to OpI(x,y) on Triton side which make an accuracy loss.
Use cpu result as reference, because the case itself focus on the precision of tl.math lib.

For precise_math case in intel XPU device, we found the LLVM optimization pass instCombine always re-write the pattern "fptrunc(OpI (fpextend x), (fpextend y))" to OpI(x,y) on Triton side which make an accuracy loss.

InstCombine shouldn't change precision so something sounds wrong here.
Since the xpu backend is currently downstream can you handle it there?

@ThomasRaoux Thanks for comment, actually InstCombine just do a simplification from (x.to(tl.float64) / y.to(tl.float64)).to(tl.float32) to x/y code like:
  %21 = fpext float %15 to double, !dbg !20
  %22 = fpext float %19 to double, !dbg !21
  %23 = fdiv double %21, %22, !dbg !22
  %24 = fptrunc double %23 to float, !dbg !23

to
 %16 = fdiv float %10, %14, !dbg !20

And this issue should be also valid for AMD backend even __ocml_div_{rm}_f32 is currently unimplemented.

For precise_math case in intel XPU device, we found the LLVM optimization pass instCombine always re-write the pattern "fptrunc(OpI (fpextend x), (fpextend y))" to OpI(x,y) on Triton side which make an accuracy loss.

InstCombine shouldn't change precision so something sounds wrong here.
Since the xpu backend is currently downstream can you handle it there?

@ThomasRaoux Thanks for comment, actually InstCombine just do a simplification from (x.to(tl.float64) / y.to(tl.float64)).to(tl.float32) to x/y code like:
  %21 = fpext float %15 to double, !dbg !20
  %22 = fpext float %19 to double, !dbg !21
  %23 = fdiv double %21, %22, !dbg !22
  %24 = fptrunc double %23 to float, !dbg !23

to
 %16 = fdiv float %10, %14, !dbg !20

And the precision is not the same? Do you have an example of float inputs giving different results with and without this transformation?

Bitwise difference on XPU device, and drop this PR for downstream fix.


Make marathon checkpoints look better

Maybe replace the commas with arrows or emojis and remove the quotes and brackets

Okay, On it

@bricehalder See comment on PR: https://github.com/wikispeedruns/wikipedia-speedruns/pull/530#issuecomment-1826372501


Update daily info header

Add a note explaining what = means
Remove an extra space in the strftime formatting at the top of the display


Remove unused method

I've noticed that we don't use getGeofence. @Abyss777, do you think we can remove it?

Do you mean DataManager.getGeofence ?

Yes, that one.

You are right, we should remove it. And also need to check and remove Datamanager.getX of all cached objects.

Done, removed getUser as well.

Good. Thanks.


Merge up qa-beta with main

Description

Checklist (Definition of Done)

[ ] Unit and integration tests added
[ ] Added test description under Test manual
[ ] Documentation added if necessary
[ ] CI and all relevant tests are passing
[ ] Add the ticket number to the PR title if available, i.e. ROX-12345: ...
[ ] Discussed security and business related topics privately. Will move any security and business related topics that arise to private communication channel.

Test manual
TODO: Add manual testing efforts
# To run tests locally run:
npm run test

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c99d38d) 8.02% compared to head (5940ca3) 8.02%.
Report is 25 commits behind head on qa-beta.

:exclamation: Current head 5940ca3 differs from pull request most recent head c66048f. Consider uploading reports for the commit c66048f to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           qa-beta    #164   +/-   ##
=======================================
  Coverage     8.02%   8.02%
=======================================
  Files           37      37
  Lines          561     561
  Branches       111     111
=======================================
  Hits            45      45
  Misses         477     477
  Partials        39      39

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


KBV-497: Added waiting spinner to fraud CRI

Proposed changes
What changed
Added waiting spinner to the fraud CRI service
Why did it change
To inform users there is active work going on behind the scenes
Issue tracking

KBV-497

Closed work already merged by @merlinc


Select Font dialog shows all text in Italic?

All texts (except for Sample Text) in Select Font dialog are shown italicized...

Is it a glitch or done intentionally?
Windows 7 64-bit SP1 (Visual Studio Community 2017)

You are correct in that it is a glitch. The text inherited the style of the group headers. Whoops :)
I'll fix it right away.

Thanks for the fix! I've downloaded the version 1.0.3 and the issue seems to be fixed.


Fix build status

Just to fix the build status

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@matjack1

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.


Database naming convention

@afbarnard
I saw your email about the mcrf database debacle.  I'm glad you chimed in.  I was really confused:)  What did you have in mind for a naming convention for database versions?  I don't have any strong opinions.  Looks like you had in mind  db_name.date_of_download.additional_info.sqlite3?

Yes, that's the convention I had in mind. In particular, the "data date" identifies versions of the data and connects files across various directories. Unfortunately, the data files have multiple dates, so choosing the data date is a judgment call. But for the latest data we can use the date of the zip file (07/05). The order of the "fields" in the DB name allows for sorting (as opposed to reversing the date and comment fields). This will come into play if we ever have multiple DBs representing the same data, for example, if we created a version of the data expressed as facts (pt-id, fact-id, value) and events (pt-id, date, event-id, value), we could name it something like emr.20180705.events.sqlite3 to sit next to emr.20180705.snomed.sqlite3.

I like the additional sorting you mentioned.  Should we add a doc somewhere to describe the naming convention in case anyone else is interested in adding a derived dataset to share?  Or perhaps add something to the README.txt in the shared sqlite_dbs folder?

I would vote for mentioning these sorts of things in the READMEs.


Update renovatebot/github-action action to 34.26.0

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
minor
v34.25.1 -> v34.26.0

Release Notes

renovatebot/github-action
v34.26.0
Compare Source
See the the changelog for changes in all releases.
34.26.0 (2022-11-16)
Bug Fixes

deps: update renovate/renovate docker tag to v34.26.0 (ea8dc31)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@balena-ci I self-certify!


some video id not working

video url : http://youtu.be/cXTNgLB7jjU
returns streaming url
https://r7---sn-ab02a0nfpgxapox-bh2e.googlevideo.com/videoplayback?key=yt5&mt=1435556624&sparams=dur%2Cgcr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&requiressl=yes&ip=<IP_ADDRESS>&expire=1435578332&sver=3&upn=EdEsS-iPGpM&lmt=1432380409973254&mv=m&source=youtube&ms=au&mime=video%2Fmp4&dur=131.192&pl=16&id=o-AF337QHMysPq4-dWQc4ZewhEjAIKN8V1CNg1rw_cpVLu&initcwndbps=4718750&itag=22&mn=sn-ab02a0nfpgxapox-bh2e&ipbits=0&mm=31&gcr=kr&ratebypass=yes&fexp=901816%2C9405183%2C9405960%2C9407141%2C9408142%2C9408420%2C9408710%2C9412843%2C9413503%2C9414965%2C9415332%2C9415450%2C9415635%2C9416103%2C9416126%2C9416456%2C9416484%2C9416675%2C9416729%2C9416916%2C948601%2C952640
but i can't see anything

I've had some users complain about video errors and black screens. However, they were mostly due to Vevo videos. Today, I pushed an update to both of my apps that utilizes this awesome class to use the new v2.2.0. I know the changelog doesn't mention anything in relation to fixing playback issues but, I will see if the reports stop after a couple days after most of my uses have adapted to the new version.

I can't see anything isn't very helpful. Please see the contributing guidelines to learn how to write a good bug report.
This video plays fine for me so I can't help without more information from you.

No reply from OP for one month, so I’m closing the issue.


Corrupted heap errors when calling a dll with an exported DDS function from an C++ application

I'm unable to use a C++ dll that contains an exported DDS function that is called from a C++ test console application.
Based on the Helloworld Datapublisher example in the OpenSplice SDK (\examples\dcps\HelloWorld\cpp\src) I have created an HelloWorld C++ dll. The HelloWorld dll exports the HelloWorldDataPublisher function which is called from the the test console application.
The problem is that exceptions/corrupted heap errors occur after HelloWorldDataPublisher function goes out of scope. It seems that this probably has something to do with the way DDS objects are created in the dll and deleted/freed by the DDS code.
I think that creating a new object on the heap of the dll:
typesupport = new HelloWorldData::MsgTypeSupport();
and then releasing it on the DDS side (removing is from the same heap?) is causing corrupted heap errors. Looking at the call stack when the breakpoint is triggered (after HelloWorldDataPublisher function goes out of scope):
template <class Type> inline DDS_DCPSInterface_var<Type>::~DDS_DCPSInterface_var ()
{
   DDS::release (m_ptr);
}

This releases an object in dcpssacpp.dll!DDS::release(DDS::LocalObject * p) Line 84	C++
Subsequently the following code is executed:
HelloWorldData::MsgTypeSupport::~MsgTypeSupport ()
{
   DDS::release(tsMetaHolder);
}

This releases an object in dcpssacpp.dll!DDS::release(DDS::LocalObject * p) Line 84	C++
Subsequently the following code is executed:
HelloWorldData::MsgTypeSupportMetaHolder::~MsgTypeSupportMetaHolder ()
{
   // Rely on parent destructor.
}

This calls the destructor of TypeSupportMetaHolder in dcpssacpp.dll!DDS::OpenSplice::TypeSupportMetaHolder::~TypeSupportMetaHolder() Line 155	C++
and the breakpoint is triggered:
Unhandled exception at 0x00007FFC5087479B (ntdll.dll) in DDSTestConsole.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FFC508D97B0).
These problems do not occur when using an application that contains the DDS interfaces itself (for example the HelloWorld SDK example). The problem occurs for both release and debug builds (not mixing release and debug builds of the dll and application of course).
Does anyone has an idea what is causing this problem and how to solve it?
P.S. I'm not sure if this is the most suitable place to report this problem (if not, please redirect me to the correct location).
Best regards,
Joris
Environment:
Windows 10
Visual Studio Express 2015
OpenSplice SDK version OSPL_V6_9_190705OSS_RELEASE (PXXX-VortexOpenSplice-6.9.190705OSS-HDE-x86_64.win-vs2015-installer.zip)
C++

.

Hi Johnnyxy,
Thank you for your answer.
I have tried solution 1 and added the macro you have suggested to both the dll and test application (in targetver.h just before #include <SDKDDKVer.h>).
Unfortenately I still get the corrupted heap errors I have described above.
Maybe I'm still missing something?
Best regards,
Joris

Hi, normally this should solve the issue.
You could test if the compiler enters the specific decision branch. Add code to stop compiling when entering a specific code branch.
In https://github.com/ADLINK-IST/opensplice/blob/c98e118a2e4366d2a5a6af8cbcecdf112bf9e4ab/src/abstraction/os/win32/include/os_sync.h#L45 add
#if _WIN32_WINNT < 0x0601
#error WIN_VER_TEST - _WIN32_WINNT < 0x0601
...
#else
#error WIN_VER_TEST - _WIN32_WINNT >= 0x0601
...
#endif

This will error out and tell you which code will be used.


Suppressing output

Hi,
I am running the CNVW1A1 network on the PYNQ-Z1, and I was wondering if there is a way to suppress the output printed to stdout. After running the examples in the CNV-BNN_Cifar10 Jupyter notebook, I created a Python script to run more images at a time.
First it instantiates the hardware classifier:
hw_classifier = bnn.CnvClassifier(bnn.NETWORK_CNVW1A1, 'cifar10', bnn.RUNTIME_HW)
Then I create an array of 500 images at a time and call:
result = hw_classifier.classify_images(images)
Unfortunately, every time I run this, it prints several lines of output:
Packing and interleaving CIFAR-10 inputs...
Running prebuilt CIFAR-10 test for 500 images...
<500 lines of results>
Inference took 165731 microseconds, 331.462 usec per image
Classification rate: 3016.94 images per second
After digging through the code in the repository, if I understand correctly, this output is produced by  python_hw-cnvW1A1-pynqZ1-Z2.so, specifically from the "testPrebuiltCIFAR10_multiple_images" function in foldedmv-offload.cpp.
If I misunderstood this, could you point me to where I could modify the code?
If I am correct, could you help me rebuild the .so file? When I run the make-sw.sh script in BNN-PYNQ/bnn/src/network, I do the following:
$ export XILINX_BNN_ROOT=/home/brit95/Documents/neural_networks/BNN-PYNQ/bnn/src/
$ export VIVADOHLS_INCLUDE_PATH=/opt/Xilinx/Vivado_HLS/2017.2/include/
$ ./make-sw.sh cnvW1A1 python_hw
I get the following error:
In file included from /home/brit95/Documents/neural_networks/BNN-PYNQ/bnn/src//library/driver/platform-xlnk.cpp:49:0:
/home/brit95/Documents/neural_networks/BNN-PYNQ/bnn/src//library/driver/xlnkdriver.hpp:49:25: fatal error: libxlnk_cma.h: No such file or directory
compilation terminated.
Thanks so much!

Hi,
You can install wurlitzer  that captures stdout and stderr via python, and there is no need to recompile.
In order to fix the compilation problem, you should execute the compilation (make-sw.sh) on the PYNQ board, after having moved the HLS include folder on the board.


[NewDot API] Create new API.js

cc @marcaaron and @yuwenmemon
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/211237
Tests
Tested in https://github.com/Expensify/App/pull/9220

🚀 Deployed to staging by @nkuoch in version: 1.1.70-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.1.70-1 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


x-axis labels getting cut off if they're too long

Hi,
I've noticed that with longer x-axis labels they will get cut when at smaller window sizes. Is this a bug or is there some way of defining the amount of padding around the chart? I've seen other issues regarding padding but for different reasons.
Also if there's a title then they overlap each other.

The first image is of the chart at a larger window size. The second is at a smaller window size

I'm having the same issue with v2.
Is this v2? If so, how do you have a line graph without those Points? :)

Yeah it's v2, the problem I was facing with the points was if you had a radius of 0 you can't make the tooltip appear (because there's so many points and the hit radius has to be really small to accomodate for them all, so at the moment i've given them a radius of 0.1 (which is a bit of a hacky fix to be able to actually hover over the points).
To do this how i've done it:
options = {           elements: {                   points: {                            radius: 0.1,                             hoverRadius: 3                    }           } }
radius makes the points almost non-existant and hoverRadius makes them larger when hovered over to make it clearer what point's being hit

Great. I've put it to 0.001, just to be sure. And read in another ticket that 0 was supposed to work, but is a bug and will be fixed. :)

Ah nice, well hopefully that's sorted by the end of beta then. :)

The radius 0 should already be fixed in the v2.0-dev branch

Awesome thanks @etimberg, any ideas about the x-labels being cut off and if it could be a bug or a problem on my part?

@dibsyjr1 it's a bug. I've seen it before and I know the cause. I'm unsure of how to fix it though. Essentially what happens is that the scale first thinks that the labels will be rotated, but then the size changes and the rotation does as well. Unfortunately, the size doesn't increase to account for the increased rotation.

Ah yes, I see. I thought it was odd that the rotation when it seemed like it shouldn't. If I understand what you're saying is happening correctly would it not be better to have rotation happen until the point where it has to start skipping labels and then once that happens just ignore the rotation from then on? That way there should be no confusion when calculating the size of the chart area. But yeah, this does sound like a tricky one.

Yeah, it get's really complicated. The fitting algorithm is in https://github.com/nnnick/Chart.js/blob/v2.0-dev/src/core/core.layoutService.js#L38-L320
At a high level, it works by doing the following:

Get all of the scales to fit to a maximum size. The scales return their minimum size
Place scales onto the canvas area and refit at their minimum size
Relax the sizing to allow some scales some extra room. This allows the rotated labels of the x axis to  be underneath the vertical scale.

It goes wrong when refitting the scales at their minimum size.

I wonder if I'm having a similar issue?
By default too many labels are shown which are auto-rotated. The last point on each lines gets cut off on the right edge.

    xAxes: [{
      type: 'time',
      time: {
        unit: 'day',
        format: 'YYYY-M-DTH:m:sZ',
        displayFormat: 'M/D',
        tooltipFormat: 'M/D',
        displayFormats: {
          'day': 'M/D'
        }
      },

On the flip side, when setting unitStepSize to a smaller number, labels get cut off from the bottom.

    xAxes: [{
      type: 'time',
      time: {
        unit: 'day',
        format: 'YYYY-M-DTH:m:sZ',
        displayFormat: 'M/D',
        tooltipFormat: 'M/D',
        unitStepSize: 7,
        displayFormats: {
          'day': 'M/D'
        }
      },

All this starts when you start setting up custom formatting. One hack I've found is adding a bunch of ninja spaces to the displayFormat, but that's not ideal since the labels are still rotated.
displayFormat: '                   '+'M/D',
Can you think of any workarounds for the time being? Thank you!

Add static value at line 5867 for cover all the heatbox of the labels.
			// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)
			totalLeftBoxesWidth = xPadding;
			totalRightBoxesWidth = xPadding;
			totalTopBoxesHeight = yPadding;
			totalBottomBoxesHeight = yPadding + 2; <== Custom

I don't know if this workaround is good, but it works for me:
Since labels are fine after resize I manually call resize prototype  method.
myLineChart.resize();
Hope it helps.

Does this still reproduce? Is there a fiddle for it? I tried to reproduce this and couldn't


Build fails on OS X Yosemite (10.10.5)

Running npm install fails with the following error:
(venv) Jorges-MacBook-Pro:node_modules jorgedr$ npm install hashtable

><EMAIL_ADDRESS>install /Users/jorgedr/go-work/src/github.com/jorgedr94/block-chain/hackfest/node_modules/hashtable
> node-gyp configure build

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/native/src/hashtable.o
In file included from ../src/hashtable.cpp:1:
../src/hashtable.h:7:10: fatal error: 'tr1/unordered_map' file not found
#include <tr1/unordered_map>
         ^
1 error generated.
make: *** [Release/obj.target/native/src/hashtable.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:192:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 14.5.0
gyp ERR! command "/usr/local/Cellar/node/7.5.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/jorgedr/go-work/src/github.com/jorgedr94/block-chain/hackfest/node_modules/hashtable
gyp ERR! node -v v7.5.0
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS>No repository field.
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/7.5.0/bin/node" "/usr/local/bin/npm" "install" "hashtable"
npm ERR! node v7.5.0
npm ERR! npm  v4.1.2
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp configure build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the hashtable package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs hashtable
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls hashtable
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jorgedr/go-work/src/github.com/jorgedr94/block-chain/hackfest/node_modules/npm-debug.log

npm-debug.txt

Hmm.. this does not seem to be a an issue of the OS version, I actually upgraded to MAC OS Sierra 10.12.3 and I still get the same error.

This is actually a duplicate of https://github.com/chad3814/node-hashtable/pull/31 . I forked the project with the fix and pulled a version of hashtable with that fixed and it worked.


Locating an owner in a Razor syntax tree can fail

With this document and cursor / location requested denoted by |:
@page "/"

Hello, world!

Welcome to your new app.
<SurveyPrompt Title="How is Blazor working for you?" />
<Input>
    <input />
</Input>|

Calling syntaxTree.Root.GetOwner(...) returns null. It should at the very least be returning the base document body.
This results in an unexpected flow at tooling time:

Note, this is actually a performance bug. The workaround put in place is responsible half the CPU Razor formatting uses in the wild, and Razor formatting is sitting at #3 CPU across VS. See 1828376 internally.

Logged https://github.com/dotnet/razor/issues/8781 for the perf concerns for the workaround, as tooling can look at that. We can keep this on this on the compiler side for getting a better FindNodeAtPosition API, and then hopefully we can remove the tooling workarounds altogether.


The game crashes once I installed SAUtils

i don't know if this ever happened to anyone but this problem makes the game unplayable AT ALL, once i installed SAUtils and run the game, it won't let me, it's force close instead and im clueless about this, i thought this is a common problem but no, no one has ever made a video or blog or anything about this crash, it's not crash once i click on my save game, but quickly force close like it's not made for my phone...
https://github.com/AndroidModLoader/SAUtils/assets/155373074/ea71d983-a4f0-4457-a3ca-f3c1b3d167d8

Use the latest official APK, not a random poop from the internet

alright, so, can you provide me a link to the official latest apk?, or is
there a specific website to download the latest version of the game?, if
there is, please give me the link and thanks for the help (i'm going insane)
On Sun, Feb 18, 2024, 21:39 [-=KILL MAN=-] @.***> wrote:

Use the latest official APK, not a random poop from the internet
—
Reply to this email directly, view it on GitHub
https://github.com/AndroidModLoader/SAUtils/issues/1#issuecomment-1951345497,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFBM4EV2ZCURCGNWX23AEXLYUIHAVAVCNFSM6AAAAABDOF4AGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJRGM2DKNBZG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have this issue

Use the latest official APK, not a random poop from the internet

Link?!


Create imputation method for local and regional median/average

The local, regional, and global regression imputation schemes all rely on the current detector having been active during one of our regression periods. This is not always true for some stations that have been unreliable for a long time.
One way to further fill in these gaps could be to just use averages or medians of values from local/regional stations. This would be much closer to a "nearest-neighbor" type of imputation scheme. A nice feature of this is that it would be pretty straightforward to implement: we are already collecting information from station neighbors and aggregating over it in the regression methods, and adding a new aggregation is not too difficult.
Now, we probably wouldn't consider this method to be super accurate, and downstream metrics could decide whether it's actually a good idea to include this method, but I think this could be a decent way to implement something similar #172 or #171 in a way that we understand and can defend.
Thoughts @kengodleskidot?

@ian-r-rose I think this would be a solid alternative to using #172 and #171 and could be used as our fallback alternative for imputed data after all other methods (local, regional, global) fail. For this method we could replace route/station type from the selection criteria (which I believe is used in the local/regional model) and use station type/number of lanes instead within a reasonable buffer and grabbing the average or median values for imputed values. It would be the least accurate imputation method but would be a catch all for any remaining stations that do not have sufficient observed data to utilize the other imputation methods. It would also maintain consistency with our other imputation methodologies and be easier to understand.

@ian-r-rose and @mmmiah will meet for knowledge transfer on this before Ian goes out.

@mmmiah did you and Ian have a chance to meet and discuss this one? Will you be taking this over?

@jkarpen, we did not get chance to meet, I will look into this and will start working on it from where Ian left. Thank you for checking! Appreciate!


FEATURE: Add the browser to apt

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I don't like installing apps from source and most of the planet uses Debian-based distros anyways.
Describe the solution you'd like
A clear and concise description of what you want to happen.
You could add it to apt.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
You could make a .deb too for easy install on Debian.
Additional context
Add any other context or screenshots about the feature request here.

A few notes here...
This would not be something as easy as packaging the application for apt if you want it to be installable without needing to add a repository to your /etc/apt/sources.list. That would require getting the PPA including in the default shipped list by the distros that utilize apt. This could be done much more easily if you were willing to manually add a repository for this specific application to your sources.list; however, it still probably isn't something I'd see @face-hh implementing until the software is in a more stable state. I would keep this issue on the oven to let it cook a little longer.
A final note, though, is that it would be easy to simply add a .deb build in the releases section. However, there still is no CI/CD on the repository to make the releases. Until then, I don't see this being done either as it would require an extra build manually from @face-hh before each release.

A few notes here...
This would not be something as easy as packaging the application for apt if you want it to be installable without needing to add a repository to your /etc/apt/sources.list. That would require getting the PPA including in the default shipped list by the distros that utilize apt. This could be done much more easily if you were willing to manually add a repository for this specific application to your sources.list; however, it still probably isn't something I'd see @face-hh implementing until the software is in a more stable state. I would keep this issue on the oven to let it cook a little longer.
A final note, though, is that it would be easy to simply add a .deb build in the releases section. However, there still is no CI/CD on the repository to make the releases. Until then, I don't see this being done either as it would require an extra build manually from @face-hh before each release.

Can you not just compile it and upload to releases? GTK is built for linux so I wouldn't have thought it would be that difficult to build for linux.

I think this is a bad idea, as most apt users are probably on Ubuntu 22.04 or Debian 12, both of which are too outdated for Napture to build/run. If we were to implement this, we would probably have tons of people spamming the issue tracker with "waa napture no install" like we already have with the install script and AppImage (I really have to look into that one tho)

I think this is a bad idea, as most apt users are probably on Ubuntu 22.04 or Debian 12, both of which are too outdated for Napture to build/run. If we were to implement this, we would probably have tons of people spamming the issue tracker with "waa napture no install" like we already have with the install script and AppImage (I really have to look into that one tho)

It's like a 2 line fix to make 22.04 work since that's what I'm on like they're not even using any GTK and adwaita stuff that's in those versions and all they have to do is change them to like 2 versions behind 1_5 for adwaita and 4.12 for GTK

I think this is a bad idea, as most apt users are probably on Ubuntu 22.04 or Debian 12, both of which are too outdated for Napture to build/run. If we were to implement this, we would probably have tons of people spamming the issue tracker with "waa napture no install" like we already have with the install script and AppImage (I really have to look into that one tho)

It's like a 2 line fix to make 22.04 work since that's what I'm on like they're not even using any GTK and adwaita stuff that's in those newer versions and all they have to do is change them to like 1-2 versions behind 1_5 for adwaita and 4.12 for GTK

Ok, and since it's such a simple fix, why don't you contribute it upstream then?

I think this is a bad idea, as most apt users are probably on Ubuntu 22.04 or Debian 12, both of which are too outdated for Napture to build/run. If we were to implement this, we would probably have tons of people spamming the issue tracker with "waa napture no install" like we already have with the install script and AppImage (I really have to look into that one tho)

It's like a 2 line fix to make 22.04 work since that's what I'm on like they're not even using any GTK and adwaita stuff that's in those newer versions and all they have to do is change them to like 1-2 versions behind 1_5 for adwaita and 4.12 for GTK

Ok, and since it's such a simple fix, why don't you contribute it upstream then?

I don't think it'll get accepted but I think I commited in my new pr with the version changes so I technically already did contribute it

bad idea in my opinion. apt is usually stable.

I have added .deb support for napture in the GitHub actions workflow, I am trying to add .rpm support now.
Here's the repo (look at the workflow in .github/workflows/build_napture.yml): https://github.com/RealPacket/webx-github-actions
Build the .deb yourself (cd into the napture directory before running):
echo "Installing dependencies..."
sudo apt-get update
sudo apt-get install -y libglib2.0-dev libcairo2-dev libgraphene-1.0-dev libgtk-4-dev libadwaita-1-dev
sudo add-apt-repository universe
echo "Dependencies installed."
echo "Building Napture..."
# not sure if this is needed, as this job's code is built off of the AppImage code.
# export PKG_CONFIG_PATH=/usr/lib/pkgconfig
cargo build --release --verbose
echo "Napture built successfully."
crate_version_raw=$(cargo metadata --format-version=1 --no-deps | jq '.packages[0].version')
crate_version_raw_len=${#crate_version_raw}
crate_version=$(echo $crate_version_raw | cut -c 2-$(expr $crate_version_raw_len - 1))
revision=$(git rev-parse HEAD | cut -c 2-)
# format: find PATH -type f -exec sed -i 's/TEMPLATE_KEY_NAME: template_value/'TEMPLATE_KEY_NAME: VALUE'/g' {} \;
find deb/DEBIAN/control -type f -exec sed -i "s/Version: template_value/Version: $crate_version-$revision/g" {} \;
find deb/DEBIAN/control -type f -exec sed -i "s/Architecture: template_value/Architecture: $(dpkg --print-architecture)/g" {} \;
install -Dm755 ./target/release/webx deb/usr/bin/napture
install -Dm644 ./io.github.face_hh.Napture.metainfo.xml -t deb/usr/share/metainfo/
install -Dm644 ./io.github.face_hh.Napture.desktop -t deb/usr/share/applications/
install -Dm644 ./io.github.face_hh.Napture.svg -t deb/usr/share/icons/hicolor/scalable/apps/
dpkg-deb --build deb
mv deb.deb napture-linux-nightly.deb

Hey, thanks!


Which permissions are required for deleting an ACL document?

When deleting an ACL document R in a container C, do we require:

Write and Control permissions on R?
Write permissions on C?
Both?
Something else?

See #195.

Something else. When deleting an ACL document R about a target T, we require Control on T.
This is explained in https://github.com/solid/web-access-control-spec#referring-to-the-acl-resource-itself
Moving this issue to the WAC repo.

Thx, mainly for consistency with #195

P: ACL document R of root C can't be deleted.
P: If R can occur in containment triples, then Write permission on C is required ( if based on https://github.com/solid/solid-spec/issues/195#issuecomment-559799154 ). If R can't occur in containment triples (see also https://github.com/solid/specification/issues/116 ) then Write permission on C is not required.
P: R is an RDF Source. R can be created, updated and deleted using the same methods.
Taking this as a whole, Write is the only requirement to delete R.


To insert data, the processor uses a query request, not an update request

see https://www.w3.org/TR/sparql11-protocol/#update-via-post-urlencoded


PackageId:CPython39.Exe.x64;PackageAction:DownloadPackage;ReturnCode:0x80070197;

This issue has been moved from a ticket on Developer Community.

Trying to upgrade VS 2022 to version 17.4.5 causes this error
===DO NOT EDIT BELOW THIS LINE===
PackageId:CPython39.Exe.x64; PackageAction:DownloadPackage; ReturnCode:0x80070197;

Original Comments
Feedback Bot on 2/16/2023, 06:47 PM:
(private comment, text removed)

Original Solutions
(no solutions)

It seems the problem occurs when the CPython installer fails. This could be due to network timeouts, corporate firewall policy, VPN configuration, anti-virus, or other problems. See if a retry helps, and if not, see if you can download the Python runtime directly from https://python.org/ and install it manually.
If that doesn't solve your issue, we could use more detailed logs to see what's really going on. Can you please collect more logs by running http://aka.ms/vscollect.exe and uploading %temp%\vslogs.zip and reopen the ticket if it persists? Thank you!😊


style: fix styles in modal-redux example

Pull Request Test Coverage Report for Build 1885

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 76.75%

Totals

Change from base Build 1877:
0.0%

Covered Lines:
1755

Relevant Lines:
2188

💛  - Coveralls


Allow spaces in network names

#1510 introduced some restrictions over the libnetwork resource names.
It was reported the restrictions are too strict, and are breaking Microsoft CI.
Unless we decide to revert back #1510, this PR modifies the constraints to allow spaces in resource names.
Signed-off-by: Alessandro Boch<EMAIL_ADDRESS>

ping @jhowardmsft

LGTM. Thanks @aboch.  @msabansal FYI

Thanks @sanimej. I took care of your comment. PTAL

After #1510 we would have allowed a network name to end with . which is not allowed now. But I think name ending with . will probably cause more confusion. So this LGTM.

Yes.
Also, ideally this regex should be defined in one place only in docker/docker and passed to libnetwork via config option where it would be a member of controller structure, instead of a package variable.

@aboch @mavenugo Is there a PR to re-vendor into docker/docker? I'd really like to see this fix make it into the engine 1.13 release 😇

@jhowardmsft I will open one by end of day once we get other PRs merged.

Also, regarding this change, we will make sure it goes into 1.13

Neat, thank you @aboch 👍


Upgrade consul-template to 0.18.5

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Module manager throws error after keda installation

Description
After installing keda module the module manager is flooded with errors about unexpected empty response from external metrics API
Expected result
Module manager should log no errors
Actual result
E1019 13:33:16.429504 1 memcache.go:206] couldn't get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1
E1019 13:33:16.525036 1 memcache.go:206] couldn't get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1
E1019 13:33:16.625030 1 memcache.go:206] couldn't get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1
E1019 13:33:16.657362 1 memcache.go:206] couldn't get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1
E1019 13:33:16.719262 1 memcache.go:206] couldn't get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1

Steps to reproduce
Follow the steps to install keda
https://github.com/kyma-project/keda-manager#installation-in-modular-kyma-on-the-local-k3d-cluster
Observe logs of the module-manager in kcp-system namespace
Attachments
template.yaml.txt
Related Issues
https://github.com/kedacore/keda/issues/1797

This is a harmless log that is not possible to fix in keda manager. It comes from client-go.
Lets accept it for the time being.


Settings editor scrolls over focus outline

See:

Duplicate of https://github.com/microsoft/vscode/issues/183503


Remove dead code from switchlink.

This code has been taken from P4-OVS, which is not being used now.
Signed-off-by: Sandeep N<EMAIL_ADDRESS>

This code has been taken from P4-OVS, which is not being used now.
Signed-off-by: Sandeep N<EMAIL_ADDRESS>
This code was added by Nupur on 12/9/2022 as part of the solution to a synchronization problem between krnlmon and stratum in infrap4d.

This code has been taken from P4-OVS, which is not being used now.
Signed-off-by: Sandeep N<EMAIL_ADDRESS>
This code was added by Nupur on 12/9/2022 as part of the solution to a synchronization problem between krnlmon and stratum in infrap4d.

Sync between krnlmon and stratum is taken care by below code:
rc = pthread_mutex_lock(&rpc_start_lock);
krnlmon_assert_perror(rc);
while (!rpc_start_cookie) {
rc = pthread_cond_wait(&rpc_start_cond, &rpc_start_lock);
krnlmon_assert_perror(rc);
}
rc = pthread_mutex_unlock(&rpc_start_lock);
cookie_cv was introduced long back and we are not using it now.
https://github.com/ipdk-io/ovs/blob/8970385836c16430c98c6efc341022520aa019c6/switchlink/switchlink_main.c#L296
https://github.com/ipdk-io/ovs/blob/8970385836c16430c98c6efc341022520aa019c6/switchlink/switchlink_main.c#L377


Will you consider TensorInfo to support nlp or voice?

Thanks for your open source, I would like to extend this project to support speech or NLP models. I found the  TensorInfo does not support  nlp or voice .
https://github.com/iwatake2222/InferenceHelper/blob/9fbdc14f8a0fcd042519705ade6bc9a578cfd6b5/inference_helper/inference_helper.h#L26

Good point!
Currently this library is tuned for image data (2d data). I also want to make it more general and able to use other data like 1D, sequencal or even table data.
However, it will require lots of work and refactoring most of code... So, I don't have plan to do it at the moment...

This issue was closed because it has been inactive.


Some members have incorrect class field

Some people on the members page are in the wrong class, e.g. Alpha class has a lot of people who aren't in it (actual class was something like 6-8 people). Will need to go through data in firebase and fix (use the member masterlist).
Also we need to fix the member masterlist, as currently class information is lost for alumni. Can we revert to an older version and keep alumni in the same sheet as active members and just use the status column to indicate alumni? Moving to a new sheet and removing class will make record keeping difficult.

@vitorvicente do we have an admin page where we could easily change this? Perhaps it could copy the manage users in Inquistor? Or better yet, perhaps managing users/roles should be functionality of the main website and we can move those admin pages to this codebase later.

There is a panel but it's restricted to EBoard, this was prior to the admin role

Ok as long as there's an easy way to modify user data that's fine, permissions can be changed later to allow admins if needed.

This should be fixed now, I have revised every Alumn to make sure they are correctly assigned their class, this also brings to light that the way we are currently storing profile pictures really is inefficient, since if we move their classes, we need to move their profile pictures...
Making an issue to refractor ProfileIMGs


S3: Object retention (ObjectLock) or no-delete policy is not always considered when deleting objects

Firstly: I'm using Windows 11 and my environment is built using pip install. I have these versions:
moto     5.0.9
boto3    1.35.0
botocore 1.35.0

Well, no, firstly, thanks for the great work!
My intention was writing a file which couldn't be deleted. To that purpose, I've looked for everything I need to create a properly configured bucket, and then write an object with any required option.
I'd say I have succeeded because, when trying to remove the file, I get a Forbidden error. The problem is that if I use an Bucket(...).filter(...).delete(), the file is removed.
This test works, but shouldn't: Commented are some lines I'd say would be required to have a read-only file. The only required thing (s3_object.delete() will work without it) is the policy configuration.
I am now thinking that this is not a problem about OblectLocks, but about respecting the policy. Using OblectLocks makes no difference (or I am missing something to make them work).
I must say I can't tell my code works on the real AWS (I can't create such buckets) but being unable to remove the file in one way and having the file removed in a different one (both using moto), I'd say we have something.
import boto3
from botocore.exceptions import ClientError
import json
from moto import mock_aws as MockAWS
import pytest

def test_write_only_file():
    with MockAWS():
        do_test_write_only_file()

def do_test_write_only_file():
    s3r = boto3.resource('s3')
    s3c = boto3.client("s3")

    bucket_name = "some_bucket"

    s3c.create_bucket(
        Bucket=bucket_name,
#       ObjectLockEnabledForBucket=True
    )

    bucket_policy = {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "DenyDelete",
                "Effect": "Deny",
                "Principal": "*",
                "Action": "s3:DeleteObject",
                "Resource": f"arn:aws:s3:::{bucket_name}/*",
            }
        ]
    }

    # Set the bucket policy
    s3c.put_bucket_policy(
        Bucket=bucket_name,
        Policy=json.dumps(bucket_policy)
    )

#   s3c.put_bucket_versioning(
#       Bucket=bucket_name,
#       VersioningConfiguration={
#           'Status': 'Enabled'
#       }
#   )

#   s3c.put_object_lock_configuration(
#       Bucket=bucket_name,
#       ObjectLockConfiguration={
#           'ObjectLockEnabled': 'Enabled',
#           'Rule': {
#               'DefaultRetention': {
#                   'Mode': 'COMPLIANCE',
#                   'Days': 30  # Retain the object for 30 days, for example
#               }
#           }
#       }
#   )

    # Finally, create an object
    s3_key = "some/path/filename"
    s3_object = s3r.ObjectSummary(bucket_name, s3_key)

    with pytest.raises(ClientError) as e:
        s3_object.load()  # Obviously, the file is still not there
    assert "Not Found" in str(e.value)

    s3_object.put(
        Body=b'this can not be deleted',
#       ObjectLockLegalHoldStatus="ON",
#       ObjectLockMode='COMPLIANCE',
#       ObjectLockRetainUntilDate="2024-12-12T00:00:00.000Z"
    )
    s3_object.load()

    with pytest.raises(ClientError) as e:
        s3_object.delete()
    assert "Forbidden" in str(e.value)

    # Object is not deleted, so this works
    s3_object.load()

    result = s3r.Bucket(bucket_name).objects.filter(Prefix=s3_key).delete()
    print(result)  # We can see the file listed in result[0]["Deleted"], it should be in ...["Errors"]

    # This shouldn't raise (object not removed) but it does, the object is not there!!
    with pytest.raises(ClientError) as e:
        s3_object.load()
    assert "Not Found" in str(e.value)

Meanwhile, can you think of any other method to get any error inBucket(...).filter(...).delete()?

Hi @oesteban-vx! BucketPolicies and ObjectLocks should work the same, as far as I know - they should both cause deletion of an object to fail. I've validated this against AWS, and raised a PR to duplicate this behaviour in Moto.

Meanwhile, can you think of any other method to get any error inBucket(...).filter(...).delete()?

In Moto, or in AWS? In Moto we didn't have any validation. In AWS... probably if an object is in the wrong storage class, like Glacier? As far as I know, that will also throw an error, because you're supposed to move it back to regular storage first.

Meanwhile, can you think of any other method to get any error inBucket(...).filter(...).delete()?

In Moto, or in AWS? In Moto we didn't have any validation. In AWS...

Would be in moto. It's about testing the failure part of some method (the one using...filter()..delete()).

Moto >= 5.0.14.dev21 now contains the logic so that filter()..delete() should fail with a ObjectLock/policy in place.

A few more improvements as of moto >= 5.0.14.dev27 @oesteban-vx:

Object Deletion now always fails if the LockMode=GOVERNANCE
(If an object has LockMode=COMPLIANCE, it can still be deleted if a special flag (bypass_governance=True) is set)
Adds validation that a bucket is versioned before calling put_object_lock_configuration
Deletion will also fail if a LegalHold has been set (see https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/client/put_object_legal_hold.html)


Add support for quoted time related keywords.( CURRENT_DATE, CURRENT_TIM...

resolves #2111 Add support for quoted time related keywords.( CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP )

After further discussion with @martint, I think we came to the conclusion that this is actually the wrong behavior: these special functions are specified in the SQL grammar in the non-quoted form. If they are quoted, they should be treated as an identifier. So the existing behavior is actually correct. Sorry to have you work on this.

Not a problem. The bug helped me understand a bit of ANTLR and how parser works about which I had no clue earlier :)


Feature: Add Xaml Styler step to devops pipeline

Requirements
Add Xaml Styler step to devops pipeline to make sure the xaml is formatted correctly. https://www.nuget.org/packages/XamlStyler.Console

How can I modify the devops pipeline?

https://github.com/files-community/Files/blob/main/builds/azure-pipelines.yml

FYI: v3.2311.2 has been published about two hours ago
https://github.com/Xavalon/XamlStyler/issues/429#issuecomment-1809602637


day&night transition

Transition in the game should not depend on time but score.
Also the task has been been completed in this PR.
Thus closing this PR


Ubuntu 16.04

Hi..
I use your theme on both laptop and desktop, and wanted to hear if you are gonna support Ubuntu 16.04 as well? It should be quite close to 15.10 since it uses it same nautilus.
Thank you for a great theme!

Hey @vooze!
Sure, I am going to support Ubuntu 16.04. It's actually on a very high priority right now! But, I'd like to roll out changes as soon as I can!

Awesome, looking forward to it! :)

When support 16.04?

looking forward to supporting 16.04

+1

you can enable the theme with the unity tweak tool.
see: http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/
then open a terminal and start unity-tweak-tool
i cant get the icons to work getting error
E: Unable to locate package ultra-flat-icons-orange
Is there some way i can download it without terminal and add the icons myself?

EDIT:
found the icons here: https://launchpad.net/~noobslab/+archive/ubuntu/debian/+sourcepub/4751335/+listing-archive-extra
:+1:

cd && wget -O Ultra-Flat.deb https://launchpad.net/~noobslab/+archive/ubuntu/icons/+files/ultra-flat-icons_1.3.2~trusty~Noobslab.com_all.deb && sudo dpkg -i Ultra-Flat.deb

Hi. Sorry if I sound like am idiot, but how is 16.04 support coming along? Seems there still are quite a few issues. Let me know if some donations or something could help, since I can't really help with the code.

Closing, as this is no longer relevant. Ubuntu 16.04 version was tagged and released.


iOS restricting performance, affecting Flutter frame rate

iOS sometimes appears to restrict the performance of the device causing Flutter apps to run at a lower frame rate. There aren't any conditions for which I seem to notice this e.g. low power mode isn't on, plenty of battery etc.
This first video is of a Flutter app downloaded from the App Store. (I did also try another Flutter app from the App Store). I start off just using the app with a noticeably slower frame rate to usual (watch the video in 60fps to notice it clearly). I then start screen recording on the device. An outcome of this is that the Flutter app appears to be running at a normal frame rate again. I then stop screen recording and the frame rate drops again: https://youtu.be/XZQkxxD-YQA
This second video is of Google Maps with screen recording off then on. Google Maps also has this issue and as far as I know Google Maps uses OpenGL. I also tried Apple Maps but there aren't any frame rate issues here. https://youtu.be/zStY0TZrJoc
This was on an iPhone 7 running iOS 12.4. Shortly after recording both of these the issue went away so I wasn't able to profile the device while this was happening.
I know there's an issue open about using Metal instead of OpenGL on >=11.0 then falling back to OpenGL on <11.0: #18208. I haven't used a device running <11.0 in a while so haven't been able to check this is true for <11.0, but I've seen it on 12.1.2 as well.

Do you see it in landscape mode?

We were running into OpenGL driver issues that showed similar behavior. I haven't observed this after the switch to Metal. Can you try again on the latest stable branch to see if this is happening now.

@chinmaygarde Hi, I see this problem in 1.17.3 stable version (release mode).
You can just start record screen in iOS and you will see that the frame is better.

@chinmaygarde I've not seen it happen in a while now.

@tomalabaster
Given your last message, I am going ahead and closing this as resolved. If you disagree or think this need to be kept open, write in comments and I'll reopen.
Thanks.


MAINT: Move report code

Let's try this from another angle. This PR just moves mne/report.py->mne/report/report.py along with its accompanying paths and infrastructure. Then once that's done @hoechenberger you can easily overwrite and the diff should be more manageable.
@hoechenberger an easy way once this is merged (if we go this route) would be to:
git fetch upstream
git checkout main
git reset --hard upstream/main
git checkout -b report2
git checkout report mne/report/report.py mne/data/html_templates.py mne/report/__init__.py ... # all files you changed
rm mne/html/jquery.js ... # all files you deleted
git reset  # if you want to be able to see "git diff"
git commit -am 'ENH: Rework report'
git push origin -u report2

It'll only take a minute to enumerate the files changed and files deleted, so not too painful I think.

thx @larsoner
CI failures are unrelated

Thanks a bunch, @larsoner!!


Fix a problem in the poll service

Closes #2914
An array is an reference type and can be changed. So copy the array helps.

Add the fix to the two other poll services.


add prom metrics to frontend

What this PR does
Before this PR:
Frontend has no monitoring
After this PR:
Added prometheus metrics collector and init
Jira: https://issues.redhat.com/browse/ARO-6284
Special notes for your reviewer
curling /metrics shows this:
curl -X GET <IP_ADDRESS>:8443/metrics
# HELP frontend_count
# TYPE frontend_count counter
frontend_count{api_version="",code="200",route="/healthz/ready",verb="GET"} 1
frontend_count{api_version="",code="200",route="/metrics",verb="GET"} 2
# HELP frontend_duration
# TYPE frontend_duration gauge
frontend_duration{api_version="",code="200",route="/healthz/ready",verb="GET"} 0
frontend_duration{api_version="",code="200",route="/metrics",verb="GET"} 0
# HELP frontend_health
# TYPE frontend_health gauge
frontend_health{endpoint="/healthz/ready"} 1

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Deployment: The deployment process was considered and addressed if required
[ ] Testing: New code requires new unit tests.
[ ] Documentation: Is the documentation updated? Either in the doc located in focus area, in the README or in the code itself.
[ ] Customers: Is this change affecting customers? Is the release plan considered?

It looks like you addressed all of @AldoFusterTurpin's requested changes, so I'm going to dismiss his review in order to unblock this.


Optimize Kibana memory usage

Optimize Kibana pod memory usage following Kibana team recommendations (see https://github.com/elastic/kibana/issues/59842#issuecomment-602292526).
Also set CPU request = CPU limits as best practice (related to #458)

[x] Chart version not bumped (the versions are all bumped and released at the same time)
[x] README.md updated with any new values or changes
[ ] ~Updated template tests in ${CHART}/tests/*.py~
[ ] ~Updated integration tests in ${CHART}/examples/*/test/goss.yaml~

jenkins test this please


Fix: when filter is applied via URL, the app won't load due to initial values undefined.

Codecov Report

Merging #122 into master will increase coverage by 0.55%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #122      +/-   ##
==========================================
+ Coverage   57.29%   57.85%   +0.55%
==========================================
  Files          92       92
  Lines        1433     1433
==========================================
+ Hits          821      829       +8
+ Misses        612      604       -8

Impacted Files
Coverage Δ

src/reducers/filterReducer.js
85% <100%> (+20%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 469df9f...a1fc8b7. Read the comment docs.

Coverage increased (+0.9%) to 55.11% when pulling a1fc8b7d04036db101247a107848b2864e9e7f34 on macrobug:bugfix/when-url-filter-undefined into 469df9f79a423805a799b16d1bc1314a8bb6bbfe on Azure:master.