Rate limit issues on pipeline

I'm not sure if dockerhub reduced their rate limits or if somehow we are just calling it more than before but it's been quite challenging to finish the release because of this:
logbus | Setting organization "" and project ""
              +all-arm | BASE_IMAGE=opensuse/tumbleweed FAMILY=opensuse FLAVOR=opensuse FLAVOR_RELEASE=tumbleweed K3S_VERSION=1.28.9 MODEL=rpi4 VARIANT=standard
              +all-arm | --> FROM +base
           alpine:3.19 | --> Load metadata alpine:3.19 linux/arm64
  Warning: you are not logged into registry-1.docker.io, you may experience rate-limitting when pulling images
              +all-arm | apply build +base: earthfile2llb for +base: Earthfile:2:0 apply FROM alpine:3.19: resolve image config for alpine:3.19: failed to copy: httpReadSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/library/alpine/manifests/sha[25](https://github.com/kairos-io/kairos/actions/runs/10621879917/job/29463430008#step:12:27)6:95c16745f100f44cf9a0939fd3f357905f845f8b6fa7d0cde0e88c9764060185: 429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
              +all-arm | in		github.com/kairos-io/kairos:v3.1.2+base

  Help: DockerHub responded with a rate limit error. This is usually because you are not logged in.
  You can login using the command:
    docker login

Maybe we can login?
https://contribute.cncf.io/resources/project-services/hosted-tools/

https://cncfservicedesk.atlassian.net/servicedesk/customer/portal/1/CNCFSD-2440?created=true (private link)

We are supposed to apply through here: https://www.docker.com/community/open-source/application/
which requires us to have an org. To create an org you normally have to pay but they suggest this "workaround": https://docs.docker.com/admin/convert-account/#convert-a-community-account-into-an-organization
In other words, iiuc we are supposed to create a "kairos" user, convert that to an org account (hoping no payment will be required), then apply through the linked page. We can then ask the CNCF people (through the jira ticket) to push it further.
We are not going to push any images to dockerhub, we only need to be able to pull upstream distro images with better pull limits. I don't see why we need to just through hoops to create an org which we don't need...
I wonder if we should look at alternatives (e.g. use some registry mirror of our own to bybass the limits).

mirror would be ideal but not sure how complex that will be

I followed their instructions and created an account which I converted to an org. Then I tried to apply through that form but I got these 2 errors:

I tried to woraround the second one by creating a "test" repository and then it complained about:

For the first error I don't even know what their problem is (the url is definitely right).
It seems that it's a lot of effort towards the wrong direction here. I'll update the jira ticket the close the org and all. We should better look for a way to avoid the limits (registry mirror or something).

I replied on the Jira ticket asking them to close it. We will look for alternatives.


Upgrade the VM Agent

"The Azure VM Agent for Windows is automatically upgraded."
Does it mean that the installed Agent on existing deployed Windows VMs is automatically upgraded? or only for new VMs? I'd like to make it clear since I'm not sure from the current context.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ab75f449-661d-bd1e-3ebd-61e2384a911a
Version Independent ID: e7c93a31-6076-26b8-a53d-d36df01ec6bc
Content: Azure Virtual Machine Agent Overview
Content Source: articles/virtual-machines/extensions/agent-windows.md
Service: virtual-machines-windows
GitHub Login: @roiyz-msft
Microsoft Alias: roiyz

Thanks for the question! We are investigating and will update you shortly.

@kazshi Document mentions that update happens at the provisioning time. So i think Agent will not be upgraded for the running vms automatically. For custom images, upgrades are manual.
@roiyz Please provide your comments.

@kazshi Is there any update?

@jakaruna-MSFT I provided information as you mentioned - actually that's what I was assuming (from the context and agent wasn't upgraded automatically for existing VMs) and would like to make sure.  Thanks.

I will close this out for now. If you need additional help please let me know and we can reopen and continue.

@jakaruna-MSFT I understand that the description for new VMs only. However, I think it's better to remove "The Azure VM Agent for Windows is automatically upgraded." (or modify to make it applies to new VMs, and its section title) since it's confusing.  Thanks.


[Bug]:  Unsupported config key OCO_AZURE_ENDPOINT - even when provider is set to openai

Opencommit Version
3.0.16
Node Version
v21.6.2
NPM Version
10.2.4
What OS are you seeing the problem on?
Other Linux Distro
What happened?
installing oco fresh, setting openai api key and running oco set hook.
Any further invocations of oco (including the hook itself) just fail with
Unsupported config key OCO_AZURE_ENDPOINT: Must be in format "https://<resource name>.openai.azure.com/"
I managed to bypass this by modifying the .opencommit file in the home directory and add "undefined" as a value to the
OCO_AZURE_ENDPOINT key (which was empty)
Expected Behavior
Unnecessary variables should not break the programs functionality. I couldn't even set/unset the value using the cli because of this error.
Current Behavior
oco refuses to do anything until this is fixed manually. this is similar to this earlier issue
Possible Solution
Parse the variables first, and then have a dependency graph among them. based on that dependency graph, sanitize accordingly based on what is needed. Also make sure to allow higher level commands (like oco config) to still work even if variables are set incorrectly in the autogenerated file.
Finally to fix the specific bug, make sure to populate it with undefined, similarly to how the rest of the variables are.
Steps to Reproduce
No response
Relevant log output
No response

This is reproducible for new users.

any volunteers to make a PR? i could not find any existing one

@di-sukharev I'll give a try and open a PR today.

I'm running Node v20.14.0 with npm v10.7.0 but the project won't run. Is this a known issue?
$ npm run dev

><EMAIL_ADDRESS>dev
> ts-node ./src/cli.ts

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /opencommit/src/cli.ts
    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:160:9)
    at defaultGetFormat (node:internal/modules/esm/get_format:203:36)
    at defaultLoad (node:internal/modules/esm/load:143:22)
    at async nextLoad (node:internal/modules/esm/hooks:866:22)
    at async nextLoad (node:internal/modules/esm/hooks:866:22)
    at async Hooks.load (node:internal/modules/esm/hooks:449:20)
    at async MessagePort.handleMessage (node:internal/modules/esm/worker:196:18) {
  code: 'ERR_UNKNOWN_FILE_EXTENSION'
}

It seems the best fix is to roll back to 3.0.11
 npm i<EMAIL_ADDRESS>-g
then open your config and ensure you delete the OCO_GITPUSH parameter, otherwise you will get a parse error.
└  Unknown 'OCO_GITPUSH' config option.
Works fine with
OCO_MODEL=gpt-3.5-turbo

FWIW the issue seems to be caused by the entire config file being written, even empty/unset parameters, whenever any config value is set. So if you want to avoid rolling back you can edit ~/.opencommit and remove all of the empty/unset config values and it should work again.

I got the same output after installing opencommit on my new device

I confirm @NodeJSmith answer. You should edit the config file in ~/.opencommit and remove the line with OCO_AZURE_ENDPOINT=我确认答案。您应该编辑 ~/.opencommit 中的配置文件并删除 OCO_AZURE_ENDPOINT= 行

very nice

the PR was merged, gonna be released in the next version today

done, please @funkyfisch follow up


getRow/Column with a 1d array fails

I have a function that extracts a single column from an array using getColumn(idx).
If i call it with e.g.
val m1 = Nd4j.create(Array[Float](-1f, 1f, 1f, -1f), Array[Int](2,2))

it works as expected however if i call it with:
val m2 = Nd4j.create(Array[Float](-1f, 1f, 1f, -1f), Array[Int](1,4))

it fails with an exception: java.lang.IllegalArgumentException: Unable to getFloat scalar column of non 2d matrix. getColumn and getRow should handle the edge cases. See also: https://groups.google.com/forum/#!topic/nd4j/Eqch_WK1m28

Fixed.


Add support for TBN data from LWA1

Like the title says, this PR adds support for TBN data from LWA1.

It's untested!

TBN data from Sevilleta processed as Sevilleta looks good.

TBN data from Sevilleta processed as LWA1 fails.

New TBN data from LWA1 processed as LWA1 looks good.  That's at least some basic testing but it doesn't include the online side of the pipeline.

Ruh-Roh, we need to incorporate this into the new master, after Matt merged LWA_bifrost.py and LWA_bifrost_DFT.py.

@mkolopanis will handle merge conflicts, then @HaraKrish will check for any online performance red flags.

MOFF_DFT_CorrelatorOp returns a slightly different an image with a different shape.  Has it always been this way?

And the image is transposed/flipped?

hmm I just looked for "sameness" when merging the two scripts together. but @KentJames would know for sure

I've tested again with TBN data from LWA1 and LWA-SV and the images look as expected, modulo the DFT shape/orientation difference.

sounds sufficiently tested for this repo to me ¯_(ツ)_/¯
Should we just make an issue about the DFT thing I think? Definitely outside the scope of this PR.

The only other thing that needs to be looked at is its online performance which @HaraKrish was going to do.  Otherwise, yes, I think we should start an issue to look into the DFT thing.  Maybe after understanding it we will also be able to drop down to a single save block.


Add clean! method to tuning strategy interface

Resolve #135

Okay, I think I've got the 1.0 fail figured out now. Working on a new PR to fix.

Merged locally onto dev.


[bug]: we have duplicate exports (due to the v2 folder)

What version of strapi-design-system are you using?
all versions
What's Wrong?
We currently export Link from src/Link and src/v2/Link therefore you can't just do import { Link } from '@strapi/design-system'. This isn't just isolated to Link but all v2 components.
To Reproduce
Try import { Link } from '@strapi/design-system'.
Expected Behaviour
To not crash and be able to use the components.
My solution would be to not export the v2 components from index and instead require a user to do a direct import of the component.
I also would advocate we stop doing the v2 system at all costs.

Just stumbled upon this issue. After update from 1.1.0 to 1.3.1 import {SideNav} from '@strapi/design-system' has stopped working. It took some time to figure out what happened.
I don't see an easy workaround. Some magic in package.json (exports: {'"./*": "./dist/*}?) causes direct import to fail:
import {  SubNav } from '@strapi/design-system/dist/SubNav'

// webpack error
// node_modules/@strapi/design-system/dist/dist/SubNav doesn't exist

also tried this, failed as well (we're using TS)
import {  SubNav } from '@strapi/design-system/SubNav'

// TS error
// TS2307: Cannot find module '@strapi/design-system/SubNav' or its corresponding type declarations.
//  12 | import { SubNav } from '@strapi/design-system/SubNav';

This worked:
const  { SubNav } = require('@strapi/design-system/SubNav')

Would be best to maybe ignore v2 in default exports? Currently it looks like this in @strapi/design-system/dist/index.js

import "./MainNav/MainNav.js";
import "./MainNav/NavBrand.js";
import "./MainNav/NavLink.js";
import "./MainNav/NavSection.js";
import "./MainNav/NavSections.js";
import "./MainNav/NavUser.js";
import "./MainNav/NavCondense.js";
...
import "./v2/SubNav/SubNav.js";
import "./v2/SubNav/SubNavHeader.js";
import "./v2/SubNav/SubNavLink.js";
import "./v2/SubNav/SubNavLinkSection.js";
import "./v2/SubNav/SubNavSection.js";
import "./v2/SubNav/SubNavSections.js";

# no export at all

Hey @Skaleckij,
Yes, there's a PR i'll be opening today that looks at this issue in particular and we'll be releasing a patch post that merger.
RE. Typescript, we don't have types for the library at the moment so I believe you'll have to add a custom.d.ts file to your project and include:
declare module '@strapi/design-system/*';

Or something very similar.


Flask-Images not working on Python 3.5

I'm running Python 3.5.2 on Linux Mint 18.2
Traceback (most recent call last):
  File "run.py", line 6, in <module>
    from app import app
  File "/home/kris/projects/soul/app/__init__.py", line 6, in <module>
    from flask_images import Images
  File "/home/kris/.virtualenvs/soul/lib/python3.5/site-packages/flask_images/__init__.py", line 1, in <module>
    from .core import Images, resized_img_src, resized_img_size, resized_img_attrs, resized_img_tag
  File "/home/kris/.virtualenvs/soul/lib/python3.5/site-packages/flask_images/core.py", line 3, in <module>
    from cStringIO import StringIO
ImportError: No module named 'cStringIO'

Quote from SO question related  to the problem:

The StringIO and cStringIO modules are gone. Instead, import the io module and use io.StringIO or io.BytesIO for text and data respectively.

In issue #34 was suggested solution, but it's not working without github key — getting git clone error.
Obtaining Flask_Images from git+https://github.com/wzuo/Flask-Images.git@d3477b6380d1ee74d21425f787fa194354a1ca2d#egg=Flask_Images (from -r /app/requirements.txt (line 4))
  Cloning https://github.com/wzuo/Flask-Images.git (to d3477b6380d1ee74d21425f787fa194354a1ca2d) to /src/flask-images
  Could not find a tag or branch 'd3477b6380d1ee74d21425f787fa194354a1ca2d', assuming commit.
Warning: Permanently added 'github.com,<IP_ADDRESS>' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@github.com:mitsuhiko/flask-sphinx-themes.git' into submodule path 'docs/_themes' failed
Command "git submodule update --init --recursive -q" failed with error code 1 in /src/flask-images

Using python 3.4 it's also not working.
app_1    |   File "/app/app.py", line 10, in <module>
app_1    |     from flask_images import Images
app_1    |   File "/usr/local/lib/python3.4/site-packages/flask_images/__init__.py", line 1, in <module>
app_1    |     from .core import Images, resized_img_src, resized_img_size, resized_img_attrs, resized_img_tag
app_1    |   File "/usr/local/lib/python3.4/site-packages/flask_images/core.py", line 3, in <module>
app_1    |     from cStringIO import StringIO
app_1    | ImportError: No module named 'cStringIO'

So Flask-Image is NOT working on Python 3.
Someone knows a workaround ?

@krsnv just clone using https, or use my suggested solution in #34

v3.0.0 is out right now with Python3 support.


Remove node_modules folder

There shouldn't be any need to pass the node_modules folder around via git repositories. As this directory is often quite large it is not common to store a copy of it in the repo itself.  You will also note that the post install script defined in the truffle-unbox.json also does the npm install to create the node_modules directory after the repo is cloned.
{
  "hooks": {
      "post-unpack": "npm install --loglevel=error && touch .env"
  }
}

So it shouldn't be needed to store node_modules directory.  Furthermore this caused an issue when upgrading versions of node described here.  https://github.com/truffle-box/optimism-box/issues/21  This will fix the issue by rebuilding node_modules directory appropriately .

Also this will improve the download time when running truffle unbox optimism

@beakerfm totally missed this! but included the change in my most recent PR: https://github.com/truffle-box/optimism-box/pull/26
Thanks for pushing this out!


[Breaking Change] update rulinalg to v0.3.0

Adds BaseMatrix and BaseMatrixMut about everywhere.
I benchmarked timing the examples. I didn't notice a regression but better to double check on another system.
Once merged, it'll probably open the door to new optimizations now that slices have much more fn than before.

I suppose you've probably started this on your side, but in case ...

I wanted to get around to this but didn't have time - thank you so much!
Glad to hear there were no regressions on your end. I'll try it out myself either later tonight or tomorrow and merge if everything looks good (I can't see any reason why this wouldn't be the case).

Also - do you think this should produce a version bump to 0.5.0? It seems sensible but in practice probably not necessary. The core functionality of rusty-machine shouldn't be broken but if anyone is extending the library this will break. I imagine that right now this probably isn't likely...

We reexport BaseMatrix and removed BaseSlice so this is a breaking change ... and so it should be published so people can adapt.
On the other hand, we should probably wait for having some benches BEFORE merging this so we can track perf regressions.

I agree with the above. However I'll add in a couple other small breaking changes before doing the release.

I ran the benchmarks with rulinalg 0.3.0 and saw no regressions! I think it would be best for you to confirm on your machine too - but I'm feeling pretty confident about this PR.

Sorry for the late answer.
I rebased on master and fixed the bench.
Unfortunately, I actually see a small regression (5% when training nnet).
Can someone else check on his side?

Sorry for the late answer.

No problem at all!
I saw a negligible regression on my end. I'll try again later - if the problem persists I guess we have to do some profiling to figure out the cause.

I ran this again using cargo-benchcmp and got the following:
 name                                     old.txt ns/iter  new.txt ns/iter  diff ns/iter  diff %
 examples::k_means::k_means_predict       1,198,937        1,169,148             -29,789  -2.48%
 examples::k_means::k_means_train         14,345,075       14,492,623            147,548   1.03%
 examples::nnet::nnet_and_gate_predict    423              463                        40   9.46%
 examples::nnet::nnet_and_gate_train      33,948,505       36,693,264          2,744,759   8.09%
 examples::svm::svm_sign_learner_predict  4,268            4,612                     344   8.06%
 examples::svm::svm_sign_learner_train    27,306           28,726                  1,420   5.20%

Though performance regressions aren't a huge issue at this stage. We should try to figure out what's going on. Maybe we can profile the two versions and find some low-hanging fruit?

First off an apology - I just released 0.3.2 of rulinalg with a breaking change. You'll need to either update this PR with the breaking changes or fix the rulinalg version (rulinalg = "=0.3.0"). The only breakage is the variance function returning a Result, it shouldn't be too rough to fix.
Onto (somewhat) better news - I did some profiling but don't really have any answers yet. I thought I'd share what I've done (and the results) to see if you can get any further.
To generate the profile:

Install and set up cargo profiler (or your favourite tool).
Generate a binary for the nnet example: cargo test --no-run --release
Run the profiler: cargo profiler callgrind --bin ./target/release/examples/nnet-and-gate

Here are my results:

master callgrind
PR callgrind
master cachegrind
PR cachegrind

From looking through now I haven't spotted anything obvious - maybe these profiles aren't capturing what's going on too well. I was hoping cache misses would be the issue and we just needed to specialize the relevant functions for Matrix, seems it may go deeper.

I've spent some more time trying to figure this out. The only possible culprit I've found is the apply function (which is used fairly liberally in neural nets). When benchmarking I found that the apply for Matrix is significantly faster if we iterate over self.data.iter_mut() instead of using self.iter_mut(). This is because self.iter_mut() returns a SliceIter. I'll make a new issue for that on rulinalg.
When I tried fixing this and using a local build I didn't really see any performance boost though.
The neural nets are pretty inefficient right now and are getting an improvement with #126 . Because of that it probably isn't worth spending much more time on this?
Bench marks for apply are below. I'm creating a matrix in the bench loop but the difference is still valid.
current:
test linalg::matrix::apply_1000_100                ... bench:     346,624 ns/iter (+/- 29,463)

improved:
test linalg::matrix::apply_1000_100                ... bench:     274,132 ns/iter (+/- 9,047)

Nice!
I may not have time to spend on this until October. Is it ok to wait that
long?
On 10 Sep 2016 9:52 p.m., "James Lucas"<EMAIL_ADDRESS>wrote:

I've spent some more time trying to figure this out. The only possible
culprit I've found is the apply function (which is used fairly liberally
in neural nets). When benchmarking I found that the apply for Matrix is
significantly faster if we iterate over self.data.iter_mut() instead of
using self.iter_mut(). This is because self.iter_mut() returns a SliceIter.
I'll make a new issue for that on rulinalg.
When I tried fixing this and using a local build I didn't really see any
performance boost though.
The neural nets are pretty inefficient right now and are getting an
improvement with #126
https://github.com/AtheMathmo/rusty-machine/pull/126 . Because of that
it probably isn't worth spending much more time on this?
Bench marks for apply are below. I'm creating a matrix in the bench loop
but the difference is still valid.
current:
test linalg::matrix::apply_1000_100                ... bench:     346,624 ns/iter (+/- 29,463)
improved:
test linalg::matrix::apply_1000_100                ... bench:     274,132 ns/iter (+/- 9,047)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AtheMathmo/rusty-machine/pull/117#issuecomment-246154796,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHAszozPd9fDj0Dr0ip1PRBQr1FLzk-0ks5qo1C7gaJpZM4JvFL8
.

I'd like to get it in earlier if I'm honest - as there are a couple other PRs stalled by this. I still need to review those properly and give feedback. If those are resolved or waiting on this directly I may finish up and merge - if you don't mind of course.

Of course please go ahead
On 14 Sep 2016 16:02, "James Lucas"<EMAIL_ADDRESS>wrote:

I'd like to get it in earlier if I'm honest - as there are a couple other
PRs stalled by this. I still need to review those properly and give
feedback. If those are resolved or waiting on this directly I may finish up
and merge - if you don't mind of course.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AtheMathmo/rusty-machine/pull/117#issuecomment-247119725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHAszj4ex867xogy88oyBALLI5aiz_9Cks5qqETSgaJpZM4JvFL8
.

Closing after merging #133 .


Regression log

Checklist

[ ] tests added
[ ] commits conform to the Commit message format
[ ] documentation updated

Squash commit message
Descriptive text which shall be used as squash commit message to master.
Info
The regression logging is done in the same logfile as the other logging. The regression log is implemented as a traffic log post-hook. The plan is to apply some filters on the traffic to limit I/O to the minimum of what is needed.

I think we should place some more sophisticated logic in the gopherciser to extract the data from objects since we have that in memory already, rather than logging everything. Otherwise it becomes an exercise in parsing JSON and applying logic to that on the qsest-diff side. The only thing we really care about is the data in the objects.

Agree we should have some rules what to extract and only put relevant data into a regression log. As seems to be the idea with "reducedmessage" function. Since there's that thought of also adding possibility to diff meta data etc with the same set of tools, we might want to have log to a separate file with it's own predefined columns. A format which can be re-used by some form of meta-data extractor and possible other data interesting for regression analysis.

I think we should place some more sophisticated logic in the gopherciser to extract the data from objects since we have that in memory already, rather than logging everything. Otherwise it becomes an exercise in parsing JSON and applying logic to that on the qsest-diff side. The only thing we really care about is the data in the objects.

I will have another round at this then.
We dont have all the data we need in appstructure, right? Maybe we should log or store some extra data when calling AffectsAppObjectsAction 🤔

We dont have all the data we need in appstructure, right? Maybe we should log or store some extra data when calling AffectsAppObjectsAction 🤔

Regression should work without having an appstructure. And no, the appstructure won't have it in it's core data, which means that interface won't do much. Also wouldn't work when having e.g. random changesheet etc. So not the right place. Possibly object defintion with paths how to extract, OR just have a global set of extract paths, if we hit somehting on any and all of them , save it

Hmm yeah, the app structure doesn't really do the same thing. App evaluation, on the other hand.. 🤔  Although that action is in the app-evaluator code itself. That one walks through all objects and populates all the data. Then we'd want to filter it down and extract the data we care about the most. If we did something like that we wouldn't have to sort through websocket packets, match them together using IDs etc in order to find the relevant data as well as what object it belongs to.


Fix metrics in macro average

Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

What does this PR do?
Fixes #295 and Fixes #300.
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hey @SkafteNicki changing the weights to account for missing classes seems to fix the accuracy, and precision but not f1 score. Have a look at the following snippet.
import torch
import torchmetrics
from sklearn.metrics import f1_score, accuracy_score, precision_score

y_pred = y_true = torch.tensor([1, 6, 6, 6, 3, 6, 3, 6, 6, 3, 6, 3, 6, 6, 3, 6, 3, 3, 6, 6, 6, 6, 6, 6,
        6, 3, 5, 6, 6, 3, 6, 6, 6, 6, 3, 6, 6, 3, 3, 1, 3, 1, 6, 3, 3, 1, 3, 6,
        4, 6, 6, 6, 6, 6, 6, 3, 3, 6, 3, 6, 1, 0, 5, 3, 6, 6, 6, 6, 3, 0, 6, 3,
        3, 3, 6, 3, 4]) # no class with id=2 !
print(f'Metrics:')
print(f'F1: {f1_score(y_true.numpy().astype(int).tolist(), y_pred.numpy().astype(int).tolist(), average="macro")}')
print(f'ACC: {accuracy_score(y_true.numpy().astype(int).tolist(), y_pred.numpy().astype(int).tolist())}')
print(f'PREC: {precision_score(y_true.numpy().astype(int).tolist(), y_pred.numpy().astype(int).tolist(), average="macro")}')
print(f'TM F1: {torchmetrics.functional.f1(y_pred, y_true, average="macro", num_classes=7)}')
print(f'TM acc: {torchmetrics.functional.accuracy(y_pred, y_true, average="macro", num_classes=7)}')
print(f'TM prec: {torchmetrics.functional.precision(y_pred, y_true, average="macro", num_classes=7)}')

Metrics:
F1: 1.0
ACC: 1.0
PREC: 1.0
TM F1: 0.8571428656578064
TM acc: 1.0
TM prec: 1.0

I would look into the f1 score issue tomorrow. I guess we should test this.

Hi @vatch123,
Could you try deleting this line of code:
https://github.com/PyTorchLightning/metrics/blob/1841cad3839f5d1907a1bb8bb6a266de5c5333f9/torchmetrics/functional/classification/f_beta.py#L52
I am pretty sure it is a redundant line of code which is messing things up

Hi @vatch123,
Could you try deleting this line of code:
https://github.com/PyTorchLightning/metrics/blob/1841cad3839f5d1907a1bb8bb6a266de5c5333f9/torchmetrics/functional/classification/f_beta.py#L52
I am pretty sure it is a redundant line of code which is messing things up

Yes doing that seems to fix it.

@SkafteNicki @vatch123 how is it going here? :]

@SkafteNicki @vatch123 how is it going here? :]

Hey sorry was a bit busy this weekend. However, removing the line with @SkafteNicki suggested breaks the accuracy tests. So something odd is happening which I wasn't able to figure out then. Let me have a look again

Hey, @SkafteNicki I was probing the issue. On local testing this particular test fails test_accuracy.py::test_average_accuracy[preds4-target4-4-0.041666666666666664-macro-samplewise] that is due to the following assertion error
===================================================== FAILURES =====================================================
__________________ test_average_accuracy[preds4-target4-4-0.041666666666666664-macro-samplewise] ___________________

preds = tensor([[[[0.1000, 0.1000, 0.1000],
          [0.2000, 0.2000, 0.2000],
          [0.3000, 0.3000, 0.3000],
          ...0.1000],
          [0.2000, 0.2000, 0.2000],
          [0.3000, 0.3000, 0.3000],
          [0.4000, 0.4000, 0.4000]]]])
target = tensor([[[1, 1, 0],
         [2, 2, 2],
         [3, 3, 3]],

        [[2, 2, 0],
         [1, 1, 1],
         [0, 0, 0]]])
num_classes = 4, exp_result = 0.041666666666666664, average = 'macro', mdmc_average = 'samplewise'

    @pytest.mark.parametrize(
        "preds, target, num_classes, exp_result, average, mdmc_average",
        [
            (_topk_preds_mcls, _topk_target_mcls, 4, 1 / 4, "macro", None),
            (_topk_preds_mcls, _topk_target_mcls, 4, 1 / 6, "weighted", None),
            (_topk_preds_mcls, _topk_target_mcls, 4, [0., 0., 0., 1.], "none", None),
            (_topk_preds_mcls, _topk_target_mcls, 4, 1 / 6, "samples", None),
            (_topk_preds_mdmc, _topk_target_mdmc, 4, 1 / 24, "macro", "samplewise"),
            (_topk_preds_mdmc, _topk_target_mdmc, 4, 1 / 6, "weighted", "samplewise"),
            (_topk_preds_mdmc, _topk_target_mdmc, 4, [0., 0., 0., 1 / 6], "none", "samplewise"),
            (_topk_preds_mdmc, _topk_target_mdmc, 4, 1 / 6, "samples", "samplewise"),
            (_topk_preds_mdmc, _topk_target_mdmc, 4, 1 / 6, "samples", "global"),
            (_av_preds_ml, _av_target_ml, 4, 5 / 8, "macro", None),
            (_av_preds_ml, _av_target_ml, 4, 0.70000005, "weighted", None),
            (_av_preds_ml, _av_target_ml, 4, [1 / 2, 1 / 2, 1., 1 / 2], "none", None),
            (_av_preds_ml, _av_target_ml, 4, 5 / 8, "samples", None),
        ],
    )
    def test_average_accuracy(preds, target, num_classes, exp_result, average, mdmc_average):
        acc = Accuracy(num_classes=num_classes, average=average, mdmc_average=mdmc_average)

        for batch in range(preds.shape[0]):
            acc(preds[batch], target[batch])

>       assert (acc.compute() == tensor(exp_result)).all()
E       assert tensor(False)
E        +  where tensor(False) = <built-in method all of Tensor object at 0x7f04240c6f40>()
E        +    where <built-in method all of Tensor object at 0x7f04240c6f40> = tensor(0.1667) == tensor(0.0417).all
E        +      where tensor(0.1667) = <function Accuracy.compute at 0x7f04b3c2e0d0>()
E        +        where <function Accuracy.compute at 0x7f04b3c2e0d0> = Accuracy().compute
E        +      and   tensor(0.0417) = tensor(0.041666666666666664)

test_accuracy.py:294: AssertionError

Seems like the calculated accuracy is getting rounded off somewhere. But the trace shows one more tensor(0.1667). Am I interpreting it correctly? The entire test suit is taking lot of time to run at my end don't know why though.

As another comment, can you please also add the test case you used to find the issue to the tests to avoid regressions in the future?
For test suit being slow - you should be able to run just individual test files in pytest while you are debugging a particular test to avoid waiting for everything to run.

Hey @SkafteNicki, I am a little stuck here. I can't figure out which inputs are breaking the tests on F1. The tests don't run locally completely throwing this error - RuntimeError: Application timeout caused pair closure and on the CI also I can only see the tests which break no other details as CI runs don't complete. I am assuming that the names of the tests such as test_fbeta_f1[True-True-preds6-target6-5-None-None-_sk_fbeta_f1-None-macro-metric_class0-metric_fn0-sk_fn0] have some information about the inputs of the test but I am unable to correlate it completely.

@SkafteNicki @vatch123 any chance we get for tomorrow bugfix release?

Hi, Sorry for the late reply I am little stuck here and actually unable to figure what is actually breaking. I guess I would need some more inputs on this.

Hey @SkafteNicki, I am a little stuck here. I can't figure out which inputs are breaking the tests on F1. The tests don't run locally completely throwing this error - RuntimeError: Application timeout caused pair closure and on the CI also I can only see the tests which break no other details as CI runs don't complete. I am assuming that the names of the tests such as test_fbeta_f1[True-True-preds6-target6-5-None-None-_sk_fbeta_f1-None-macro-metric_class0-metric_fn0-sk_fn0] have some information about the inputs of the test but I am unable to correlate it completely.

Hello @vatch123! Thanks for updating this PR.

In the file tests/classification/test_accuracy.py:

Line 71:64: E231 missing whitespace after ','

Hi @vatch123
Finally got around to debug this and it took longer time than expected. It was essentially the fbeta metric that was making trouble, because it is a bit different from the other metrics due to its nature of not being directly computed from tp, fp, tn, tp but instead from precision and recall and therefore had to be dealt with in a special way. Hopefully all test should pass now :]

Finally got around to debug this and it took longer time than expected.

seems that some tests are still failing :]

Finally got around to debug this and it took longer time than expected.

seems that some tests are still failing :]

Yes, some precision-recall and same input tests are breaking.
On a side note, can someone explain how the tests are named? What is the convention? Do these name carry any meaning test_precision_recall_fn[preds6-target6-5-None-None-_sk_prec_recall-0-macro-Precision-precision-precision_score], test_fbeta_f1[True-True-preds6-target6-5-None-None-_sk_fbeta_f1-None-macro-metric_class0-metric_fn0-sk_fn0]. I am assuming they do.

Okay, after a small update, everything passes locally for me now :]
@vatch123 about naming lets break test_precision_recall_fn[preds6-target6-5-None-None-_sk_prec_recall-0-macro-Precision-precision-precision_score] down

test_precision_recall_fn is the function being called, so https://github.com/PyTorchLightning/metrics/blob/0495776dc67ebc761fe35bf8c6311d8987523257/tests/classification/test_precision_recall.py#L259 in this case. The function name should be read as "test the functional (fn) version of precision recall"
everything inside the square brackets is what parametrize the test, in this case https://github.com/PyTorchLightning/metrics/blob/0495776dc67ebc761fe35bf8c6311d8987523257/tests/classification/test_precision_recall.py#L173-L202. Note that the parametrizations are listed in opposite order so preds6-target6-5-None-None-_sk_prec_recall corresponds to the last parametrization call.

Okay, after a small update, everything passes locally for me now :]
@vatch123 about naming lets break test_precision_recall_fn[preds6-target6-5-None-None-_sk_prec_recall-0-macro-Precision-precision-precision_score] down

test_precision_recall_fn is the function being called, so https://github.com/PyTorchLightning/metrics/blob/0495776dc67ebc761fe35bf8c6311d8987523257/tests/classification/test_precision_recall.py#L259
in this case. The function name should be read as "test the functional (fn) version of precision recall"
everything inside the square brackets is what parametrize the test, in this case https://github.com/PyTorchLightning/metrics/blob/0495776dc67ebc761fe35bf8c6311d8987523257/tests/classification/test_precision_recall.py#L173-L202
. Note that the parametrizations are listed in opposite order so preds6-target6-5-None-None-_sk_prec_recall corresponds to the last parametrization call.

Thanks for this.
Yes everything runs well locally at my end too. But some tests are skipped locally maybe one of those is breaking.

Yes everything runs well locally at my end too. But some tests are skipped locally maybe some of those are breaking.

yes, you can simply check the skipped test if you run with -v and compare what is skipped on CI and locally

Something odd is happening. This test test_precision_recall_fn[preds6-target6-5-None-None-_sk_prec_recall-0-weighted-Precision-precision-precision_score] fails on the CI.

but the same test
test_precision_recall_fn[preds6-target6-5-None-None-_sk_prec_recall-0-weighted-Precision-precision-precision_score] passes locally

Can there be an issue on the CI or on my local deployment?

Can there be an issue on the CI or on my local deployment?

not sure, what is your local environment - OS, python, packages?
you can use docker image to be sure you use the same, see
https://github.com/PyTorchLightning/metrics/blob/5c2069eb2087ede7f008222ebab286aedad14dfb/azure-pipelines.yml#L29
and proceed following steps:
https://github.com/PyTorchLightning/metrics/blob/5c2069eb2087ede7f008222ebab286aedad14dfb/azure-pipelines.yml#L55-L59
and test as
https://github.com/PyTorchLightning/metrics/blob/5c2069eb2087ede7f008222ebab286aedad14dfb/azure-pipelines.yml#L68

Can there be an issue on the CI or on my local deployment?

not sure, what is your local environment - OS, python, packages?

I am using WSL2 with ubuntu 20.04 64-bit, python 3.8.8, torch 1.8

I am using WSL2 with ubuntu 20.04 64-bit, python 3.8.8, torch 1.8

can you run it in docker as https://github.com/PyTorchLightning/metrics/pull/303#issuecomment-882019475

I am using WSL2 with ubuntu 20.04 64-bit, python 3.8.8, torch 1.8

can you run it in docker as #303 (comment)

Yes, sure. I tried yesterday. I got the docker image downloaded and started a bash process in it to run the above commands. But, I am not very well versed with docker so I could not get it to run. The image threw an error that python itself was not found. I must have made some error somewhere. I will look into it again. If you have some further insights that might be helpful it would be great. Thanks

Okay something weird happened. When I run the entire test suite using python -m pytest torchmetrics tests -v --cov=torchmetrics --junitxml=$(Build.StagingDirectory)/test-results.xml --durations=50 some tests fail. One example of that (I could not run the entire test suite as it was taking a lot of time)

As we can a precision-recall test is failing when macro is passed.
But, now if run the only the precision-recall file using python -m pytest torchmetrics tests/classification/test_precision_recall.py -v --cov=torchmetrics --junitxml=$(Build.StagingDirectory)/test-results.xml --durations=50

The same test passes. In fact all the tests pass when I run a single file.
Can there be a reason for this? Maybe some configurations are set while running the entire suite?

the before and after are perform equally for running all and just some files testing...
so it may be some import correlation, or some other actor changes its status :/
you can enter the test with a debugger and check what is the difference between these two calls :rabbit:

@vatch123 how is it going here? :rabbit:

@vatch123 how is it going here? 🐰

Hey. Sorry been busy recently did not get a chance to probe deeper. I tried with a debugger but haven't been able to pinpoint the error. Will need some time and help on this I guess.

Hey @SkafteNicki. Thanks for the help here. Can you let me know what was the actual issue? I see you mentioned dist_sync_on_step not working and you added one more test. Can you just briefly describe the issue? Thanks again.


Unable to execute gitLog task due to extension cannot be serializable

> Unable to store input properties for task ':gitLog'. Property 'extension' with value 'extension 'recursive-git-log-plugin'' cannot be serialized.

Fixed


Cluster sometimes doesn't show facilities of way

Problem
happened in here : https://staging.healthsites.io/map#!/locality/way/602590634
there is 2 healthsites

when move a little bit:

Fixed


Integration/Unit/Stub test plan

Will we run integration tests? How will they work? Can they be based on request/response recordings? What tests will be unit tests? What can be covered by protocol tests? What can be covered by integration tests?
Output of this story: A testing strategy doc.

We've decided on a testing strategy but we haven't documented it. Please document it to resolve this issue.


http filter: remove reset callback and introduce onDestroy()

Previously, if an intermediate filter ends a stream without need
of a reset, further filters would have no way of knowing that and
could not clean up properly. This commit is a breaking change to
the filter API (though trivial in most cases). We remove filter
reset callback registration, and replace it with an onDestroy()
method that is called in all cases. Filters must clean up all
async processing in the onDestroy() callback. This approach is
simpler to understand but also has the benefit of increasing
performance because we no longer have to manage a doubly linked
list and allocate space for the callbacks.
Fixes https://github.com/lyft/envoy/issues/947

@lizan this will fix your other issue
@lizan @kyessenov @PiotrSikora this is a breaking change for the filter API. Mixer filter will need a fix (though it's trivial).
@lyft/network-team

This change is a little scary so going to smoke test it in a bit and will report back. Ready for review though.

@lyft/network-team smoke test looks good. Please review.

@mattklein123 Thanks! I already confirmed this works in transcoding filter.


Neighborhood analysis

For visualizing neighborhoods, it would be cool to do a sort of Voronoi tessellation and then extract the edges from the tessellation and color in the corresponding neighborhoods while also plotting the borders in black or something like that.

To generalize this a bit more, we could directly implement neighborhoods within spatialproteomics. A big advantage of this would be that we could subset cells by neighborhoods, and then look at the ct distribution within that. For example, assuming that one neighborhood encodes the germinal center, we could check if there are major differences in the composition of this environment between samples (given that they do not cluster completely separate).
This requires a couple of things to be implemented:

Creation of neighborhoods on a sample level. Could implement both radius and kNN here. Example syntax: pp.compute_neighbors(method='radius'). This could add a new table of shape (cells, cell_types). We need to ensure that this is synchronizes with the obs column that holds the cell types.
Clustering of neighborhoods using e. g. k-means. This is a bit trickier, since it needs to be performed on all samples simultaneously. Example syntax could be:

sp_dict = {'1': sp_obj_1, '2': sp_obj_2}
df = []
for id, sp_obj in sp_dict.items():
    df.append(sp_obj.pp.get_layer_as_df('_neighborhoods'))
df = pd.DataFrame(df)
# clustering with k-means on the df
...
# adding the neighborhoods back into the graph
for id, sp_obj in sp_dict.items():
    sp_obj.pp.add_obs(df['id' == id])

This is a bit cumbersome, however I think it makes sense to keep this apart from the package itself.
3. Plotting: we should be able to plot the neighborhoods in a spatial context. This can be part of spatialproteomics again.

Addressed in #97. Now also includes an ImageContainer, which allows you to do the entire analysis in one command. Next features should be: computation of distances and graph features, e. g. centrality, on specific neighborhoods.

Node-level features are now implemented and have been merged to main in #102. Another nice add-on would be to have graph-level features such as homophily to compare different samples.

These will be shown in the manuscript, closing issue.


Localize  component

Sub-task of: https://github.com/OriginProtocol/demo-dapp/pull/238
The <Timelapse> component is used to say how long ago an event occurred.
It is currently english-only and needs to be internationalized.
One possible strategy may be to use moment-locale in addition to or instead of the standard moment library, but more research is required.

No longer necessary thanks to https://github.com/OriginProtocol/origin-dapp/pull/271 🎉


merge CHEBI:28956 and CHEBI:48529

Apart from the name and Gmelin number they look identical. Can you please merge?
This is the last of the batch, thanks again for your work. With the help of ChEBI data we were able to fix hundreds of Wikidata entries.

Now merged.


Automated preview instances of iD for tagging PRs

Closes #289.
Example of how it will look like: https://github.com/tyrasd/id-tagging-schema/pull/3.
Currently, this has some small limitations:

Uploading changes is not possible in these test instances, because OSM's Oauth2 setup does not allow wildcard subdomains for the redirect URI. I think that's fine, since these test instances are only meant for testing the tagging PRs, and not intended for editing.
New strings will now show up when using a locale other than English

To do:

[x] set secrets to deploy on netlify (NETLIFY_AUTH_TOKEN, NETLIFY_SITE_ID)
[x] drop action artifacts after deployment

PS: This is very much "inspired" by the implementation made in the openlayers.

One thing that should likely be part of the PR is an update to the Readme on how to contribute and use this new feature.

What exactly did you have in mind which should be mentioned in the Readme? As the bot automatically posts a comment directly on each PR, the contributors don't have to do anything manually and the message in the posted comment should be sufficiently "documenting" what it is about?! So, basically I don't know what exactly to put into the readme. :relaxed: If you can suggest some lines to be added to the Readme, I'd be very happy to add them, though.


[Bandchain/Yoda] Enhancement - Add additional metrics for yoda

PR(Pull Request) Overview
This PR introduces additional metrics to be exported for the BandChain Yoda Oracle, addressing gaps in the current monitoring capabilities.
Currently, the cvms_yoda_status metric only indicates whether the Yoda Oracle is active, without providing advance warning of potential issues. The new metrics enhance observability by offering deeper insights into the conditions leading to an Oracle being taken offline.
Changes

[ ] Major feature addition or modification
[ ] Bug fix
[ ] Code improvement
[ ] Documentation update

Description of Changes

Enhanced Metrics Collection
Added new routines to the Yoda package to track individual requests sent to Yoda Oracles, including:

Request tracking: Monitors the number of requests made to the Oracle.
Response time tracking: Captures the blocks taken to fulfill each request. Improved Decision-making Support

These enhancements directly address the parameter used to determine whether an Oracle should be taken offline, which is based on the number of blocks required to respond to an assigned request.

Code Reference
For implementation details, refer to the Yoda logic at BandProtocol GitHub.

Testing Method

Added unit tests for some parts of the code
Tested with bandchain mainnet and different valoper values

Additional Information
⚠ Increased BandChain API Load
The changes significantly increase the number of requests made to the BandChain API endpoint. Each non-expired request will now be individually polled and tracked during every refresh cycle. Please account for this additional load when deploying the changes.

Please note that I did not add anything to the grafana dashboards. This PR is purely focused at the prometheus exporter part


Can't connect to etserver built on CentOS 7 from OS X

I believe I have everything setup correctly I can connect to an etserver instance installed on an Ubuntu server via the ppa from a client installed from brew on OS X but I can't connect to an etserver instance built on CentOS 7
cmake ../
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Glog: /usr/include
-- Found glog    (include: /usr/include, library: /usr/lib64/libglog.so)
-- Found GFLAGS: /usr/include
-- Found PROTOBUF: /usr/lib64/libprotobuf.so
CMake Warning (dev) at CMakeLists.txt:29 (find_package):
  Syntax Warning in cmake code at

    /home/<username>/EternalTCP-et-v3.1.1/cmake/FindSodium.cmake:76:53

  A future version of CMake may treat unquoted argument:

    [=[

  as an opening long bracket.  Double-quote the argument.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found sodium: /usr/lib64/libsodium.so
-- Found PkgConfig: /bin/pkg-config (found version "0.27.1")
-- checking for module 'libselinux'
--   found libselinux, version 2.5
-- Found SELinux: /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/<username>/EternalTCP-et-v3.1.1/build
$ make
[  4%] Running C++ protocol buffer compiler on proto/ET.proto
Scanning dependencies of target EternalTCP-static
[  8%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/BackedReader.cpp.o
[ 13%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/BackedWriter.cpp.o
[ 17%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/ClientConnection.cpp.o
[ 21%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/Connection.cpp.o
[ 26%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/CryptoHandler.cpp.o
[ 30%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/FakeSocketHandler.cpp.o
[ 34%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/FlakyFakeSocketHandler.cpp.o
[ 39%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/ServerClientConnection.cpp.o
[ 43%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/ServerConnection.cpp.o
[ 47%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/SocketHandler.cpp.o
[ 52%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/UnixSocketHandler.cpp.o
[ 56%] Building CXX object CMakeFiles/EternalTCP-static.dir/ET.pb.cc.o
Linking CXX static library libEternalTCP-static.a
[ 56%] Built target EternalTCP-static
[ 60%] Running C++ protocol buffer compiler on proto/ETerminal.proto
Scanning dependencies of target TerminalCommon
[ 65%] Building CXX object CMakeFiles/TerminalCommon.dir/terminal/SystemUtils.cpp.o
[ 69%] Building CXX object CMakeFiles/TerminalCommon.dir/terminal/SocketUtils.cpp.o
[ 73%] Building CXX object CMakeFiles/TerminalCommon.dir/terminal/IdPasskeyHandler.cpp.o
[ 78%] Building CXX object CMakeFiles/TerminalCommon.dir/ETerminal.pb.cc.o
Linking CXX static library libTerminalCommon.a
[ 78%] Built target TerminalCommon
Scanning dependencies of target etclient
[ 82%] Building CXX object CMakeFiles/etclient.dir/terminal/TerminalClient.cpp.o
[ 86%] Building CXX object CMakeFiles/etclient.dir/terminal/PortForwardClientRouter.cpp.o
[ 91%] Building CXX object CMakeFiles/etclient.dir/terminal/PortForwardClientListener.cpp.o
Linking CXX executable etclient
[ 91%] Built target etclient
Scanning dependencies of target etserver
[ 95%] Building CXX object CMakeFiles/etserver.dir/terminal/TerminalServer.cpp.o
[100%] Building CXX object CMakeFiles/etserver.dir/terminal/PortForwardServerHandler.cpp.o
Linking CXX executable etserver
[100%] Built target etserver
$ sudo make install
[ 56%] Built target EternalTCP-static
[ 78%] Built target TerminalCommon
[ 91%] Built target etclient
[100%] Built target etserver
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/etserver
-- Installing: /usr/local/bin/etclient
-- Installing: /usr/local/bin/et

server
~  EternalTCP-et-v3.1.1  build  etserver
Waiting for a connection...
Credentials from SO_PEERCRED: pid=22698, euid=0, egid=0
Waiting for a connection...
pty opened 10
E0722 15:52:25.308373 22703 Connection.cpp:103] Tried to close a dead socket
E0722 15:52:26.205015 22685 ServerConnection.cpp:62] Got a client that we have no key for
Credentials from SO_PEERCRED: pid=22728, euid=0, egid=0
Waiting for a connection...
pty opened 13
E0722 15:52:56.493669 22732 Connection.cpp:103] Tried to close a dead socket
E0722 15:52:57.384106 22685 ServerConnection.cpp:62] Got a client that we have no key for
Credentials from SO_PEERCRED: pid=22777, euid=0, egid=0
Waiting for a connection...
pty opened 14
E0722 15:53:15.549537 22780 Connection.cpp:103] Tried to close a dead socket
E0722 15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we have no key for
Credentials from SO_PEERCRED: pid=22811, euid=0, egid=0
Waiting for a connection...
pty opened 15
E0722 15:54:12.834552 22814 Connection.cpp:103] Tried to close a dead socket
E0722 15:54:13.721647 22685 ServerConnection.cpp:62] Got a client that we have no key for

client
et root@<servername>
F0722 15:54:12.721895 22813 TerminalServer.cpp:354] Error: (22): Invalid argument
*** Check failure stack trace: ***
    @     0x7fce434e9e6d  (unknown)
    @     0x7fce434ebced  (unknown)
    @     0x7fce434e9a5c  (unknown)
    @     0x7fce434ec63e  (unknown)
    @           0x470a2f  startTerminal()
    @           0x472913  TerminalServerHandler::newClient()
    @           0x494f5a  et::ServerConnection::clientHandler()
    @           0x4948e0  et::ServerConnection::run()
    @           0x4717b6  main
    @     0x7fce41e61b35  __libc_start_main
    @           0x46e6c9  (unknown)
Session terminated

logs
et root@<servername>
F0722 15:54:12.721895 22813 TerminalServer.cpp:354] Error: (22): Invalid argument
*** Check failure stack trace: ***
    @     0x7fce434e9e6d  (unknown)
    @     0x7fce434ebced  (unknown)
    @     0x7fce434e9a5c  (unknown)
    @     0x7fce434ec63e  (unknown)
    @           0x470a2f  startTerminal()
    @           0x472913  TerminalServerHandler::newClient()
    @           0x494f5a  et::ServerConnection::clientHandler()
    @           0x4948e0  et::ServerConnection::run()
    @           0x4717b6  main
    @     0x7fce41e61b35  __libc_start_main
    @           0x46e6c9  (unknown)
Session terminated cat /tmp/etclient.INFO
Log file created at: 2017/07/22 15:53:14
Running on machine: <clientName>
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I0722 15:53:14.432402<PHONE_NUMBER> TerminalClient.cpp:54] ID PASSKEY: <redacted>
I0722 15:53:14.433262<PHONE_NUMBER> TerminalClient.cpp:84] Sending command to set terminal to screen-256color
I0722 15:53:14.587086<PHONE_NUMBER> UnixSocketHandler.cpp:146] Connected to server: <servername> using fd 6
I0722 15:53:15.609870<PHONE_NUMBER> Connection.cpp:33] Closing socket because 32 Broken pipe
I0722 15:53:15.609946<PHONE_NUMBER> ClientConnection.cpp:61] Closing socket
I0722 15:53:15.610018<PHONE_NUMBER> ClientConnection.cpp:71] Socket closed.  Starting new reconnect thread
I0722 15:53:15.610159 46899200 ClientConnection.cpp:88] Trying to reconnect to <servername>:2022
I0722 15:53:15.776744 46899200 UnixSocketHandler.cpp:146] Connected to server: <servername> using fd 6
I0722 15:53:16.596808 46899200 ClientConnection.cpp:98] Got response with status: 3 3
I0722 15:53:16.596856 46899200 ClientConnection.cpp:100] Got invalid key on reconnect, assume that server has terminated the session.
E0722 15:53:17.598309<PHONE_NUMBER> Connection.cpp:103] Tried to close a dead socket
I0722 15:53:17.599061<PHONE_NUMBER> TerminalClient.cpp:335] Client derefernced

server log
cat /tmp/etserver.INFO                                                                                 130
Log file created at: 2017/07/22 15:52:19
Running on machine: <servername>
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I0722 15:52:19.008271 22685 TerminalServer.cpp:485] Creating server
I0722 15:52:19.008550 22686 IdPasskeyHandler.cpp:71] Listening to id/key FIFO
I0722 15:52:19.008576 22685 UnixSocketHandler.cpp:272] Listening on <IP_ADDRESS>:2022/2/1/6
I0722 15:52:19.008601 22685 UnixSocketHandler.cpp:272] Listening on <IP_ADDRESS>:2022/10/1/6
I0722 15:52:24.321892 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:52:25.009268 22685 ServerConnection.cpp:60] Got client with id: <redacted>
I0722 15:52:25.009335 22685 ServerConnection.cpp:78] New client.  Setting up connection
F0722 15:52:25.205276 22702 TerminalServer.cpp:354] Error: (22): Invalid argument
I0722 15:52:25.308257 22703 TerminalServer.cpp:145] Terminal session ended
I0722 15:52:25.308326 22703 Connection.cpp:161] Shutting down connection
E0722 15:52:25.308373 22703 Connection.cpp:103] Tried to close a dead socket
I0722 15:52:26.204989 22685 ServerConnection.cpp:60] Got client with id: <redacted>
E0722 15:52:26.205015 22685 ServerConnection.cpp:62] Got a client that we have no key for
I0722 15:52:55.133281 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:52:56.207880 22685 ServerConnection.cpp:60] Got client with id: <redacted>
I0722 15:52:56.207934 22685 ServerConnection.cpp:78] New client.  Setting up connection
F0722 15:52:56.384354 22731 TerminalServer.cpp:354] Error: (22): Invalid argument
I0722 15:52:56.493558 22732 TerminalServer.cpp:145] Terminal session ended
I0722 15:52:56.493624 22732 Connection.cpp:161] Shutting down connection
E0722 15:52:56.493669 22732 Connection.cpp:103] Tried to close a dead socket
I0722 15:52:57.384080 22685 ServerConnection.cpp:60] Got client with id: <redacted>
E0722 15:52:57.384106 22685 ServerConnection.cpp:62] Got a client that we have no key for
I0722 15:53:14.349783 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:53:15.385886 22685 ServerConnection.cpp:60] Got client with id: <redacted>
I0722 15:53:15.385932 22685 ServerConnection.cpp:78] New client.  Setting up connection
F0722 15:53:15.537825 22779 TerminalServer.cpp:354] Error: (22): Invalid argument
I0722 15:53:15.549455 22780 TerminalServer.cpp:145] Terminal session ended
I0722 15:53:15.549501 22780 Connection.cpp:161] Shutting down connection
E0722 15:53:15.549537 22780 Connection.cpp:103] Tried to close a dead socket
I0722 15:53:16.537533 22685 ServerConnection.cpp:60] Got client with id: <redacted>
E0722 15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we have no key for
I0722 15:54:11.502912 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:54:12.542783 22685 ServerConnection.cpp:60] Got client with id: <redacted>
I0722 15:54:12.542839 22685 ServerConnection.cpp:78] New client.  Setting up connection
F0722 15:54:12.721895 22813 TerminalServer.cpp:354] Error: (22): Invalid argument
I0722 15:54:12.834424 22814 TerminalServer.cpp:145] Terminal session ended
I0722 15:54:12.834504 22814 Connection.cpp:161] Shutting down connection
E0722 15:54:12.834552 22814 Connection.cpp:103] Tried to close a dead socket
I0722 15:54:13.721611 22685 ServerConnection.cpp:60] Got client with id: <redacted>
E0722 15:54:13.721647 22685 ServerConnection.cpp:62] Got a client that we have no key for

The master branch is on ET 4 but the ppa/brew is on ET3 since we are still
testing. So you either need to build the client from source or checkout the
version 3 release and build that on centos.
On Sat, Jul 22, 2017, 4:08 PM Liam<EMAIL_ADDRESS>wrote:

I believe I have everything setup correctly I can connect to an etserver
instance installed on an Ubuntu server via the ppa from a client installed
from brew on OS X but I can't connect to an etserver instance built on
CentOS 7
`cmake ../
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Glog: /usr/include
-- Found glog (include: /usr/include, library: /usr/lib64/libglog.so)
-- Found GFLAGS: /usr/include
-- Found PROTOBUF: /usr/lib64/libprotobuf.so
CMake Warning (dev) at CMakeLists.txt:29 (find_package):
Syntax Warning in cmake code at
/home//EternalTCP-et-v3.1.1/cmake/FindSodium.cmake:76:53
A future version of CMake may treat unquoted argument:
[=[
as an opening long bracket. Double-quote the argument.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found sodium: /usr/lib64/libsodium.so
-- Found PkgConfig: /bin/pkg-config (found version "0.27.1")
-- checking for module 'libselinux'
-- found libselinux, version 2.5
-- Found SELinux: /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home//EternalTCP-et-v3.1.1/build
$ make
[ 4%] Running C++ protocol buffer compiler on proto/ET.proto
Scanning dependencies of target EternalTCP-static
[ 8%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/BackedReader.cpp.o
[ 13%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/BackedWriter.cpp.o
[ 17%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ClientConnection.cpp.o
[ 21%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/Connection.cpp.o
[ 26%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/CryptoHandler.cpp.o
[ 30%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/FakeSocketHandler.cpp.o
[ 34%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/FlakyFakeSocketHandler.cpp.o
[ 39%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ServerClientConnection.cpp.o
[ 43%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ServerConnection.cpp.o
[ 47%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/SocketHandler.cpp.o
[ 52%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/UnixSocketHandler.cpp.o
[ 56%] Building CXX object CMakeFiles/EternalTCP-static.dir/ET.pb.cc.o
Linking CXX static library libEternalTCP-static.a
[ 56%] Built target EternalTCP-static
[ 60%] Running C++ protocol buffer compiler on proto/ETerminal.proto
Scanning dependencies of target TerminalCommon
[ 65%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/SystemUtils.cpp.o
[ 69%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/SocketUtils.cpp.o
[ 73%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/IdPasskeyHandler.cpp.o
[ 78%] Building CXX object CMakeFiles/TerminalCommon.dir/ETerminal.pb.cc.o
Linking CXX static library libTerminalCommon.a
[ 78%] Built target TerminalCommon
Scanning dependencies of target etclient
[ 82%] Building CXX object
CMakeFiles/etclient.dir/terminal/TerminalClient.cpp.o
[ 86%] Building CXX object
CMakeFiles/etclient.dir/terminal/PortForwardClientRouter.cpp.o
[ 91%] Building CXX object
CMakeFiles/etclient.dir/terminal/PortForwardClientListener.cpp.o
Linking CXX executable etclient
[ 91%] Built target etclient
Scanning dependencies of target etserver
[ 95%] Building CXX object
CMakeFiles/etserver.dir/terminal/TerminalServer.cpp.o
[100%] Building CXX object
CMakeFiles/etserver.dir/terminal/PortForwardServerHandler.cpp.o
Linking CXX executable etserver
[100%] Built target etserver
$ sudo make install
[ 56%] Built target EternalTCP-static
[ 78%] Built target TerminalCommon
[ 91%] Built target etclient
[100%] Built target etserver
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/etserver
-- Installing: /usr/local/bin/etclient
-- Installing: /usr/local/bin/et`
server
~  EternalTCP-et-v3.1.0  build  etserver Waiting for a connection...
Credentials from SO_PEERCRED: pid=22698, euid=0, egid=0 Waiting for a
connection... pty opened 10 E0722 15:52:25.308373 22703 Connection.cpp:103]
Tried to close a dead socket E0722 15:52:26.205015 22685
ServerConnection.cpp:62] Got a client that we have no key for Credentials
from SO_PEERCRED: pid=22728, euid=0, egid=0 Waiting for a connection... pty
opened 13 E0722 15:52:56.493669 22732 Connection.cpp:103] Tried to close a
dead socket E0722 15:52:57.384106 22685 ServerConnection.cpp:62] Got a
client that we have no key for Credentials from SO_PEERCRED: pid=22777,
euid=0, egid=0 Waiting for a connection... pty opened 14 E0722
15:53:15.549537 22780 Connection.cpp:103] Tried to close a dead socket
E0722 15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we
have no key for Credentials from SO_PEERCRED: pid=22811, euid=0, egid=0
Waiting for a connection... pty opened 15 E0722 15:54:12.834552 22814
Connection.cpp:103] Tried to close a dead socket E0722 15:54:13.721647
22685 ServerConnection.cpp:62] Got a client that we have no key for
client
et root@ F0722 15:54:12.721895 22813 TerminalServer.cpp:354]
Error: (22): Invalid argument *** Check failure stack trace: *** @
0x7fce434e9e6d (unknown) @ 0x7fce434ebced (unknown) @ 0x7fce434e9a5c
(unknown) @ 0x7fce434ec63e (unknown) @ 0x470a2f startTerminal() @ 0x472913
TerminalServerHandler::newClient() @ 0x494f5a
et::ServerConnection::clientHandler() @ 0x4948e0
et::ServerConnection::run() @ 0x4717b6 main @ 0x7fce41e61b35
__libc_start_main @ 0x46e6c9 (unknown) Session terminated
logs
et root@ F0722 15:54:12.721895 22813 TerminalServer.cpp:354]
Error: (22): Invalid argument *** Check failure stack trace: *** @
0x7fce434e9e6d (unknown) @ 0x7fce434ebced (unknown) @ 0x7fce434e9a5c
(unknown) @ 0x7fce434ec63e (unknown) @ 0x470a2f startTerminal() @ 0x472913
TerminalServerHandler::newClient() @ 0x494f5a
et::ServerConnection::clientHandler() @ 0x4948e0
et::ServerConnection::run() @ 0x4717b6 main @ 0x7fce41e61b35
__libc_start_main @ 0x46e6c9 (unknown) Session terminated cat
/tmp/etclient.INFO Log file created at: 2017/07/22 15:53:14 Running on
machine:  Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid
file:line] msg I0722 15:53:14.432402<PHONE_NUMBER> TerminalClient.cpp:54] ID
PASSKEY:  I0722 15:53:14.433262<PHONE_NUMBER> TerminalClient.cpp:84]
Sending command to set terminal to screen-256color I0722 15:53:14.587086
3413267392 UnixSocketHandler.cpp:146] Connected to server:
using fd 6 I0722 15:53:15.609870<PHONE_NUMBER> Connection.cpp:33] Closing
socket because 32 Broken pipe I0722 15:53:15.609946<PHONE_NUMBER>
ClientConnection.cpp:61] Closing socket I0722 15:53:15.610018<PHONE_NUMBER>
ClientConnection.cpp:71] Socket closed. Starting new reconnect thread I0722
15:53:15.610159 46899200 ClientConnection.cpp:88] Trying to reconnect to
:2022 I0722 15:53:15.776744 46899200 UnixSocketHandler.cpp:146]
Connected to server:  using fd 6 I0722 15:53:16.596808 46899200
ClientConnection.cpp:98] Got response with status: 3 3 I0722
15:53:16.596856 46899200 ClientConnection.cpp:100] Got invalid key on
reconnect, assume that server has terminated the session. E0722
15:53:17.598309<PHONE_NUMBER> Connection.cpp:103] Tried to close a dead socket
I0722 15:53:17.599061<PHONE_NUMBER> TerminalClient.cpp:335] Client derefernced
server log
cat /tmp/etserver.INFO   130 Log file created at: 2017/07/22 15:52:19
Running on machine:  Log line format: [IWEF]mmdd
hh:mm:ss.uuuuuu threadid file:line] msg I0722 15:52:19.008271 22685
TerminalServer.cpp:485] Creating server I0722 15:52:19.008550 22686
IdPasskeyHandler.cpp:71] Listening to id/key FIFO I0722 15:52:19.008576
22685 UnixSocketHandler.cpp:272] Listening on <IP_ADDRESS>:2022/2/1/6 I0722
15:52:19.008601 22685 UnixSocketHandler.cpp:272] Listening on
<IP_ADDRESS>:2022/10/1/6 I0722 15:52:24.321892 22686 IdPasskeyHandler.cpp:79]
Connected I0722 15:52:25.009268 22685 ServerConnection.cpp:60] Got client
with id:  I0722 15:52:25.009335 22685 ServerConnection.cpp:78]
New client. Setting up connection F0722 15:52:25.205276 22702
TerminalServer.cpp:354] Error: (22): Invalid argument I0722 15:52:25.308257
22703 TerminalServer.cpp:145] Terminal session ended I0722 15:52:25.308326
22703 Connection.cpp:161] Shutting down connection E0722 15:52:25.308373
22703 Connection.cpp:103] Tried to close a dead socket I0722
15:52:26.204989 22685 ServerConnection.cpp:60] Got client with id:
 E0722 15:52:26.205015 22685 ServerConnection.cpp:62] Got a
client that we have no key for I0722 15:52:55.133281 22686
IdPasskeyHandler.cpp:79] Connected I0722 15:52:56.207880 22685
ServerConnection.cpp:60] Got client with id:  I0722
15:52:56.207934 22685 ServerConnection.cpp:78] New client. Setting up
connection F0722 15:52:56.384354 22731 TerminalServer.cpp:354] Error: (22):
Invalid argument I0722 15:52:56.493558 22732 TerminalServer.cpp:145]
Terminal session ended I0722 15:52:56.493624 22732 Connection.cpp:161]
Shutting down connection E0722 15:52:56.493669 22732 Connection.cpp:103]
Tried to close a dead socket I0722 15:52:57.384080 22685
ServerConnection.cpp:60] Got client with id:  E0722
15:52:57.384106 22685 ServerConnection.cpp:62] Got a client that we have no
key for I0722 15:53:14.349783 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:53:15.385886 22685 ServerConnection.cpp:60] Got client with id:
 I0722 15:53:15.385932 22685 ServerConnection.cpp:78] New client.
Setting up connection F0722 15:53:15.537825 22779 TerminalServer.cpp:354]
Error: (22): Invalid argument I0722 15:53:15.549455 22780
TerminalServer.cpp:145] Terminal session ended I0722 15:53:15.549501 22780
Connection.cpp:161] Shutting down connection E0722 15:53:15.549537 22780
Connection.cpp:103] Tried to close a dead socket I0722 15:53:16.537533
22685 ServerConnection.cpp:60] Got client with id:  E0722
15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we have no
key for I0722 15:54:11.502912 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:54:12.542783 22685 ServerConnection.cpp:60] Got client with id:
 I0722 15:54:12.542839 22685 ServerConnection.cpp:78] New client.
Setting up connection F0722 15:54:12.721895 22813 TerminalServer.cpp:354]
Error: (22): Invalid argument I0722 15:54:12.834424 22814
TerminalServer.cpp:145] Terminal session ended I0722 15:54:12.834504 22814
Connection.cpp:161] Shutting down connection E0722 15:54:12.834552 22814
Connection.cpp:103] Tried to close a dead socket I0722 15:54:13.721611
22685 ServerConnection.cpp:60] Got client with id:  E0722
15:54:13.721647 22685 ServerConnection.cpp:62] Got a client that we have no
key for
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MisterTea/EternalTCP/issues/54, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASuv2Mh5eD6MJ8GjeJivvktTwsCgteZks5sQoDigaJpZM4OgTli
.

I actually noticed that right out of the gate, so I tried building 3.1.1 and 3.1.0 and saw the exact same issue with both. The logs below are actually from the build of 3.1.1

On Jul 23, 2017, at 8:11 AM, Jason Gauci<EMAIL_ADDRESS>wrote:
The master branch is on ET 4 but the ppa/brew is on ET3 since we are still
testing. So you either need to build the client from source or checkout the
version 3 release and build that on centos.
On Sat, Jul 22, 2017, 4:08 PM Liam<EMAIL_ADDRESS>wrote:

I believe I have everything setup correctly I can connect to an etserver
instance installed on an Ubuntu server via the ppa from a client installed
from brew on OS X but I can't connect to an etserver instance built on
CentOS 7
`cmake ../
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Glog: /usr/include
-- Found glog (include: /usr/include, library: /usr/lib64/libglog.so)
-- Found GFLAGS: /usr/include
-- Found PROTOBUF: /usr/lib64/libprotobuf.so
CMake Warning (dev) at CMakeLists.txt:29 (find_package):
Syntax Warning in cmake code at
/home//EternalTCP-et-v3.1.1/cmake/FindSodium.cmake:76:53
A future version of CMake may treat unquoted argument:
[=[
as an opening long bracket. Double-quote the argument.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found sodium: /usr/lib64/libsodium.so
-- Found PkgConfig: /bin/pkg-config (found version "0.27.1")
-- checking for module 'libselinux'
-- found libselinux, version 2.5
-- Found SELinux: /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home//EternalTCP-et-v3.1.1/build
$ make
[ 4%] Running C++ protocol buffer compiler on proto/ET.proto
Scanning dependencies of target EternalTCP-static
[ 8%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/BackedReader.cpp.o
[ 13%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/BackedWriter.cpp.o
[ 17%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ClientConnection.cpp.o
[ 21%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/Connection.cpp.o
[ 26%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/CryptoHandler.cpp.o
[ 30%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/FakeSocketHandler.cpp.o
[ 34%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/FlakyFakeSocketHandler.cpp.o
[ 39%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ServerClientConnection.cpp.o
[ 43%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ServerConnection.cpp.o
[ 47%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/SocketHandler.cpp.o
[ 52%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/UnixSocketHandler.cpp.o
[ 56%] Building CXX object CMakeFiles/EternalTCP-static.dir/ET.pb.cc.o
Linking CXX static library libEternalTCP-static.a
[ 56%] Built target EternalTCP-static
[ 60%] Running C++ protocol buffer compiler on proto/ETerminal.proto
Scanning dependencies of target TerminalCommon
[ 65%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/SystemUtils.cpp.o
[ 69%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/SocketUtils.cpp.o
[ 73%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/IdPasskeyHandler.cpp.o
[ 78%] Building CXX object CMakeFiles/TerminalCommon.dir/ETerminal.pb.cc.o
Linking CXX static library libTerminalCommon.a
[ 78%] Built target TerminalCommon
Scanning dependencies of target etclient
[ 82%] Building CXX object
CMakeFiles/etclient.dir/terminal/TerminalClient.cpp.o
[ 86%] Building CXX object
CMakeFiles/etclient.dir/terminal/PortForwardClientRouter.cpp.o
[ 91%] Building CXX object
CMakeFiles/etclient.dir/terminal/PortForwardClientListener.cpp.o
Linking CXX executable etclient
[ 91%] Built target etclient
Scanning dependencies of target etserver
[ 95%] Building CXX object
CMakeFiles/etserver.dir/terminal/TerminalServer.cpp.o
[100%] Building CXX object
CMakeFiles/etserver.dir/terminal/PortForwardServerHandler.cpp.o
Linking CXX executable etserver
[100%] Built target etserver
$ sudo make install
[ 56%] Built target EternalTCP-static
[ 78%] Built target TerminalCommon
[ 91%] Built target etclient
[100%] Built target etserver
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/etserver
-- Installing: /usr/local/bin/etclient
-- Installing: /usr/local/bin/et`
server
~  EternalTCP-et-v3.1.0  build  etserver Waiting for a connection...
Credentials from SO_PEERCRED: pid=22698, euid=0, egid=0 Waiting for a
connection... pty opened 10 E0722 15:52:25.308373 22703 Connection.cpp:103]
Tried to close a dead socket E0722 15:52:26.205015 22685
ServerConnection.cpp:62] Got a client that we have no key for Credentials
from SO_PEERCRED: pid=22728, euid=0, egid=0 Waiting for a connection... pty
opened 13 E0722 15:52:56.493669 22732 Connection.cpp:103] Tried to close a
dead socket E0722 15:52:57.384106 22685 ServerConnection.cpp:62] Got a
client that we have no key for Credentials from SO_PEERCRED: pid=22777,
euid=0, egid=0 Waiting for a connection... pty opened 14 E0722
15:53:15.549537 22780 Connection.cpp:103] Tried to close a dead socket
E0722 15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we
have no key for Credentials from SO_PEERCRED: pid=22811, euid=0, egid=0
Waiting for a connection... pty opened 15 E0722 15:54:12.834552 22814
Connection.cpp:103] Tried to close a dead socket E0722 15:54:13.721647
22685 ServerConnection.cpp:62] Got a client that we have no key for
client
et root@ F0722 15:54:12.721895 22813 TerminalServer.cpp:354]
Error: (22): Invalid argument *** Check failure stack trace: *** @
0x7fce434e9e6d (unknown) @ 0x7fce434ebced (unknown) @ 0x7fce434e9a5c
(unknown) @ 0x7fce434ec63e (unknown) @ 0x470a2f startTerminal() @ 0x472913
TerminalServerHandler::newClient() @ 0x494f5a
et::ServerConnection::clientHandler() @ 0x4948e0
et::ServerConnection::run() @ 0x4717b6 main @ 0x7fce41e61b35
__libc_start_main @ 0x46e6c9 (unknown) Session terminated
logs
et root@ F0722 15:54:12.721895 22813 TerminalServer.cpp:354]
Error: (22): Invalid argument *** Check failure stack trace: *** @
0x7fce434e9e6d (unknown) @ 0x7fce434ebced (unknown) @ 0x7fce434e9a5c
(unknown) @ 0x7fce434ec63e (unknown) @ 0x470a2f startTerminal() @ 0x472913
TerminalServerHandler::newClient() @ 0x494f5a
et::ServerConnection::clientHandler() @ 0x4948e0
et::ServerConnection::run() @ 0x4717b6 main @ 0x7fce41e61b35
__libc_start_main @ 0x46e6c9 (unknown) Session terminated cat
/tmp/etclient.INFO Log file created at: 2017/07/22 15:53:14 Running on
machine:  Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid
file:line] msg I0722 15:53:14.432402<PHONE_NUMBER> TerminalClient.cpp:54] ID
PASSKEY:  I0722 15:53:14.433262<PHONE_NUMBER> TerminalClient.cpp:84]
Sending command to set terminal to screen-256color I0722 15:53:14.587086
3413267392 UnixSocketHandler.cpp:146] Connected to server:
using fd 6 I0722 15:53:15.609870<PHONE_NUMBER> Connection.cpp:33] Closing
socket because 32 Broken pipe I0722 15:53:15.609946<PHONE_NUMBER>
ClientConnection.cpp:61] Closing socket I0722 15:53:15.610018<PHONE_NUMBER>
ClientConnection.cpp:71] Socket closed. Starting new reconnect thread I0722
15:53:15.610159 46899200 ClientConnection.cpp:88] Trying to reconnect to
:2022 I0722 15:53:15.776744 46899200 UnixSocketHandler.cpp:146]
Connected to server:  using fd 6 I0722 15:53:16.596808 46899200
ClientConnection.cpp:98] Got response with status: 3 3 I0722
15:53:16.596856 46899200 ClientConnection.cpp:100] Got invalid key on
reconnect, assume that server has terminated the session. E0722
15:53:17.598309<PHONE_NUMBER> Connection.cpp:103] Tried to close a dead socket
I0722 15:53:17.599061<PHONE_NUMBER> TerminalClient.cpp:335] Client derefernced
server log
cat /tmp/etserver.INFO  130 Log file created at: 2017/07/22 15:52:19
Running on machine:  Log line format: [IWEF]mmdd
hh:mm:ss.uuuuuu threadid file:line] msg I0722 15:52:19.008271 22685
TerminalServer.cpp:485] Creating server I0722 15:52:19.008550 22686
IdPasskeyHandler.cpp:71] Listening to id/key FIFO I0722 15:52:19.008576
22685 UnixSocketHandler.cpp:272] Listening on <IP_ADDRESS>:2022/2/1/6 I0722
15:52:19.008601 22685 UnixSocketHandler.cpp:272] Listening on
<IP_ADDRESS>:2022/10/1/6 I0722 15:52:24.321892 22686 IdPasskeyHandler.cpp:79]
Connected I0722 15:52:25.009268 22685 ServerConnection.cpp:60] Got client
with id:  I0722 15:52:25.009335 22685 ServerConnection.cpp:78]
New client. Setting up connection F0722 15:52:25.205276 22702
TerminalServer.cpp:354] Error: (22): Invalid argument I0722 15:52:25.308257
22703 TerminalServer.cpp:145] Terminal session ended I0722 15:52:25.308326
22703 Connection.cpp:161] Shutting down connection E0722 15:52:25.308373
22703 Connection.cpp:103] Tried to close a dead socket I0722
15:52:26.204989 22685 ServerConnection.cpp:60] Got client with id:
 E0722 15:52:26.205015 22685 ServerConnection.cpp:62] Got a
client that we have no key for I0722 15:52:55.133281 22686
IdPasskeyHandler.cpp:79] Connected I0722 15:52:56.207880 22685
ServerConnection.cpp:60] Got client with id:  I0722
15:52:56.207934 22685 ServerConnection.cpp:78] New client. Setting up
connection F0722 15:52:56.384354 22731 TerminalServer.cpp:354] Error: (22):
Invalid argument I0722 15:52:56.493558 22732 TerminalServer.cpp:145]
Terminal session ended I0722 15:52:56.493624 22732 Connection.cpp:161]
Shutting down connection E0722 15:52:56.493669 22732 Connection.cpp:103]
Tried to close a dead socket I0722 15:52:57.384080 22685
ServerConnection.cpp:60] Got client with id:  E0722
15:52:57.384106 22685 ServerConnection.cpp:62] Got a client that we have no
key for I0722 15:53:14.349783 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:53:15.385886 22685 ServerConnection.cpp:60] Got client with id:
 I0722 15:53:15.385932 22685 ServerConnection.cpp:78] New client.
Setting up connection F0722 15:53:15.537825 22779 TerminalServer.cpp:354]
Error: (22): Invalid argument I0722 15:53:15.549455 22780
TerminalServer.cpp:145] Terminal session ended I0722 15:53:15.549501 22780
Connection.cpp:161] Shutting down connection E0722 15:53:15.549537 22780
Connection.cpp:103] Tried to close a dead socket I0722 15:53:16.537533
22685 ServerConnection.cpp:60] Got client with id:  E0722
15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we have no
key for I0722 15:54:11.502912 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:54:12.542783 22685 ServerConnection.cpp:60] Got client with id:
 I0722 15:54:12.542839 22685 ServerConnection.cpp:78] New client.
Setting up connection F0722 15:54:12.721895 22813 TerminalServer.cpp:354]
Error: (22): Invalid argument I0722 15:54:12.834424 22814
TerminalServer.cpp:145] Terminal session ended I0722 15:54:12.834504 22814
Connection.cpp:161] Shutting down connection E0722 15:54:12.834552 22814
Connection.cpp:103] Tried to close a dead socket I0722 15:54:13.721611
22685 ServerConnection.cpp:60] Got client with id:  E0722
15:54:13.721647 22685 ServerConnection.cpp:62] Got a client that we have no
key for
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MisterTea/EternalTCP/issues/54, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASuv2Mh5eD6MJ8GjeJivvktTwsCgteZks5sQoDigaJpZM4OgTli
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Can you try going the other direction and use latest master on both client
and server? Latest master is a massive rewrite so we should fix any issue
in there.
On Sun, Jul 23, 2017, 10:59 AM Liam<EMAIL_ADDRESS>wrote:

I actually noticed that right out of the gate, so I tried building 3.1.1
and 3.1.0 and saw the exact same issue with both. The logs below are
actually from the build of 3.1.1

On Jul 23, 2017, at 8:11 AM, Jason Gauci<EMAIL_ADDRESS>wrote:
The master branch is on ET 4 but the ppa/brew is on ET3 since we are
still
testing. So you either need to build the client from source or checkout
the
version 3 release and build that on centos.
On Sat, Jul 22, 2017, 4:08 PM Liam<EMAIL_ADDRESS>wrote:

I believe I have everything setup correctly I can connect to an
etserver
instance installed on an Ubuntu server via the ppa from a client
installed
from brew on OS X but I can't connect to an etserver instance built on
CentOS 7
`cmake ../
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Glog: /usr/include
-- Found glog (include: /usr/include, library: /usr/lib64/libglog.so)
-- Found GFLAGS: /usr/include
-- Found PROTOBUF: /usr/lib64/libprotobuf.so
CMake Warning (dev) at CMakeLists.txt:29 (find_package):
Syntax Warning in cmake code at
/home//EternalTCP-et-v3.1.1/cmake/FindSodium.cmake:76:53
A future version of CMake may treat unquoted argument:
[=[
as an opening long bracket. Double-quote the argument.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found sodium: /usr/lib64/libsodium.so
-- Found PkgConfig: /bin/pkg-config (found version "0.27.1")
-- checking for module 'libselinux'
-- found libselinux, version 2.5
-- Found SELinux: /usr/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home//EternalTCP-et-v3.1.1/build
$ make
[ 4%] Running C++ protocol buffer compiler on proto/ET.proto
Scanning dependencies of target EternalTCP-static
[ 8%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/BackedReader.cpp.o
[ 13%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/BackedWriter.cpp.o
[ 17%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ClientConnection.cpp.o
[ 21%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/Connection.cpp.o
[ 26%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/CryptoHandler.cpp.o
[ 30%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/FakeSocketHandler.cpp.o
[ 34%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/FlakyFakeSocketHandler.cpp.o
[ 39%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ServerClientConnection.cpp.o
[ 43%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/ServerConnection.cpp.o
[ 47%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/SocketHandler.cpp.o
[ 52%] Building CXX object
CMakeFiles/EternalTCP-static.dir/src/UnixSocketHandler.cpp.o
[ 56%] Building CXX object CMakeFiles/EternalTCP-static.dir/ET.pb.cc.o
Linking CXX static library libEternalTCP-static.a
[ 56%] Built target EternalTCP-static
[ 60%] Running C++ protocol buffer compiler on proto/ETerminal.proto
Scanning dependencies of target TerminalCommon
[ 65%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/SystemUtils.cpp.o
[ 69%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/SocketUtils.cpp.o
[ 73%] Building CXX object
CMakeFiles/TerminalCommon.dir/terminal/IdPasskeyHandler.cpp.o
[ 78%] Building CXX object
CMakeFiles/TerminalCommon.dir/ETerminal.pb.cc.o
Linking CXX static library libTerminalCommon.a
[ 78%] Built target TerminalCommon
Scanning dependencies of target etclient
[ 82%] Building CXX object
CMakeFiles/etclient.dir/terminal/TerminalClient.cpp.o
[ 86%] Building CXX object
CMakeFiles/etclient.dir/terminal/PortForwardClientRouter.cpp.o
[ 91%] Building CXX object
CMakeFiles/etclient.dir/terminal/PortForwardClientListener.cpp.o
Linking CXX executable etclient
[ 91%] Built target etclient
Scanning dependencies of target etserver
[ 95%] Building CXX object
CMakeFiles/etserver.dir/terminal/TerminalServer.cpp.o
[100%] Building CXX object
CMakeFiles/etserver.dir/terminal/PortForwardServerHandler.cpp.o
Linking CXX executable etserver
[100%] Built target etserver
$ sudo make install
[ 56%] Built target EternalTCP-static
[ 78%] Built target TerminalCommon
[ 91%] Built target etclient
[100%] Built target etserver
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/etserver
-- Installing: /usr/local/bin/etclient
-- Installing: /usr/local/bin/et`
server
~  EternalTCP-et-v3.1.0  build  etserver Waiting for a connection...
Credentials from SO_PEERCRED: pid=22698, euid=0, egid=0 Waiting for a
connection... pty opened 10 E0722 15:52:25.308373 22703
Connection.cpp:103]
Tried to close a dead socket E0722 15:52:26.205015 22685
ServerConnection.cpp:62] Got a client that we have no key for
Credentials
from SO_PEERCRED: pid=22728, euid=0, egid=0 Waiting for a
connection... pty
opened 13 E0722 15:52:56.493669 22732 Connection.cpp:103] Tried to
close a
dead socket E0722 15:52:57.384106 22685 ServerConnection.cpp:62] Got a
client that we have no key for Credentials from SO_PEERCRED: pid=22777,
euid=0, egid=0 Waiting for a connection... pty opened 14 E0722
15:53:15.549537 22780 Connection.cpp:103] Tried to close a dead socket
E0722 15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that
we
have no key for Credentials from SO_PEERCRED: pid=22811, euid=0, egid=0
Waiting for a connection... pty opened 15 E0722 15:54:12.834552 22814
Connection.cpp:103] Tried to close a dead socket E0722 15:54:13.721647
22685 ServerConnection.cpp:62] Got a client that we have no key for
client
et root@ F0722 15:54:12.721895 22813
TerminalServer.cpp:354]
Error: (22): Invalid argument *** Check failure stack trace: *** @
0x7fce434e9e6d (unknown) @ 0x7fce434ebced (unknown) @ 0x7fce434e9a5c
(unknown) @ 0x7fce434ec63e (unknown) @ 0x470a2f startTerminal() @
0x472913
TerminalServerHandler::newClient() @ 0x494f5a
et::ServerConnection::clientHandler() @ 0x4948e0
et::ServerConnection::run() @ 0x4717b6 main @ 0x7fce41e61b35
__libc_start_main @ 0x46e6c9 (unknown) Session terminated
logs
et root@ F0722 15:54:12.721895 22813
TerminalServer.cpp:354]
Error: (22): Invalid argument *** Check failure stack trace: *** @
0x7fce434e9e6d (unknown) @ 0x7fce434ebced (unknown) @ 0x7fce434e9a5c
(unknown) @ 0x7fce434ec63e (unknown) @ 0x470a2f startTerminal() @
0x472913
TerminalServerHandler::newClient() @ 0x494f5a
et::ServerConnection::clientHandler() @ 0x4948e0
et::ServerConnection::run() @ 0x4717b6 main @ 0x7fce41e61b35
__libc_start_main @ 0x46e6c9 (unknown) Session terminated cat
/tmp/etclient.INFO Log file created at: 2017/07/22 15:53:14 Running on
machine:  Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu
threadid
file:line] msg I0722 15:53:14.432402<PHONE_NUMBER> TerminalClient.cpp:54]
ID
PASSKEY:  I0722 15:53:14.433262<PHONE_NUMBER>
TerminalClient.cpp:84]
Sending command to set terminal to screen-256color I0722
15:53:14.587086
3413267392 UnixSocketHandler.cpp:146] Connected to server:
using fd 6 I0722 15:53:15.609870<PHONE_NUMBER> Connection.cpp:33] Closing
socket because 32 Broken pipe I0722 15:53:15.609946<PHONE_NUMBER>
ClientConnection.cpp:61] Closing socket I0722 15:53:15.610018
3413267392
ClientConnection.cpp:71] Socket closed. Starting new reconnect thread
I0722
15:53:15.610159 46899200 ClientConnection.cpp:88] Trying to reconnect
to
:2022 I0722 15:53:15.776744 46899200
UnixSocketHandler.cpp:146]
Connected to server:  using fd 6 I0722 15:53:16.596808
46899200
ClientConnection.cpp:98] Got response with status: 3 3 I0722
15:53:16.596856 46899200 ClientConnection.cpp:100] Got invalid key on
reconnect, assume that server has terminated the session. E0722
15:53:17.598309<PHONE_NUMBER> Connection.cpp:103] Tried to close a dead
socket
I0722 15:53:17.599061<PHONE_NUMBER> TerminalClient.cpp:335] Client
derefernced
server log
cat /tmp/etserver.INFO  130 Log file created at: 2017/07/22 15:52:19
Running on machine:  Log line format: [IWEF]mmdd
hh:mm:ss.uuuuuu threadid file:line] msg I0722 15:52:19.008271 22685
TerminalServer.cpp:485] Creating server I0722 15:52:19.008550 22686
IdPasskeyHandler.cpp:71] Listening to id/key FIFO I0722 15:52:19.008576
22685 UnixSocketHandler.cpp:272] Listening on <IP_ADDRESS>:2022/2/1/6 I0722
15:52:19.008601 22685 UnixSocketHandler.cpp:272] Listening on
<IP_ADDRESS>:2022/10/1/6 I0722 15:52:24.321892 22686
IdPasskeyHandler.cpp:79]
Connected I0722 15:52:25.009268 22685 ServerConnection.cpp:60] Got
client
with id:  I0722 15:52:25.009335 22685
ServerConnection.cpp:78]
New client. Setting up connection F0722 15:52:25.205276 22702
TerminalServer.cpp:354] Error: (22): Invalid argument I0722
15:52:25.308257
22703 TerminalServer.cpp:145] Terminal session ended I0722
15:52:25.308326
22703 Connection.cpp:161] Shutting down connection E0722
15:52:25.308373
22703 Connection.cpp:103] Tried to close a dead socket I0722
15:52:26.204989 22685 ServerConnection.cpp:60] Got client with id:
 E0722 15:52:26.205015 22685 ServerConnection.cpp:62] Got a
client that we have no key for I0722 15:52:55.133281 22686
IdPasskeyHandler.cpp:79] Connected I0722 15:52:56.207880 22685
ServerConnection.cpp:60] Got client with id:  I0722
15:52:56.207934 22685 ServerConnection.cpp:78] New client. Setting up
connection F0722 15:52:56.384354 22731 TerminalServer.cpp:354] Error:
(22):
Invalid argument I0722 15:52:56.493558 22732 TerminalServer.cpp:145]
Terminal session ended I0722 15:52:56.493624 22732 Connection.cpp:161]
Shutting down connection E0722 15:52:56.493669 22732
Connection.cpp:103]
Tried to close a dead socket I0722 15:52:57.384080 22685
ServerConnection.cpp:60] Got client with id:  E0722
15:52:57.384106 22685 ServerConnection.cpp:62] Got a client that we
have no
key for I0722 15:53:14.349783 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:53:15.385886 22685 ServerConnection.cpp:60] Got client with
id:
 I0722 15:53:15.385932 22685 ServerConnection.cpp:78] New
client.
Setting up connection F0722 15:53:15.537825 22779
TerminalServer.cpp:354]
Error: (22): Invalid argument I0722 15:53:15.549455 22780
TerminalServer.cpp:145] Terminal session ended I0722 15:53:15.549501
22780
Connection.cpp:161] Shutting down connection E0722 15:53:15.549537
22780
Connection.cpp:103] Tried to close a dead socket I0722 15:53:16.537533
22685 ServerConnection.cpp:60] Got client with id:  E0722
15:53:16.537562 22685 ServerConnection.cpp:62] Got a client that we
have no
key for I0722 15:54:11.502912 22686 IdPasskeyHandler.cpp:79] Connected
I0722 15:54:12.542783 22685 ServerConnection.cpp:60] Got client with
id:
 I0722 15:54:12.542839 22685 ServerConnection.cpp:78] New
client.
Setting up connection F0722 15:54:12.721895 22813
TerminalServer.cpp:354]
Error: (22): Invalid argument I0722 15:54:12.834424 22814
TerminalServer.cpp:145] Terminal session ended I0722 15:54:12.834504
22814
Connection.cpp:161] Shutting down connection E0722 15:54:12.834552
22814
Connection.cpp:103] Tried to close a dead socket I0722 15:54:13.721611
22685 ServerConnection.cpp:60] Got client with id:  E0722
15:54:13.721647 22685 ServerConnection.cpp:62] Got a client that we
have no
key for
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MisterTea/EternalTCP/issues/54, or mute the
thread
<
https://github.com/notifications/unsubscribe-auth/AASuv2Mh5eD6MJ8GjeJivvktTwsCgteZks5sQoDigaJpZM4OgTli

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MisterTea/EternalTCP/issues/54#issuecomment-317270459,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AASuv1xMkJTZGqfmwv1Qw4FdKPL56jg2ks5sQ4n0gaJpZM4OgTli
.

@liammac any update?

@liammac How did you manage to make it?
I am getting errors:
[  2%] Building CXX object CMakeFiles/EternalTCP-static.dir/src/BackedReader.cpp.o
In file included from /tmp/EternalTerminal-master/src/BackedReader.hpp:4:0,
                 from /tmp/EternalTerminal-master/src/BackedReader.cpp:1:
/tmp/EternalTerminal-master/src/Headers.hpp:61:27: fatal error: gflags/gflags.h: No such file or directory
 #include <gflags/gflags.h>
                           ^
compilation terminated.
make[2]: *** [CMakeFiles/EternalTCP-static.dir/src/BackedReader.cpp.o] Error 1
make[1]: *** [CMakeFiles/EternalTCP-static.dir/all] Error 2
make: *** [all] Error 2

I do have gflags lib installed.


I cannot check if a tweet is pinned or not.

Is there any way to check if a tweet is pinned or not? I see there is a "isRetweet" attribute that returns a boolean, I'd love to see a "isPinned" attribute that returns a boolean as well!

Maybe I can add this atrribute. I will try to work on it in my free time.

Glad to hear that @ozanbayram ! I'm waiting your PR excitedly.

Hitting this problem too.

Hi @ozanbayram , do you have any updates?

Sorry, I guess in I can't

Please take a look to #138 and leave your reviews.


Support for unnamed queries? (Use hash of query text?)

Hello, the requirement to name each query is sometimes inconvenient (and for large projects can lead to collisions).
What about the idea of auto-generating a name based on the hash of the query text?
I might be able to submit a pull request for this.
Thank you

A PR for an eslint rule (not in the main ESLint rule) that can fix unnamed queries with a random string(random rather than a hash so that it doesn't change when you make a change to the query and there won't be conflicts if there are identical queries) sounds good

Thank you. May I ask why not a hash? If two queries happen to be identical then they will have the same hash and then they will use the same generated file. Why would this lead to a conflict?

It would lead to a conflict because @ts-gql/compiler disallows multiple queries with the same name