dockerize node app, mysql, and load balancer with dynamic configuration

We are preparing to deploy this app to a production host, and I would like to do so in a reproducible manner. This is a first attempt at using Docker to run the app and related processes in linked containers.
The general architecture is a load balancer (nginx) that proxies requests to the node app(s). The node app(s) connect to a database (mysql) container. The database container persists data to a data volume container. The data volume container should make backups and migrations easier while also allowing individuals to run the production architecture locally with their own data source.
In addition to having a reproducible architecture, I'd also like to continuously deploy the app with zero downtime. Ideally, a successful build on CI would trigger a build of the Docker image. Docker Hub provides webhooks for when the new image is pushed. The webhook would trigger pulling down the new image and starting new containers based on it. Then, those new containers would be added to the load balancer. Finally, the old node containers would be removed from the load balancer and deleted to maintain disk space.
How can we change upstream destinations in the load balancer?
Ideally, we want to keep the load balancer container running while changing and reloading its configuration. In order to know what upstream destinations are available, we can use Consul for service discovery which can be populated by Registrator. "Registrator automatically registers and deregisters services for any Docker container by inspecting containers as they come online." Consul Template queries Consul, renders the nginx configuration with available services (node apps), and then sends a HUP signal to nginx so it re-reads the configuration.
If a new web container is started, Registrator registers it with Consul. Consul Template queries Consul, sees the new service, renders the nginx configuration, and signals nginx to reload.
If an existing web container is stopped or becomes unhealthy, Registrator deregisters it from Consul. Consul Template queries Consul, sees the services have changed, renders the nginx configuration, and signals nginx to reload. (Using environment variables, Registrator can configure Consul to perform health checks on services. I added a simple endpoint to make a generic SELECT 1 query and reply. If a container gets hung, it will be removed. If all upstream containers are removed, nginx will reply with a 502. At that point, a monitoring service would alert us that there's a serious problem.)
I added an integration test that scales web containers up and down as well as removing them to simulate the above scenarios. Assuming you have your docker-machine setup and running, you can run this test with node test/docker/load-balance
This architecture is based on these posts:

A sample Docker workflow with Nginx, Node.js and Redis
Development with Docker Compose
Load-balancing Docker containers with Nginx and Consul-Template (code on GitHub)

How can we continuously deliver new app images?
I don't have this 100% figured out yet so any help would be much appreciated :smile:

Created Automated Build of this repository's Dockerfile
Create webhook as part of Docker Compose to "deploy"
Create deploy script to pull new image, start new containers, and remove old containers

[x] run node app inside docker container
[x] link node app to database and load balancer
[x] discover containers and update load balancer config
[x] add /health endpoint for Consul health checks
[x] test load balancing works
[x] create Docker Hub org
[ ] create Docker Hub repo for this repo's main Dockerfile
[ ] create Automated Build on Docker Hub
[ ] update Travis-CI config to trigger Automated Build
[ ] create webhook for Automated Build notifications
[ ] create deploy script to change node apps

@maxbeatty Hey Max.
One of my co-workers said you were looking for feedback on your approach in the slack devops channel.  We have done this exact setup before so I figured I would give this a read over and see where you are at and where you are still struggling.  Couple of questions I had here

Just one note, above you state "If an existing web container is stopped or becomes unhealthy, Registrator deregisters it from Consul.", this is not correct.  Consul is the one that senses that the service has failed and Consul Template will regenerate the NGINX config without that service.  Registrator is only watching the Docker daemon and registering/deregistering based on what is running.
How are you handling secrets?  If you are using the public docker hub, anyone can download the image and deconstruct it and pull out your secrets if they are in the build.  We use environment variables and at the deployment step, we include them in the docker run command line.  This means that your deployment machine that is receiving the Webhook from docker hub must be trusted and have these variables
What is keeping your node server running?  Is it in a "forever"?  Recall when node gets and exception it will crash.  You could also use "restart always" on the docker container
How is consul template reaching the nginx container?  Is it running inside of it or on the host machine?  For cleanliness I have been using "runit" so that I can keep the processes isolated and independent of the host machine.  I am also using that in my node code to restart node if consul template regenerates the configuration (for your database service for example).  This also gives me something to restart the service if it crashes for whatever reason without needing to restart the entire container.  Here is a link to a node application that is dynamically searching for a "Crossbar" service using consul and consul template.   https://github.com/thehq/docker-crossbar-nodejs-service-consul.

Anyways, let me know where you are at and if you have this working.  We did this a few months back and are now working on a system to try and automate this sort of thing.  Would love to talk about your requirements, issues you faced, etc.

@ericchapman thanks so much for taking the time to look this over! Good clarification on who deregisters. I'll update the description accordingly.

How are you handling secrets?

We are using environment variables stored in a file. For sanity's sake, we should probably explicitly ignore that in the .dockerignore. We will need to generate this file on our production machine. I'd be interested in using something like Vault in the future.

What is keeping your node server running?

Currently, nothing :sunglasses:. Initially, I had npm spawning nodemon (similar to forever) which spawned node, but the SIGTERM from Docker, when I wanted to stop a container, wasn't being passed to the child processes (long standing npm issue). If uncaught exceptions become a problem, I'll vote to go with "restart always" on the container.

How is consul template reaching the nginx container?

We'd be running them both inside the same container using runsvdir. Even though this goes against Docker's best practice of "run only one process per container", it feels a lot simpler than writing files between containers and doing additional linking.

Very cool.  On the "How is consul template reaching the nginx container?", I am doing it the way you are.  I agree and understand it is against best practice but all of the other solutions I came up with seemed WAYYYY hackier so I did it that way.  Haven't had an problems yet but understand the reasoning for it not being a best practice.  Landed on "if it aint broke, don't fix it." :)

@asilluron Exciting!

Just putting the icing on @maxbeatty's docker work.
Here's a short overview of how docker building is setup and could be setup.

New PR: Travis pulls the branch and builds the image just as docker hub would. Travis then tests on a docker container.
PR is Merged: DockerHub is triggered into building a new image (from Master) and tags the new image with 'latest'
Webhook on dockerhub can trigger new deployment
Run sh docker/deploy.sh takes down existing web containers and replaces them one by one

What is missing:

Final webhook from DockerHub to handle prod deployment (could be from Travis but would require pushing the latest docker image build from Travis then pushing that up to DockerHub).

:+1: Awesome work, y’all. :+1: This brings us close to finally launching v2!

What’s the status on this? Is anything in particular blocking the final webhook?

No blocks
On Tue, Feb 23, 2016 at 2:14 PM, Mathias Bynens<EMAIL_ADDRESS>wrote:

What’s the status on this? Is anything in particular blocking the final
webhook?
—
Reply to this email directly or view it on GitHub
https://github.com/jsperf/jsperf.com/pull/58#issuecomment-187603355.

--
Thanks
Gowtham Balashanmugam
P Before printing think about your responsibility & commitment towards
the Environment!

The very last hook is completely dependent on the production host(s).
I am not sure who the hosting provider is but that that last hook just needs the config info for the hosting provider (as managed on dockerhub).
This branch should be good to go. The only open question was whether Travis should build the Docker image and push to DockerHub or if we should let DockerHub create the image (as is currently set up).

We’d host the whole thing on a DigitalOcean droplet.

Let's stick with Docker Hub's Automated Builds since that's their specialty (and it's already done :grin:). I'll whip up a webhook in a separate repository that calls the deploy script

Perfect.
and yes .. good catch, totally missed the tag on there.
On Wed, Feb 24, 2016 at 5:36 PM, Max Beatty<EMAIL_ADDRESS>wrote:

Let's stick with Docker Hub's Automated Builds since that's their
specialty (and it's already done [image: :grin:]). I'll whip up a webhook
in a separate repository that calls the deploy script
—
Reply to this email directly or view it on GitHub
https://github.com/jsperf/jsperf.com/pull/58#issuecomment-188552078.

:shipit:


chore(RHTAPWATCH-562): Create a dummy service to be deployed in RHTAP

Add a dummy service in Go
Add the unit test file in Go

Reference link:
[1] https://www.digitalocean.com/community/tutorials/how-to-write-unit-tests-in-go-using-go-test-and-the-testing-package
[2] https://wawand.co/blog/posts/how-to-mock-an-external-service/
[3] https://www.youtube.com/watch?v=XQzTUa9LPU8

Nicely done. Please move everything to a sub-directory under the exporter dir (per the ACs). We might have more exporters in the future.

@yftacherzog like o11y/exporter/

Nicely done. Please move everything to a sub-directory under the exporter dir (per the ACs). We might have more exporters in the future.

@yftacherzog like o11y/exporter/ < new files>

Tomorrow we might add another exporter that generates some other metrics.
Something like this:
─── exporters
    ├── another-exporter
    │   └── main.go
    └── some-exporter
        └── main.go

Nicely done. Please move everything to a sub-directory under the exporter dir (per the ACs). We might have more exporters in the future.

@yftacherzog like o11y/exporter/ < new files>

Tomorrow we might add another exporter that generates some other metrics. Something like this:
─── exporters
    ├── another-exporter
    │   └── main.go
    └── some-exporter
        └── main.go

I think it should be exporters. i.e. plural

Thanks! Will add it this way.

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter
Other than that the file structure looks good

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

I reading through golang documentation, and as far as I understand it, the package name should be all lowercase without underscores or hyphens, so maybe dsexporter.
I think the directory name can be the same.
I left another comment about the module name. I think we should follow what was done for segment-bridge.

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

I'm reading through golang documentation, and as far as I understand it, the package name should be all lowercase without underscores or hyphens, so maybe dsexporter.
I think the directory name can be the same.
I left another comment about the module name. I think we should follow what was done for segment-bridge.
I am fine with that

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

@avi-biton @yftacherzog

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

I'm reading through golang documentation, and as far as I understand it, the package name should be all lowercase without underscores or hyphens, so maybe dsexporter.
I think the directory name can be the same.
I left another comment about the module name. I think we should follow what was done for segment-bridge.

@yftacherzog @Omeramsc Despite changing the file names to dsexporter.go and dsexporter_test.go, when I change the package name from main to something else, I get an error that says:
package command-line-arguments is not a main package

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

@avi-biton @yftacherzog

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

I'm reading through golang documentation, and as far as I understand it, the package name should be all lowercase without underscores or hyphens, so maybe dsexporter.
I think the directory name can be the same.
I left another comment about the module name. I think we should follow what was done for segment-bridge.

@yftacherzog @Omeramsc Despite changing the file names to dsexporter.go and dsexporter_test.go, when I change the package name from main to something else, I get an error that says: package command-line-arguments is not a main package
So, I left it as main for now.

Did you change the sub-directory name to dsexporter?

@yftacherzog @Omeramsc Despite changing the file names to dsexporter.go and dsexporter_test.go, when I change the package name from main to something else, I get an error that says: package command-line-arguments is not a main package

I'm not versed enough with go to tell what are the best practices here.
@amisstea can you help here?
We want to have an exporters directory at the root of the o11y repo and have sub-directories for the individual exporters.
What are the limitations/best-practices around the names of the files, packages, etc.?
For now we just need a single sub-directory for the current exporter with one file for the code and one file for the test. What are the limitations we have, considering that this code is going to run as part of a deployment?

@Kousalya1998 Please rename the directory dummy_service_exporter to dsexporter

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

@avi-biton @yftacherzog

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

I'm reading through golang documentation, and as far as I understand it, the package name should be all lowercase without underscores or hyphens, so maybe dsexporter.
I think the directory name can be the same.
I left another comment about the module name. I think we should follow what was done for segment-bridge.

@yftacherzog @Omeramsc Despite changing the file names to dsexporter.go and dsexporter_test.go, when I change the package name from main to something else, I get an error that says: package command-line-arguments is not a main package
So, I left it as main for now.

By reading here https://go.dev/doc/code#:~:text=The first statement in a,must always use package main . It says
The first statement in a Go source file must be package name. Executable commands must always use package main.

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

@avi-biton @yftacherzog

@Kousalya1998 The naming of files/dirs/modules should already be according to the name of the exporter we want to have later on (@hmariset @avi-biton @amisstea please suggest names). This way when we introduce the logic, we change only the logic and not the way we trigger it.

I would suggest datasource_exporter or grafana_datasource_exporter Other than that the file structure looks good

I'm reading through golang documentation, and as far as I understand it, the package name should be all lowercase without underscores or hyphens, so maybe dsexporter.
I think the directory name can be the same.
I left another comment about the module name. I think we should follow what was done for segment-bridge.

@yftacherzog @Omeramsc Despite changing the file names to dsexporter.go and dsexporter_test.go, when I change the package name from main to something else, I get an error that says: package command-line-arguments is not a main package
So, I left it as main for now.

By reading here https://go.dev/doc/code#:~:text=The first statement in a,must always use package main . It says The first statement in a Go source file must be package name. Executable commands must always use package main.

Correct. To put it in simple terms, if your Go file is planned to be an executable (= need to run using a main function), it must be a part of main package. otherwise, it can be defined as a different package. so it depends on the use case

I'm not fully aware how will this dummy exporter be used, but it doesn't seem to me like it needs a main.

Our best bet, I think, will be to follow the patterns used on official exporters:
https://github.com/prometheus/haproxy_exporter/tree/main
https://github.com/prometheus/mysqld_exporter
https://github.com/prometheus/node_exporter
Which seems to be main package and main function.

+1 to renaming the directory to dsexporter and sticking with the main package. As already mentioned, Go expects the main function to be in the main package and since this exporter is so simple there's no need to introduce additional packages.

@hmariset @avi-biton Updated the directory name to dsexporter. Any suggestions for the file names?

dsexporter.go, dsexporter_test.go

It's nice to see documentation about running the unit tests but there's more that could be added. I think we should have a README in dsexporter/ explaining what it is and why it can be useful.  There should also be a blurb about exporters in the root README.

It's nice to see documentation about running the unit tests but there's more that could be added. I think we should have a README in dsexporter/ explaining what it is and why it can be useful. There should also be a blurb about exporters in the root README.

@amisstea Thank you for the suggestion. It makes sense to describe what it is and how it can be helpful in detail. To create a README inside dsexporter/ and update o11y/exporter's root README, I created a ticket.
https://issues.redhat.com/browse/RHTAPWATCH-592

@yftacherzog I might need Yftach's approval to merge this ticket.


Support for deleted interfaces

When I am using the "show interfaces" parser the resulting output includes delete subinterfaces but does not show the interfaces as deleted. Gig 0/0/0.2 is the example here where i cannot from the python code see that the interface is in fact deleted on the device.
interfaces = dev.parse('show interfaces')
print(interfaces)

{
   "GigabitEthernet0/0/0":{
      "port_channel":{
         "port_channel_member":false
      },
      "enabled":false,
      "line_protocol":"down",
      "oper_status":"down",
      "type":"C1111-2x1GE",
      "mac_address":"00b7.71e7.0200",
      "phys_address":"00b7.71e7.0200",
      "description":"Not in use",
      "delay":10,
      "mtu":1500,
      "bandwidth":1000000,
      "reliability":"255/255",
      "txload":"1/255",
      "rxload":"1/255",
      "encapsulations":{
         "encapsulation":"arpa"
      },
      "duplex_mode":"full",
      "port_speed":"1000mbps",
      "link_type":"auto",
      "auto_negotiate":true,
      "media_type":"Auto Select",
      "flow_control":{
         "receive":true,
         "send":true
      },
      "arp_type":"arpa",
      "arp_timeout":"04:00:00",
      "last_input":"never",
      "last_output":"never",
      "output_hang":"never",
      "queues":{
         "input_queue_size":0,
         "input_queue_max":375,
         "input_queue_drops":0,
         "input_queue_flushes":0,
         "total_output_drop":0,
         "queue_strategy":"fifo",
         "output_queue_size":0,
         "output_queue_max":40
      },
      "counters":{
         "rate":{
            "load_interval":300,
            "in_rate":0,
            "in_rate_pkts":0,
            "out_rate":0,
            "out_rate_pkts":0
         },
         "last_clear":"never",
         "in_pkts":0,
         "in_octets":0,
         "in_no_buffer":0,
         "in_multicast_pkts":0,
         "in_broadcast_pkts":0,
         "in_runts":0,
         "in_giants":0,
         "in_throttles":0,
         "in_errors":0,
         "in_crc_errors":0,
         "in_frame":0,
         "in_overrun":0,
         "in_ignored":0,
         "in_watchdog":0,
         "in_mac_pause_frames":0,
         "out_pkts":0,
         "out_octets":0,
         "out_underruns":0,
         "out_broadcast_pkts":0,
         "out_multicast_pkts":0,
         "out_errors":0,
         "out_interface_resets":1,
         "out_collision":0,
         "out_unknown_protocl_drops":0,
         "out_babble":0,
         "out_late_collision":0,
         "out_deferred":0,
         "out_lost_carrier":0,
         "out_no_carrier":0,
         "out_mac_pause_frames":0,
         "out_buffer_failure":0,
         "out_buffers_swapped":0
      }
   },
   "GigabitEthernet0/0/0.2":{
      "port_channel":{
         "port_channel_member":false
      },
      "enabled":false,
      "line_protocol":"down",
      "oper_status":"down",
      "type":"C1111-2x1GE",
      "mac_address":"00b7.71e7.0200",
      "phys_address":"00b7.71e7.0200",
      "delay":10,
      "mtu":1500,
      "bandwidth":1000000,
      "reliability":"255/255",
      "txload":"1/255",
      "rxload":"1/255",
      "encapsulations":{
         "encapsulation":"arpa"
      },
      "arp_type":"arpa",
      "arp_timeout":"04:00:00"
   },

Show interface on the device:
GigabitEthernet0/0/0.2 is deleted, line protocol is down
  Hardware is C1111-2x1GE, address is 00b7.71e7.0200 (bia 00b7.71e7.0200)
  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA
  ARP type: ARPA, ARP Timeout 04:00:00
  Keepalive not supported
  Last clearing of "show interface" counters never
GigabitEthernet0/0/1 is up, line protocol is up
  Hardware is C1111-2x1GE, address is 00b7.71e7.0201 (bia 00b7.71e7.0201)
  Description: Outside interface to Core-PL-R1
  Internet address is <IP_ADDRESS>/29
  MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive not supported
  Full Duplex, 1000Mbps, link type is auto, media type is RJ45
  output flow-control is off, input flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 3000 bits/sec, 6 packets/sec
  5 minute output rate 58000 bits/sec, 8 packets/sec
     624993764 packets input,<PHONE_NUMBER>01 bytes, 0 no buffer
     Received 3 broadcasts (0 IP multicasts)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 0 multicast, 0 pause input
     297833811 packets output,<PHONE_NUMBER>1 bytes, 0 underruns
     Output 2 broadcasts (0 IP multicasts)
     0 output errors, 0 collisions, 1 interface resets
     0 unknown protocol drops
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 pause output
     0 output buffer failures, 0 output buffers swapped out

Hi
Thanks for reporting.
Can you please share the os and platform used for the above show command

This is a C1111 router.
#show ver
Cisco IOS XE Software, Version 17.06.03a
Cisco IOS Software [Bengaluru], ISR Software (ARMV8EL_LINUX_IOSD-UNIVERSALK9-M), Version 17.6.3a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
Compiled Fri 08-Apr-22 12:42 by mcpre

Cisco IOS-XE software, Copyright (c) 2005-2022 by cisco Systems, Inc.
All rights reserved.  Certain components of Cisco IOS-XE software are
licensed under the GNU General Public License ("GPL") Version 2.0.  The
software code licensed under GPL Version 2.0 is free software that comes
with ABSOLUTELY NO WARRANTY.  You can redistribute and/or modify such
GPL code under the terms of GPL Version 2.0.  For more details, see the
documentation or "License Notice" file accompanying the IOS-XE software,
or the applicable URL provided on the flyer accompanying the IOS-XE
software.

ROM: 17.5(1r)

TST-R1 uptime is 14 weeks, 5 days, 22 hours, 23 minutes
Uptime for this control processor is 14 weeks, 5 days, 22 hours, 24 minutes
System returned to ROM by Image Install  at 09:54:46 CEST Wed Jun 29 2022
System restarted at 10:13:11 CEST Wed Jun 29 2022
System image file is "bootflash:packages.conf"
Last reload reason: Image Install

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
<EMAIL_ADDRESS>

Suite License Information for Module:'esg'

--------------------------------------------------------------------------------
Suite                 Suite Current         Type           Suite Next reboot
--------------------------------------------------------------------------------
FoundationSuiteK9     None                  Smart License  None
securityk9
appxk9

Technology Package License Information:

-----------------------------------------------------------------
Technology    Technology-package           Technology-package
              Current       Type           Next reboot
------------------------------------------------------------------
appxk9           appxk9           Smart License    appxk9
uck9             None             Smart License    None
securityk9       securityk9       Smart License    securityk9
ipbase           ipbasek9         Smart License    ipbasek9

The current throughput level is unthrottled

Smart Licensing Status: Registration Not Applicable/Not Applicable

cisco C1111-8P (1RU) processor with 1398054K/6147K bytes of memory.
Processor board ID ***************
Router operating mode: Autonomous
4 Virtual Ethernet interfaces
10 Gigabit Ethernet interfaces
32768K bytes of non-volatile configuration memory.
4194304K bytes of physical memory.
2863103K bytes of flash memory at bootflash:.

Configuration register is 0x2102

A new key will be added to check the interface status. Thank you, this will be fixed in the next release 22.10.


remove flag --debug in kube-inject

In this PR https://github.com/istio/istio/pull/5800, flag --debug was deprecated, so remove it.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: zhuguihua
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @zhuguihua. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@zhuguihua can you please post a link in your commit message to tell in which PR does the --debug got deprecated?

Doc update was here https://github.com/istio/istio.github.io/pull/1427

@gyliu513, thanks, a link is added.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: gyliu513, zhuguihua
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/ok-to-test

@zhuguihua: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zhuguihua: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-simple

prow/e2e-bookInfoTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-bookInfo

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zhuguihua: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-simple

prow/e2e-bookInfoTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

So --debug had useful tools like curl and tcpdump included (others?)
Are we saying debug images will no longer be provided? or that we should use something like ISTIO_PROXY_IMAGE to inject a debug friendly image?

@christian-posta you can still turn on debug mode either globally or per deployment.

Global:

kubectl edit cm -n istio-system istio -oyaml

 # The mode used to redirect inbound connections to Envoy. This setting
      # has no effect on outbound traffic: iptables REDIRECT is always used for
      # outbound connections.
      # If "REDIRECT", use iptables REDIRECT to NAT and redirect to Envoy.
      # The "REDIRECT" mode loses source addresses during redirection.
      # If "TPROXY", use iptables TPROXY to redirect to Envoy.
      # The "TPROXY" mode preserves both the source and destination IP
      # addresses and ports, so that they can be used for advanced filtering
      # and manipulation.
      # The "TPROXY" mode also configures the sidecar to run with the
      # CAP_NET_ADMIN capability, which is required to use TPROXY.
      #interceptionMode: REDIRECT

Update interceptionMode: to TPROXY.

Per deployment, add the following annotation to your deployment.

annotations:
        sidecar.istio.io/interceptionMode: TPROXY

ping

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: gyliu513, zhuguihua
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/cc @ldemailly

well I disagree with the original change but up to you guys now

@ldemailly as the --debug was already removed from istioctl, so I think we can remove this, comments?

I guess I would hope the flag would come back as it should never have been removed, in the meantime this only generates a warning, but if it's going to become an error then sure we have to remove it from the invocation

@ldemailly we are now using interceptionMode to config debug or not.
Using sidecar.istio.io/interceptionMode for deployment level, using configMap of InterceptionMode for global level.

New changes are detected. LGTM label has been removed.

@zhuguihua: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-simple

prow/e2e-bookInfoTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test istio-pilot-e2e

prow/istio-unit-tests.sh
9b0e8e836529607813172d7885496ca94d829885
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zhuguihua: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-simple

prow/e2e-bookInfoTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test istio-pilot-e2e

prow/istio-presubmit.sh
9b0e8e836529607813172d7885496ca94d829885
link
/test istio-presubmit

prow/istio-unit-tests.sh
19461e531c25aa7f5e574870bcc98e737a659487
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zhuguihua: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-simple

prow/e2e-bookInfoTests.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test e2e-bookInfo

prow/istio-pilot-e2e.sh
89cfa160f938dcd05b207c4bc1283ade9f75a3a1
link
/test istio-pilot-e2e

prow/istio-unit-tests.sh
19461e531c25aa7f5e574870bcc98e737a659487
link
/test istio-unit-tests

prow/istio-presubmit.sh
19461e531c25aa7f5e574870bcc98e737a659487
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Setting multisampling samples in SDL2 missing

Like in the pygame window provider there should be code in the SDL2 provider that sets the number of samples for multisampling. This could be done either in create_window() in window_sdl2.py or in setup_window() in _window_sdl2.pyx.
In setup_window() in _window_sdl2.pyx it could be something like this:
multisamples = Config.getint('graphics', 'multisamples')

if multisamples > 0:
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1)
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, multisamples)

It probably has to be before  "self.win = SDL_CreateWindow(...)".

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10732282-setting-multisampling-samples-in-sdl2-missing?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github).

I just tested it and it works perfectly (at least for me) with this code:
# in imports at the top: from kivy.config import Config
multisamples = Config.getint('graphics', 'multisamples')
if multisamples > 0:
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1)
    SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, multisamples)

between line 70 and 72  kivy/core/window/_window_sdl2.pyx.


Revert "Fix lock file"

Reverts source-cooperative/source.coop#29

ahhhh sorry, I merged against main!!!

really sorry! I reset hard and force pushed to the previous commit in main
git reset --hard ec8b377
git push origin main

Sorry for that @jedsundwall @navdeepg2021 !
What if we set some restrictions on pushing to the main branch + set the dev branch as the default branch against which the PRs are opened?

new PR against dev here: https://github.com/source-cooperative/source.coop/pull/31


other long-running asynctask blocks captcha display

I had another long-running asynctask that was preventing the captcha from being displayed - this is mostly a "newbie" issue but you  might want to mention that other incomplete asynctasks prevent the captcha from being loaded (if that is indeed the root cause - I don't know why my task is having issues). if asynctasks are serialized and process in a FIFO manner then that would explain why the captcha wasn't loading in my case. Anyway, it might help someone else in the future. Thanks so much for this!!! Super grateful for your work..

Thank you for reporting. Yes the AsyncTask is queued. I will make it execute on a parallel executor.

What does that do? "parallel executor? that means to have it execute right away?

I plan to use AsyncTaskCompat to manage async tasks execution.

This issue is resolved in version 2.0.0.

Thanks very much!


Move to JavaScriptCore Glib API over DOM API

In WebkitGTK 2.22 webkit_javascript_result_get_value() was depricated in
favor of webkit_javascript_result_get_js_value().  This change will use
the new JSC API when WebkitGTK 2.22 is present.
Fixes #192

@nemith nice work

Thanks for the PR, this is also implemented like that in webview-x!


java.net.SocketException:java.security.NoSuchAlgorithmException for version 23.3.5

Description
When I updated the DBeaver to version 23.3.5, it occurs following errors.

DBeaver Version
Community 23.3.5
Operating System
mac OS 13.6.1 (22G313)
Database and driver
When I updated the DBeaver to version 23.3.5, can not connect databases like mysql and Oracle
Steps to reproduce
No response
Additional context
No response

It works for version 23.3.0, and it does not work when its version greater than 23.3.0(i.e. 23.3.1 +)

After add the maven repo as following, it works now.

The driver has been dowloaded successfully.

Thanks for the update @landy8530


2018 Camry Hybrid XLE Fingerprint

Confirmed to work By Anthony#9859

Cabana Drive:
https://community.comma.ai/cabana/?route=a08dca00b7060af1|2019-05-20--22-03-33&max=22&url=https://chffrprivate.blob.core.windows.net/chffrprivate3/v2/a08dca00b7060af1/dbf4c8f4bf45fc53edeb229b0a0c8daf_2019-05-20--22-03-33

Anyone?

looks good


Improve Accessibility

Hey there, @yellowberard!
Here are a few things that stuck out to me in terms of accessibility:

The background colour is a bit too saturated for clarity: it makes the buttons less noticeable and the text harder to read
Responsivity issues while resizing the page - also had margin/padding trouble while viewing on mobile and tablet
Some of the buttons aren't properly named - this would make a screenreader read it aloud as a vague 'button' rather than something that adds value to the site

Thank you for taking time out for reviewing the site.

I am still working on responsiveness of the site.
I will work on changing the background color.
I will name the buttons and other things to add value to the site.

@Akshu-on-github I have made the changes you suggested it would be very helpful for me if you can check the website again.


Add the missing information in algorithm 2

see p. 8, below the algorithm.

Specified more clearly in the text that the average is done outside of the fitness function.


Adding link to FF cloud sign up for getting started buttons

Description

Related Issue(s)

Checklist

[ ] I have read the contribution guidelines
[ ] I have considered the performance impact of these changes
[ ] Suitable unit/system level tests have been added and they pass
[ ] Documentation has been updated

Great job and sorry for missing this @Hasmin-AC


Remove jetc revert

This PR supersedes #182 because it removes a commit under the jetc-revert branch from the PR.

It looks like the undesired reversions are still in there at https://github.com/Bioprotocols/labop/commit/b746a1668e03f0c9588919b76e26bd7ba8e60790.


Bring back shared library build (pymediainfo needs it)

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This PR brings back DLL generation after a fiasco with pymediainfo.

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.


Replace STOP RUN with GOBACK

Signed-off-by: Hartanto Ario Widjaya<EMAIL_ADDRESS>One of the issue with having STOP RUN is that it causes problems with subroutine CALL.
In particular, this may have causes this issue on Slack: https://openmainframeproject.slack.com/archives/C011NE32Z1T/p1611697726073500
Thus, I believe it's in the best interest to replace all occurrence of STOP RUN to GOBACK since the programs will terminate more gracefully (i.e. the CALL-ed program will return control back to the caller instead of terminating everything).

@paulnewt any thoughts on this? If accepted, we will need to update the COBOL programs on the system.

@paulnewt any thoughts on this? If accepted, we will need to update the COBOL programs on the system.

STOP RUN replaced with GOBACK in all source located in ZOS.PUBLIC.SRC, ZOS.PUBLIC.ADHOC,CBL, and ZOS.PUBLIC.DB2.CBL

STOP RUN replaced with GOBACK in all source located in ZOS.PUBLIC.SRC, ZOS.PUBLIC.ADHOC,CBL, and ZOS.PUBLIC.DB2.CBL


Create custom pyspark image

Description
Create a pyspark image to be used by wholesale.
This version is trimmed and is about half the size of the one used before.
Quality

[x] Documentation is updated
n/a Release notes are updated
n/a Package version is updated
n/a Public types and methods are documented
n/a Tests are implemented and executed locally

Closing PR - Branch is moved to python package repository.


[Add2App] Native app in release mode crashes when using using Option -B

Integrate a Flutter module into your Android project,Option A - Depend on the Android Archive (AAR)  ，can run normally in release and debug mode；Option B - Depend on the module’s source code，can run normally in debug mode, but report an error in release mode。The error message is as follows：
2021-06-15 09:33:44.791 26920-26920/com.example.androidflutterdemo E/flutter: [ERROR:flutter/runtime/dart_vm_data.cc(18)] VM snapshot invalid and could not be inferred from settings.
2021-06-15 09:33:44.791 26920-26920/com.example.androidflutterdemo E/flutter: [ERROR:flutter/runtime/dart_vm.cc(257)] Could not set up VM data to bootstrap the VM from.
2021-06-15 09:33:44.791 26920-26920/com.example.androidflutterdemo E/flutter: [ERROR:flutter/runtime/dart_vm_lifecycle.cc(84)] Could not create Dart VM instance.
2021-06-15 09:33:44.791 26920-26920/com.example.androidflutterdemo A/flutter: [FATAL:flutter/shell/common/shell.cc(155)] Check failed: vm. Must be able to initialize the VM.
2021-06-15 09:33:44.797 26920-26920/com.example.androidflutterdemo A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 26920 (roidflutterdemo), pid 26920 (roidflutterdemo)

<
flutter doctor -v
 Flutter (Channel stable, 2.2.1, on macOS 11.4 20F71 darwin-x64, locale zh-Hans-CN)
    • Flutter version 2.2.1 at /Users/chenbing/cb/workspace/Flutter/flutter
    • Framework revision 02c026b03c (3 weeks ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/chenbing/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/chenbing/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.2, Build version 11B52
    ✗ Xcode 11.2.0 out of date (12.0.1 is recommended).
      Download the latest version or update via the Mac App Store.
    ✗ CocoaPods installed but not working.
        You appear to have CocoaPods installed but it is not working.
        This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
        This can usually be fixed by re-installing CocoaPods.
      To re-install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2019.3.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.57.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (2 available)
    • JSN AL00a (mobile) • 7XBNW18901036080 • android-arm64  • Android 10 (API 29)
    • Chrome (web)       • chrome           • web-javascript • Google Chrome 91.0.4472.101

Hi @qingsongwill

Integrate a Flutter module into your Android project,Option A - Depend on the Android Archive (AAR) ，can run normally in release and debug mode；Option B - Depend on the module’s source code，can run normally in debug mode, but report an error in release mode。 The error message is as follows：

Option B causes in release mode, are you running the module in release mode or Android application?
If Android, how are you running in the release?
Please provide complete reproducible steps
Thank you

Hi  @TahaTesser
Running the module in release Android application。
steps
Assemble apk run or run debug release is same error，screenshot below。

Hi @qingsongwill
Thanks for the steps, I can confirm the issue
Steps to reproduce

git clone https://github.com/flutter/samples.git
Go to add_to_app/fullscreen/flutter_module  and your native Android package to be signed
Add your key config, make release build dubuggable, follow https://github.com/flutter/flutter/issues/84614#issuecomment-861992141
Launch the app and observe the crash.

logs
(Landroid/os/IBinder;Landroid/content/res/Configuration;IZ)V (greylist-max-o, linking, denied)
2021-06-16 18:33:46.044 19889-19889/com.tahatesser.triage W/hatesser.triag: Accessing hidden method Landroid/app/ResourcesManager;->getOrCreateActivityResourcesStructLocked(Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources; (greylist-max-o, linking, denied)
2021-06-16 18:33:46.046 19889-19889/com.tahatesser.triage I/studio.deploy: Finished instrumenting
2021-06-16 18:33:46.206 19889-19889/com.tahatesser.triage I/100: Open /data/app/~~OBsHMaMt4KOmSRLjEyj5rQ==/com.tahatesser.triage-hRFBEIcxxKiAMMVHzKw-8w==/base.apk took:149ms
2021-06-16 18:33:46.212 19889-19889/com.tahatesser.triage I/Perf: Connecting to perf service.
2021-06-16 18:33:46.215 19889-19889/com.tahatesser.triage D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2021-06-16 18:33:46.215 19889-19889/com.tahatesser.triage D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2021-06-16 18:33:46.216 19889-19889/com.tahatesser.triage I/MultiDex: VM with version 2.1.0 has multidex support
2021-06-16 18:33:46.216 19889-19889/com.tahatesser.triage I/MultiDex: Installing application
2021-06-16 18:33:46.216 19889-19889/com.tahatesser.triage I/MultiDex: VM has multidex support, MultiDex support library is disabled.
2021-06-16 18:33:46.235 19889-19889/com.tahatesser.triage E/flutter: [ERROR:flutter/runtime/dart_vm_data.cc(18)] VM snapshot invalid and could not be inferred from settings.
2021-06-16 18:33:46.235 19889-19889/com.tahatesser.triage E/flutter: [ERROR:flutter/runtime/dart_vm.cc(257)] Could not set up VM data to bootstrap the VM from.
2021-06-16 18:33:46.235 19889-19889/com.tahatesser.triage E/flutter: [ERROR:flutter/runtime/dart_vm_lifecycle.cc(84)] Could not create Dart VM instance.
2021-06-16 18:33:46.235 19889-19889/com.tahatesser.triage A/flutter: [FATAL:flutter/shell/common/shell.cc(155)] Check failed: vm. Must be able to initialize the VM.

    --------- beginning of crash
2021-06-16 18:33:46.235 19889-19889/com.tahatesser.triage A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 19889 (hatesser.triage), pid 19889 (hatesser.triage)

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 10.0.19043.1055], locale en-US)
    • Flutter version 2.2.2 at C:\Users\Taha\Code\flutter_stable
    • Framework revision d79295af24 (5 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\openjdk\bin\java.exe
    • Java version OpenJDK Runtime Environment (build 1.8.0-262-b10)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.1)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31402.337
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.1.1
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.57.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.23.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19043.1055]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 91.0.4472.101
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 91.0.864.48

! Doctor found issues in 1 category.

cc @blasten

This is happening because the Flutter Gradle script is using the buildType.debuggable flag to determine whether to build in debug or release mode.
(see https://github.com/flutter/flutter/blob/master/packages/flutter_tools/gradle/flutter.gradle#L598)
I'm not sure why the script works in that way.
As a temporary workaround, you could patch these parts of flutter.gradle to check for buildType.name == "debug" instead.


Change learning rate during training

Would it be helpful to add ability to manually change learning rate during training? I have naive implementation of this feature here.

The standard approach is to add 2 parameters: a number of iterations during which the learning rate is kept constant, and a multiplier that is applied after that for exponential decay. This forces the network to adjust to the closest local minima when training is running out of iterations rather than keep exploring the space.
The best way of changing it manually is stopping the training and restoring it from a checkpoint with a different learning rate.
I think TensorFlow has a built-in implementation of this exponential decay, or at least plenty of examples in the published models; it would be indeed very helpful to have it.

@r-zemblys
Yes please. Echoing lemonzi, I'd say your particular schedule of learning rate (in the plot) looks a little odd :). I'm guessing you are showing the "square wave" learning rate schedule to show it can be adjusted at will, not that you recommend that particular schedule?
@lemonzi

The standard approach is to add 2 parameters: a number of iterations during which the learning rate is kept constant, and a multiplier that is applied after that for exponential decay.

Hmm.. I'm not aware of that standard. It may be a good strategy. I've seen people just using a single step-change from an initial high learning rate to an order-of-magnitude lower learning rate later. I'm not saying that's better. But I wouldn't want to hard-wire to just the "constant-followed-by-exponential-decay" approach.

The best way of changing it manually is stopping the training and restoring it from a checkpoint with a different learning rate.

Do you say that because you think there's something wrong with the technique in r-zembly's dev branch? I've done it the way you describe, but I like his approach of having a learning_rate placeholder and feeding it a value you can set any way you want as training progresses.
Perhaps a configurable approach would be to have a learning_rate_schedule in wavenet_params.json with a list of (iterations, learn_rate) tuples, and use that to compute learn_rate fed to the placeholder.

I recall seeing that some time ago in another framework (Kaldi?), but I was having a look and most of the official TF models seem to use step decay, which is implemented in tf.train.exponential_decay.
There are two main cases where you want to change the learning rate: when you are trying things out and realize the network is training too slowly (or too fast), in which case it makes sense to perform a manual stop and restore to reuse the work done (and that's what I meant before), or during training as part of a global scheduling. Global schedulers, except for the case where you just change it a couple times to a magnitude lower as you mentioned, are better defined using a formula, and inputting all the values in the JSON file doesn't seem like a good solution -- actually, we were even talking about getting rid of the dilation array and just specifying the layers per stack and the number of stacks.
I would suggest using TensorFlow's standard by default, and having the corresponding parameters in the JSON (initial LR, decay factor, steps per decay...) . To allow for weirder schedules, we can  implement it using a thin wrapper that lets people specify other schedules manually by supplying a function, or an optional flag with the list of tuples, or something like that.
Actually, since the learning rate does not affect the network itself, we could have a separate JSON file (or an nested object) with training-specific parameters, such as learning rate and regularization.

@lemonzi

We could also add a learning_rate_scheduler field to the training JSON that could be constant, step_decay, or manual. For manual, the list of tuples is supplied.

I like that idea. But we can proceed incrementally if that's easier; don't have to do all that in the first PR.

Latest deepmind paper(https://arxiv.org/pdf/1610.00527v1.pdf) says they adjust lr-rate after they see learning flatlines.
We use RMSProp for the optimization with an initial learning rate of 3 · 10−4 and multiply the
learning rate by 0.3 when learning flatlines.
Instead of having fixed lr-policy, we can have adaptive one.

Keras has 'early stopping' which monitors progression.
https://github.com/fchollet/keras/blob/master/keras/callbacks.py#L312


Not working for AppCenter pods

The script seems to pick up the AppCenter pod just fine, but when building for macOS/Catalyst, it's still trying to include AppCenter.
The AppCenter target doesn't seem to be a shared library either and it's an aggregate target instead, in case this makes a difference.
Linker error:
ld: in /Users/dids/MyApp/Pods/AppCenter/AppCenter-SDK-Apple/iOS/AppCenter.framework/AppCenter(MSAppCenter.o), building for Mac Catalyst, but linking in object file built for iOS Simulator, file '/Users/dids/MyApp/Pods/AppCenter/AppCenter-SDK-Apple/iOS/AppCenter.framework/AppCenter' for architecture x86_64

Podfile:
load 'remove_ios_only_frameworks.rb'

platform :ios, '13.0'

target 'MyApp' do
  use_frameworks!

  pod 'AppCenter'
  pod 'AppCenter/Distribute'
end

def catalyst_unsupported_pods
  [
    "AppCenter", "AppCenter/Distribute"
  ]
end

post_install do |installer|
  installer.configure_support_catalyst
end

A bit unrelated, but I believe AppCenter is now also available through the Swift Package Manager, but I'm assuming this wouldn't solve my issues and would just make them worse, having even less control over them?

Never mind! Not only was this due to the main application project having AppCenter "statically" defined under Other Linker Flags, the Swift Package Manager version of AppCenter seems to support both iOS and macOS, so all is well.

Someone asked me the same question in my original gist (see last comments).

When you do pod AppCenter/Distribute it seems that the pod target installed is called AppCenter and not AppCenterDistribute as the script expects. So instead, you should add AppCenter to the unsupported list.

@Dids where did you see AppCenter was statically defined? This could be helpful for me to update the script. If this is an option in Cocoapods then I could perhaps fix this. Currently the script would swap AppCenter/Distribute with AppCenterDistribute and this was the issue.

@fermoya that was me, sorry I didn’t get around to replying. I ended up following the suggestion, for some reason I think the bundle included was still getting added to the target causing issues. I resolved that by adding macCatalyst dedicated configurations. I was meaning to create a reproducible project for you, which I can do if you’d like?

@Brett-Best no worries, yesterday I included some changes in the script and the issue should be solved, including the AppCenterDistributeResources.bundle issue.

@fermoya just tested using the latest version, works great! Was able to remove my macCatalyst specific configurations as well 🎉. Thanks!


Enhance Right Side Navigation

Is your feature request related to a problem? Please describe.
The Right Side navigation only shows one heading level (h3) and does not provide the ability to indent sublevels of headings. This makes it difficult to navigate through a long page.
Describe the solution you'd like
The left side navigation has indented sub levels and there should be some ability to tag the headings in multiple levels to get them to show up in the right side navigation
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@ShevaDas Please confirm: we've had decision that we will not implement more granular level item in right navigation bar. Don't remember the reason. Can you help explain?

@DeanGross thanks for the feedback! I hear you, navigating longer articles can get unwieldy. After talking this request over with our information architect, we've decided not to implement this functionality right now. It creates a near-duplicate affordance of the left-side Table of Contents, which can be confusing to users and make navigation more difficult. This also touches the content side of things—rather than adding UI components to improve navigation, we may need to instead work on creating shorter articles or better h2s.
I'm going to close this out. Thanks again for taking the time to provide feedback, and for being part of the Docs community!

@ShevaDas

It creates a near-duplicate affordance of the left-side Table of Contents, which can be confusing to users and make navigation more difficult.

I think not being able to navigate to subheadings makes navigation much more difficult than some initial confusion about what the UI means.

rather than adding UI components to improve navigation, we may need to instead work on creating shorter articles or better h2s.

I'm not sure that's always possible. For example, the Expressions section of the C# specification is produced by a 320 kB document and having subsections in the TOC would help a lot (e.g. try finding where the new operator is specified). But that document is the actual specification, I don't think the people who control .Net docs content have a control over it.

@svick Understood! We'll keep that feedback in mind for the future.

ShevaDas, I'd like to respectfully disagree with your Information Architect and clarify my request. I'm not asking to duplicate the left side navigation, I'm asking to enhance/extend that navigation with some additional visual cues in the right side navigation. It would be very helpful if the right side could have 2 additional levels below the left side (maybe H3 and H4, or H4 and H5) and if the 2nd level was indented.

You're right @svick, we don't have control over that. The .NET team has asked for this feature for a long time. What we suggested was that the current behavior would be the default one, but we could perhaps opt in to show more levels if the topic would benefit from that. The headings on a topic are completely different from the TOC on the left.

As a follow up, here is a very good example of why we need another level on the right side, https://docs.microsoft.com/en-us/connectors/sharepointonline/#actions, The Action and Triggers headings both have numerous subheadings, and scrolling through the page makes it very difficult to understand where you are or to get to a desired item

@DeanGross I do agree that article is difficult to navigate. I mocked up a version that includes the h3s in the right-hand nav:

To me, this seems more like a quick patch than a change that truly makes the article easier to navigate. So instead of adding in more sub-levels, we're actively working on a better overall browsing experience for this kind of API-esque content that attempts to address the root issues more holistically.
I did discuss adding additional levels to the side pane again with our information architect yesterday and this is not something we'll be changing. Although surfacing all levels of headers in the sidebar is compelling as a quick solution, I strongly believe in the long run it will create more problems than it solves and a poorer user experience overall.


add servicemonitor

towards https://github.com/giantswarm/giantswarm/issues/27573

Working on gaia :
zirco@Zirko-laptop:~$ kg get app promtail
NAME       INSTALLED VERSION                                CREATED AT   LAST DEPLOYED   STATUS
promtail   1.1.1-a87d492bafd167b7accbc3e8bf580f8df67b232b   196d         2m42s           deployed
zirco@Zirko-laptop:~$ k get pods -A | grep promtail
promtail           promtail-26qbh                                                       1/1     Running            0                2m12s
promtail           promtail-2dm6c                                                       1/1     Running            0                2m38s
promtail           promtail-7x5xz                                                       1/1     Running            0                119s
promtail           promtail-8xk7p                                                       1/1     Running            0                2m25s
promtail           promtail-bpzz9                                                       1/1     Running            0                107s
promtail           promtail-q7r9w                                                       1/1     Running            0                95s
promtail           promtail-vnmdt                                                       1/1     Running            0                2m50s

I guess we can get rid of the service as well

Tested and working on gaia


Face_recognition

I am dealing with dnn_face_recognition example it works but I have question about face chip details functions. In this example you use deep learning for face recognition but the algorithm can recognize a face with using 1 training image(face). I want to use 2 different image(posing, or another things) for same person in training. Is that possible ?

If you have multiple faces use a k-nearest-neighbor or linear SVM
classifier.

Thanks for the answer.

If you have multiple faces use a k-nearest-neighbor

Sorry for my ignorance but I searched for all mentions of "k-nearest" in dlib's source code and only found 3 suitable functions:
find_k_nearest_neighbors
find_k_nearest_neighbors_lsh
find_approximate_k_nearest_neighbors

What it does is creates a graph based on distance of provided samples. But if I already have labeled samples and need to find a label for the new sample, how would that help?
Isn't it simpler to just find minimal distance in for loop against all known samples? Sorry if I don't understand something.
For example scikit's KNeighborsClassifier has special predict method.

Yes, use a simple for loop.  You don't need to do anything more complex
unless the for loop ends up being too slow.

Thanks, I have one more question. Could svm_multiclass_linear_trainer provide better classification results than search for minimal distance? I mean I can always try it, just interested in your opinion because I'm lacking experience in ML.

It might be better.  You have to experiment and see what works best
though.  But I wouldn't be surprised at all if it gave better results.


Fix sourcefile state field migration by using defaultValue insetad of value

Description
The QA deploy was failing because the migrations failed for the new SourceFile state field.
The error:
2024-07-22T02:37:31.971-04:00	Reason: liquibase.exception.DatabaseException: ERROR: column "state" of relation "sourcefile" contains null values [Failed SQL: (0) ALTER TABLE public.sourcefile ALTER COLUMN state SET NOT NULL]

TIL that you can't use value when adding a new column with a not null constraint because it's ignored (more info here, but I didn't find any liquibase documentation on it).
This PR fixes the migration by using defaultValue instead of value.
Review Instructions
QA should deploy
Issue
n/a
Security and Privacy
If there are any concerns that require extra attention from the security team, highlight them here and check the box when complete.

[x] Security and Privacy assessed

e.g. Does this change...

Any user data we collect, or data location?
Access control, authentication or authorization?
Encryption features?

Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Just curious, why didn't this fail when migrations were run for the tests?

Just curious, why didn't this fail when migrations were run for the tests?

TBH, I don't know why. From what I can tell, the migrations actually work when I run them locally and I run postgres in a container.


TST-626 — TASK 3396: Add Copy link to Wishlist Share Page

I closed this PR because the branch name was wrong


Enable multi-module on Windows

Enable multi-module compilation for tests in CI through a new switch:
runtest.cmd /multimodule. This will compile the framework assemblies
into a single Framework.lib that tests are linked against.

Adjust several dependency nodes in the compiler to tidy up sharing of
nodes / naming for uniqueness.
Add handling in ObjectWriter for compiler generated types and their
methods to force sharing.
Ifdef out runtime imports for StdCall which are implemented in
Native.Interop, a library that hasn't been ported to CoreRT yet.
Remove metadata generation for type args to an instantiation. This was
breaking type unification because we were treating type args as type
defs, even when they are present in another module and we weren't
emitting the actual EEType, causing a null type handle at runtime.
Alter build integration MSBuild authoring to produce the framework lib
in multi-module builds on demand. By default, the lib is emitted in the
app binary folder. For test runs there are overrides to control where
the framework objs and lib are placed so they can be shared
(FrameworkLibPath and FrameworkObjPath).
Alter test harness to take /multimodule switch which links all
Ryujit applicable tests against Framework.lib.

Leave a comment


update dockerfile to use dnf because i hate the warning

ping @tianon

Hahahaha, fair enough; LGTM

and this is how they won :stuck_out_tongue: LGTM


Make shells work when there's a space in the path

good feedback from PSUG :)

Indeed :)

Resolved for X platforms by 883b96cdcccaf912057534fb64f8a1b82afa1ee1

That's a best practice anyway :p

Done for Windows in f0626ecfb0ee3931b9057041157c528447090f72
Won't fix for X platforms


Run gRPC tests on 32-bit binary as well

We currently do not run any tests on 32-bit binaries. This is helpful since gRPC is used in several 32-bit systems.

As a side note, it is not entirely true that we are not running 32bit tests. We do run:

C (but not c++) and tests on a 32bit linux distro  in the portability suite (running daily on master)
https://source.cloud.google.com/results/invocations/6fd1390b-82f4-4f2f-bb6c-fb8e0e4f2ef7/targets/github%2Fgrpc%2Fc_linux_dbg_native_x86_default/tests
on windows we are running both 32bit and 64bit tests (32 bit tests run even on presubmit).

Hi @jtattermusch , Do you know if there was a reason for not running C++ tests on 32-bit platforms?

@sreecha   I think we didn't enable C++ 32bit tests because they aren't all passing.
I started an ad-hoc run of C++ 32bit tests to see the results and it looks like some of the qps_json_driver and json_run_localhost tests are failing consistently:
https://source.cloud.google.com/results/invocations/25b9bc7a-4ae3-47ec-9aa5-9d10511705ea/log
This is my experimental branch:
https://github.com/grpc/grpc/compare/master...jtattermusch:x86_adhoc_run
after patching run_tests_matrix.py you can reproduce the issues locally with
tools/run_tests/run_tests.py -l c++ --arch x86 --use_docker

suspicious error message for some of the tests is  Starting client on localhost:-1 (worker #1)
2018-08-20 11:18:21,153 RUNNING SCENARIO: cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure
D0820 11:18:20.945134221   20024 test_config.cc:391]         test slowdown factor: sanitizer=1, fixture=1, poller=1, total=1
I0820 11:18:20.945566588   20024 ev_epollsig_linux.cc:78]    epoll engine will be using signal: 40
D0820 11:18:20.945585694   20024 ev_posix.cc:163]            Using polling engine: epollsig
D0820 11:18:20.945619144   20024 dns_resolver.cc:348]        Using native dns resolver
I0820 11:18:20.945698699   20024 server_builder.cc:270]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
I0820 11:18:20.945832832   20024 server_builder.cc:270]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
I0820 11:18:20.945933804   20024 driver.cc:275]              Starting server on localhost:-1 (worker #0)
I0820 11:18:20.946215345   20028 qps_worker.cc:232]          RunServerBody: about to create server
I0820 11:18:20.946269250   20028 qps_worker.cc:70]           Starting server of type SYNC_SERVER
I0820 11:18:20.947902086   20028 server_builder.cc:270]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
I0820 11:18:20.948272662   20028 qps_worker.cc:240]          RunServerBody: server created
I0820 11:18:20.948345215   20028 qps_worker.cc:247]          RunServerBody: creation status reported
I0820 11:18:20.948412941   20024 driver.cc:331]              Starting client on localhost:-1 (worker #1)
D0820 11:18:20.948481522   20024 driver.cc:353]              Client 0 gets 64 channels
I0820 11:18:20.948669921   20029 qps_worker.cc:189]          RunClientBody: about to create client
I0820 11:18:20.948693709   20029 qps_worker.cc:51]           Starting client of type ASYNC_CLIENT STREAMING 0
I0820 11:18:20.953976718   20029 client_async.cc:226]        Sizing async client to 32 threads


Add validation of public keys to prevent certifying weak keys

This adds checks for RSA, ECDSA and ED25519 (no-op) keys. This
will prevent Fulcio from signing certificates for the following:

DSA keys
RSA keys that are smaller than 2048 or larger than 4096
RSA keys with weak primes
ECDSA keys that aren't P256, P384, or P521 (P224 or custom curves)

Signed-off-by: Hayden Blauzvern<EMAIL_ADDRESS>
Summary

Ticket Link

Fixes
Release Note

Added validation of public keys

Codecov Report

Merging #490 (c59f4f9) into main (97da739) will increase coverage by 1.51%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #490      +/-   ##
==========================================
+ Coverage   46.74%   48.25%   +1.51%
==========================================
  Files          14       14
  Lines        1059     1063       +4
==========================================
+ Hits          495      513      +18
+ Misses        488      478      -10
+ Partials       76       72       -4

Impacted Files
Coverage Δ

pkg/api/error.go
50.00% <ø> (ø)

pkg/api/ca.go
51.64% <100.00%> (+1.08%)
:arrow_up:

pkg/api/client.go
77.14% <0.00%> (+2.85%)
:arrow_up:

pkg/ca/fileca/load.go
71.42% <0.00%> (+6.59%)
:arrow_up:

pkg/ca/fileca/watch.go
100.00% <0.00%> (+50.00%)
: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 97da739...c59f4f9. Read the comment docs.


Alljoyn doesnt works in Windows version 1809

You seem to be reporting an issue with the platform, not with the sample. You can open a support case with our Developer Support team who can further help with the specific problem you are experiencing. Please use these steps below for further help:

Visit http://aka.ms/storesupport and sign-in with your Microsoft account
Under the “App Development” section choose "Windows 10 universal app development", then choose the appropriate problem type and category to get engaged through a formal support channel.


Stuck, Litecoin Node LND waiting for synch - attached LND Log

I was adding services to this node this morning.
Run behind TOR
Circuitbreaker
LND Auto-Unlock
StationChannelBackup on DropBox
UPnP for both BTC and LND
I no longer see UPnP to deselect
Other the Run behind TOR I have deselected.
RPi 4B 8GB
1TB WD SSD
Will follow the /mnt/hdd/litecoin/debug.log
running: 'sudo tail -n 30 -f /mnt/hdd/litecoin/debug.log'
Press ENTER to continue
use CTRL+C any time to abort .. then use command 'raspiblitz' to return to menu
###############################################################################
2021-05-01T13:59:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7020 seconds ago)
2021-05-01T14:02:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7200 seconds ago)
2021-05-01T14:05:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7380 seconds ago)
2021-05-01T14:08:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7560 seconds ago)
2021-05-01T14:11:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7740 seconds ago)
2021-05-01T14:14:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7920 seconds ago)
2021-05-01T14:17:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 8100 seconds ago)
2021-05-01T14:20:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 8280 seconds ago)
2021-05-01T14:23:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 8460 seconds ago)
2021-05-01T14:26:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 8640 seconds ago)
2021-05-01T14:29:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 8820 seconds ago)
2021-05-01T14:32:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 9000 seconds ago)
2021-05-01T14:35:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 9180 seconds ago)
2021-05-01T14:38:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 9360 seconds ago)
2021-05-01T14:41:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 9540 seconds ago)
2021-05-01T14:44:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 9720 seconds ago)
2021-05-01T14:47:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 9900 seconds ago)
2021-05-01T14:50:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 10080 seconds ago)
2021-05-01T14:53:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 10260 seconds ago)
2021-05-01T14:56:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 10440 seconds ago)
2021-05-01T14:59:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 10620 seconds ago)
2021-05-01T15:02:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 10800 seconds ago)
2021-05-01T15:05:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 10980 seconds ago)
2021-05-01T15:08:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 11160 seconds ago)
2021-05-01T15:11:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 11340 seconds ago)
2021-05-01T15:14:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 11520 seconds ago)
2021-05-01T15:17:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 11700 seconds ago)
2021-05-01T15:20:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 11880 seconds ago)
2021-05-01T15:23:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 12060 seconds ago)
2021-05-01T15:26:37Z Potential stale tip detected, will try using extra outbound peer (last tip update: 12240 seconds ago)

This is my BTC LND Node with same adds and working well

Can you try connecting manually to more peers? I dont know the commands or where to find them when using lite.

I ran the debug log
https://termbin.com/bx8k

RASPIBLITZ DEBUG LOGS

blitzversion: 1.7.0
chainnetwork: litecoin / main
21:41:02 up  4:42,  2 users,  load average: 0.47, 0.53, 0.51
*** BLOCKCHAIN SYSTEMD STATUS ***
● litecoind.service - Litecoin daemon
Loaded: loaded (/etc/systemd/system/litecoind.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-05-01 16:58:37 BST; 4h 42min ago
Process: 1604 ExecStartPre=/home/admin/config.scripts/blitz.systemd.sh log blockchain STARTED (code=exited, status=0/SUCCESS)
Process: 1610 ExecStart=/usr/local/bin/litecoind -daemon -conf=/home/bitcoin/.litecoin/litecoin.conf -pid=/home/bitcoin/.litecoin/litecoind.pid (code=exited, status=0/SUCCESS)
Main PID: 1642 (litecoind)
Tasks: 18 (limit: 4915)
CGroup: /system.slice/litecoind.service
└─1642 /usr/local/bin/litecoind -daemon -conf=/home/bitcoin/.litecoin/litecoin.conf -pid=/home/bitcoin/.litecoin/litecoind.pid
May 01 16:58:37 raspberrypi systemd[1]: Starting Litecoin daemon...
May 01 16:58:37 raspberrypi systemd[1]: Started Litecoin daemon.
*** LAST BLOCKCHAIN ERROR LOGS ***
sudo journalctl -u litecoind -b --no-pager -n8
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:02 BST. --
May 01 16:58:37 raspberrypi systemd[1]: Starting Litecoin daemon...
May 01 16:58:37 raspberrypi systemd[1]: Started Litecoin daemon.
*** LAST BLOCKCHAIN 20 INFO LOGS ***
sudo tail -n 20 /mnt/hdd/litecoin/debug.log
2021-05-01T19:41:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 13320 seconds ago)
2021-05-01T19:44:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 13500 seconds ago)
2021-05-01T19:47:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 13680 seconds ago)
2021-05-01T19:50:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 13860 seconds ago)
2021-05-01T19:53:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 14040 seconds ago)
2021-05-01T19:56:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 14220 seconds ago)
2021-05-01T19:59:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 14400 seconds ago)
2021-05-01T20:02:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 14580 seconds ago)
2021-05-01T20:05:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 14760 seconds ago)
2021-05-01T20:08:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 14940 seconds ago)
2021-05-01T20:11:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 15120 seconds ago)
2021-05-01T20:14:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 15300 seconds ago)
2021-05-01T20:17:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 15480 seconds ago)
2021-05-01T20:20:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 15660 seconds ago)
2021-05-01T20:23:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 15840 seconds ago)
2021-05-01T20:26:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 16020 seconds ago)
2021-05-01T20:29:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 16200 seconds ago)
2021-05-01T20:32:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 16380 seconds ago)
2021-05-01T20:35:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 16560 seconds ago)
2021-05-01T20:38:36Z Potential stale tip detected, will try using extra outbound peer (last tip update: 16740 seconds ago)
*** LND SYSTEMD STATUS ***
● lnd.service - LND Lightning Daemon
Loaded: loaded (/etc/systemd/system/lnd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-05-01 16:58:37 BST; 4h 42min ago
Process: 1643 ExecStartPre=/home/admin/config.scripts/blitz.systemd.sh log lightning STARTED (code=exited, status=0/SUCCESS)
Main PID: 1645 (lnd)
Tasks: 11 (limit: 4915)
CGroup: /system.slice/lnd.service
└─1645 /usr/local/bin/lnd --tor.active --tor.streamisolation --tor.v3 --tor.socks=9070 --tor.control=9071 --listen=<IP_ADDRESS>:9735
May 01 16:58:37 raspberrypi systemd[1]: Starting LND Lightning Daemon...
May 01 16:58:37 raspberrypi systemd[1]: Started LND Lightning Daemon.
*** LAST LND ERROR LOGS ***
sudo journalctl -u lnd -b --no-pager -n12
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:02 BST. --
May 01 16:58:37 raspberrypi systemd[1]: Starting LND Lightning Daemon...
May 01 16:58:37 raspberrypi systemd[1]: Started LND Lightning Daemon.

May 01 16:58:25 raspberrypi systemd[1]: Started A high performance web server and a reverse proxy server.
*** LAST NGINX LOGS ***
sudo journalctl -u nginx -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:02 BST. --
May 01 16:58:24 raspberrypi systemd[1]: Starting A high performance web server and a reverse proxy server...
May 01 16:58:25 raspberrypi systemd[1]: Started A high performance web server and a reverse proxy server.
--> CHECK CONFIG: sudo nginx -t
*** LAST 20 TOUCHSCREEN LOGS ***
sudo tail -n 20 /home/pi/.cache/lxsession/LXDE-pi/run.log
** Message: 09:18:54.360: wlan0: Received scan results
Playing WAVE '/usr/share/piwiz/srprompt.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
Playing WAVE '/usr/share/piwiz/srprompt.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
Playing WAVE '/usr/share/piwiz/srprompt.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
Playing WAVE '/usr/share/piwiz/srprompt.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.
lxsession: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
openbox-lxde-pi (null)
lxpolkit (null)
lxpanel --profile LXDE-pi (null)
pcmanfm --desktop --profile LXDE-pi (null)
/usr/bin/ssh-agent -s (null)
lxpanel --profile LXDE-pi (null)
lxpolkit: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
pcmanfm: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
XIO:  fatal IO error 104 (Connection reset by peer) on X server ":0"
after 6240 requests (6022 known processed) with 2 events remaining.
lxpanel: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
Aborted by signal Terminated...
*** LAST 20 LOOP LOGS ***
sudo journalctl -u loopd -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:02 BST. --
-- No entries --

RTL is OFF by config

*** LAST 20 ElectRS LOGS ***
sudo journalctl -u electrs -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:02 BST. --
-- No entries --
*** ElectRS Status ***
STATUS ELECTRS SERVICE
configured=0
serviceInstalled=0
infoSync='Service not installed'
serviceRunning=0
tipSynced=0
initialSynced=0
electrumResponding=0
infoSync='Not running - check: sudo journalctl -u electrs'
*** LAST 20 LIT LOGS ***
sudo journalctl -u litd -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:03 BST. --
-- No entries --
*** LAST 20 BTCPayServer LOGS ***
sudo journalctl -u btcpayserver -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:03 BST. --
-- No entries --
*** LAST 20 LNbits LOGS ***
sudo journalctl -u lnbits -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:03 BST. --
-- No entries --
*** LAST 20 Thunderhub LOGS ***
sudo journalctl -u thunderhub -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:03 BST. --
-- No entries --
*** LAST 20 SPECTER LOGS ***
sudo journalctl -u cryptoadvance-specter -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:03 BST. --
-- No entries --
*** LAST 20 SPHINX LOGS ***
sudo journalctl -u sphinxrelay -b --no-pager -n20
-- Logs begin at Sat 2021-05-01 16:57:59 BST, end at Sat 2021-05-01 21:41:03 BST. --
-- No entries --
*** MOUNTED DRIVES ***
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4       15G  3.6G   11G  27% /
devtmpfs       devtmpfs  3.8G     0  3.8G   0% /dev
tmpfs          tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs          tmpfs     3.9G  244M  3.6G   7% /run
tmpfs          tmpfs     5.0M  4.0K  5.0M   1% /run/lock
tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs          tmpfs      32M     0   32M   0% /var/cache/raspiblitz
/dev/mmcblk0p1 vfat      253M   30M  223M  12% /boot
/dev/sdb1      btrfs      30G   44M   28G   1% /mnt/hdd
/dev/sdb2      btrfs     868G   44G  822G   6% /mnt/storage
/dev/sdb3      vfat       34G  2.1G   32G   6% /mnt/temp
tmpfs          tmpfs     782M     0  782M   0% /run/user/1000
tmpfs          tmpfs     782M     0  782M   0% /run/user/1001
*** DATADRIVE ***
RASPIBLITZ DATA DRIVE Status
BASICS
isMounted=1
isBTRFS=1
hddRaspiData=1
isSSD=0
datadisk='sdb'
datapartition='sdb2'
hddBlocksBitcoin=0
hddBlocksLitecoin=1
hddBytes=931485409280
hddGigaBytes=867
hddUsedInfo='1% & 6%'
hddDataFreeKB=28908432
hddAdapterUSB=''
hddAdapterUSAP=0
RAID
isRaid=1
raidHddDev='sdb1'
raidUsbDev='sda'
SWAP
isSwapExternal=1
SwapExternalPath='/mnt/temp/swapfile'
*** NETWORK ***
localip=<IP_ADDRESS>
dhcp=1
network_device=eth0
*** HARDWARE TEST RESULTS ***
UndervoltageReports in Logs: 0
*** SYSTEM STATUS (can take some seconds to gather) ***
localIP='<IP_ADDRESS>'
tempCelsius='51.1'
uptime=16970
upsStatus='OFF'
startcountBlockchain=1
bitcoinActive=1
blockchainHeight=2044222
initialSync=0
syncProgress=99.96
startcountLightning=1
lndActive=1
walletLocked=0
lndPeers=0
syncedToChain=0
scanTimestamp=1619832071
scanDate='Sat  1 May 02:21:11 BST 2021'
scanProgress=99.98
lndRPCReady=1
blitzTUIActive=0
blitzTUIRestarts=0
scriptRuntime=1
*** OPTION: SHARE THIS DEBUG OUTPUT ***
An easy way to share this debug output on GitHub or on a support chat
use the following command and share the resulting link:
/home/admin/XXdebugLogs.sh | nc termbin.com 9999

I reset the LND Wallet since I had no coins in it yet.

Could you please post only the link or the logs? As the logs are inside the link.
Have you tried adding peers?

I could be picking all the closed nodes. Here are the results with a screengrab of one of the nodes from 1ml. Do I need to fund wallet first before connecting?

Not a channel, a peer, for litecoin, not for lightning.

I reset LND Wallet


CornelisUnsolvedMeta highlight does not appear some of the time

screenshot:

As indicated in the screenshot, while the hole on line 10 always shows as highlighted, the unsolved meta on line 8 does not appear highlighted. This does not always occur, and appears to be due to a race condition involving which highlights are applied to the term in what order.
:Inspect on the unsolved meta yields
Extmarks
  - CornelisSymbol links to Normal cornelis
  - CornelisUnsolvedMeta links to DiagnosticWarn cornelis
  - CornelisSymbol links to Normal cornelis

Thus, the two Normal highlight groups on the term are taking priority over the DiagnosticWarn highlight.
Also, as a nit I see no reason that CornelisHole should be linked to Todo and CornelisUnsolvedMeta should be linked to DiagnosticWarn, when both are a hole in the program (and usually show up the same color in agda-mode).

i'd love a PR for this!

this doesn't seem like the easiest problem to solve, since vim highlight groups can't be given priority over each other.
We would need some way to make sure that at most one highlight group is applied to each portion of text

There appear to be different ways to set priority of highlights. See vim.highlight.range() in the lua API, which takes a highlight group and priority. I am also optimistic about ui-hlstate, which includes a very low level API for highlighting and includes priority.

I'm also not sure whether we could use semantic tokens (since Cornelis isn't technically an LSP) but these have the same extmark API that we are currently using, and allow setting a priority. This is what the Lean plugin does, so it might be a good bet. (see :h vim.lsp.semantic_tokens.highlight_token())


UI Point Long type precision loss

Long类型精度丢失

Thank you .

Re-installing qdrant-js will bring about the latest version of the dependency that fixes it.
We're also preparing a release for qdrant-js (rest client) itself that will pin this dependency to 1.2.5 with the fix + introduce bigint types where relevant according to the Qdrant Open Api Schema. Please follow for more:
https://github.com/qdrant/qdrant-js/pull/62

We should probably keep this open until the web UI itself uses this new version instead.