Add support for absolute target.json paths

Builds upon https://github.com/rust-lang/rust/pull/49019 with the goal to provide a solution to https://github.com/rust-lang/cargo/issues/4905.
This PR does two things:
1. It appends a hash of the target path to the target folder name if a *.json path is passed as --target, like it's done in https://github.com/rust-lang/rust/pull/49019. This helps differentiating targets with the same JSON file name and avoids sysroot clashes in xargo. See https://github.com/rust-lang/cargo/pull/5228#discussion_r176827531
2. It canonicalizes the passed target path (if it's a *.json path), so that the path stays valid when building dependencies and setting the RUST_TARGET_PATH environment variable is no longer necessary.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @matklad (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

r? @alexcrichton

I pushed a new version that keeps the output folder name as before. I didn't perform and end-to-end test with xargo yet, as I have to adjust the rustc and xargo PRs first. I will post an update here then.

Would it be possible to have a small test for this as well?

A test that the path is canonicalized?

A test that the path is canonicalized?

Oh I was moreso thinking of one that uses a .json target to make sure we exercise this logic in the tests.

That makes sense. I added two basic tests.

The rustc and xargo PRs are now updated as well and I verified that they work together.

Looks great! I think there's a formatting failure on CI but otherwise r=me

Fixed the formatting error and cleaned up the commits.

@bors: r+

:pushpin: Commit 6ab7019 has been approved by alexcrichton

:hourglass: Testing commit 6ab70197e599a6c52e00455938de67b7715a1fa8 with merge 715fc78caa832223a3404925a829e18c7832703a...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 715fc78caa832223a3404925a829e18c7832703a to master...


refactoring to style guide

This PR will (without changing any functionality) adapt many aspects of the Ruby Style Guide. There still are a few things to do, especially keeping the max line length at not more than ~100 and then refactoring methods into smaller parts.
Please take a look at the .rubocop configuration and open issues at .rubocop-todo (excluding the disabled tests), I hope it suits your development environment too.
All tests pass.

Awesome! Thank you! You put a lot of work into that. I really appreciate it. Maybe we should add a few lines to the README describing how to run the rubocop tests and mention that any changes should try to conform to the Ruby Style Guide.

It wasn't that much work, most of the cops have an --auto-correct option. As for adding a note to the readme: I don't consider these styles to be a religious act, and I wouldn't want anyone willing to contribute who's not familiar with rubocop to have to deal with that before committing - everything can be cleaned later too.
Also I consider these commits as groundwork for other refactorings – I'd like to keep methods short (< 10 lines), with self-explaining names, that's what I'm most worried about (PostProcessor#post_process, I'm looking at you). Especially as I'm not very fluent in regex and sometimes it's guesswork to me. :)

Yes, sorry that is very messy. I'll try to break post_process down into smaller methods.

I can offer breaking it up into small parts (one method called per flat_map, and maybe later there's a way to get rid of endless chaining of flat_map), but method names would be unclear (do_something1), as I'm clueless what many of these regex do, so you'd have to rename them. :)

I can do that. I think the easy way will be once it is in separate methods to comment out each method one at a time and see what test fails. Then we can easily see what that particular method is doing.


[Fix #10415] Fix an error for Lint/UselessTimes

Fixes #10415.
This PR fixes an error for Lint/UselessTimes when using 1.times with method chain.
This bug fix case does not support auto-correction because it is complicated to cover the usage of the methods of Enumerator returned by Integer#times method.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

This sorts it the issue out for me 👍🏻


Decouple sbm-support-rewrite from Maven

What needs to be done
The RewriteProjectParser in sbm-support-rewrite starts Maven to provide the input data for OpenRewrite's Maven plugin code. It should be refactored to not require Maven.
Why it needs to be done

Starting the Plexus container from within a Spring application fails because the Plexus container does not find all components and can't start up. This only happens in Spring Boot applications indicating a conflict when loading jars from BOOT-INF/libs.
When using Maven to parse the poms, the project must always be a valid Maven project and thus every recipe must leave the application in a buildable state. Otherwise the migration will be stuck and running other recipes is not possible.
The parser uses Maven classes and is therefore coupled to java.io.File requiring the resources to exist on the filesystem. Previously Springs Resource abstraction was used which allowed "synthetic" dummy resources that didn't need to exist on FS. Removing the need for Maven would allow using Resources again.

Acceptance Criteria
/info panel
Given precondition
When action
Then result
Additional Information

Closed by #946


Asynchronous I/O based on NIO

Hi,
we are using XChange library to connect to multiple exchanges using multiple api keys, so at the end we have a mass of parallel connections, where most of them are simply waiting for server response.
Due to this fact we have a high load average, since every waiting connection is blocking a thread.
I'm not sure, if it is a problem at all, since the cpu is not overstressed, when threads are waiting. But still it feels not very comfortable.
Just stumbled upon NIO, like for example here
What do you think, would it be possible to change the connection handling to NIO. Looking into rescu documentation, i did not see any hints for that.
Cheers
andre

I just wondering about same idea too.

Better left it as is. You don't want to spend money before knowing exact state after previous request. As for public informational API calls like ticker, I created several accounts on exchange and run these request in parallel - this really helps

@br0x its up to you, to "wait" for a call to finish before you continue...
i guess, you missed the point

Oh, I believe I got you now. You mean we could use result listeners. This would help

Sounds like premature optimization to me (https://softwareengineering.stackexchange.com/questions/80084/is-premature-optimization-really-the-root-of-all-evil) If it's working fine, like you say it is, then it could actually do more harm then good. I haven't heard of any issues with rescu yet either, but if people are having actual legit issues, they should definitely be addressed, but in a manner targeting a specific problem.


Error running script

Hi,
I encounter the below error message when running the script.
Can you help please?
Many thanks.
issue.txt

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "/usr/lib/python3.9/subprocess.py", line 951, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/kali/covid19QRGeneratorBot/covid_bot.py", line 91, in
bot = CovidFrenchCertificateBot()
File "/home/kali/covid19QRGeneratorBot/covid_bot.py", line 29, in init
self.driver = webdriver.Chrome()
File "/usr/lib/python3/dist-packages/selenium/webdriver/chrome/webdriver.py", line 92, in init
self.service.start()
File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.


Child resources may need secondary parameter for names

Consider the following code:
var builder = DistributedApplication.CreateBuilder(args);
var pgsql1 = builder.AddPostgres("pgsql1");
var db1 = pgsql1.AddDatabase("imports");
var pgsql2 = builder.AddPostgres("pgsql2");
var db2 = pgsql1.AddDatabase("imports"); // Throws!

The programmers intent here is that they are creating two pgsql instances with a database in each one called imports. But our model doesn't allow for this even though this is a perfectly valid thing to do. We probably need to add an optional parameter on these kind of child resources where we can add a name which can be used (optional).  It would look like this:
var builder = DistributedApplication.CreateBuilder(args);
var pgsql1 = builder.AddPostgres("pgsql1");
var db1 = pgsql1.AddDatabase("db1", databaseName: "imports");
var pgsql2 = builder.AddPostgres("pgsql2");
var db2 = pgsql1.AddDatabase("db2", databaseName: "imports");

The manifest produced would just add a "databaseName": "imports" entry to the manifest.

Closing as duplicate of #1199


Service tests

This work is to add a number of tests against responses to service dependencies. It includes a refactor of the decryption class to include behaviour from TransformEngine and tweaks to the tests for RRM to enable matching of varargs params we are posting using the Http.postString method.

This is currently failing travis checks due to an update we had to make to httpino, therefore needing to bump the version number in perkins pom. Looks like the maven repo that Travis is using has yet to sync that and realise it exists.

Actually, it was because I was including snapshot version. Travis happy after pom update.


raidboss: convert Regexes to NetRegexes

Converted via:
git ls-files ui/raidboss/data/ | xargs -i sed -i "s/\(^\s\)*regex\(..\)\?: Regexes.\(\(he\|[^h]\)\w*\)({/\1netRegex\2: NetRegexes.\3({/" {}
Currently, there's no NetRegexes.hasHP, and so those are left behind.
Maybe we can figure out some better way to handle them.

I'm going to do some local testing with this tiny 114 files changed, 7848 insertions(+), 7848 deletions(-) patch, but will plan to land after closer review and testing.  Don't worry about conflicts, as this was generated with a script.


Tolerate AcroForms without a Fields entry

Description of the changes
Tolerate AcroForm dictionaries that don't contain a Fields entry when making changes to a PDF. We'll create it on the fly if needed, even though the input document would strictly speaking not be valid.
Fixes #403.
Checklist
Please go over this checklist to increase the chances of your PR being worked on in a timely manner. Deviations are allowed with proper justification (see previous section).

[x] I have read the project's CoC and contribution guidelines.
[x] I understand and agree to the terms in the Developer Certificate of Origin as applied to this contribution.
[x] All new code in this PR has full test coverage.

For bug fixes (delete if not applicable)

[x] My changes do not affect any public API or CLI semantics.
[x] My PR adds regression tests (i.e. tests that fail if the bug fix is not applied).
[x] All new code in this PR has full test coverage.

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

Project coverage is 98.83%. Comparing base (5a9d8eb) to head (6d4cde9).
Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #404   +/-   ##
=======================================
  Coverage   98.83%   98.83%
=======================================
  Files         113      113
  Lines       16265    16265
=======================================
  Hits        16075    16075
  Misses        190      190

Flag
Coverage Δ

unittests
98.83% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Knowledge base with map

Represent the map as a knowledge base and use the knowledge contained in the KB for task decision-making

Initial version done: https://github.com/kas-lab/navigation_graph_map/blob/main/navigation_kb/config/schema.tql


Update MacOS and Linux to 2.4.8 and add Apple Silicon support

I added the missing Libraries (Mac and Linux) that didn't got updated to Version 2.4.8 as well as Apple Silicon support.
The Release should be updated with an up-to-date .unitypackage after merging this pull request i guess.
Closes #6

Thanks a lot for the PR, this is highly appreciated! I just tried running the branch on an MacBook Pro 2021 with an M1 Pro, and sadly I get an exception:
DllNotFoundException: enet assembly:<unknown assembly> type:<unknown type> member:(null)
ENet.Library.Initialize () (at Assets/ENet/Scripts/ENet.cs:956)
Supyrb.ENetClient..ctor () (at Assets/Runtime/ENetClient.cs:62)
Supyrb.ExampleEchoClient.Start () (at Assets/Samples/EchoClient/Scripts/ExampleEchoClient.cs:39)

Did you test the library on your machine with the repo?

no i did not test with your project 😄, i don't have a m1 mac... but a coworker had enet running on m1 with the library i pushed. (not your project tho...)
do the import settings look correct?

Yep, I would say, they look fine.
I also tried to compile it on my machine, sadly I didn't manage to get it to run in Unity either (but I'm also not super familiar with the process).

Okay, I managed to get a working version for both MacOS x64 and ARM. I will still merge this, since the linux fix is in there and I want to give credit where credit is due. thanks ffor your contribution!


Tdl cert policy

Description
Finished out policy and tested it.

@rshade Made requested changes and retested policy.


Image crossOrigin policy

This is not directly about the code.
I'm experimenting with loading images from https://steemitimages.com into HTML5 canvas. However, I am unable to do so because the server does not allow any crossOrigin request.
Is there any way you guys can help me with this? More about CORS enabled image: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

This is not related to Steem.js, i think this GitHub is more appropriate: https://github.com/steemit/condenser.


Incorrect relative phase added for controlled Pauli-X from quantum_info.operators

Information

Qiskit Terra version: 0.15.2
Python version: 3.6.9
Operating system: Ubuntu 18.04.5 LTS

What is the current behavior?
Most of the info and explanation is described in this post : https://quantumcomputing.stackexchange.com/questions/14147/odd-behavior-with-qiskit-pauli-operators
To summarize the issue, when adding a control qubit to a qiskit.quantum_info.operators.Pauli object, at least I tested for Pauli-X, that is wrapped in qiskit.quantum_info.operators.Operator, there is an incorrect relative phase introduced between the control system and the target system. This issue might be present for other Pauli operators as well.
Steps to reproduce the problem
As mentioned in the post on 'Quantum Computing Stackexchange', the user (tsgeorgios) answering my question posted a quick and easy way to verify what I found:
from qiskit.quantum_info import Operator, Pauli

gate = QuantumCircuit(1)
gate.append(Operator(Pauli(label='X')), [0])
gate = gate.control()

print(Operator(gate).data)

----
Output:

[[ 1   0   0   0]
 [ 0   0   0  1j]
 [ 0   0   1   0]
 [ 0  1j   0   0]]

What is the expected behavior?
The relative phase introduced should not be there.
Suggested solutions
No suggestions.

Are you currently working on a solution? I'd like to take a look at this issue if that's alright.

Hm, the issue comes likely from the the workflow:

The Pauli gate is converted to a matrix when put into Operator
If the Operator is appended a generic synthesis algorithm is used that implements the operation up to a global phase
Upon controlling, the global phase becomes a relativ phase

If the operator would be synthesized w/o global phase that error would likely be resolved. However, the algorithms for exact synthesis are more expensive afaik. You could argue that adding a matrix to a circuit is inefficient either way and it might as well be exact.

@Cryoris In this case, the synthesis algorithm tracks the global phase
pauli = Operator(Pauli(label='X'))
gate = UnitaryGate(pauli)

print(gate.definition)
Operator(gate.definition)
---
global phase: -π/2
     ┌────────────────┐
q_0: ┤ U3(π,π/2,-π/2) ├
     └────────────────┘
array([[0.-0.j, 1.+0.j],
       [1.+0.j, 0.-0.j]])

but control() fails to do so.


Issue in intrinsic scaling

https://github.com/B1ueber2y/TrianFlow/blob/05c404ff8d6a58d96ba3b980190da426ca94c25c/core/dataset/kitti_prepared.py#L87-L90
Hi, thanks for great work.
While reproducing your works, it seems having a minor mistake.
I think the function above should be
 K[0,:] = K[0,:] * img_hw_new[1] / img_hw_orig[1]
 K[1,:] = K[1,:] * img_hw_new[0] / img_hw_orig[0]

because img_hw contains (height, width) and K[0, :] is related to the width, and K[1, :] is related to the height. Isn't it?

I just found the same issue too. @hyBlue I guess you are right.

@hyBlue @liyingliu  Thanks for reporting this issue. It's fixed now.


libc does not seem to respect the CC environment variable

To reproduce:

Be on a platform that does not have the cc binary, but does have eg. gcc installed
Compile using CC=gcc cargo build
Observe the following error:

error: linker `cc` not found
  |
  = note: No such file or directory (os error 2)

error: could not compile `libc` (build script) due to 1 previous error

Correct behaviour should be that the build.rs script should honor the CC environment variable
and use that to link.
This is explicitly a problem when trying to get reproducible builds in systems like GUIX or (I presume, NIX).
Guix example
; working-developer-shell.scm
(use-modules (gnu)
             (gnu packages commencement)
	     (guix)
	     (guix packages)
	     (guix build-system trivial)
	     (guix licenses)
             )

(define base-manifest (specifications->manifest
  '(
<EMAIL_ADDRESS><EMAIL_ADDRESS>    "gcc-toolchain"
    "coreutils"
    )))

(define-public custom-cc
  (package
    (name "custom-cc")
    (version "1.0")
    (source #f)
    (build-system trivial-build-system)
    (arguments
     `(#:modules ((guix build utils))
       #:builder (begin
                   (use-modules (guix build utils))
                   (let* ((out (assoc-ref %outputs "out"))
                          (bin (string-append out "/bin"))
                          ;; Adjust the path to the gcc binary as necessary.
                          (gcc-path (string-append (assoc-ref %build-inputs "gcc-toolchain") "/bin/gcc")))
                     (mkdir-p bin)
                     (symlink gcc-path (string-append bin "/cc"))))))
    (inputs
     `(("gcc-toolchain", gcc-toolchain)))
    (synopsis "Custom package providing a cc symlink to gcc")
    (description "This package installs a symlink named 'cc' in its bin output, which points to the gcc binary in the gcc-toolchain package.")
    (home-page "https://example.com")
    (license gpl3)))

(define custom-cc-manifest (manifest (list (package->manifest-entry custom-cc))))

(concatenate-manifests (list base-manifest custom-cc-manifest))

; broken-developer-shell.scm
(use-modules (gnu)
             (gnu packages commencement)
	     (guix)
	     (guix packages)
	     (guix build-system trivial)
	     (guix licenses)
             )

(define base-manifest (specifications->manifest
  '(
<EMAIL_ADDRESS><EMAIL_ADDRESS>    "gcc-toolchain"
    "coreutils"
    )))

base-manifest

Broken example using guix
git clone https://github.com/rust-lang/libc.git
cd libc
guix environment -m ../broken-developer-shell.scm --pure
CC=gcc cargo build

Working example using guix
In this example, we add a symlink named cc in our PATH that points to gcc.
git clone https://github.com/rust-lang/libc.git
cd libc
guix environment -m ../working-developer-shell.scm --pure
cargo build

This is not an issue of the libc crate, but of the rust compiler, since rustc invokes the linker. You should be able to use CARGO_TARGET_<triple>_LINKER to set the linker or alternartively open an issue at rust compiler repository.


Paul Nunnerley - Support for data replication end points

We've needed to extend to provide support for the data replication end
points. Doing so means upgrading the api version to 29+ and implementing
two end points getUpdatedBetween and getDeletedBetween which take two
Time object representing the beginning and end of a time window you wish
salesforce to provide you notification of updated.
I've pulled in active support for :test group to provide the 10.minutes style syntax.

Will take a look at this after the stuff to deal with versions in https://github.com/ejholmes/restforce/pull/178 is decided.

@paulnunnerley Happy to merge this, but would prefer to stick with the existing API version and use the version_guard approach from #178. Can you write a README entry too, please?

@paulnunnerley Going to hold off on implementing this one for now - it'd be great to have (a) a README entry and (b) an implementation which is a bit more agnostic as to what the startDate and endDate attributes should be - calling utc.iso8601 isn't particularly duck-typing friendly.

+1, I need this functionality too. Thanks!

Hi, Any updates on this MR ?

Hi, could this pull request be merged soon? We are facing the same problem.

@jonydev Happy to see this merged with the changes I suggested in my comments above. Do you want to make those tweaks? I'd prefer not to do it as I'm not very familiar with these Salesforce API features, so I won't do the best job.

hi, @timrogers , do you mean I should add some version_guard in README.md?

I'll comment back in the next day or so to make a bit clearer what I'm
imagining as the next steps.
On Wed, 2 Aug 2017 at 02:27, Jonyzz<EMAIL_ADDRESS>wrote:

hi, @timrogers https://github.com/timrogers , do you mean I should add
some version_guard in README.md?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ejholmes/restforce/pull/172#issuecomment-319542061,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHFphXkcKcZ8DCqoz-6tDchuuoVQdFgks5sT9BkgaJpZM4Dhb7N
.

@jonydev It'd be good to make an updated version of this PR which:

Uses version_guard to only make it available in supported API versions
Includes a README entry
Passes the start date and end_date in a nicer way - calling .utc.iso8601 on it is a bit too specific. It might be better just to take a formatted string?

@timrogers I will add all guide you mentioned, and create a new PR for the modification. Thanks for your response.

@timrogers I have seen the latest version of RestForce, I found there has been an API called "get_updated", "get_deleted" did the same thing with the code we post. So I think this PR could be closed.

Awesome! Let's do that then. Thanks.


RE4 Remake Crashing

When i try using REframework on RE4 Remake it doesn't work, like, the game loads normally but after 5-10 seconds of opening it, it shows the REframework menu, but it doesn't finish loading, and then the game crashes,

re2_framework_log.txt

https://streamable.com/kqzl0a
This is what happens

Pirated copies are not supported.


Check dropzone against DL and VRT

Check dropzone

[ ] matches DL
[ ] check VRT passes
[ ] check and update migration guides example

Typography is off.

Not only did Typography change, but with the new Typography styles, we can't get the old colors. Asked @NateBaldwinDesign about this and will do as he says.
With old Typography:

With new Typography:

@NateBaldwinDesign said we can just use the colors as-is and file a bug, so I deed it.


 If you go to this page the animation doesn't go back to the beginning as you scroll up to the top of the page. Is this known bug? If there is the version working properly please let me know.
Consuming repo

What repo were you working in when this issue occurred?

I am working on the latest lottie-player and the latest lottie-interactivity.min.js
Labels

[ ] Add the Type: Bug label to this issue

.

Hi @shinyatentree, the animation in that part of the page won't go to frame 0 because 70% of it is still visible even though you're at the top of the page and can't scroll any higher. If you go down the page a bit and find the 'sync lottie with scroll' section, you can see that as you scroll up and just a little bit of the animation is left (only the head peeking through) the animation will be at the start
https://user-images.githubusercontent.com/23125742/135060246-2e3e2baf-4d0f-4f60-a298-62e79d8822ae.mov

This implementation is not really suit for the full page Lottie animation like the following:
https://lottiefiles.com/interactivity?url=https%3A%2F%2Fassets7.lottiefiles.com%2Fprivate_files%2Flf30_xjt8yn4d.json
Can you take a look some implementation on another lottie javascript plugin like scrolll magic? https://codepen.io/jama1017/pen/ROymbz

@shinyatentree I think I see now what you're asking for. Currently the library doesn't have the ability to pin an animation so that we can scroll and keep the animation visible like the robot example you shared, but this would be interesting to add in the future!

@shinyatentree In the meantime, I think this was what you were looking for with your coffee animation:
https://codepen.io/Osbro/pen/JjJxymX

Thanks!


Implement infinite sessions

Implemented infinite sessions:

On the sign in page pass useExpensifyLogin = true for the first Authenticate which will create a new login via CreateLogin
In CreateLogin use React-Native-Chat-${guid} for the login name and ${guid} for the password
Store the random login and password
Store the last time we successfully authenticated
When calling verifyAuthToken check the last time, if it's more than 90 minutes use the random login and password to call authenticate
Delete the login we created on sign out

🚀 [Deployed](https://github.com/Expensify/Expensify.cash
/actions/runs/765130740) 🚀 to
staging on Mon Apr 19 2021 at 22:41:56 GMT+0000 (Coordinated Universal Time)

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Checked all PRs and added comments to all PRs where accessibility issues were found without the Android platform (due to build issues on Android) only one issue is left and have query on #7864
The non-applicable PRs are - #7594, #7662, #7701, #7744, #7805, #7827
Impossibility to verify (After client confirmation) - #7804


Updates for psql-migration

Updates for https://github.com/ibutsu/ibutsu-server/pull/45

By default, datetime objects are not JSON-serializable. Does the client handle that?

@rsnyman yup, it converts them to strings


view-only-meeting-experience disabled by default

[Enter feedback here]
Under Impact to Users:
https://learn.microsoft.com/en-us/microsoftteams/view-only-meeting-experience#impact-to-users
The bullet point "An administrator has disabled the Teams view-only experience for either the organizer or for the entire tenant" should be changed to "An administrator has not enabled the Teams view-only experience for either the organizer or for the entire tenant"
The default in the tenants is disabled, not enabled.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 2bf705c2-1f24-bdb5-e712-e8408b941aca
Version Independent ID: ddedd7e0-7d85-06e0-7f20-8b83b3dccec7
Content: View-only meeting experience - Microsoft Teams
Content Source: Teams/view-only-meeting-experience.md
Service: msteams
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

Thanks for your feedback


Dynamic paths for Chez's include/lib dirs

Here are changes to the makefiles that remove the hardcoded paths. I've been able to test this with ta6le, partially with ta6nt (no VS installed), and with arm32le (albeit on an aarch64 machine).

Thank you!


LABELS_TO_MEASURE causes the action to fail

If LABELS_TO_MEASURE is set then the action will fail with:
Starting issue-metrics search...
  File "/action/workspace/issue_metrics.py", line 331, in <module>
    main()
  File "/action/workspace/issue_metrics.py", line 262, in main
    labels = labels.split(",")
             ^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'split'

It looks like the block here is redundant after this PR which already converts the environment string to a list.

Thanks for submitting this issue! I'm currently on holiday so I'll take a look at this when I return in January.

Hi, I'm currently blocked by this issue so I figured I could just use an older version of the action (e.g. v2.14.0), so I changed my workflow yml file as follows
- name: Run issue-metrics tool
   uses<EMAIL_ADDRESS>
However, I still run into this issue. It seems that even if I use an older version of the action, it's still pulling the latest Docker image ie. https://github.com/github/issue-metrics/blob/ebc6a99b31b69b73a26678b9ac5a6ebbc021c663/action.yml#L7
I'm not too familiar with Docker, but was just wondering if anything can be done to workaround this?

@zkoppert
Hello!
When will this PR be available with a tag?
We will want to incorporate this feature as soon as possible...
Because we are haunted by https://github.com/github/issue-metrics/issues/180#issuecomment-1875037524.

@FujiKinaga Thanks for the reminder to get this released! I have released it today: https://github.com/github/issue-metrics/releases/tag/v2.14.2


Google sigin is not working in the codemagic Apk

I developed the app in a flutter. Google sign-in is part of the app. But the problem is in while creating the apk using "flutter build apk" at that time google sign-in is working. While creating the apk using "code magic" at that time google sign-in is not working. I don't know where is the problem. Kindly help me to fix this issue. Thanks in Advance...

Hi @vijay14887
could you please provide the logs from your codemagic build
and your pubspec.yaml
or if possible a reproducible minimal code sample.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, minimal reproducible sample code (if related), logs and the output of 'flutter doctor -v'  please.


Logging with Serilog File Sink does not work

I am using Serilog for logging to a file. It works when I run the site on the web. But when I run it as Electron NET app it does not write any log. When I change the Sink from File to Console it spits the logs on the console screen.
Is anyone aware of this issue?

I'm not aware of any issue but I am using serilog to log to file using the following setup code in Program.cs:
  Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .Enrich.FromLogContext()
                .WriteTo.Console()
                .WriteTo.File(Path.Combine(Path.GetTempPath(), AppName + "-" + DateTime.Now.ToString("yyyyMMddHHmmss")) + ".log")
                .CreateLogger();

I found out the issue. If the are stored inside the wwwroot then the app has the permission to write them. If they are anywhere outside of the wwwroot then it will not write the log nor it will give any errors.


Cross-platform build & test

This language should work on Mac and Windows, but I've only recently tested on Linux. Let's get it working everywhere.

Finally... macos-latest works and bazel-testlongs/ get uploaded GitHub.
Trying windows-latest now.

Finally... macos-latest works and bazel-testlongs/ get uploaded GitHub.
Trying windows-latest now.

Windows is not playing well... and I think I'm incorrectly trying to use file descriptors and sockets interchangeably. Let's repurpose this bug to be Apple-specfic and mark it done.

Windows is not playing well... and I think I'm incorrectly trying to use file descriptors and sockets interchangeably. Let's repurpose this bug to be Apple-specfic and mark it done.


[Feature Request]: language switch

Description
For global digital products, it's important to have a language switch component.  Currently we have to use a dropdown to do the language switch which is not ideal.
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate requests

Hello!
Could you give more details how you expect this component to look like?


Webinar cards: container query

Decided not to continue this, because this doesn't work since the list items all have a set size.


Detecting Impossible travel with mailbox permission tampering & Privilege Escalation attempt

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

After the submission has been made, please look at the Validation Checks.

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

I am just curious, is this the only AuditLogs operation, related to roles, that could be triggered?
"Add eligible member to role in PIM requested (timebound)"


[doc] Fix readme link

coverage: 98.642%. remained the same when pulling 57f85608d050bcbd49daeaa39124da27e63e4cb4 on fix-readme-link into b9ca30ca00b9d50f8e1f5ad30af98fd1602df1ab on main.


Fix padding of "Online" label in event cards

Resolves https://github.com/wellcomecollection/wellcomecollection.org/issues/6529

I'm not sure about this. The negative margin on the LabelsList is there to override the bottom margin that necessarily exists on all individual Labels (so that they're not flush if they wrap onto two rows). The net result is no space, I think.

Hmm, that makes sense but the overlap is apparent in dev tools at least:

Is that overlap when the text is selected the result of the webfont vertical metrics being quite baggy? If you change the font-family to something from the system, I think it might look less odd.

Might be another one for some input from @GarethOrmerod

I think moving over to Helvetica Regular has helped this vertical spacing. The online label looked a bit bunched up with the date & time below previously which would have been exacerbated by using Helvetica Light.


Code highlighting does not work using prismjs

Go to link
https://gatsby-starter-personal-blog.greglobinski.com/like-nonsense-3/
on the demo website code highlighting does not work.
I have similar setup and can not make the code highlighting work.
on using gatsby develop highlighting works as intended but not when use gatsby build

@RanjeetAulakh  thanks for feedback.
The issue is fixed. After choosing react-jss as a CSS manager I removed the code responsible for CSS SSR. But prismjs needs it so put it back to html.js.
Details are here Add CSS rendering to html.js
Thanks

Yes i can confirm the issue is fixed now, Thanks for the prompt response and contribution to open source community.


Circuit Breaker and retry policy fail with getAsyncExecution

I migrated from 2.0.1 to anything after 2.1 and failed my unit test. Investigating a lot we found out that there some interaction between the RetryPolicy and CircuitBreaker and Async handler:
Our best guess is that the happy path for failed Retry and CircuitBreaker result in an NPE on isFailure:
Caused by: java.lang.NullPointerException
	at net.jodah.failsafe.PolicyExecutor.isFailure(PolicyExecutor.java:113)
	at net.jodah.failsafe.PolicyExecutor.postExecuteAsync(PolicyExecutor.java:96)
	at net.jodah.failsafe.PolicyExecutor.lambda$null$1(PolicyExecutor.java:87)
	at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)
	at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124)
	at net.jodah.failsafe.PolicyExecutor.lambda$supplyAsync$2(PolicyExecutor.java:87)
	at net.jodah.failsafe.RetryPolicyExecutor$1.call(RetryPolicyExecutor.java:101)
	at net.jodah.failsafe.internal.util.DelegatingScheduler.lambda$schedule$0(DelegatingScheduler.java:141)
	at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

The following example is a bit large but covers several of the weird behaviours. retry by itself works perfectly. But depending of the policies on the CircuitBreaker there are various behaviour.  I commented out the onRetry, but is some of the cases there are thousands or onRetry calls.
I simplified doChain and doSub. Originally doChain does a HTTP call and in 2.0.1 we check return status and call retry explicitly, but I'm convinced that this does not work correctly. So doSub is supposed to simulate an invalid return status and raises and exception to force a retry. This seems the correct way to handle failures.
public class Test1 {

    static AtomicInteger counter = new AtomicInteger(0);

    static public void main(String[] args) throws ExecutionException, InterruptedException {
        RetryPolicy<Object> retryPolicy = new RetryPolicy()
                .withMaxRetries(5)
                .withBackoff(100, 500, ChronoUnit.MILLIS, 1.1)
//TODO Uncomment for thousand of messages
//              .onRetry(o -> System.out.println("Retrying..." + o))
                .onRetriesExceeded(o -> {
                    System.out.println("out of luck" + o);
                });

        CircuitBreaker<Object> circuitBreaker = new CircuitBreaker<>()
                .onClose(() -> System.out.println("CB: Closed"))
                .onHalfOpen(() -> System.out.println("CB: HalfOpen"))
                .onOpen(() -> System.out.println("CB: Open"));

        circuitBreaker.close();
        runTest("Hang 1", retryPolicy, circuitBreaker);
        circuitBreaker.close();
        runTest("CB Open no retry before exist, one on CB Close",
                circuitBreaker, retryPolicy);

        circuitBreaker.close();
        runTest("Single retry, Circuit Breaker exception",
                circuitBreaker.withFailureThreshold(1).withDelay(Duration.ofMillis(500)), retryPolicy);
        circuitBreaker.close();
        runTest("NPE On second retry",
                retryPolicy, circuitBreaker.withFailureThreshold(3).withDelay(Duration.ofMillis(500)));

        //Works, by forcing call to be already higher
        System.out.println("\n---- Works --- ");
        counter.set(3);
        CompletableFuture<Object> o = Failsafe.with(retryPolicy)
                .getAsyncExecution(executeAction());
        System.out.println("Works ok: " + o.get());
        //Works
        counter.set(0);
        runTest("Will exhaust retries as expected", retryPolicy);

    }

    private static <P extends Policy<Object>> void runTest(String useCase, P... policies) {
        CompletableFuture<Object> answer;
        try {
            System.out.println("\n---- Failure " + useCase + " ----");
            counter.set(0);
            answer = Failsafe.with(Arrays.asList(policies)).getAsyncExecution(executeAction());
            answer.get(2, TimeUnit.SECONDS);
        } catch (Exception e) {
            System.out.println("RunTest: Exception after " + counter.get() + " calls with: " + e);
        }
    }

    private static AsyncSupplier<Object> executeAction() {
        return execution -> doChain().whenComplete((result, failure) -> {
            if (execution.complete(result, failure)) {
                execution.getLastResult();
                //TODO From example but this is not truly completed, since it can complete with failure.
                System.out.println("Completed?: failure=" + failure + " result=" + result);
            } else if (!execution.retry())
                System.out.println("Failed to retry: " + failure);
        });
    }

    private static CompletableFuture<String> doChain() {
        return doSub().thenCompose(x -> CompletableFuture.supplyAsync(() -> {
            if (x < 7) {
                throw new RuntimeException("Who?");
            }
            return "@" + (x * 10);
        }));
    }

    private static CompletableFuture<Integer> doSub() {

        return CompletableFuture.supplyAsync(() -> {
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            int i = counter.incrementAndGet();
            System.out.println("Call number = "  + i );
            return i;
        });
    }
}

Is there anything I can do to help?

@nebulorum Thanks for sharing this. It looks like there are a few test cases being covered here. Can you describe which of the test cases are producing an unexpected result, and what you think the expected result should be? Thinking of it that way, in terms of a failed assertion, is helpful.

@nebulorum I fixed an issue that caused the NPE in 664042cbbf9edbafd2f26c4441cf5487a4874aa2 and added more test coverage for Timeouts used with other policies. These will be released in 2.4.2 shortly. Let me know what you think.

@jhalterman thanks for fixing this. We will try to use this in our next patch round.

@nebulorum Look for the 3.0 release in the next couple of days, and you should be good with that version.


changing AP password

can you add options to control ap  security(wpa,wep) , change AP password

You can change it in the config in your local files before compiling and uploading to your ESP32. It's located in components/wifi_controller/Kconfig: https://github.com/risinek/esp32-wifi-penetration-tool/blob/1874eca01d98eb6466de00077aa417d980878d75/components/wifi_controller/Kconfig#L9-L19

dont work

didn't work

didn't work ....tried many times i think code must be built after changes but how to rebuild it

Yes, project has to be rebuild. How to do that is in README.

Got this error while compiling esp_event.h library not found
C:/Users/azhar/Desktop/32deoot/esp32-wifi-penetration-tool-master/components/frame_analyzer/interface/frame_analyzer.h:12:10: fatal error: esp_event.h: No such file or directory
12 | #include "esp_event.h"
|          ^~~~~~~~~~~~~
compilation terminated.
[887/904] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/attack.c.objninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the C:\Users\azhar\Desktop\32deoot\esp32-wifi-penetration-tool-master\build\log\idf_py_stderr_output_12300 and C:\Users\azhar\Desktop\32deoot\esp32-wifi-penetration-tool-master\build\log\idf_py_stdout_output_12300
PS C:\Users\azhar\Desktop\32deoot\esp32-wifi-penetration-tool-master>

yes, I am having the same Issue too

The configuration is stored in the sdkconfig file located at the root of the project, which should be generated after configuring your project using idf.py menuconfig (#refrence)
To configure the Wi-Fi AP SSID and password for your ESP32 Jammer, follow these steps:

Perform a full clean for the builds using idf.py fullclean command.
To change the default ap ssid/password, run idf.py menuconfig
select component config --->  and select Wi-Fi Controller  --->, then Management AP
You can now customize your ssid and password from here.

After customizing your config, hit S to save the configuration file.
Rebuild your project and flash it to your board


Added provider 'fog' to gce_compute

DO NOT MERGE. This is the rewrite to gce_compute that is currently not working. We wanted to hash out fixes for default providers.

@erjohnso : What's still needed on this pull request?

@icco - finding a new contact at PuppetLabs to help work out the transition (and any other clean-up). @ryanycoleman has been my main goto guy at PL, but he's looking into pairing me up with someone else.

@icco @erjohnso Thanks for this. I've left a few comments, mainly questions or picky bits. This is just from reading the diff, I'll run through the examples and installation next week and report back on that as well.
Also, it doesn't currently merge cleanly onto master. If you could rebase with master and fix and conflicts.
Thanks, and sorry it took a while to get to this.

@garethr - thanks for this! (sorry, I was out last week and am just catching up)
But, I guess the general question I still have is how would you like to handle the gcutil to fog migration? As I mentioned in email, we tried to ensure backwards compatibility.  So I see a few options and would like your input on the one that makes the most sense (or suggest a different approach):

Create a brand new GCE module.  Update the docs on the old one to indicate it is no longer the recommended module and point them to the new module and mention manifest files should require no updates to work with the new module (just new runtime deps).
Rip out gcutil completely switch over to fog. We'd do a major version bump (I guess to 1.0.0 since we're at 0.5.0 now).
Try to support both gcutil and fog in the same module and allow users to pick the provider. This is what the current PR attempts to do, but fails.

When we first started this work, gcutil was still supported by Google. It has now been officially deprecated and we no longer maintain it (but it still functions). Given the current situation, I propose going with option (2). This allows us to avoid having to try to handle both providers and moves users away from gcutil more quickly. However, it presents the highest risk to users upgrading, but should be fairly low considering the amount of effort we put into making the transition backwards compatible.
If you think (3) is still the best option, then I'll address your feedback and resync.
wdyt?

@garethr - ping. Input on direction most welcome. :)

@er0ck sorry for the delay, I'd just been checking this with our professional service engineers in the field about any customers using the module this might impact. I think our preference is the same as yours on this - ie. option 2 above, to rip out gcutil.

Great, thanks @garethr and @er0ck!  That will greatly simplify the PR too.  I'll see about getting that fixed up in short order.

FYI I now own this transition.  Any questions, suggestions, etc., please direct my way.  Thanks.

@garethr I'm working on preparing this for merge, (you can see my work in progress at ihmccreery/puppetlabs-gce_compute), and I have a few questions for folks more familiar with Puppet than I.
First, what is the preferred method for authentication for this kind of type/provider?  In the current version, we simply require users to "make sure to authenticate as instructed", (i.e. run gcloud auth login).  This is no longer viable, because we are moving away from requiring a CLI like gcutil or gcloud.  In the standing version of this pull request, a user is required to put a resource at the top of each manifest:
gce_auth { 'project-id':
}

This means that, when upgrading to v1, or when changing projects, users will have to add, or change, a couple of lines to the top of every manifest they use.  Is this the way we want to have users specify authentication moving forward, with a resource at the top of each manifest?
I wonder if there is a way to use configuration files or something similar, so that existing files don't have to be changed.  What is idiomatic for Puppet, if anything?
Second, this new version relies on the fog-google gem.  What is the idiomatic way for Puppet to manage a dependency for the puppet master?  In the Gemfile?  Somewhere else?
Finally, what is the preferred name for this module?  It currently stands as puppetlabs-gce_compute, but the pull request has it renamed to gce_compute.
Thanks so much, and let me know if there's a better way to ask these kinds of questions.

@garethr Regarding managing gem dependencies, I've since found PUP-3386 and this corresponding discussion.  Do you have any more information on this?  Thanks!

Opened #35; this PR is no longer relevant and should be closed.

As mention


remove settings attribute from generated models

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[X] Y

fix #25
2. What is the scope of this PR (e.g. component or file name):

pkg/kube_resource/generator/generator.go: do not add the __settings__ attribute when encapsulating the crd model
pkg/kube_resource/generator/assets/files/api_spec/k8s/k8s.json: remove the __settings___  property from the processed k8s.json OAI spec
pkg/kube_resource/generator/assets/static/static.go: this file is regenerated since the k8s.json file changed
examples/kube_resource, pkg/kube_resource/generator/testdata: regenerate the output files of testdata

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):
remove the __settings__ attribute from generated models

[X] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[X] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[X] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

6. Release note

Please refer to Release Notes Language Style Guide to write a quality release note.
remove __settings__ attribute from generated models

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.06%) to 66.563%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
1919

Relevant Lines:
2883

💛  - Coveralls


Issues/10 uskill localization

Sorry,
closed the previous pull request while i didn't wanted and don't knoww how to reopen it. Just not yet used to github customs.

No worries. I'll re-open the old one.


Can't change temp directory using environment variables

Hi there, as documented in issue #70 it is not possible to use the performance-analyzer-agent-cli with a temp directory marked noexec. The elasticsearch startup scripts provide the possibility of using the "ES_TMPDIR" variable to override the temp directory path, however this does not work for the performance-analyzer-agent-cli script because using ES_TMPDIR causes ES_JAVA_OPTS to be clobbered.
See how on line 9 of performance-analyzer-agent-cli, ES_JAVA_OPTS is set with values necessary to boot the performance analyzer, before calling elasticsearch-cli:
https://github.com/opendistro-for-elasticsearch/performance-analyzer/blob/master/packaging/performance-analyzer-agent-cli#L9
Elasticsearch-cli then calls elasticsearch-env to set up the environment:
https://github.com/elastic/elasticsearch/blob/v7.1.1/distribution/src/bin/elasticsearch-cli#L5
Finally elasticsearch-env clobbers ES_JAVA_OPTS when ES_TMPDIR is set:
https://github.com/elastic/elasticsearch/blob/v7.1.1/distribution/src/bin/elasticsearch-env#L88
Note that this ES_TMPDIR is gone in the latest version of the scripts, so maybe they now intend for us to use ES_JAVA_OPTS to set java.io.tmpdir with a -D parameter. However this approach has a different problem: when /etc/sysconfig/elasticsearch is sourced in elasticsearch-env, it similarly clobbers the ES_JAVA_OPTS that performance-analyzer-agent-cli defines. Thus the settings from PA_AGENT_JAVA_OPTS, such as the log4j configuration file, are lost.
The workaround which we are using, as described in issue #70, is to edit the performance-analyzer-agent-cli script and add the string -Djava.io.tmpdir=/apps/elasticsearch/tmp to the end of PA_AGENT_JAVA_OPTS (where /apps/ is a volume that we control). We then also set the other components of elasticsearch to use that same temp directory with the ES_TMPDIR variable (NOT the ES_JAVA_OPTS variable, otherwise the PA_AGENT_JAVA_OPTS get lost as noted above).

More info: It seems like they still do use the ES_TMPDIR in new versions, but only for the elasticsearch binary itself and not the other cli scripts, since the other scripts do not need a temp directory. Perhaps the performance-analyzer-agent-cli script could adopt a similar approach since it similarly requires a temp directory.
See: https://github.com/elastic/elasticsearch/commit/f97606e1b86a580bbb3e12208a173742a629af3e

Thanks @shawnz for reporting this issue. We will update the CLI to honor ES_TMPDIR  if it is set. We are also thinking of using PA_AGENT_JAVA_OPTS env variable as-is if it is set. Let us know what you think about setting PA_AGENT_JAVA_OPTS from your end.

Hi @sendkb, thank you for your time looking into this issue. Either option would be just fine for me.

Just a follow up to your previous question: it would indeed be helpful to override other parts of PA_AGENT_JAVA_OPTS as well because that would also let me change the log4j.configurationFile property.
This has recently become an important concern for me because the default location of the log4j config file is such that the file gets overwritten after any elasticsearch updates. So if I could instead put the log4j configuration in a location of my choosing, it would work around that issue.

Is there any update on this? I am in the same boat as the OP here. We are using SELinux, marking our tmp dirs as NOEXEC, which is leading to elasticsearch.service failing to start up. .We're in AWS using centos 7 VMs, and installing opendistro by rpm.
Adding -Djava.io.tmpdir=/etc/elasticsearch/tmp to the end of PA_AGENT_JAVA_OPT and we are still unable to get past this issue. It looks like no matter where I place or set $ES_TMPDIR or "-Djava.io.tmpdir=/etc/elasticsearch/tmp", elasticsearch ignores the setting and always attempts to write to /tmp for something or another.
Any place that I have defined the new temp directy and gotten elasticsearch to start up
logs complains about JNA failing, and the show that the java option Djava.io.tmpdir is defined twice. Ex. /etc/sysconfig/elasticsearch and at the top of the jvm.options.
I tried adding "ES_TMPDIR=/etc/elasticsearch/tmp" to the /etc/sysconfig/elasticsearch file, which does seem to get the logs to show that the change was honored, but that causes the JVM to fail and elasticsearch fails to come up.
Unless I mark the /tmp directory as executable which is not a viable solution for us, nothing I have tried has seemed to work. Is there a time frame for this fix or another work around I could try? We cant move forward transitioning to OpenDistro if we have to have our tmp directory execuable.
Thanks!

Hey there @rdecuir , there are actually two issues at play here. Elasticsearch fails to start with a noexec tmp directory, and also the performance analyzer agent fails to start with a noexec temp directory. In order to fix both problems, my setup is as follows:

Make the change to performance-analyzer-agent-cli to fix the performance analyzer problem, AND

Add ES_TMPDIR=/whatever to the /etc/sysconfig/elasticsearch file.

So what you are describing should be working as far as I am aware. Can you show me the error message? I am wondering if the problem is maybe that "/etc/elasticsearch" is not a suitable location. I am not sure why but in the past I have had issues where elasticsearch refuses to start if I put foreign files in there.

Thanks for getting back to me! @shawnz error message below, and I did try a few things based on your suggestion.

I did create a new tmp location "/opt/elasticsearch/tmp", chowned that to the elasticsearch user.

Added ES_TMPDIR=/opt/elasticsearch/tmp to /etc/sysconfig/elasticsearch

Commented out ES_JAVA_OPTS= in  /etc/sysconfig/elasticsearch

Added -Djava.io.tmpdir=/opt/elasticsearch/tmp to performance-analyzer-agent-cl

But still when I run systemctl start elasticsearch.service it fails to start, I even tried as the elasticsearch user to kick off .../bin/elasticsearch, to try elasticsearch without the performance-anaylzer, but still see the same failure.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f420971ec95, pid=24354, tid=24522
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (14.0.1+7) (build 14.0.1+7)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (14.0.1+7, mixed mode, tiered, g1 gc, linux-amd64)
# Problematic frame:
# C  [jna8794642219682927580.tmp+0x12c95]  ffi_prep_closure_loc+0x15
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,COMPAT -Xms32g -Xmx32g -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -Djava.io.tmpdir=/opt/elasticsearch/tmp -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/lib/elasticsearch -XX:ErrorFile=/var/log/elasticsearch/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m -Dclk.tck=100 -Djdk.attach.allowAttachSelf=true -Djava.security.policy=file:///usr/share/elasticsearch/plugins/opendistro_performance_analyzer/pa_config/es_security.policy -XX:MaxDirectMemorySize=17179869184 -Des.path.home=/usr/share/elasticsearch -Des.path.conf=/etc/elasticsearch -Des.distribution.flavor=oss -Des.distribution.type=rpm -Des.bundled_jdk=true org.elasticsearch.bootstrap.Elasticsearch -p /var/run/elasticsearch/elasticsearch.pid --quiet

Host: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz, 8 cores, 61G, CentOS Linux release 7.8.2003 (Core)
Time: Fri Nov  6 16:00:55 2020 UTC elapsed time: 2 seconds (0d 0h 0m 2s)

---------------  T H R E A D  ---------------

Current thread (0x00007f4aa802a800):  JavaThread "main" [_thread_in_native, id=24522, stack(0x00007f4aafffc000,0x00007f4ab00fd000)]

Stack: [0x00007f4aafffc000,0x00007f4ab00fd000],  sp=0x00007f4ab00fa3a0,  free space=1016k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [jna8794642219682927580.tmp+0x12c95]  ffi_prep_closure_loc+0x15
C  [jna8794642219682927580.tmp+0xa2ac]  Java_com_sun_jna_Native_registerMethod+0x51c
j  com.sun.jna.Native.registerMethod(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[I[J[JIJJLjava/lang/reflect/Method;JIZ[Lcom/sun/jna/ToNativeConverter;Lcom/sun/jna/FromNativeConverter;Ljava/lang/String;)J+0
j  com.sun.jna.Native.register(Ljava/lang/Class;Lcom/sun/jna/NativeLibrary;)V+1159
j  com.sun.jna.Native.register(Ljava/lang/Class;Ljava/lang/String;)V+17
j  com.sun.jna.Native.register(Ljava/lang/String;)V+7
j  org.elasticsearch.bootstrap.JNACLibrary.<clinit>()V+73
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e9b8b]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x3ab
V  [libjvm.so+0x7c68ad]  InstanceKlass::call_class_initializer(Thread*)+0x21d
V  [libjvm.so+0x7c6e66]  InstanceKlass::initialize_impl(Thread*)+0x556
V  [libjvm.so+0xa17a50]  LinkResolver::resolve_static_call(CallInfo&, LinkInfo const&, bool, Thread*)+0x440
V  [libjvm.so+0xa1cb68]  LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x498
V  [libjvm.so+0x7e4d43]  InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x2f3
V  [libjvm.so+0x7e5295]  InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x105
j  org.elasticsearch.bootstrap.JNANatives.definitelyRunningAsRoot()Z+8
j  org.elasticsearch.bootstrap.Natives.definitelyRunningAsRoot()Z+18
j  org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Ljava/nio/file/Path;ZZZ)V+7
j  org.elasticsearch.bootstrap.Bootstrap.setup(ZLorg/elasticsearch/env/Environment;)V+72
j  org.elasticsearch.bootstrap.Bootstrap.init(ZLjava/nio/file/Path;ZLorg/elasticsearch/env/Environment;)V+237
j  org.elasticsearch.bootstrap.Elasticsearch.init(ZLjava/nio/file/Path;ZLorg/elasticsearch/env/Environment;)V+13
j  org.elasticsearch.bootstrap.Elasticsearch.execute(Lorg/elasticsearch/cli/Terminal;Ljoptsimple/OptionSet;Lorg/elasticsearch/env/Environment;)V+204
j  org.elasticsearch.cli.EnvironmentAwareCommand.execute(Lorg/elasticsearch/cli/Terminal;Ljoptsimple/OptionSet;)V+218
j  org.elasticsearch.cli.Command.mainWithoutErrorHandling([Ljava/lang/String;Lorg/elasticsearch/cli/Terminal;)V+79
j  org.elasticsearch.cli.Command.main([Ljava/lang/String;Lorg/elasticsearch/cli/Terminal;)I+47
j  org.elasticsearch.bootstrap.Elasticsearch.main([Ljava/lang/String;Lorg/elasticsearch/bootstrap/Elasticsearch;Lorg/elasticsearch/cli/Terminal;)I+3
j  org.elasticsearch.bootstrap.Elasticsearch.main([Ljava/lang/String;)V+29
v  ~StubRoutines::call_stub
V  [libjvm.so+0x7e9b8b]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x3ab
V  [libjvm.so+0x8760fd]  jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) [clone .isra.118] [clone .constprop.255]+0x34d
V  [libjvm.so+0x878754]  jni_CallStaticVoidMethod+0x164
C  [libjli.so+0x58fd]  JavaMain+0xe4d
C  [libjli.so+0x9019]  ThreadJavaMain+0x9

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.jna.Native.registerMethod(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[I[J[JIJJLjava/lang/reflect/Method;JIZ[Lcom/sun/jna/ToNativeConverter;Lcom/sun/jna/FromNativeConverter;Ljava/lang/String;)J+0
j  com.sun.jna.Native.register(Ljava/lang/Class;Lcom/sun/jna/NativeLibrary;)V+1159
j  com.sun.jna.Native.register(Ljava/lang/Class;Ljava/lang/String;)V+17
j  com.sun.jna.Native.register(Ljava/lang/String;)V+7
j  org.elasticsearch.bootstrap.JNACLibrary.<clinit>()V+73
v  ~StubRoutines::call_stub
j  org.elasticsearch.bootstrap.JNANatives.definitelyRunningAsRoot()Z+8
j  org.elasticsearch.bootstrap.Natives.definitelyRunningAsRoot()Z+18
j  org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Ljava/nio/file/Path;ZZZ)V+7
j  org.elasticsearch.bootstrap.Bootstrap.setup(ZLorg/elasticsearch/env/Environment;)V+72
j  org.elasticsearch.bootstrap.Bootstrap.init(ZLjava/nio/file/Path;ZLorg/elasticsearch/env/Environment;)V+237
j  org.elasticsearch.bootstrap.Elasticsearch.init(ZLjava/nio/file/Path;ZLorg/elasticsearch/env/Environment;)V+13
j  org.elasticsearch.bootstrap.Elasticsearch.execute(Lorg/elasticsearch/cli/Terminal;Ljoptsimple/OptionSet;Lorg/elasticsearch/env/Environment;)V+204
j  org.elasticsearch.cli.EnvironmentAwareCommand.execute(Lorg/elasticsearch/cli/Terminal;Ljoptsimple/OptionSet;)V+218
j  org.elasticsearch.cli.Command.mainWithoutErrorHandling([Ljava/lang/String;Lorg/elasticsearch/cli/Terminal;)V+79
j  org.elasticsearch.cli.Command.main([Ljava/lang/String;Lorg/elasticsearch/cli/Terminal;)I+47
j  org.elasticsearch.bootstrap.Elasticsearch.main([Ljava/lang/String;Lorg/elasticsearch/bootstrap/Elasticsearch;Lorg/elasticsearch/cli/Terminal;)I+3
j  org.elasticsearch.bootstrap.Elasticsearch.main([Ljava/lang/String;)V+29
v  ~StubRoutines::call_stub

Interesting. Based on this https://discuss.elastic.co/t/elasticsearch-service-getting-aborted/221857/2 maybe try also setting jna.tmpdir.
I guess that would mean, altogether in /etc/sysconfig/elasticsearch, you would have to comment out ES_TMPDIR and instead set ES_JAVA_OPTS to -Djava.io.tmpdir=/opt/elasticsearch/tmp -Djna.tmpdir=/opt/elasticsearch/tmp. Does that work? Not sure why the necessary options would be different between our configurations though.
I will also note that I am only using JDK 11, not sure if that is relevant to the issue.

Hi @shawnz and @rdecuir. I just started following this issue yesterday as I ran into he same problem with the noexec on tmp.
Here are the changes I had to make based on @shawnz workaround.
/etc/elasticsearch/tmp is the directory I've chosen to use for this. My efforts were to try and try Wazuh installed.
/etc/sysconfig/elasticsearch
# Additional Java OPTS
ES_JAVA_OPTS=-'Djava.io.tmpdir=/etc/elasticsearch/tmp'

/usr/share/elasticsearch/bin/performance-analyzer-agent-cli
   "$@" -Djava.io.tmpdir=/etc/elasticsearch/tmp

Thanks for the suggestion @shawnz and @jordan. Tried both suggestions and some other things and now trying to narrow the workflow to target issues.
Since its both a performance analyzer and elasticsearch problem I've now started testing the following:
I now become the elasticsearch user and am executing the /usr/share/elasticsearch/bin/elasticsearch script.
What I have noticed is:

Setting the vim /etc/sysconfig/elasticsearch file with JAVA_OPTS="-Djava.io.tmpdir=/opt/elasticsearch/tmp -Djna.tmpdir=/opt/elasticsearch/tmp" seems to not make a difference, elasticsearch will start up and immediately complain about JNA, error at bottom of post. And of course the logs show that the JVM args have tmp set as -Djava.io.tmpdir=/tmp/elasticsearch-0321764032184763, not /opt/elasticsearch/tmp

Setting ES_TMPDIR=/opt/elasticsearch/tmp either in the /etc/sysconfig/elasticsearch file, or one the comandline ex. ES_TMPDIR=/opt/elasticsearch/tmp /usr/share/elasticsearch/bin/elasticsearch, will cause elasticsearch not to start up and the logs show that the JVM args have tmp set for the correct -Djava.io.tmpdir=/opt/elasticsearch/tmp

Figured working just with elasticsearch might be easier to start with but still having issues. It literally seems like when elasticsearch does pick up and change the tmp dir to what I want, assigning a new tmp dir it breaks elasticsearch.
For more infor:

working with opendistroforelasticsearch-1.11.0

installed java-1.8.0-openjdk-devel on the box as per their documentation

added the link from docs ln -s /usr/lib/jvm/java-1.8.0/lib/tools.jar /usr/share/elasticsearch/lib/

Can tell by logs opendistro elasticsearch is using its own java 14 library

Any more suggestions or ideas are appreciated, thank you so much for you help thus far as its driving me nuts haha.
Error when I don't set ES_TMPDIR, regardless if I set Djava.io.tmpdir=/opt/elasticsearch/tmp and/or -Djna.tmpdir=/opt/elasticsearch/tmp:
unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: /tmp/elasticsearch-14499571148581708342/jna7185666673918243058.tmp: /tmp/elasticsearch-14499571148581708342/jna7185666673918243058.tmp: failed to map segment from shared object: Operation not permitted
        at java.lang.ClassLoader$NativeLibrary.load0(Native Method) ~[?:?]
        at java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2452) ~[?:?]
        at java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2508) ~[?:?]
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2704) ~[?:?]
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2637) ~[?:?]
        at java.lang.Runtime.load0(Runtime.java:745) ~[?:?]
        at java.lang.System.load(System.java:1871) ~[?:?]
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018) ~[jna-5.5.0.jar:5.5.0 (b0)]
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988) ~[jna-5.5.0.jar:5.5.0 (b0)]
        at com.sun.jna.Native.<clinit>(Native.java:195) ~[jna-5.5.0.jar:5.5.0 (b0)]
        at java.lang.Class.forName0(Native Method) ~[?:?]
        at java.lang.Class.forName(Class.java:340) ~[?:?]
        at org.elasticsearch.bootstrap.Natives.<clinit>(Natives.java:45) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:110) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127) [elasticsearch-cli-7.9.1.jar:7.9.1]
        at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126) [elasticsearch-7.9.1.jar:7.9.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-7.9.1.jar:7.9.1]

@rdecuir - do you have the elasticsearch service running? What happens if you start the service as opposed to starting the binary as the user?
This is what journalctl shows when I start my service:
Nov 06 19:19:31 $HOSTNAME systemd[1]: Started Opendistro for Elasticsearch Performance Analyzer.
Nov 06 19:19:31 $HOSTNAME systemd[1]: Starting Elasticsearch...
Nov 06 19:19:32 $HOSTNAME performance-analyzer-agent-cli[3912882]: ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
Nov 06 19:19:35 $HOSTNAME performance-analyzer-agent-cli[3912882]: 19:19:35.781 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: Nov 06, 2020 7:19:36 PM org.jooq.tools.JooqLogger info
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: INFO:
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]:
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@  @@        @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@@@@@        @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@  @@  @@    @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@  @@@@  @@  @@    @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@        @@        @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@        @@        @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@    @@  @@  @@@@  @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@        @@  @  @  @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@        @@        @@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  Thank you for using jOOQ 3.10.8
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]:
Nov 06 19:19:36 $HOSTNAME performance-analyzer-agent-cli[3912882]: 19:19:36.485 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf
Nov 06 19:19:38 $HOSTNAME performance-analyzer-agent-cli[3912882]: 19:19:38.408 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf

@jordanenglish so, if I attempt to run the service it fails and logs look like so:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007facb11b4c95, pid=10437, tid=10603
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (14.0.1+7) (build 14.0.1+7)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (14.0.1+7, mixed mode, tiered, g1 gc, linux-amd64)
# Problematic frame:
# C  [jna3963141006250589072.tmp+0x12c95]  ffi_prep_closure_loc+0x15
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,COMPAT -Xms32g -Xmx32g -XX:+UseG1GC -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -Djava.io.tmpdir=/opt/elasticsearch/tmp -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/lib/elasticsearch -XX:ErrorFile=/var/log/elasticsearch/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m -Dclk.tck=100 -Djdk.attach.allowAttachSelf=true -Djava.security.policy=file:///usr/share/elasticsearch/plugins/opendistro_performance_analyzer/pa_config/es_security.policy -XX:MaxDirectMemorySize=17179869184 -Des.path.home=/usr/share/elasticsearch -Des.path.conf=/etc/elasticsearch -Des.distribution.flavor=oss -Des.distribution.type=rpm -Des.bundled_jdk=true org.elasticsearch.bootstrap.Elasticsearch -p /var/run/elasticsearch/elasticsearch.pid --quiet

Host: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz, 8 cores, 61G, CentOS Linux release 7.8.2003 (Core)
Time: Fri Nov  6 19:26:01 2020 UTC elapsed time: 2 seconds (0d 0h 0m 2s)

hi, i got same problem..
on new centos installation i try untended install and after script install it all, he cannot start elastic with same reason:
Dec 01 15:11:20 vlxwazuhtest performance-analyzer-agent-cli[8152]: 15:11:20.819 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf
Dec 01 15:11:23 vlxwazuhtest performance-analyzer-agent-cli[8152]: 15:11:23.274 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf

that file do not exist, in data folder there is only rca_enabled.conf file

hi, i got same problem..
on new centos installation i try untended install and after script install it all, he cannot start elastic with same reason:
Dec 01 15:11:20 vlxwazuhtest performance-analyzer-agent-cli[8152]: 15:11:20.819 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf
Dec 01 15:11:23 vlxwazuhtest performance-analyzer-agent-cli[8152]: 15:11:23.274 [pa-reader] ERROR com.amazon.opendistro.elasticsearch.performanceanalyzer.reader.ReaderMetricsProcessor - Error reading file '/usr/share/elasticsearch/data/batch_metrics_enabled.conf': java.nio.file.NoSuchFileException: /usr/share/elasticsearch/data/batch_metrics_enabled.conf

that file do not exist, in data folder there is only rca_enabled.conf file
i try to create that file with true and false, and i got new errors, so seems that is not only the problem..

did you find a fix for that? i got the same Problem right now after a fresh install on a Ubuntu

Ok so here is what I did to get this to work:
Created dir: /etc/elasticsearch/tmp
Configured the following files:
/etc/sysconfig/elasticsearch
################################
# Elasticsearch
################################

# Elasticsearch home directory
#ES_HOME=/usr/share/elasticsearch

# Elasticsearch Java path
#JAVA_HOME=

# Elasticsearch configuration directory
# Note: this setting will be shared with command-line tools
ES_PATH_CONF=/etc/elasticsearch

# Elasticsearch PID directory
#PID_DIR=/var/run/elasticsearch

# Additional Java OPTS
ES_TMPDIR=/etc/elasticsearch/tmp
TMPDIR=/etc/elasticsearch/tmp

# Configure restart on package upgrade (true, every other setting will lead to not restarting)
#RESTART_ON_UPGRADE=true

################################
# Elasticsearch service
################################

# SysV init.d
#
# The number of seconds to wait before checking if Elasticsearch started successfully as a daemon process
ES_STARTUP_SLEEP_TIME=5

################################
# System properties
################################

# Specifies the maximum file descriptor number that can be opened by this process
# When using Systemd, this setting is ignored and the LimitNOFILE defined in
# /usr/lib/systemd/system/elasticsearch.service takes precedence
#MAX_OPEN_FILES=65535

# The maximum number of bytes of memory that may be locked into RAM
# Set to "unlimited" if you use the 'bootstrap.memory_lock: true' option
# in elasticsearch.yml.
# When using systemd, LimitMEMLOCK must be set in a unit file such as
# /etc/systemd/system/elasticsearch.service.d/override.conf.
#MAX_LOCKED_MEMORY=unlimited

# Maximum number of VMA (Virtual Memory Areas) a process can own
# When using Systemd, this setting is ignored and the 'vm.max_map_count'
# property is set at boot time in /usr/lib/sysctl.d/elasticsearch.conf
#MAX_MAP_COUNT=262144

/etc/systemd/system/elasticsearch.service.d/elasticsearch.conf
[Service]
LimitMEMLOCK=infinity

/usr/share/elasticsearch/bin/performance-analyzer-agent-cli
#!/bin/sh

PA_AGENT_JAVA_OPTS="-Dlog4j.configurationFile=$ES_HOME/plugins/opendistro_performance_analyzer/pa_config/log4j2.xml \
              -Xms64M -Xmx64M -XX:+UseSerialGC -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:InitialCodeCacheSize=4096 \
              -XX:InitialBootClassLoaderMetaspaceSize=30720 -XX:MaxRAM=400m -Djna.tmpdir=/etc/elasticsearch/tmp -Djava.io.tmpdir=/etc/elasticsearch/tmp"

ES_MAIN_CLASS="com.amazon.opendistro.elasticsearch.performanceanalyzer.PerformanceAnalyzerApp" \
ES_ADDITIONAL_CLASSPATH_DIRECTORIES=performance-analyzer-rca/lib \
ES_JAVA_OPTS=$PA_AGENT_JAVA_OPTS \
 $ES_HOME/bin/elasticsearch-cli \
   "$@"

/etc/elasticsearch/jvm.options
## JVM configuration

################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms32g
-Xmx32g

################################################################
## Expert settings
################################################################
##
## All settings below this section are considered
## expert settings. Don't tamper with them unless
## you understand what you are doing
##
################################################################

## GC configuration
8-13:-XX:+UseConcMarkSweepGC
8-13:-XX:CMSInitiatingOccupancyFraction=75
8-13:-XX:+UseCMSInitiatingOccupancyOnly

## G1GC Configuration
# NOTE: G1 GC is only supported on JDK version 10 or later
# to use G1GC, uncomment the next two lines and update the version on the
# following three lines to your version of the JDK
# 10-13:-XX:-UseConcMarkSweepGC
# 10-13:-XX:-UseCMSInitiatingOccupancyOnly
14-:-XX:+UseG1GC
14-:-XX:G1ReservePercent=25
14-:-XX:InitiatingHeapOccupancyPercent=30

## JVM temporary directory
-Djava.io.tmpdir=${ES_TMPDIR}

## heap dumps

# generate a heap dump when an allocation from the Java heap fails
# heap dumps are created in the working directory of the JVM
-XX:+HeapDumpOnOutOfMemoryError

# specify an alternative path for heap dumps; ensure the directory exists and
# has sufficient space
-XX:HeapDumpPath=/var/lib/elasticsearch

# specify an alternative path for JVM fatal error logs
-XX:ErrorFile=/var/log/elasticsearch/hs_err_pid%p.log

## JDK 8 GC logging
8:-XX:+PrintGCDetails
8:-XX:+PrintGCDateStamps
8:-XX:+PrintTenuringDistribution
8:-XX:+PrintGCApplicationStoppedTime
8:-Xloggc:/var/log/elasticsearch/gc.log
8:-XX:+UseGCLogFileRotation
8:-XX:NumberOfGCLogFiles=32
8:-XX:GCLogFileSize=64m

# JDK 9+ GC logging
9-:-Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m

## OpenDistro Performance Analyzer
-Dclk.tck=100
-Djdk.attach.allowAttachSelf=true
-Djava.security.policy=file:///usr/share/elasticsearch/plugins/opendistro_performance_analyzer/pa_config/es_security.policy

I'm not having any issues at the moment @rdecuir, but do you have a reason for your 32g in Java? I'm just curious.
your /etc/elasticsearch/jvm.options
-Xms32g
-Xmx32g

my /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g

Were you seeing performance issues that required you to increase this?

Note that it is a bad idea to set the java heap above ~30 GB because you lose out on an important optimization called compressed oops. You will likely get worse performance by doing that unless you set it MUCH larger than 30gb, for example 50-60gb.
Elastic generally recommends setting the min/max heap size to be half the physical ram on the system (assuming elastic is all that's running).
See: https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#heap-size-settings

Note that it is a bad idea to set the java heap above ~30 GB because you lose out on an important optimization called compressed oops. You will likely get worse performance by doing that unless you set it MUCH larger than 30gb, for example 50-60gb.
Elastic generally recommends setting the min/max heap size to be half the physical ram on the system, but not more than ~30gb (assuming elasticsearch is all that's running on the system).
See: https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#heap-size-settings

The machines that are running elasticsearch are 64gb machines so we configured them to half that number. From what you are saying would you suggest trying to lower that to 30gb then? I will read the link shortly. We ingest 5-10TB into ES a day with a 20+ cluster.

I'm not having any issues at the moment @rdecuir, but do you have a reason for your 32g in Java? I'm just curious.
your /etc/elasticsearch/jvm.options
-Xms32g
-Xmx32g

my /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g

Were you seeing performance issues that required you to increase this?

Mostly using previous configurations that were determined before my time, that made sense to me given my limited ES "tuning" experience.

Indeed if you have 64gb of ram you will probably get better performance to use slightly less than 32gb of heap, so that your JVM is eligible to use compressed oops.
Compressed oops basically allows Java to use 32-bit pointers even on 64-bit systems, thus saving RAM. Since Java is very object-heavy, cutting the size of pointers in half can provide huge RAM savings in a large Java application.
If you are not able to use compressed oops, then you might expect almost double the memory usage in some cases (that's why it's not recommended to exceed 32GB of heap unless you can exceed it by a huge amount, like 64GB).

Indeed if you have 64gb of ram you will probably get better performance to use slightly less than 32gb of heap, so that your JVM is eligible to use compressed oops.
Compressed oops basically allows Java to use 32-bit pointers even on 64-bit systems, thus saving RAM. Since Java is very object-heavy, cutting the size of pointers in half can provide huge RAM savings in a large Java application.
If you are not able to use compressed oops, then you might expect almost double the memory usage in some cases (that's why it's not recommended to exceed 32GB of heap unless you can exceed it by a huge amount, like 64GB).

Thank you, after I read more of the link you sent I'll drop our setting down and give it a shot.

@rdecuir @shawnz - since you guys are using noexec on /tmp, can I assume you also have FIPS enabled on your Elasticsearch hosts?

@jordanenglish correct, we have FIPS enabled.

@jordanenglish correct, we have FIPS enabled.

Can you elaborate on your setup some? I had to get a new ODFE server stood up and can't get it working unless I disable FIPS on RHEL8.

@jordanenglish correct, we have FIPS enabled.

Can you elaborate on your setup some? I had to get a new ODFE server stood up and can't get it working unless I disable FIPS on RHEL8.

So, We are running on a AWS with FIPS enabled centos7 boxes. It is required that we do not disable FIPS and keep noexec on the  /temp dir.
I've installed opendistro via yum after adding it to our repo. I got i working which I provided details above in the comments. It took a while of touching everything but it resolved the issues I was seeing.
Let me know if you need more details or what you're looking for, not sure I can help in a different environment but I can def tell you what I went through and my process.

@jordanenglish correct, we have FIPS enabled.

Can you elaborate on your setup some? I had to get a new ODFE server stood up and can't get it working unless I disable FIPS on RHEL8.

So, We are running on a AWS with FIPS enabled centos7 boxes. It is required that we do not disable FIPS and keep noexec on the /temp dir.
I've installed opendistro via yum after adding it to our repo. I got i working which I provided details above in the comments. It took a while of touching everything but it resolved the issues I was seeing.
Let me know if you need more details or what you're looking for, not sure I can help in a different environment but I can def tell you what I went through and my process.

Thanks for your feedback. I think that RHEL7 handles signatures on unsigned RPMs differently than RHEL8. Even with the repo available on my RHEL8 box I cannot do a yum install opendistroforelasticsearch
I have to do the following:
# yum install --downloadonly --destdir /tmp/odfe opendistroforelasticsearch -y
# rpm -ivh --nodigest --nofiledigest /tmp/odfe/*.rpm

I think the better way should be to have a config file for the plugin instead of cheating around with env variable and modifying stuff in service files.
The same problem is mentioned here in other issue: https://github.com/opendistro-for-elasticsearch/performance-analyzer/issues/206


Release 3.10.0

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

Comparison is base (9ba4fe0) 91.92% compared to head (6616e79) 91.92%.
Report is 7 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #511   +/-   ##
=======================================
  Coverage   91.92%   91.92%
=======================================
  Files          55       55
  Lines        4794     4794
=======================================
  Hits         4407     4407
  Misses        387      387

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


Can't reproduce results

When retraining from your pretrained checkpoint I start to get NaN in the in_shape_loss quite fast, after epoch 40 or so. I have repeated several times the process and always happens. When executing the testing code, not even a person shows up, it just a strange shape. Could you submit a way of perfectly reproducing your results without the need for training?

And if I move the pretrained checkpoint to the output folder and rename last so that it tricks the test module into using it, I get the following error:
Error executing job with overrides: [] Traceback (most recent call last):   File "test.py", line 36, in main     trainer.test(model, testset, ckpt_path=checkpoint)   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 907, in test     return self._call_and_handle_interrupt(self._test_impl, model, dataloaders, ckpt_path, verbose, datamodule)   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 683, in _call_and_handle_interrupt     return trainer_fn(*args, **kwargs)   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 950, in _test_impl     results = self._run(model, ckpt_path=self.tested_ckpt_path)   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1138, in _run     self._restore_modules_and_callbacks(ckpt_path)   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 1105, in _restore_modules_and_callbacks     self.checkpoint_connector.restore_model()   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 168, in restore_model     self.trainer.training_type_plugin.load_model_state_dict(self._loaded_checkpoint)   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 193, in load_model_state_dict     self.lightning_module.load_state_dict(checkpoint["state_dict"])   File "/home/user/anaconda3/envs/vid2avatar/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1672, in load_state_dict     self.__class__.__name__, "\n\t".join(error_msgs))) RuntimeError: Error(s) in loading state_dict for V2AModel: 	size mismatch for model.frame_latent_encoder.weight: copying a param with shape torch.Size([42, 32]) from checkpoint, the shape in current model is torch.Size([34, 32]). 	size mismatch for body_model_params.global_orient.weight: copying a param with shape torch.Size([42, 3]) from checkpoint, the shape in current model is torch.Size([34, 3]). 	size mismatch for body_model_params.transl.weight: copying a param with shape torch.Size([42, 3]) from checkpoint, the shape in current model is torch.Size([34, 3]). 	size mismatch for body_model_params.body_pose.weight: copying a param with shape torch.Size([42, 69]) from checkpoint, the shape in current model is torch.Size([34, 69]).

Hi, I just figured it out. I don't know why but someone removed several original images from the google drive folder. Now I changed the access right to others and added the missing images. Could you try running the demo (training and test) again?

+1

+1

Can you maybe elaborate more about your issues?

Owner

all the loss become nan after 17 epoch

I just tried to reproduce the error you have. But with the same training input, the loss will not become nan in my case. I think there is a similar problem as you have here https://github.com/MoyGcc/vid2avatar/issues/13 probably related to the GPU arch. It worth trying reinstalling pytorch that matches your CUDA version.

I just tried to reproduce the error you have. But with the same training input, the loss will not become nan in my case. I think there is a similar problem as you have here #13 probably related to the GPU arch. It worth trying reinstalling pytorch that matches your CUDA version.

It works!


Missing details from ex.printStackTrace under fullOptJS compiled with Google Closure Compiler

Background
I use sentry.io with my ScalaJS app to track runtime errors.  In development mode with fastOptJS I get the full exception stack trace sent to the server.  However when running with fullOptJS in production mode the stack trace misses calls within code compiled with Closure.
I've stripped my application back to a minimal example that demonstrates the behaviour.
To reproduce:
To run in development mode to produce success case:
git clone git@github.com:mgilbertnz/scalajs-stacktrace-test.git
cd scalajs-stacktrace-test
sbt run

Browse to http://localhost:9000
In debugging tools observe that we have 3 lines relating to our exception
https://github.com/mgilbertnz/scalajs-stacktrace-test/raw/master/nonclosure.png
To run in production mode to produce failure case:
sbt stage
cd application/server/target/universal/stage/bin
./crm-stacktrace-test

Browse to http://localhost:9000
In debugging tools observe that we have no mention of the calls within optimised code
https://github.com/mgilbertnz/scalajs-stacktrace-test/raw/master/withclosure.png
Due to the closure compiler producing sourcemaps I expected calls within my app to be present in the stack trace so they can be translated with the sourcemaps.
Apologies if this isn't a bug or belongs elsewhere.

Source maps produce information about source positions, but do not preserve other information. In particular, when inlining a method m2 inside m1, m2 will not show up in stack traces anymore. Only m1 will.
So this is not a bug. At least the situation cannot be improved until the source map specification is enhanced with the ability to record more information.


Support "Custom Serialization" for Hazelcast

See motivation and partially implemented code in the pull request #107

Done. Will be released soon in the scope of 4.7.0


Stage general options

I think we mean '''Stage owners are not automatically assigned any additional permissions.' instead of ''Stage owners are not automatically assigned any addition permissions.''

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

ID: 4266f72c-c774-0046-4593-d01eb775d3c3
Version Independent ID: f20827aa-a6c5-96a8-5969-e576ffbc2e38
Content: Stages in Azure Pipelines - Azure Pipelines
Content Source: docs/pipelines/release/environments.md
Product: devops
GitHub Login: @alexhomer1
Microsoft Alias: ahomer

Thank you for your feedback. I will update the topic to include your recommendations.


Remove printing of logs

Please take this as the start of the debate, if prints should be part of this library. It is nothing critical, but they mangle test log output of one of my library :-).

I don't have anything against dropping most of the printing, since most of it can be added in the env argument. The one thing you can't currently no is when a client closes, but I would say that is of minimal concern right now.