[C++] How to correctly accelerate Parquet read using the FileReader::RowGroup(i)->ReadTable interface

Describe the usage question you have. Please include as many useful details as  possible.
I encountered a performance issue when calling the FileReader::RowGroup(i)->ReadTable interface in a multi-threaded environment. For a RowGroup with 1 million rows, when the number of threads is 1, FileReader::RowGroup(i)->ReadTable takes around 40ms. However, as the number of threads increases, the execution time also increases gradually. When the number of threads reaches 16, the execution time reaches around 250ms.
This is reflected in the overall file parsing performance, where using 16 threads is only about 5 times faster than using a single thread.
Is this issue caused by locking or I/O in the interface? Are there any other methods for multi-threaded parsing?
Component(s)
C++

For a RowGroup with 1 million rows, when the number of threads is 1, FileReader::RowGroup(i)->ReadTable takes around 40ms. However, as the number of threads increases, the execution time also increases gradually. When the number of threads reaches 16, the execution time reaches around 250ms.

Are you read file on object store or Local FileSystem? I guess the task is a CPU-bound task, and may I ask the CPU count you're using?

I've check the code here: https://github.com/apache/arrow/blob/03a960de86d0c3ce8bf299724c94be5b291d85b4/cpp/src/parquet/arrow/reader.cc#L1247-L1284
CPU Executor is used when use_thread enabled ( C++ disable use_thread by default ), and per-thread calls a ReadColumn to emit the column out, generally it couldn't get slower here. I guess maybe that's because contention on CPU thread or other reason 🤔, maybe I can draft some implemention later this week

Besides, the concurrency is in column-level, which means in per rowgroup, it decode multiple leaf-column concurrently, how many columns do your file has?

I've check the code here:
https://github.com/apache/arrow/blob/03a960de86d0c3ce8bf299724c94be5b291d85b4/cpp/src/parquet/arrow/reader.cc#L1247-L1284
CPU Executor is used when enabled ( C++ disable use_thread by default ), and per-thread calls a to emit the column out, generally it couldn't get slower here. I guess maybe that's because contention on CPU thread or other reason 🤔, maybe I can draft some benchmark later this weekuse_thread``ReadColumn

I deliberately turned off 'use_thread' and instead manually called 'reader->RowGroup(i)->ReadTable(&table)' with multiple threads just like:
         threads.push_back(std::thread([&reader, i]() {             reader->RowGroup(i)->ReadTable(&table);         }));

Aha. so a thread only handle one ReadTable call? Basically, if encryption is not enabled, and file doesn't on object-store, ReadTable is probably a cpu-bound task...I'll try to repro on my 3800x...

Aha. so a thread only handle one ReadTable call? Basically, if encryption is not enabled, and file doesn't on object-store, ReadTable is probably a cpu-bound task...I'll try to repro on my 3800x...

yes,  16 threads handle 16 RowGroups in parallel. And columns are processed serially in each thread.


Azure Cost Management - Retail Prices API - Request add additional properties for Compute services

Hi there.  I'm glad that Microsoft provides a Retail API endpoint to query pricing information.  For compute based services, its missing additional properties such as CPU, memory size and OS.  Can those properties be added to the JSON output?

@jgurbani Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.

@jgurbani Regarding your question about additional properties such as CPU, memory size, and OS, the Azure Cost Management Retail API currently provides a set of standard properties for compute-based services, including the service name, meter ID, meter name, meter category, unit of measure, and pricing tier. However, the API does not currently provide additional properties such as CPU, memory size, and OS.
That being said, you can use the Azure Pricing Calculator to estimate the cost of Azure services based on your specific requirements, including CPU, memory size, and OS. The Azure Pricing Calculator provides a web-based interface to estimate the cost of Azure services based on various parameters, including service type, region, instance type, and usage. You can also download the pricing details in CSV format for further analysis.
Here's an example of how to use the Azure Pricing Calculator to estimate the cost of a virtual machine with specific CPU, memory size, and OS requirements:

Go to the Azure Pricing Calculator website (https://azure.microsoft.com/en-us/pricing/calculator/).
Select the "Virtual Machines" service type.
Choose the region where you want to deploy the virtual machine.
Select the instance type that meets your CPU and memory size requirements.
Choose the operating system that you want to use.
Enter the estimated usage for the virtual machine.
Click the "Add to estimate" button to add the virtual machine to your estimate.
Review the estimated cost for the virtual machine.

I hope this information helps you.

Hi - @navba-MSFT, I understand I can the CPU, memory info via the Pricing Calculator website in the meanwhile.  I'm requesting a feature request too add this to Retail API as well.

Adding service team to look into the feature-request ask.


Added the ability to create data files, casts, transformers and rules using Laravel Idea plugin

Cool, cool, cool, thanks!


Squiz.Arrays.ArrayDeclaration sniff not very configurable (follow up on Squizlabs#582)

Describe the bug
A clear and concise description of what the bug is.
Code sample
class HelloWorld
{
    public static function dataProvider(): \Generator
    {
        yield 'test case' => [[1.1, 2.5, 3.14], static fn (float $item): float => match ($item) {
            1.1, 2.5 => 1.1,
            default => $item
        }, [1.1, 3.14]];
    }
}

Custom ruleset
<?xml version="1.0"?>
<ruleset name="My Custom Standard">
  <description>PSR-2 base with some additions</description>

    <rule ref="PSR2" />

    <rule ref="Squiz.Arrays.ArrayDeclaration">
        <!-- Disable arrow alignment -->
        <exclude name="Squiz.Arrays.ArrayDeclaration.DoubleArrowNotAligned"/>
        <!-- Uses indentation of only single space -->
        <exclude name="Squiz.Arrays.ArrayDeclaration.KeyNotAligned"/>
        <!-- Allow multiple values on a single line -->
        <exclude name="Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed"/>
        <!-- Disable alignment of braces -->
        <exclude name="Squiz.Arrays.ArrayDeclaration.CloseBraceNotAligned"/>
        <!-- Disable alignment of values with opening brace -->
        <exclude name="Squiz.Arrays.ArrayDeclaration.ValueNotAligned"/>
        <!-- Checked by SlevomatCodingStandard.Arrays.TrailingArrayComma.MissingTrailingComma -->
        <exclude name="Squiz.Arrays.ArrayDeclaration.NoCommaAfterLast"/>
        <exclude name="Squiz.Arrays.ArrayDeclaration.NoComma"/>
    </rule>

    <rule ref="Generic.Arrays.ArrayIndent"/>
</ruleset>

To reproduce
Steps to reproduce the behavior:

Create a file called test.php with the code sample above...
Run phpcs test.php ...
See error message displayed

  7 | ERROR | [x] The first value in a multi-value array must be on a new line (Squiz.Arrays.ArrayDeclaration.ValueNoNewline)
  7 | ERROR | [x] Each value in a multi-line array must be on a new line (Squiz.Arrays.ArrayDeclaration.ValueNoNewline)
 10 | ERROR | [x] Each value in a multi-line array must be on a new line (Squiz.Arrays.ArrayDeclaration.ValueNoNewline)
 10 | ERROR | [x] Closing brace of array declaration must be on a new line (Generic.Arrays.ArrayIndent.CloseBraceNotNewLine)
 10 | ERROR | [x] Closing parenthesis of array declaration must be on a new line (Squiz.Arrays.ArrayDeclaration.CloseBraceNewLine)

Expected behavior
When I run:
phpcbf ./test.php --sniffs=Squiz.Arrays.ArrayDeclaration,Generic.Arrays.ArrayIndent

the code is fixed as below:
class HelloWorld
{
    public static function dataProvider(): \Generator
    {
        yield 'test case' => [
            [1.1, 2.5, 3.14], static
fn (float $item): float => match ($item) {
            1.1, 2.5 => 1.1,
            default => $item
        },
            [1.1, 3.14]
        ];
    }
}

so it looks like it's breaking the closure in the wrong place, and because of that it causes issue with:
Squiz.WhiteSpace.ScopeKeywordSpacing
Generic.WhiteSpace.ScopeIndent

rules.
Versions (please complete the following information)

Operating System
-

PHP version
8.2/8.3

PHP_CodeSniffer version
3.9.0

Standard
see above

Install type
composer

Additional context
Add any other context about the problem here.
Please confirm:

[x] I have searched the issue list and am not opening a duplicate issue.
[x] I confirm that this bug is a bug in PHP_CodeSniffer and not in one of the external standards.
[x] I have verified the issue still exists in the master branch of PHP_CodeSniffer.

Confirmed. Thanks for reporting this @michalbundyra .
The Squiz.Arrays.ArrayDeclaration sniff is known to be problematic and has been for years.
The problem is largely that as soon as something is excluded from that sniff, the sniff is broken. This is a design flaw in the sniff.
I've been building up a (highly configurable) NormalizedArrays standard in PHPCSExtra to replace it, but that's not complete yet. Would be lovely if I could find some time to finish that at some point.
With that in mind, I will not be working on this issue.
If someone would submit a PR with a small/simple fix for this issue, I will accept it, but other than that, this sniff is out of bounds for large fixes/rewrites as it is just not worth the time.
In the mean time, rewriting the code to the below will prevent running into this particular problem with the sniff:
class HelloWorld
    public static function dataProvider(): \Generator
    {
        yield 'test case' => [
            [1.1, 2.5, 3.14],
            static fn (float $item): float => match ($item) {
                1.1, 2.5 => 1.1,
                default => $item
            },
            [1.1, 3.14]
        ];
    }
}

@jrfnl thanks for checking this out. I should have mentioned that this is the issue we actually have in doctrine/coding-standard rules:
https://github.com/doctrine/coding-standard/blob/3e88327e4bb74e5538787642a59a45919376e0a9/lib/Doctrine/ruleset.xml#L517-L531
I'll see if I can provide a quick fix. Thanks

@michalbundyra I realize it may be a difficult case to advocate in the context of Doctrine, but if you want a solution in the mean time (aside from the fix you are preparing), you could consider using the NormalizedArrays sniffs in combination with one or two of the WordPressCS array sniffs (which are also customizable).


Automate configuration and credential management

New functions Set-vCenterCredentials and Get-vCenterCredentials.
End vCheck after configuration when running in configuration mode.
Store credentials securely on disk so that users do not need to hand edit the plugins on installation.
When credentials are not available, prompt for credentials (preserve current behavior for existing users).
gitignore the new vCenter credentials file.
Prevent modified files from being mojibaked by little endian BOMs (http://stackoverflow.com/questions/10655788/powershell-set-content-and-out-file-what-is-the-difference)

Adjusted as suggested in #485

Resolved conflicts

Thanks so much!


Track.kind should be an enum

Per 2020-07-15 telecon

The reference code does not enforce a vocabulary/enum for Track.kind:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/992b3c21d851b4ba815bf70fcae6ab9de3e174b0/src/opentimelineio/track.h#L10
Instead:

two constant values are defined: Audio and Video
Track.kind: is typed as a string
Video is specified as the default value for Track.kind

The specification will add a table listing the two constant values are defined: Audio and Video


some more info!

hey! I love your script. I used to use tmux sessionizer by prime and got used to it. Your wezterm config repo is a savior!
I was wondering if you've figured out how to see open "sessions" similar to "Ctrl+B+w" in tmux.
Thanks for ur time and love ur dotfiles.

Honestly I didn't write this script either, https://github.com/wez/wezterm/discussions/4796 is where I got it.
Does Alt-s do what you need? I it's basically this entry in the keys table   { key = 's', mods = mods.alt, action = a.ShowLauncherArgs { flags = 'FUZZY|WORKSPACES' } },
Normally I use alt-f for opening repo and alt-s for the ones I know I have open, but if you do alt-f on existing one it jumps to the one you already have open.
That works well with repos, personally I don't have the need for many ssh sessions, not sure if that's what you need.
Does that help?

I am not very familiar with tmux but you can check https://github.com/wez/wezterm/discussions/2329 out

Honestly I didn't write this script either, wez/wezterm#4796 is where I got it.
Does Alt-s do what you need? I it's basically this entry in the keys table  { key = 's', mods = mods.alt, action = a.ShowLauncherArgs { flags = 'FUZZY|WORKSPACES' } },
Normally I use alt-f for opening repo and alt-s for the ones I know I have open, but if you do alt-f on existing one it jumps to the one you already have open. That works well with repos, personally I don't have the need for many ssh sessions, not sure if that's what you need.
Does that help?

oh my, this is what i was looking for! thanks very much. cant believe i missed that!


Inherit class variable types from ancestor

As explained in https://github.com/crystal-lang/crystal/pull/2443#issuecomment-209008322 the class variable types aren't inherited by descendants. Here is an example use case from Frost:
class Frost::Record
  @@table_name : String

  def self.table_name
    @@table_name ||= name.tableize
  end
end

class User < Frost::Record
end

puts User.table_name # => undefined class variable '@@table_name' of User

A workaround is to use macro inherited:
class Frost::Record
  macro inherited
    @@table_name : String
  end

  def self.table_name
    @@table_name ||= name.tableize
  end
end

Is this behaviour going to change (i.e. class variables will be inherited)?

@ruivieira Class variables defined in a superclass will also be defined in a subclass. Their value won't be shared. This is similar to instance variables.


support python 3.6

i see python3.5 hardcoded in our setup.py

conda forge does this for users, might have to fix it for devs.
the more basic problem is we have duplication of effort between setup.py and beakerx-install.

Feel free to create a new issue to clean up setup.py and install.py and assign Robert or I


Fix the issue with npm publish not including those folders

The current version 1.6.7 seems to come without the "src" or "dist" folder when fetched from npm:
~/w/pixi-packer-parser (master) $ rm -rf node_modules/resource-loader/
~/w/pixi-packer-parser (master) $ npm install
<EMAIL_ADDRESS>node_modules/resource-loader
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS>~/w/pixi-packer-parser (master) $ ls node_modules/resource-loader/
LICENSE      README.md    node_modules package.json

I've looked through the recent changes and I feel like this should fix it - It's one of those things very hard to test without actually doing it though :(

Whoops!

Looks like this does fix it, I will republish tonight when I get home.

thanks!


Fix Typo in local_diskstore

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[SPARK-6584][CORE]Provide ExecutorPrefixTaskLocation to support the rdd which can be aware of partition's executor location.

The function RDD.getPreferredLocations can only be set the host awareness prefer locations.
If some RDD wants to be scheduled by executor(such as BlockRDD), spark can do nothing for this.
So I want to provide ExecutorPrefixTaskLocation to support the rdd which can be aware of partition's executor location. This mechanism can avoid data transfor in the case of many executor in the same host.
I think it's very useful especially for SparkStreaming since the Receriver save data into the BlockManger and then become a BlockRDD

Test build #29345 has started for   PR 5240 at commit 271240d.

This patch merges cleanly.

This PR is a subTask of https://github.com/apache/spark/pull/5152.
But it also can improve the performance of BlockRDD since it's now using the host aware scheduler and can avoid data transfer in the same executor.

I think this might need review from @mateiz, @rxin or Colin McCabe who wrote some of this code. I don't feel qualified as it's also a change in behavior to how tasks are scheduled.

Test build #29345 has finished for   PR 5240 at commit 271240d.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

case class ExecutorPrefixTaskLocation(override val host: String, executorId: String)

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29345/
Test PASSed.

Test build #31038 has started for   PR 5240 at commit 271240d.


Permit forward-slash '/' in catalog chart names

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Attempt to add a HTTP catalog to Rancher, where chart names in the index.yaml file contain a forward-slash / character
Result:
Observe errors in the Rancher logs of the following format:
2019/07/09 14:49:21 [ERROR] CatalogController harbor-catalog [catalog] failed with : failed to update templates. Multiple error occurred: [failed to create template harbor-catalog-test-catalog/hello-cluster: CatalogTemplate.management.cattle.io "harbor-catalog-test-catalog/hello-cluster" is invalid: metadata.name: Invalid value: "harbor-catalog-test-catalog/hello-cluster": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')]
Other details that may be helpful:
A forward-slash character appears to be a valid character in a helm chart name; however, as Rancher attempts to store the chart name in the metadata.name field of a Kubernetes resource, this fails the DNS-1123 validation. User encountered this issue using the ChartMuseum shipped in Harbor, as Harbor generates chart names of the format <project namespace>/<chart>.
Environment information

Rancher v2.2.4

gzrancher/rancher#5022

@mrajashree is this possible with how we handle helm charts?

@axeal can you share the exact catalog added for this?

@mrajashree I originally reproduced with a helm repository based catalog with a slash in a chart name, served up with helm serve. However, you can also reproduce with a git based catalog, as I just did with https://github.com/axeal/test-catalog/tree/chart-with-slash

Same issue here.  Seems we won't be able to use Harbor for the chart-museum functionality til this is fixed.

With the new Helm Apps and Marketplace feature in v2.5, can we test trying to deploy a helm chart that has a slash in the name? @sowmyav27 @bmdepesa

@deniseschannon on latest 2.5-head,

Deployed chart museum and name of chart - my/chartmuseum
Error seen. -

helm install --namespace=default --timeout=10m0s --values=/home/shell/helm/values-chartmuseum-2.3.1.yaml --version=2.3.1 --wait=true my/chartmuseum /home/shell/helm/chartmuseum-2.3.1.tgz
Error: rendered manifests contain a resource that already exists. Unable to continue with install: could not get information about the resource: invalid resource name "my/chartmuseum-chartmuseum": [may not contain '/']

This seems like an issue with the chart and nothing to do with Rancher. Closing this as the upstream needs to be updated.

I have re-tested and can confirm that Rancher behaviour differs from helm CLI, below are the steps to re-reproduce for comparison.
Harbor allows users to reference a helm repository via a top level URL at <harbor_url>/chartrepo/ or a project specific URL at <habor_url>/chartrepo/<project_name> (per "Add Harbor to the Repository List" in https://goharbor.io/docs/1.10/working-with-projects/working-with-images/managing-helm-charts/). With the first approach charts are installed by referencing <repo_name>/<project_name>/<chart_name>, in the second with only <repo_name>/<chart_name>. The first approach succeeds via the helm CLI, but fails via Rancher (due to the / in the <project_name>/<chart_name> reference).
Create Rancher and Harbor lab

Provision a Rancher v2.4.8 with a custom cluster (https://github.com/superseb/tf-do-rancher2/)
Install the harbor v1.3.2 from the library catalog into the custom cluster, set admin password to admin
Log in to harbor when provisioned, navigate to the library project and upload a helm chart. I uploaded the mysql v1.3.1 chart from rancher/charts https://github.com/rancher/charts/tree/master/charts/mysql, having created a gziped tar file of this.

Install chart via helm CLI (tested with v3.3.4)

Export kubeconfig for custom cluster.
Add helm repo helm repo add harbor --username admin --password admin http://harbor-harbor-ingress.harbor.<IP_ADDRESS>.xip.io/chartrepo/
Run repo update: helm repo update
Install mysql chart in library project: helm install mysql harbor/library/mysql and observe this is successful.

Attempt to add catalog via Rancher (tested with v2.4.8)

Attempt to add cluster scoped private catalog with URL http://harbor-harbor-ingress.harbor.<IP_ADDRESS>.xip.io/chartrepo/ user: admin password: admin and helm v3, observe the following error:

Error in chart(s): failed library/mysql  template name harbor-library/mysql: [a DNS-1123 subdomain must consist  of lower case alphanumeric characters, '-' or '.', and must start and  end with an alphanumeric character (e.g. 'example.com', regex used for  validation is  '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')];template  name harbor-library/mysql: [a valid label must be an empty string or  consist of alphanumeric characters, '-', '_' or '.', and must start and  end with an alphanumeric character (e.g. 'MyValue',  or 'my_value',  or  '12345', regex used for validation is  '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')];template version name  harbor-library/mysql-1.3.1: [a DNS-1123 subdomain must consist of lower  case alphanumeric characters, '-' or '.', and must start and end with an  alphanumeric character (e.g. 'example.com', regex used for validation  is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')];

You can use it in Rancher.
Just change repo link from
https://[you.harbor.host]/chartrepo/
to
https://[you.harbor.host]/chartrepo/[you project]
in your case:
https://[you.harbor.host]/chartrepo/harbor-catalog-test-catalog


New crashhandler

This PR refactors the crashhandler and adds several new features:

Support for catching runtime C++ exceptions
Extended register dump support (segments, RIP, vector registers)
Adds proper formatting to the error dump

Example of the new error log:

This has caused issues with Docker:
ns-aitdm_dev_local-1  | 0024:fixme:dbghelp_dwarf:dwarf2_read_range no entry found
ns-aitdm_dev_local-1  | 0024:fixme:dbghelp_dwarf:dwarf2_read_range no entry found
ns-aitdm_dev_local-1  | 0024:fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpScanMemory


2018-09-12T09:54:31.331 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:54:32.066 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:54:32.157 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:54:32.338 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:54:32.338 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:54:32.338 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:54:32.338 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:54:40.697 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to dc1.eosemerge.io:9876: Connection timed out
2018-09-12T09:54:40.697 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:59876: Connection timed out
2018-09-12T09:54:40.697 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:54:40.697 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9820: Connection timed out
2018-09-12T09:54:40.698 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:54:40.698 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:54:40.698 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:54:40.698 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:54:40.698 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:54:40.698 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to eosbattles.com:9877: Connection timed out
2018-09-12T09:55:01.443 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:55:01.443 thread-0   net_plugin.cpp:1914           connect              ] host: eosbattles.com port: 9877
2018-09-12T09:55:01.443 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9820
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 59876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: dc1.eosemerge.io port: 9876
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:55:01.444 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:55:01.560 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:55:01.912 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:55:02.027 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:55:02.256 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:55:02.257 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:55:02.257 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:55:02.257 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:55:31.637 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:55:31.638 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:55:31.638 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:55:31.638 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:55:31.638 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:55:31.638 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:55:31.638 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:55:31.735 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:55:32.028 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:55:32.260 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:55:32.260 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:55:32.358 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:55:32.358 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:55:32.358 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:56:01.827 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:56:01.828 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:56:01.828 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:56:01.828 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:56:01.828 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:56:01.828 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:56:01.828 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:56:01.933 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:56:02.370 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:56:02.371 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:56:02.681 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:56:02.681 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:56:02.682 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:56:02.783 thread-0   net_plugin.cpp:2133           operator()           ] Error reading message from br.eosrio.io:9876: Connection reset by peer
2018-09-12T09:56:31.942 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:56:31.943 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:56:31.943 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:56:31.943 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:56:31.943 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:56:31.943 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:56:31.943 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:56:32.059 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:56:32.526 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:56:32.627 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:56:32.726 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:56:32.726 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:56:32.726 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:57:02.076 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:57:02.077 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:57:02.077 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:57:02.077 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:57:02.077 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:57:02.077 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:57:02.161 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:57:02.604 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:57:02.785 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:57:02.785 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:57:02.785 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:57:02.785 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to dc1.eosemerge.io:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:59876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9820: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:57:12.221 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to eosbattles.com:9877: Connection timed out
2018-09-12T09:57:31.693 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: eosbattles.com port: 9877
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9820
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 59876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:57:32.238 thread-0   net_plugin.cpp:1914           connect              ] host: dc1.eosemerge.io port: 9876
2018-09-12T09:57:32.239 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:57:32.239 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:57:32.239 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:57:32.339 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:57:32.806 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:57:33.019 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:57:33.019 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:57:33.019 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:57:33.019 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:58:02.470 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:58:02.470 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:58:02.470 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:58:02.470 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:58:02.470 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:58:02.470 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:58:02.589 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:58:03.064 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:58:03.183 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:58:03.183 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:58:03.312 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:58:03.720 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:58:04.033 thread-0   net_plugin.cpp:2133           operator()           ] Error reading message from br.eosrio.io:9876: Connection reset by peer
2018-09-12T09:58:19.728 thread-0   controller.cpp:1063           maybe_switch_forks   ] switching forks from 00f441fc5348a9f4157a416d2f02169f587c85fe4e20f60f5d686c19d23bce43 (block number 16007676) to 00f441fa900f218fba04f11b18197f3bc9f9ab6dd3876b4ab1e72d95094a2e22 (block number 16007674)
2018-09-12T09:58:19.765 thread-0   controller.cpp:1108           maybe_switch_forks   ] successfully switched fork to new head 00f441fa900f218fba04f11b18197f3bc9f9ab6dd3876b4ab1e72d95094a2e22
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:58:32.667 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:58:32.814 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:58:33.250 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:58:33.396 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:58:33.397 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:58:33.541 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:58:33.541 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:58:33.541 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:58:52.670 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to node2.eosphere.io:9876: Connection timed out
2018-09-12T09:58:52.670 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to prod.mainnet.eos.cybex.io:9888: Connection timed out
2018-09-12T09:58:52.670 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to node1.eosphere.io:9876: Connection timed out
2018-09-12T09:59:00.475 thread-0   net_plugin.cpp:1010           operator()           ] Error sending to peer bp.cryptolions.io:9876 - ab10206: Connection reset by peer
2018-09-12T09:59:01.542 thread-0   net_plugin.cpp:2133           operator()           ] Error reading message from bp.cryptolions.io:9876: Bad file descriptor
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: bp.cryptolions.io port: 9876
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: prod.mainnet.eos.cybex.io port: 9888
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: node1.eosphere.io port: 9876
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: node2.eosphere.io port: 9876
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:59:02.902 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:59:03.123 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:59:03.435 thread-0   net_plugin.cpp:2135           operator()           ] Peer bp.cryptolions.io:9876 closed connection
2018-09-12T09:59:03.435 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:59:03.609 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:59:03.695 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T09:59:03.780 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:59:03.781 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:59:03.781 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: bp.cryptolions.io port: 9876
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T09:59:32.942 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T09:59:32.971 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T09:59:33.155 thread-0   net_plugin.cpp:2135           operator()           ] Peer bp.cryptolions.io:9876 closed connection
2018-09-12T09:59:33.237 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T09:59:33.320 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T09:59:33.498 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T09:59:33.498 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T09:59:33.533 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T09:59:34.535 thread-0   net_plugin.cpp:2133           operator()           ] Error reading message from br.eosrio.io:9876: Connection reset by peer
2018-09-12T09:59:41.636 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to dc1.eosemerge.io:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:59876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9820: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to <IP_ADDRESS>:9876: Connection timed out
2018-09-12T09:59:41.637 thread-0   net_plugin.cpp:1956           operator()           ] connection failed to eosbattles.com:9877: Connection timed out
2018-09-12T10:00:01.028 thread-0   producer_plugin.cpp:330       on_incoming_block    ] Received block c43e731c9afbf7f4... #16008000 @ 2018-09-12T09:53:49.000 signed by eoslaomaocom [trxs: 2, lib: 16007673, conf: 0, latency: 372028 ms]
2018-09-12T10:00:02.892 thread-0   binaryen.hpp:608              translate_one        ] misaligned reference
2018-09-12T10:00:02.892 thread-0   binaryen.hpp:608              translate_one        ] misaligned reference
2018-09-12T10:00:02.892 thread-0   binaryen.hpp:608              translate_one        ] misaligned reference
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: bp.cryptolions.io port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: p2p-1.eosnetwork.io port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: eosbattles.com port: 9877
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9820
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: <IP_ADDRESS> port: 59876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: publicnode.cypherglass.com port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: peering1.mainnet.eosasia.one port: 80
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: br.eosrio.io port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: dc1.eosemerge.io port: 9876
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: fullnode.eoslaomao.com port: 443
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: p.jeda.one port: 3322
2018-09-12T10:00:02.969 thread-0   net_plugin.cpp:1914           connect              ] host: peer.eosjrr.io port: 9876
2018-09-12T10:00:03.010 thread-0   net_plugin.cpp:1928           operator()           ] Unable to resolve p2p-1.eosnetwork.io:9876: Host not found (authoritative)
2018-09-12T10:00:03.162 thread-0   net_plugin.cpp:2135           operator()           ] Peer bp.cryptolions.io:9876 closed connection
2018-09-12T10:00:03.223 thread-0   net_plugin.cpp:2135           operator()           ] Peer fullnode.eoslaomao.com:443 closed connection
2018-09-12T10:00:03.345 thread-0   net_plugin.cpp:2135           operator()           ] Peer publicnode.cypherglass.com:9876 closed connection
2018-09-12T10:00:03.425 thread-0   net_plugin.cpp:2135           operator()           ] Peer br.eosrio.io:9876 closed connection
2018-09-12T10:00:03.523 thread-0   net_plugin.cpp:2135           operator()           ] Peer peer.eosjrr.io:9876 closed connection
2018-09-12T10:00:03.523 thread-0   net_plugin.cpp:2135           operator()           ] Peer peering1.mainnet.eosasia.one:80 closed connection
2018-09-12T10:00:03.543 thread-0   net_plugin.cpp:2135           operator()           ] Peer p.jeda.one:3322 closed connection
2018-09-12T10:00:03.982 thread-0   net_plugin.cpp:1010           operator()           ] Error sending to peer eosnation-nodeos-public:9876 - fa71cf3: Connection reset by peer
2018-09-12T10:00:10.062 thread-0   net_plugin.cpp:2133           operator()           ] Error reading message from peer.eosn.io:9876: Bad file descriptor

nodeos shutdown and need to resync, database dirty.
isysadmin@iblcore-prod-fn-eos4:~/EOSmainNet$ ./start.sh && tail -f stderr.txt
19508
/home/isysadmin/EOSmainNet/stop.sh: line 17: kill: (19508) - No such process
Nodeos Stopped.
 Maybe your problem is caused by OOM.

kern.log on Ubuntu 18, 15GB ram
root@iblcore-prod-fn-eos4:/# cat /var/log/kern.log | grep "nodeos"
Sep 12 10:00:17 iblcore-prod-fn-eos4 kernel: [1904810.045756] nodeos invoked oom-killer: gfp_mask=0x14280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), nodemask=(null), order=0, oom_score_adj=0
Sep 12 10:00:17 iblcore-prod-fn-eos4 kernel: [1904810.045757] nodeos cpuset=/ mems_allowed=0
Sep 12 10:00:17 iblcore-prod-fn-eos4 kernel: [1904810.045763] CPU: 0 PID: 19508 Comm: nodeos Not tainted 4.15.0-32-generic #35-Ubuntu
Sep 12 10:00:17 iblcore-prod-fn-eos4 kernel: [1904810.045993] [19508]  1101 19508 21018505  3879807 35258368    80916             0 nodeos
Sep 12 10:00:17 iblcore-prod-fn-eos4 kernel: [1904810.046086] Out of memory: Kill process 19508 (nodeos) score 936 or sacrifice child
Sep 12 10:00:17 iblcore-prod-fn-eos4 kernel: [1904810.047392] Killed process 19508 (nodeos) total-vm:84074020kB, anon-rss:15517284kB, file-rss:1936kB, shmem-rss:8kB
Sep 12 10:00:18 iblcore-prod-fn-eos4 kernel: [1904810.636182] oom_reaper: reaped process 19508 (nodeos), now anon-rss:0kB, file-rss:0kB, shmem-rss:8kB

Update to v1.2.5, released yesterday.  v1.2.4 attempted to lock all the memory it was using, which causes out-of-memory kills.  v1.2.5 reverts that behavior, so your node should be able to run normally again.


Power optimizations for Snitch IPU

This PR implements operand gating for the SIMD Unit and the MAC Unit inside the Snitch IPU.
Operand gating is implemented directly in the decoder of the IPU's DSP Unit, which contains the SIMD and MAC units.
Changelog

Implement operand gating for SIMD and MAC units of Snitch IPU

[ ] Automated tests pass

[ ] Changelog updated

[ ] Code style guideline is observed

Just one comment before merging: as you can see I kept commits e491e8f and 6b99a09, together with their revert commits, to document the approach to operand gating that I tested before getting to the final, clean one (4733d6e). Also, the modularization will be important in the future when we rework the IPU, so it would be nice to keep this work there.


Translator throwing TypeError with nested arrays in replacements

Laravel Version: 9.23.0
PHP Version: 8.1.8
Database Driver & Version: mariadb 10.3.34

Description:
Not sure if this is exactly a bug or just an edge case, but when using translation with an nested array in the replacements it will throw an TypeError mb_substr(): Argument #1 ($string) must be of type string, array given caused by `Str::substr'.
The action is called in this foreach: https://github.com/laravel/framework/blob/fdf3ae9760729652673359d3e2cced727ba25b92/src/Illuminate/Translation/Translator.php#L226
I know that I should not put an nested array there (and there are ways to prevent it), but I though that would be a good idea to report here.
Steps To Reproduce:

New laravel project
Create file 'messages.php' inside 'lang/en' folder.
Populate it with:

    return [
        'welcome' => 'Welcome, :name',
    ];

Inside any blade or controller use: {{ __('messages.welcome', ['name' => 'Lucas', 'something' => ['foo', 'bar']]) }}

Fix? (Not really)
To test and avoid it, I put one check inside the foreach in the makeReplacements function like this if (is_array($value)) continue; just to ignore if the replacement is an array, and that "fixed" the behavior, but I know it is not the best option.
Why?
As I said, it is an edge case. I'm populating some translations dynamically and sometimes the array returned will have nested arrays. I can prevent it filtering to remove the array before populating the function arguments.
Thank you and I'm sorry for any inconvenience.

I can prevent it filtering to remove the array before populating the function arguments.

I think this is best.


Dev

Other BSG divisions have determined that squash plus merge into master leads to unhappiness — can you chat with Dustin?

I agree -- I'm not planning to squash this

This is just a regular merge from dev->master, it's just been a while so there are tons of commits

Has anyone squash + merged into master in the past?
Or were merges to dev squashed + merged?

What am I missing here?
Master is at 604 commits, dev is at 820 commits, this PR is 216 commits.

I am pretty confused at this point. Did you merge master into dev yesterday?

Ohhh, I see the confusion. There was a merge conflict in the README. I resolved the conflict. This shows up as a merge commit in the history.

I'm still confused. Why did master gain commits relative to dev, such that a conflict arose?

Because Michael edited the README directly in master

OK. I see that now.
But there are a lot more commits to master than just those, and they are not replicated in dev.
I think I’m struggling to understand the flow here, just looking at the network diagram. How do changes go from fe_dev, me_dev, be_dev, and dev into master? How do changes propagate into master? Can people push directly to master?
The reason we’re asking about this is because large merges can be worrisome. A large number of commits can mean many things: A lot of new features (this is fine, not ideal, but fine), no feature-commit squashing (fine, but verbose, and can be confusing, less desirable), something fundamentally wrong with the git flow (e.g. squash + merge, followed by a merge), or something novel and interesting.
I think we’re trying to make sense of what is going on here, and make sure we’re not backing ourselves into a trap (force push) that could be avoided.
Does that make sense?

On May 17, 2019, at 9:31 AM, Dan Petrisko<EMAIL_ADDRESS>wrote:
Because Michael edited the README directly in master
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/black-parrot/pre-alpha-release/pull/167?email_source=notifications&email_token=ABQVI5GFWFAHPWOOVUMX3DTPV3MX5A5CNFSM4HNQ2SH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVVHRMI#issuecomment-493516977, or mute the thread https://github.com/notifications/unsubscribe-auth/ABQVI5ABE4555OXPTHTXHN3PV3MX5ANCNFSM4HNQ2SHQ.

Yeah, I think basically, the challenge we are struggling with, is how could
anyone actually review this pull request and confidently say, yes, this
makes sense. And additionally, how would they know logically what
functionality does this new pull request have over the last one?
I know part of the problem is that there is just a long delay from the last
master that we pushed. But looking at the commit log, I would say that 80%
of the descriptions do not convey  enough about what the change was. And
there seems like a lot of intermediate commits are in the log, that do not
correspond to a milestone of additional features or bug fixes to previous
commits, but more like incremental “on the way” commits. Presumably these
should be squashed before being committed to dev?
So my thought here is that perhaps we can refine the policies and flow a
bit to add more structure to the repo metadata...
[In terms of modifying master, the README is forward facing and will need
to be updated out of band with any feature merges from dev. Similarly, we
may need to do some hot fixes (is that the right term? First I am learning
the term hot takes, and now hot fixes..)]
M
On Fri, May 17, 2019 at 9:41 AM Dustin Richmond<EMAIL_ADDRESS>wrote:

OK. I see that now.
But there are a lot more commits to master than just those, and they are
not replicated in dev.
I think I’m struggling to understand the flow here, just looking at the
network diagram. How do changes go from fe_dev, me_dev, be_dev, and dev
into master? How do changes propagate into master? Can people push directly
to master?
The reason we’re asking about this is because large merges can be
worrisome. A large number of commits can mean many things: A lot of new
features (this is fine, not ideal, but fine), no feature-commit squashing
(fine, but verbose, and can be confusing, less desirable), something
fundamentally wrong with the git flow (e.g. squash + merge, followed by a
merge), or something novel and interesting.
I think we’re trying to make sense of what is going on here, and make sure
we’re not backing ourselves into a trap (force push) that could be avoided.
Does that make sense?

On May 17, 2019, at 9:31 AM, Dan Petrisko<EMAIL_ADDRESS>wrote:
Because Michael edited the README directly in master
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/black-parrot/pre-alpha-release/pull/167?email_source=notifications&email_token=ABQVI5GFWFAHPWOOVUMX3DTPV3MX5A5CNFSM4HNQ2SH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVVHRMI#issuecomment-493516977>,
or mute the thread <
https://github.com/notifications/unsubscribe-auth/ABQVI5ABE4555OXPTHTXHN3PV3MX5ANCNFSM4HNQ2SHQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/black-parrot/pre-alpha-release/pull/167?email_source=notifications&email_token=AEFG5AE2X7JK5QKWIDNEHATPV3N3TA5CNFSM4HNQ2SH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVVIG3Y#issuecomment-493519727,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEFG5AHJNTWSF7RDWX5FYEDPV3N3TANCNFSM4HNQ2SHQ
.

To be honest, I only made this PR to demonstrate the CI, I didn't intend it to be reviewed... This is just updating master from the latest dev, absolutely nothing fancy happening.

I think I’m struggling to understand the flow here, just looking at the network diagram. How do changes go from fe_dev, me_dev, be_dev, and dev into master? How do changes propagate into master? Can people push directly to master?

I outline the overall structure here briefly, but I admit it should be more explicit.
https://docs.google.com/document/d/1GOSp6NVQUzGAAk_ahleAsANaQK2XJ0MUOZFPC9DLbLQ/edit#
Basically,

people should do all of their work in feature branches, squash/rebase those commits into a single/few commits before merging into fe_dev, be_dev, me_dev. This is what is not happening right now.

When a set of features has been well tested, they should be PRd into dev.  Again, there is no branch protection right now, so people merge into dev without PR.  CI should protect this branch from not being synthesizable and / or failing the functional tests.

Once we run PPA regression, long running benchmarks, etc and decide that dev is solid, then we manually update master to dev.  Because this is a straight transfer, there's little (no) chance of it working in dev and not working in master, so this really only needs to be PRd to root out any git funkiness.

3b) Because no one is using master and we have no PPA regression or long-running benchmarks, master just doesn't get updated very often right now.

[In terms of modifying master, the README is forward facing and will need
to be updated out of band with any feature merges from dev. Similarly, we
may need to do some hot fixes (is that the right term? First I am learning
the term hot takes, and now hot fixes..)]

Yeah, hotfixes should be PRd directly into where they are needed.  Ideally, one would use git cherry-pick to pull that singular commit back into dev, this avoids the merge commit.

But there are a lot more commits to master than just those, and they are not replicated in dev.

Where do you see this? I only see 3 README commits on master that are not on dev...

To be honest, I only made this PR to demonstrate the CI, I didn't intend it to be reviewed... This is just updating master from the latest dev, absolutely nothing fancy happening.

Gotcha. That wasn't clear to me.

I think I’m struggling to understand the flow here, just looking at the network diagram. How do changes go from fe_dev, me_dev, be_dev, and dev into master? How do changes propagate into master? Can people push directly to master?

I outline the overall structure here briefly, but I admit it should be more explicit.
https://docs.google.com/document/d/1GOSp6NVQUzGAAk_ahleAsANaQK2XJ0MUOZFPC9DLbLQ/edit#
Basically,

people should do all of their work in feature branches, squash/rebase those commits into a single/few commits before merging into fe_dev, be_dev, me_dev. This is what is not happening right now.

This is similar to what I enforce in F1 and I like it. If you can enforce it, it is worth the effort.

When a set of features has been well tested, they should be PRd from <end_dev> into dev.  Again, there is no branch protection right now, so people merge into dev without PR.  CI should protect this dev from not being synthesizable and / or failing the functional tests.

I believe you can define a single branch rule that targets all dev* branches. But yeah, this sounds great.

Once we run PPA regression, long running benchmarks, etc and decide that dev is solid, then we manually update master to dev.  Because this is a straight transfer, there's little (no) chance of it working in dev and not working in master, so this really only needs to be PRd to root out any git funkiness.

In theory yes :p

3b) Because no one is using master and we have no PPA regression or long-running benchmarks, master just doesn't get updated very often right now.

[In terms of modifying master, the README is forward facing and will need
to be updated out of band with any feature merges from dev. Similarly, we
may need to do some hot fixes (is that the right term? First I am learning
the term hot takes, and now hot fixes..)]

Yeah, hotfixes should be PRd directly into where they are needed. Ideally, one would use git cherry-pick to pull that singular commit back into dev, this avoids the merge commit.

But there are a lot more commits to master than just those, and they are not replicated in dev.

Where do you see this? I only see 3 README commits on master that are not on dev...

You're right that there are only three commits right now. But looking at the last month or so - I see several instances of people doing more than README editing and committing to master. These changes have been merged from master to dev ad-hoc.
For example: eddb432
If you're planning to have hotfixes then I would look into closing dev after each merge, and re-open it from that merge commit. Then long-term rebasing of dev becomes simpler, and people can rebase their own branches on the new dev. (It will still be a linear rebase)

You're right that there are only three commits right now. But looking at the last month or so - I see several instances of people doing more than README editing and committing to master. These changes have been merged from master to dev ad-hoc.

Guilty.

If you're planning to have hotfixes then I would look into closing dev after each merge, and re-open it from that merge commit. Then long-term rebasing of dev becomes simpler, and people can rebase their own branches on the new dev. (It will still be a linear rebase)

What's the advantage of this over cherry-picking? We have protection against force-pushing on *dev for safety, so we would have to give that up for this scheme.

On May 17, 2019, at 10:36 AM, Dan Petrisko<EMAIL_ADDRESS>wrote:
You're right that there are only three commits right now. But looking at the last month or so - I see several instances of people doing more than README editing and committing to master. These changes have been merged from master to dev ad-hoc.
Guilty.
If you're planning to have hotfixes then I would look into closing dev after each merge, and re-open it from that merge commit. Then long-term rebasing of dev becomes simpler, and people can rebase their own branches on the new dev. (It will still be a linear rebase)
What's the advantage of this over cherry-picking? We have protection against force-pushing on *dev for safety, so we would have to give that up for this scheme.

Are you cherry picking into dev? I guess I’m trying to understand how you would resolve conflicts without reverse merging (which I think looks weird).

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/black-parrot/pre-alpha-release/pull/167?email_source=notifications&email_token=ABQVI5DH7VNQDBJBC2SZAPDPV3UILA5CNFSM4HNQ2SH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVVMNDA#issuecomment-493536908, or mute the thread https://github.com/notifications/unsubscribe-auth/ABQVI5A3XVZI2XTZAYYDTATPV3UILANCNFSM4HNQ2SHQ.

Ah no, I’m just embracing reverse merging. Hotfixes should be rare and simple, so the commit message can explain them

Okay awesome Dan -- this has been a very helpful discussion -- sorry it seemed like we were shooting the messenger! =) Seems like action items are:

Have a BSG wide-document that describes our git flow.  It seems to be that the three of us are mostly in agreement so we can converge across the group. This should targeted toward somebody who is not a git wizard (i.e. your advisor, or EE students), and boils things down to concrete git commands to type.

In the doc and to group members directly, specify our squash/merge strategy, and what an adequately specific commit tag is (i.e. "fix bug" -> "fix bug in cache" -> "fix bug in data cache" -> "fix masks-don't-work-on-fpga issues in data cache"

Sounds good!

In the doc and to group members directly, specify our squash/merge strategy, and what an adequately specific commit tag is (i.e. "fix bug" -> "fix bug in cache" -> "fix bug in data cache" -> "fix masks-don't-work-on-fpga issues in data cache"

One thing we should definitely encourage is embedding the issue fixed into the commit (and creating issues for bugs!)

I'm merging this now, but I'll make a note to work on the BSG git flow document


File browser not available when selecting attachments

When sending emails I cannot select files.  The options available does not in lude the file browser,  just basically photo apps.  To get around I can upload file to one drive and then select it that way,  but if in cloud no reason to send via email.  Can send link via one drive.
If option available to share/export from an app,  can choose k9 mail and send file as attachment,  just cannot do it directly with k9 mail.
This did not exist previously so not sure if caused by an update or something.
Tried attaching screenshot. Nothing on this form to indicate wwhether it has been attached or not.

Try using another file manager. If that doesn't solve your problem please use the mailing list to ask for help.


Wrong order of components within input group

The order of the components within the input group causes the wrong styling. Usually, the Input control goes first which allows the left side of the input to have a cornered border.

But in this package the input does not come first, the styling is lost and you end up without the rounded borders.

I suggest the input component should go first.

I've attached a PR to fix this.

Should be resolved with #66


gnmi-1.8: add NoMetadataSingleUpdate deviation

Currently our devices require metadata update to be accompanied by another update for an OC path (no single metadata update is allowed). This deviation allows setting metadata along with another update.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1663

Relevant Lines:
2389

💛  - Coveralls

/gcbrun

good for go


fix NSOperationQueue to retain operation in 'all' queue once it is dispatched

After https://github.com/apple/swift-corelibs-foundation/pull/340,  NSOperationQueue.operationCount is decremented as soon as task is dispatched for execution. This is because dequeue() method is modified to delete operation from 'all' queue.

@swift-ci please test


PixArt-Σ

https://github.com/huggingface/diffusers/releases/tag/v0.28.0

https://github.com/siliconflow/onediff/tree/main/onediff_diffusers_extensions/examples/pixart


Monitor can't fetch recent pipelines anymore … ?

Hi Timo!
I've happily using the monitor for the past months and got totally used to my bird's eye view of running pipelines. ❤
Since a couple days, the monitor seems to have trouble fetching the right information about running pipelines. Like, when I leave maxAge to the default, it only shows me one project which also has a wrong last run timestamp on it. When I set maxAge: 0 it shows me everything but all the last run times are off...
Maybe something changes in the Gitlab API? Anyone else with this issue?
Thanks!

Hi!
Do the last change times differ from the times that are displayed in your GitLab instance?

heloouu,
yep they do – right?

Also just rebuilt and redeployed from source … and set a new access token

@nilsborg That's not the last change time. You can find it on your recent projects dashboard.

Ah ok well  that says:

Though I thought the time in the lower right corner of the project boxes in the monitor is that last time the pipeline ran … ?

Nope, it's the last update time ;)

Ok then … :) Still, something’s not right.. 3 days vs. 4 days.. Cards not showing currently running pipelines ..
You don’t have these issues?

On 27. May 2019, at 12:27, Timo Schwarzer<EMAIL_ADDRESS>wrote:
Nope, it's the last update time ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/timoschwarzer/gitlab-monitor/issues/79?email_source=notifications&email_token=AAIRHI7LZVXVACS7DYMLMO3PXOZQRA5CNFSM4HPZRM7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWJOBZA#issuecomment-496165092, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIRHIY3OGYGCQXXWOSZ7UDPXOZQRANCNFSM4HPZRM7A.

Nope, everything works just fine for me. Any error messages in your browser console?

Ahhaaaa haha I'm so sorry. I got confused because of the time thing. Since I thought that was the last run time, and the projects didn't show up when I just re-ran the pipeline without committing anything new....
BUT all of that totally makes sense if that time is the last commit :)


[1.2.5] Updated Chinese translation

Hello! I've added a Chinese translation file for FnC! I'm also working on a Chinese translation for MNA. It would be great if you could review and merge it. Thx:)

Thx Again ^^


Why is migration process so slow?

问题描述（Issue Description）
I'm trying to measure the migration process, but whatever settings I'm using it still writes just ~20 keys/sec
环境信息（Environment）

RedisShake 版本（RedisShake Version）：4 (aaeedea48e56e159833a17d0b65ab9d8ee53fec9)
Redis 源端版本（Redis Source Version）：5.0.6
Redis 目的端版本（Redis Destination Version）：7.1
Redis 部署方式（standalone/cluster/sentinel）：standalone
是否在云服务商实例上部署（Deployed on Cloud Provider）：AWS

日志信息（Logs）
2024-08-14 09:32:52 INF read_count=[20762], read_ops=[19.98], write_count=[20762], write_ops=[19.98], scan_dbid=[0], scan_percent=[0.02%], need_update_count=[0]
2024-08-14 09:32:57 INF read_count=[20863], read_ops=[27.00], write_count=[20863], write_ops=[27.00], scan_dbid=[0], scan_percent=[0.02%], need_update_count=[0]
其他信息（Additional Information）
The destination elasticache has encryption at rest enabled along with encryption in transit.
[scan_reader]
cluster = false
address = "<IP_ADDRESS>:6379"
tls = false
ksn = true
[advanced]
rdb_restore_command_behavior = "rewrite"
ncpu = 8
pipeline_count_limit = 4096
target_redis_client_max_querybuf_len = 1024_000_000
[redis_writer]
cluster = false
address = "<IP_ADDRESS>:6380"
tls = true
password = "**************"
I haven't found any other setting which might bump the number of keys being written at once.

Are all the keys very large? For example, a list-type key with more than 1000 elements.

well I have ~90 million of hashes which look like this:
hash10006169 key10006169 1

the suffix is just some increasing integer value

When there are many elements in a hash, the time spent by shake on this key will be long.

Maybe I explained it incorrectly. There are many hashes with one key. Not
many Keys.
Dňa pi 16. 8. 2024, 7:58 suxb201 @.***> napísal(a):

When there are many elements in a hash, the time spent by shake on this
key will be long.
—
Reply to this email directly, view it on GitHub
https://github.com/tair-opensource/RedisShake/issues/852#issuecomment-2292867153,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDM36DP63S5CLU2MB6NEZ3ZRWIG5AVCNFSM6AAAAABMPZNHU6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJSHA3DOMJVGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Example:
<IP_ADDRESS>:6379> hgetall hash63491416
1) "key63491416"
   "1"
<IP_ADDRESS>:6379>

Any idea please?

@msvitok77 不正常，但是我也搞不清楚为什么？你可以确认以下几点：

传输的都是只有一个元素的 hash？或许有某个 hash 是非常大的，或者有某个 list 是非常大的。
确认下 dump 命令的耗时，你可以在源端执行 dump hash63491416 来确认下。

re 1.) the hashes are the same because all of them were generated by a script
re 2.) will try

Results:
time redis-cli -r 1 dump hash10430850
"\r\x1a\x1a\x00\x00\x00\x17\x00\x00\x00\x02\x00\x00\x0bkey10430850\r\xf2\xff\t\x00\xed\xb0\x01\x17Y\xf9\x8fN"

real    0m0.154s
user    0m0.006s
sys     0m0.004s

你到源端 DB 的延迟比较高，考虑使用更高的 count，一次性拉取多个 key：
[scan_reader]
# ...
count = 8

will try, thank you

With count=30 I was able to get this performance:
2024-08-19 10:28:46 INF read_count=[194443], read_ops=[420.80], write_count=[194443], write_ops=[420.80], scan_dbid=[0], scan_percent=[0.20%], need_update_count=[0]
2024-08-19 10:28:51 INF read_count=[196418], read_ops=[423.01], write_count=[196418], write_ops=[423.01], scan_dbid=[0], scan_percent=[0.20%], need_update_count=[0]

So roughly 2000 keys / sec

在我的测试中 count=1 可以得到 9k qps，count=10 可以得到 50k qps。

Maybe the main problem might be that I'm using ssh tunnels to connect to both redis clusters. Another problem might be that the target redis is using encryption at rest + encryption in transit.


Incompatibility with stable-diffusion.cpp for SD3.X models

This incompatibility goes both ways, GGUFs generated with this tool won't run in stable-diffusion.cpp, and GGUFs generated with stable-diffusion.cpp refuse to load in your comfyui node. This happens only with SD3 and SD3.5 models as far as I know, for example Flux GGUFs are cross-compatible.
This is pretty annoying for the few people like me who use both comfyui and sdcpp, especially considering SD3 quants have been working in sdcpp for moths now.
I'm guesssing this is realated to this "special fix" of the llama.cpp patch, which I don't fully grasp the point of.
loading sdcpp's quants in the node:
SD3:

SD3.5:

Loading the "fixed" quants in sdcpp just crashes the program with no special logs.

That fix is there to avoid the dim0 (which is 1) being stripped by the quantization. The comfy ones are 1:1 to the reference model (which they have to be since the comfy code fails to load them otherwise - see your first error message).
More info in this comment in the original SD3.5 thread/issue: https://github.com/city96/ComfyUI-GGUF/issues/136#issuecomment-2430234554 / https://github.com/city96/ComfyUI-GGUF/issues/136#issuecomment-2430372603

(the key order is reversed in the GGUF files, but I've numbered the dimensions. Note the missing one in the sdcpp version.)
Since it's just one key, I think it should be fairly easy to add some logic to pad the missing dimension in comfyui + drop that dim or support the full key shape in sdcpp.
I assume your second image is for SD3.5 large (K quant?). I think that'll need extra logic due to some keys not being divisible by 256. I haven't looked at how sdcpp handles that logic yet, and we currently don't have any logic in place, so only legacy quants work for that model.


-[UIView autoPinEdgesToSuperviewEdgesWithInsets:]: unrecognized selector sent to instance

Hi,
I am using Crosspromoter (for showing ads).
I am using it in an old xcode project (ios 6.0 and xcode 7) that use xib (nib files) instead storyboards. Code is working fine when I use/test it in a new project with storyboards but the same code is not working with xib.
I selected  "Auto Layout" checkbox in xib property but got same error. Is there anything specific that I need to do when using Crosspromoter with xib instead storyboards?
I am getting following issue

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView autoPinEdgesToSuperviewEdgesWithInsets:]: unrecognized selector sent to instance 0x7babb9a0'
*** First throw call stack:
(
0   CoreFoundation                      0x03626746 __exceptionPreprocess + 182
1   libobjc.A.dylib                     0x032afa97 objc_exception_throw + 44
2   CoreFoundation                      0x0362e705 -[NSObject(NSObject) doesNotRecognizeSelector:] + 277
3   CoreFoundation                      0x03575287 forwarding + 1047
4   CoreFoundation                      0x03574e4e _CF_forwarding_prep_0 + 14
5   IKYG              0x000668bf -[AdvertisementViewController setupConstraints] + 271
6   IKYG              0x00066767 -[AdvertisementViewController commonInit] + 6615
7   IKYG              0x00064d1e -[AdvertisementViewController initWithFeaturedApp:displayMode:] + 606
8   IKYG              0x00069c4f -[datepickerViewController tappedInterstitial:] + 495
9   libobjc.A.dylib                     0x032c57cd -[NSObject performSelector:withObject:withObject:] + 84
10  UIKit                               0x01e2ca40 -[UIApplication sendAction:to:from:forEvent:] + 99
11  UIKit                               0x01e2c9d2 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
12  UIKit                               0x01f6d13a -[UIControl sendAction:to:forEvent:] + 69
13  UIKit                               0x01f6d557 -[UIControl _sendActionsForEvents:withEvent:] + 598
14  UIKit                               0x01f6c7c1 -[UIControl touchesEnded:withEvent:] + 660
15  UIKit                               0x01e84caa -[UIWindow _sendTouchesForEvent:] + 874
16  UIKit                               0x01e85786 -[UIWindow sendEvent:] + 792
17  UIKit                               0x01e43681 -[UIApplication sendEvent:] + 242
18  UIKit                               0x01e53ab8 _UIApplicationHandleEventFromQueueEvent + 21484
19  UIKit                               0x01e272e7 _UIApplicationHandleEventQueue + 2300
20  CoreFoundation                      0x0354806f CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15
21  CoreFoundation                      0x0353db7d __CFRunLoopDoSources0 + 253
22  CoreFoundation                      0x0353d0d8 __CFRunLoopRun + 952
23  CoreFoundation                      0x0353ca5b CFRunLoopRunSpecific + 443
24  CoreFoundation                      0x0353c88b CFRunLoopRunInMode + 123
25  GraphicsServices                    0x054732c9 GSEventRunModal + 192
26  GraphicsServices                    0x05473106 GSEventRun + 104
27  UIKit                               0x01e2b0b6 UIApplicationMain + 1526
28  IKYG              0x00063159 main + 89
29  libdyld.dylib                       0x03addac9 start + 1
30  ???                                 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

AdvertisementViewController.m file is showing error. I didn't change anything in this AdvertisementViewController.m file (using it as it is) and it is working fine with storyboards but not with xibs.
Here is the code where app is crashing in AdvertisementViewController.m when I am selecting an Interstitial Ad.
if (self.displayMode == DisplayModeInterstitial) {             [self.interstitialView autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero]; ..... .... }
I am also getting the similar error when I select a banner ad. I am getting following issue

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView autoSetDimension:toSize:]: unrecognized selector sent to instance 0x7bb58910'
*** First throw call stack:
(
0   CoreFoundation                      0x03643746 __exceptionPreprocess + 182
1   libobjc.A.dylib                     0x032cca97 objc_exception_throw + 44
2   CoreFoundation                      0x0364b705 -[NSObject(NSObject) doesNotRecognizeSelector:] + 277
3   CoreFoundation                      0x03592287 forwarding + 1047
4   CoreFoundation                      0x03591e4e _CF_forwarding_prep_0 + 14
5   IKYG              0x000842f4 -[AdvertisementViewController setupConstraints] + 2884
6   IKYG              0x00083767 -[AdvertisementViewController commonInit] + 6615
7   IKYG              0x00081d1e -[AdvertisementViewController initWithFeaturedApp:displayMode:] + 606
8   IKYG              0x00086fc3 -[datepickerViewController tappedBanner:] + 643
9   libobjc.A.dylib                     0x032e27cd -[NSObject performSelector:withObject:withObject:] + 84
10  UIKit                               0x01e49a40 -[UIApplication sendAction:to:from:forEvent:] + 99
11  UIKit                               0x01e499d2 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
12  UIKit                               0x01f8a13a -[UIControl sendAction:to:forEvent:] + 69
13  UIKit                               0x01f8a557 -[UIControl _sendActionsForEvents:withEvent:] + 598
14  UIKit                               0x01f897c1 -[UIControl touchesEnded:withEvent:] + 660
15  UIKit                               0x01ea1caa -[UIWindow _sendTouchesForEvent:] + 874
16  UIKit                               0x01ea2786 -[UIWindow sendEvent:] + 792
17  UIKit                               0x01e60681 -[UIApplication sendEvent:] + 242
18  UIKit                               0x01e70ab8 _UIApplicationHandleEventFromQueueEvent + 21484
19  UIKit                               0x01e442e7 _UIApplicationHandleEventQueue + 2300
20  CoreFoundation                      0x0356506f CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15
21  CoreFoundation                      0x0355ab7d __CFRunLoopDoSources0 + 253
22  CoreFoundation                      0x0355a0d8 __CFRunLoopRun + 952
23  CoreFoundation                      0x03559a5b CFRunLoopRunSpecific + 443
24  CoreFoundation                      0x0355988b CFRunLoopRunInMode + 123
25  GraphicsServices                    0x054902c9 GSEventRunModal + 192
26  GraphicsServices                    0x05490106 GSEventRun + 104
27  UIKit                               0x01e480b6 UIApplicationMain + 1526
28  IKYG              0x00080159 main + 89
29  libdyld.dylib                       0x03afaac9 start + 1
30  ???                                 0x00000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Here is the code where app is crashing when I am selecting a banner ad
else if (self.displayMode == DisplayModeBanner) {             [self.bannerView autoSetDimension:ALDimensionHeight toSize:AdvertisementViewControllerBannerHeight]; .... .... }
Please help.
Thanks.

@Jhonny12345 Hey there. Sorry this is happening!
It looks like there was a dependency on PureLayout, which I didn't version. In the mean time, PureLayout appears to have changed it's API, so now it's crashing.
I'll update the code to use just iOS layout constraints over the next couple of days to make the crashes stop.
I'm wondering, what version of iOS are you supporting? I was considering to just use NSLayoutAnchor and support iOS 9/10, but may have to consider other choices if there is a need for lower versions.
Thanks again, hope I can help!

I am supporting ios 7.0 and higher.
I will wait for update.
Thanks.

I decided that the amount of work required to maintain this and fix it was quite high, and the needs of supporting iOS 7 were quite low. Unfortunately I'm going to close this out for now, and consider porting this over to Swift, and then will add support for that as necessary.


Added the PrefixSpan MLlib example based on the current documentation

What changes were proposed in this pull request?
Added the PrefixSpan MLlib example based on the current documentation

How was this patch tested?
with this command line :
./bin/spark-submit ./examples/src/main/python/mllib/prefix_span_example.py

Can one of the admins verify this patch?

Thanks @rangeonnicolas for taking the effort to improve our Python MLlib documentation :)
For this to show up in the documentation you will also need to update the ./docs/mllib-frequent-pattern-mining.md file.
After you'e done that you can verify the new docs locally following the steps in ./docs/README.md :)

Hi @rangeonnicolas are you still interested in working on this change?

Yes, I'm doing it!
2016-11-04 1:02 GMT+01:00 Holden Karau<EMAIL_ADDRESS>
Hi @rangeonnicolas https://github.com/rangeonnicolas are you still
interested in working on this change?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/15344#issuecomment-258310000, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHRuT24SGy5AJsCqBbL2tQPmboudHeKdks5q6nX7gaJpZM4KN0lX
.

I think it's done, But I didn't managed to test the doc. github doens't not display it well

Ah yes, testing the documentation can be a bit difficult. You can take a look at the guide under docs/README.md to see how to build the documentation locally and verify it looks like you expect it to. Let me know how that goes and we can try and find a committer to take a look at this.


implement GetAll tests with bindings from same interface but with different names

subj, ref #3

GetAll tests are created, but at the part on Get tests.


addAll( request, callback) to get more control about caching a bulk of responses.

I think that It will be useful to add a callback function (function(response)) as parameter to the cache.addAll(requests,callback), this allow get more control over the responses and  decide which will be cached, i.e. if response.status < 400 not store on cached.
This callback could return true/false to control what response is valid to be cached.
Thanks, great work,

This is to do with the spec rather than the polyfill. See https://github.com/slightlyoff/ServiceWorker/issues/407


Minor: fix LEAD test description

Which issue does this PR close?

Closes #.
Rationale for this change
When reviewing https://github.com/apache/arrow-datafusion/pull/9445 there was a minor review miss on the LEAD test description

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

thanks @comphead


Write to file in binary mode

Since we're writing bytes, write in binary mode.
Fixes error:
Traceback (most recent call last):
  File "backup.py", line 103, in <module>
    if parse_and_save_message(message) and args.delete:
  File "backup.py", line 72, in parse_and_save_message
    f.write(email.as_bytes())
TypeError: write() argument must be str, not bytes

I had fixed it locally but it wasn't pushed ;) Thanks a lot !


How To Change Server Name in Chat | SOLUTION

Hello , today I will show you how to change the welcome message of the chat.

http://imgur.com/lWV4FEO

Go to src , open PacketHandler.js

This is default config
http://imgur.com/e8A0Eoa

Now change default config and change with this
http://imgur.com/aDmPd0K

This is code

this.gameServer.config.serverName

Once this is done, go to gameserver.ini

http://imgur.com/OQMuiK5

Now , change , in serverName MultiOgar #1 and put your server name

Result
http://imgur.com/WM2pZUs

Delayed closes this.

This is not needed, but thanks anyway :)