fix(bpf): fix a verifier issue on debian10(4.19.0-25-amd64)

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area driver-bpf
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
This PR fixes a verifier issue on debian10(4.19.0-25-amd64)
This is the verifier issue log:
2446: (07) r3 += 16
2447: (bf) r1 = r10
2448: (07) r1 += -40
2449: (b7) r2 = 8
2450: (85) call bpf_probe_read#4
2451: (79) r3 = *(u64 *)(r10 -32)
BPF program is too large. Processed 131073 insn

-- END PROG LOAD LOG --
terminate called after throwing an instance of 'scap_open_exception'
  what():  libscap: bpf_load_program() event=raw_tracepoint/filler/open_by_handle_at_x_extra_tail_1: Operation not permitted

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97]

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

/hold

/unhold

LGTM label has been added.  Git tree hash: 051d518629010ed1120d2b58c06ed678e5c550ab

@incertum it is possible that this could fix the issue you reported some time ago about the open_by_handle_at filler

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,jasondellaluce]

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

@nathan-b: changing LGTM is restricted to collaborators

In response to this:

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, jasondellaluce, nathan-b
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP,jasondellaluce]

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

ARM64:

KERNEL
CMAKE-CONFIGURE
KMOD BUILD
KMOD SCAP-OPEN
BPF-PROBE BUILD
BPF-PROBE SCAP-OPEN
MODERN-BPF SCAP-OPEN

amazonlinux2-5.4
🟢
🟢
🟢
🟢
🟢
🟡

amazonlinux2022-5.15
🟢
🟢
🟢
🟢
🟢
🟢

fedora-6.2
🟢
🟢
🟢
🟢
🟢
🟢

oraclelinux-4.14
🟢
🟢
🟢
🟡
🟡
🟡

oraclelinux-5.15
🟢
❌
❌
🟢
🟢
🟢

ubuntu-6.3
🟢
🟢
🟢
🟢
🟢
🟢

AMD64:

KERNEL
CMAKE-CONFIGURE
KMOD BUILD
KMOD SCAP-OPEN
BPF-PROBE BUILD
BPF-PROBE SCAP-OPEN
MODERN-BPF SCAP-OPEN

amazonlinux2-4.19
🟢
🟢
🟢
🟢
🟢
🟡

amazonlinux2-5.10
🟢
🟢
🟢
🟢
🟢
🟢

amazonlinux2-5.15
🟢
🟢
🟢
🟢
🟢
🟢

amazonlinux2-5.4
🟢
🟢
🟢
🟢
🟢
🟡

amazonlinux2022-5.15
🟢
🟢
🟢
🟢
🟢
🟢

amazonlinux2023-6.1
🟢
🟢
🟢
🟢
🟢
🟢

archlinux-6.0
🟢
🟢
🟢
🟢
🟢
🟢

centos-3.10
🟢
🟢
🟢
🟡
🟡
🟡

centos-4.18
🟢
❌
❌
🟢
🟢
🟢

centos-5.14
🟢
❌
❌
🟢
🟢
🟢

fedora-5.17
🟢
❌
❌
🟢
🟢
🟢

fedora-5.8
🟢
🟢
🟢
🟢
🟢
🟢

fedora-6.2
🟢
🟢
🟢
🟢
🟢
🟢

oraclelinux-3.10
🟢
🟢
🟢
🟡
🟡
🟡

oraclelinux-4.14
🟢
🟢
🟢
🟢
🟢
🟡

oraclelinux-5.15
🟢
❌
❌
🟢
🟢
🟢

oraclelinux-5.4
🟢
🟢
🟢
🟢
🟢
🟡

ubuntu-4.15
🟢
🟢
🟢
🟢
🟢
🟡

ubuntu-6.3
🟢
🟢
🟢
🟢
🟢
🟢

Seem related to exe upper layer late fixes: https://falcosecurity.github.io/libs/matrix_X64/#centos-514-kmod_build

@incertum it is possible that this could fix the issue you reported some time ago about the open_by_handle_at filler

Yes for each eBPF that compiled, it passed the verifier. Note that I slightly updated the kernel grid compared to last time.
Driver (clang -> bpf, gcc -> kmod) kernel compatibility matrix [compiled]

kernel_uname_r
clang-7
clang-12
clang-14
clang-16
gcc-5
gcc-9
gcc-11
gcc-13

4.14.296-222.539.amzn2.x86_64
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵

4.16.18-041618-generic
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵

4.19.296-0419296-generic
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵

5.4.247-1.el7.elrepo.x86_64
🔵
🔵
🔵
🔵
❌
🔵
🔵
🔵

5.10.9-1.el7.elrepo.x86_64
🔵
🔵
🔵
🔵
❌
🔵
🔵
🔵

5.14.15-1.el7.elrepo.x86_64
🔵
🔵
🔵
🔵
❌
🔵
🔵
🔵

5.19.17-051917-generic
❌
🔵
🔵
🔵
❌
❌
❌
🔵

6.5.0-060500-generic
❌
❌
❌
🔵
❌
❌
❌
🔵

6.5.8-1.el7.elrepo.x86_64
🔵
🔵
🔵
🔵
❌
🔵
🔵
🔵

Driver (clang -> bpf, gcc -> kmod) kernel compatibility matrix [compiled + success]

kernel_uname_r
clang-7
clang-12
clang-14
clang-16
gcc-5
gcc-9
gcc-11
gcc-13

4.14.296-222.539.amzn2.x86_64
🟢
🟢
🟢
🟢
🟢
❌
🟢
🟢

4.16.18-041618-generic
🟢
🟢
🟢
🟢
🟢
🟢
🟢
🟢

4.19.296-0419296-generic
🟢
🟢
🟢
🟢
🟢
🟢
🟢
🟢

5.4.247-1.el7.elrepo.x86_64
🟢
🟢
🟢
🟢
❌
🟢
🟢
🟢

5.10.9-1.el7.elrepo.x86_64
🟢
🟢
🟢
🟢
❌
🟢
🟢
🟢

5.14.15-1.el7.elrepo.x86_64
🟢
🟢
🟢
🟢
❌
🟢
🟢
🟢

5.19.17-051917-generic
❌
🟢
🟢
🟢
❌
❌
❌
🟢

6.5.0-060500-generic
❌
❌
❌
🟢
❌
❌
❌
🟢

6.5.8-1.el7.elrepo.x86_64
🟢
🟢
🟢
🟢
❌
🟢
🟢
🟢


Problems and possible patches with example_parallel.py

Hi @costashatz , here is an issue linked to the JOSS review https://github.com/openjournals/joss-reviews/issues/6771.
I experienced several problems when running the example example_parallel.py on my MacOS version, listed here with some possible patches (I tried python 3.10 and 3.12, all these problems occur).
Problem with pickle
When running the example, the first issue was the following error when running the instruction runInParallel(N):
TypeError: cannot pickle 'PyCapsule' object
It looks like pickle cannot serialize rd.gui.run_with_gl_context (I read it may try to serialize the whole module and not only the function). Inspired by https://stackoverflow.com/questions/72766345/attributeerror-cant-pickle-local-object-in-multiprocessing, I created a global function work that makes the call to rd.gui.run_with_gl_context:
def work(x,y):
   rd.gui.run_with_gl_context(x,y)

and then, I defined the process by:
p = Process(target=work, args=(test, 20))

This solves the pickle's problem, but a new one appeared...
Error linked to main
After solving the picke issue, I received the following error message:
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

It looks like the interpeter does not like that the multiprocess it started directly in the lines that are executed when we import the module. As suggested in the error message, I made the classical test if __name__ == '__main__' before the lines that have to be exectued. So, the won't be exectued if the module is just imported. This leads to these changes at the end of the file:
if __name__=='__main__':
  print('Running parallel evaluations')
  N = 15
  start = timer()
  runInParallel(N)
  end = timer()
  print('Time:', end-start)

Windowsless GLContext unsupported in Mac!
I then receive a runtime error at the call of rd.gui.run_with_gl_context
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 314, in _bootstrap
    self.run()
  File<EMAIL_ADDRESS>line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/cyjoly/ownCloud/Recherche/Reviews/JOSS2024/tests/python/example_parallel.py", line 54, in work
    rd.gui.run_with_gl_context(x,y)
RuntimeError: robot_dart assertion failed: 'Windowless GLContext unsupported in Mac!'

This error appears directly when calling rd.gui.run_with_gl_context. I tried to patch the function test to force a Windowed version:
configuration = rd.gui.GraphicsConfiguration()
configuration.shadowed = False # To prevent the segfault issue with shadows
graphics = rd.gui.Graphics(configuration)
#graphics = rd.gui.WindowlessGraphics()

But it did not solve the problem. Actually, I figured out the assert is made before the call of test (I added a print at the first line of the function test and it never appeared)
I finnally succeeded to make it work by passing directly the test function in the Process defintion:
p = Process(target=test) # No args anymore in that case

This works and I have eventually many windows coming and many png images generated. So, I guess it is the expected result.
At this point, I have the following questions:

The pickle problems seems not present on Linux (no problem on my Virtual Machine, but others come due to the poor virtualization of openGL, so I did not dig more). @bstanciulescu, can you confirm the linux behavior? As I am not an expert of the multiprocessing library, I cannot explain this OS-dependent behavior of the serialization process.
Is my last patch really acceptable to do multiprocessing with robot_dart? What is the consequence of bypassing the call to rd.gui.run_with_gl_context? Actually, I did not find in the documentation the purpose of this function, so I am not sure if I am doing well.
multiprocessing in windowed mode is not very efficient (the speed of the simulator looks bounded to 1x). Actually, I figured out that it works in windowless mode! (see next section). Thus, the assert that makes the architecture test might be removed...
In the test function, you define ii = pid%15. It looks like you make the hypothesis that the 15 processes are going to have different numbers after taking the modulo to 15. It should work if all the PID are consecutive numbers. Since the ID of a process is decided by the OS, is it a guaranteed behavior? (I checked on my computer with ps aux |grep python, and the PID were actually consecutive numbers).

Windowless GLContext finally works!
I finally tried to switch back to the windowless mode, and it actually works well! At the end, I have 15 images with different points of view, which makes a "continuous" rotation of the camera if we display them in the good order. I think it is what we would like to have with this example. Surpsingly, shadows work very well in that case!
However, in windowed mode, I still need to deactivate shadows to prevent the segfault issue (https://github.com/NOSALRO/robot_dart/issues/204). But, I noticed a much worse problems: the image generated are corrupted and cannot be read! (I will open a separate issue for that).

This should be fixed by https://github.com/NOSALRO/robot_dart/commit/9412aa2936e6f331431708d2c4d04ee8af635463. I basically added a few lines describing possible issues so that Mac users are aware that the GUI is not working as expected. For this specific issue, we are just not supporting this in Mac (Mac's OpenGL support is very bad to try and fix parallel GL contexts). @c-joly let me know if I forgot something.


[ContainerApp] az containerapp replica count: app/revision scope

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

ContainerApp

Can I get reviews on this PR? @Greedygre, @Juliehzl

Hi @zhoxing-ms
Could you please help to review this PR? Thanks.


Update Composer dependencies (2021-01-19-00-06)

Visual regression test passed!
View the visual regression test report

Visual regression test passed!
View the visual regression test report


Proposal: containerize the development environment

This is to lower the barrier to entry for hacking on Deis while also standardizing the development environment for all contributors.

How would this work with postgres? Would the makefile also spin up a postgres container and connect the two together?

@Joshua-Anderson didn't stop me :) https://github.com/deis/postgres/blob/master/contrib/ci/test-minio.sh

specifically https://github.com/deis/postgres/blob/master/contrib/ci/test-minio.sh#L43-L44. We link postgres to minio using docker run --link and use that for testing minio compatibility.


Align to the black 🖤, minor tweaks

In the gallery, we have still white background on these cards

Remove theatre view mobile as it does nothing :)
https://user-images.githubusercontent.com/5887929/120993211-9b97eb80-c783-11eb-9425-c0cde1f25990.mp4
Emojis needs to have black background as well

https://nft.kodadot.xyz/rmrk/detail/7801000-88DBAB15CE82B3DD71-KD-1._VASTIUS-0000000000000001

Hi @yangwao. To hide the default view button in mobile/tablets, I used the threshold screen-width = 768px. I got this value by experimenting with the screen-width and observed that when screen-width=768px, the image overlaps with the default view button and it zooms in. If you have any other way of determining the threshold, please let me know.

yeah merged #436, sent to production, awesome stuff!


provide more informative error msgs for nimbleModel() and compileNimble() when dimension info not sufficient in BUGS code

In a number of cases our error msgs are non-informative when no brackets are provided for non-scalars (see below) (note we are much better when brackets are provided but the indexing is missing). One possibility would be to write a little system to check code based on knowing dimensions of distribution values and parameters and knowing expected dimensions for various DSL functions.
Examples:
code <- nimbleCode({
b[1:2] ~ dmnorm(mn[1:2], I[1:2,1:2])
z <- Z%*%b
})

m <- nimbleModel(code, inits = list(mn = rep(0, 2), I = diag(rep(0,2)), b = c(1,2), Z =matrix(rnorm(4),2)))
Error in parentExprReplaced[[iI + 2]] :
object of type 'symbol' is not subsettable

code <- nimbleCode({
b ~ dmnorm(mn, I)
})

m <- nimbleModel(code, inits = list(mn = rep(0, 2), I = diag(rep(1,2)), b = c(1,2)))
cm <- compileNimble(m)
Error: Error, sizeUnaryCwiseSquare was called with an argument that is not a matrix

code <- nimbleCode({
b ~ dmnorm(mn, I)
z[1:2] <- Z[1:2,1:2]%*%b[1:2]
})

m <- nimbleModel(code, inits = list(mn = rep(0, 2), I = diag(rep(1,2)), b = c(1,2), Z =matrix(rnorm(4),2)))
Error in if (is.numeric(v) && any(v < 0)) { :
missing value where TRUE/FALSE needed

I fixed a portion of this. In some (but not all) cases if a RHS term is missing indexing we now tell the user that that variable might be the one needing indexing.
E.g., that works for
y[1:3]~dmulti(p,n)
y[1:3]~dmnorm(mu[1:3], prec)
but not for
p[1:3]~ddirch(alpha)
y[1:3]~dmnorm(mu, prec[1:3,1:3])
still investigating...

We've basically dealt with this in an incomplete way with the size checking.


Is this actually Partial Brute Force?

Hi! I read the paper and follow the Transformer architecture etc.
( As noted below, some behavior seems only discoverable by randomly finding it. )
I have an idea how the bots are learning. First, I noticed each team takes a turn at finding a solution. It takes many games. Then, the next team finds their solution next. This looks like a step-by-step learning. Where they are randomly moving and hit a solution. But it's not full brute-force, they take random actions and many are a solution, and the attention/etc aids, making it a partial-brute force? I noticed the bots move/grab perfectly just in time, and they start off randomly moving around but learn what to keep doing and what to add on to their plan. It seems progressive and seems like it is something simpler going on.

Take for example the way at final stage the one blue hider moved the box in position *for the other team member for when he arrived back it would be closer. Why? It must had randomly tried actions, and found what worked in its super short time limit. What aided it I'm assuming is Attention, but I wonder why...how would Attention help it take better random actions?

For example, it needs to pull in the ramp so they can't jump over the wall... what tells only 1 blue hider to go to the other side of the room and where to bring it!? This looks like a brute force/normal RL. I don't see how the attention/sensor RNN thingy is aiding the solution finding to occur quicker.

P.S. What about only 1 team in a rain-forest that has to avoid rain entering the hut they need to stay in? Same thing but the environment is the seekers/eaters instead of needing other agents to find/eat/end them.
I also like how yous skipped learning to crawl/run/grab, just like skipping simulating atoms and aiming for high-level water simulation.

From what I understand about Attention, it's a way to encode inputs into a format that's "relevant" to the neural network. I guess Attention helps by learning a format for entities (boxes etc) that helps the agent decide what's the best action to take (i.e. where to move the box). Without first learning a relevant format for these entities, perhaps said "brute-force" approach would not be sufficient for the agent to find these best actions randomly.

Still lost.
How does hider1 move the box in place for when hider2 arrives back and hider1 then goes to get his box. This was learnt when OpenAI purposely moves the ramp to the back of the room.
It seems like a brute search, it's too perfect in timing.


perf(*) implement keepalive for proxy and ssl based connections

This implements the keepalives to improve performance when using a proxy and/or ssl connections.
But it also adds a better test suite which includes actually testing the proxy options against a forward-proxy.
NOTE: the better-connect.lua file should go to the upstream lua-resty-http project, but is included here to make it work with older versions of Kong as well.

Note: the upstream PR is here: https://github.com/ledgetech/lua-resty-http/pull/206


cmake: Add support for loading a defaults file

In order to avoid (ab)using environment variables, add the possibility
of using a CMake defaults file that is loaded in the boilerplate.
Signed-off-by: Carles Cufi<EMAIL_ADDRESS>

Codecov Report

Merging #7126 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7126   +/-   ##
=======================================
  Coverage   58.61%   58.61%
=======================================
  Files         464      464
  Lines       47440    47440
  Branches     8790     8790
=======================================
  Hits        27809    27809
  Misses      15798    15798
  Partials     3833     3833

Continue to review full report at Codecov.

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

@mbolivar thanks for the input

The defaults file should probably be added to .gitignore.

I thought about that but it is useful also to be able to commit this file in a Zephyr fork that several devs share.

I also think that the boilerplate file should emit a message if the file exists and is included, so that cmake logs which get posted for debugging clearly show the build environment is not pristine.

Agreed on that, will address

Bikeshedding the name, maybe something like "local.cmake" or "site-local.cmake", but that doesn't matter.

Since it also goes back to not adding it to .gitignore, I prefer the original name with that in mind.

I thought about that but it is useful also to be able to commit this file in a Zephyr fork that several devs share.

It's possible to commit ignored files, FWIW. My thinking here is that things like the git describe-based boot banner may start to add -dirty suffixes if this file is not ignored, which doesn't seem quite right.

It's possible to commit ignored files, FWIW. My thinking here is that things like the git describe-based boot banner may start to add -dirty suffixes if this file is not ignored, which doesn't seem quite right.

That's a good point. I agree now it's probably cleaner to keep it in .gitignore, yes. I've done that now.

As #1380 identified, there are at least two use-cases. Sharing a forked configuration, and system/developer-specific configuration. This PR is introducing a mechanism for the first use-case.

I was sort of trying to address both: a shared defaults file that can also be extended locally.

"I was sort of trying to address both: a shared defaults file that can also be extended locally."
I understand. But it works better with two files.

I will close this in the meantime until we come to a conclusion on the meta tooling, since this will be related as well.

Have we "come to a conclusion on the meta tooling" ?
If not, do you mind if I re-open this to allow us to in the meantime have something workable?

@SebastianBoe we have not. @mbolivar and @ulfalizer can you comment on this PR? I have no objections with opening it again

The reason I ask is that I want to avoid using environment variables for certain use-cases, but this is difficult if we can't merge something along the lines of what is proposed here.


Integrate blas/lapack.

Those will be needed for operations involving large vectors and matrices.

Is there any initial work on this?
Also would the backend be selected just once (e.g. using a Cargo feature) and then be used for all operations (even those involving small vectors and matrices) or should there be some logic determining whether the overhead of the bindings is worth it or not? Or should it be possible to change it at runtime, which backend is used (out of a set of compile time enabled backends)?

I've made some work on this which is not yet released. See #274.
Lapack integration is done on a separate crate, the backend won't be modifiable at run-time: if the user wants to use Lapack, he has to use the crate dedicated to this (nalgebra-lapack). I think this is the simplest solution for the user and this avoids runtime check that could impact performances for low-dimensional matrices.


OpenCV installation issue

==== Processing cf_m_body
:: Running 'body' parser
['C:\Users\username\Downloads\kkpmx_core\base_library.zip', 'C:\Users\username\Downloads\kkpmx_core\cv2', 'C:\Users\username\Downloads\kkpmx_core\lib-dynload', 'C:\Users\username\Downloads\kkpmx_core']
ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.
ERROR: something truly strange and unexpected has occurred, sorry!
...press ENTER to exit...
Occured when running the KKPMX 1.5.0 All-in-one converter on an unmodified KK export. Downgraded to KKPMX 1.4 and it now works fine.

Yeah, there was an issue with SciPy which after updating was gone.


SCB-1387 Upgraded to spring-boot 2.1.6

Coverage remained the same at 82.71% when pulling 2154b20637c6d7069471cc438d82df01ef85e162 on SCB-1387 into ea742d85b4234372a828cffefd6623757a970c6d on master.


more than two snapshots

The code for the Korteweg–de Vries problem (KdV.py) provides an example using only two time snapshots.  I am wondering which parts need to be edited/added in order to use three or more time snapshots.

As proposed in the paper, the neural network, by design, is trained by minimizing the loss function which is a sum of squared errors calculated at two distinct time steps (equation (17) in paper).
For including information from more than two time steps, the calculation of loss can be done such that it iterates over all the snapshots.

Thanks for the quick response.  The part of the loss function is certainly clear and well described along the four example. I still have some related questions.  First, I describe my understanding and the problem, then I post the questions.
** Problem **
For calculating the loss, the script first computes the nonlinear operators in the functions net_U0 and net_U1.  That is, net_U0 is for time snapshot 0, and net_U1 is for time snapshot 1: two time snapshots.
Now, for a third time snapshot, we would require a net_U2, which should not be a problem.  But in both net_U0 and net_U1, there is a time step variable called "dt", which is the time difference between only two snapshot.
Questions:

For a three-snapshot problem, should I define two time steps (dt1, dt2) instead of one (dt)?

In that case, both dt1 and dt1 should be time step with respect to the first snapshot (t1-t0, t2-t0)?, or should they be difference among sequential times (t1-t0, t2-t1)?

Alright, now I understand the question better.
I don't think the way you're trying to make it work will be possible in the given framework.
The time integration method is based on Runge-Kutta method, which takes intermediate steps between two time steps.
The implicit RK equations show this clearly.with the order ranging between q and 2q (q = number of stages).
However, a multistep method might be better suited for your task.

Many thanks for the information.  For sure, we will take a look at that.


purescript-react-redux not listed on pursuit

Good call! I will publish to pursuit once #10 is merged in. Thanks!

Hey, could we get this onto pursuit now? I am trying to publish purescript-redux-saga which builds on top of this project, but whenever I try to publish it, I get the following error:
There is a problem with your package, which meant that it could not be
published.
Details:
  Compile error:
    Error found:
    in module React.Redux
    at /home/felix/projects/purescript-redux-saga/bower_components/purescript-react-redux/src/React/Redux.purs line 22, column 1 - line 22, column 52

      Module Data.Record.Class was not found.
      Make sure the source file exists, and that it has been provided as an input to the compiler.

    See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information,
    or to contribute content related to this error.

I think if you tried to publish this library you would get a similar error because of the dependency on a forked version of purescript-record. Could we just vendor the Data.Record.Class module under a different name for now since it's usage is fairly localized from what I can tell.

Definitely. Apologies for the delay on this. I was waiting for Data.Record.Class, but I don't mind bringing the relevant code into React.Redux.

Thanks!

Welcome! The package is now on Pursuit.
https://pursuit.purescript.org/packages/purescript-react-redux


Add Travis CI for Mac OS X versions to test matrix

This should be available soon, although it will likely be a mere safety check as opposed to a practical development solution. Linux and Windows feedback is available within minutes but OSX feedback takes hours.

@ms-ati Done.
https://travis-ci.org/enkessler/childprocess/builds/199826635

Awesome! 👍


Nightly Update Channel

Hello
IntelliJ Rust have two channel, one for stable release, and a nightly one
Would be could to have a nightly one so we don't have to manually compile/install the plugin :)
Thanks

this in in the pipeline. There should be stable, eap and dev builds but there's been issues deploying them to the Jetbrains repo.

Awesome! Thanks a lot guys

we now have dev builds:
https://plugins.jetbrains.com/plugin/8115-d-language?pr=idea

For people who wonder what is the url of the Dev channel (for intellij) it's this one:
https://plugins.jetbrains.com/plugins/Dev/8115-d-language/
Under the plugin menu, you have to click on the Manage repositories... button then copy paste that link


switch bin files to use python3 instead of python

Up until now our launcher assumes that env python is py3.x. However some systems that rely on older packages that still require py2.7 need env python to resolve to py2.x. This PR makes sure deepspeed binaries point to py3.

@jeffra, do we want a similar fix in install.sh for python  and pip?


MPU6050 Library example compilation failed

I am using MPU6050 Library by Electric Cats
Its examples will have the following errors in compilation : dtostrf and printfloatx  are missing
WARNING: library MPU6050 claims to run on avr, samd, sam, esp8266, esp32, stm32, renesas, renesas_portenta, renesas_uno architecture(s) and may be incompatible with your current board which runs on AmebaPro2 architecture(s).
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp: In member function 'void MPU6050::PrintActiveOffsets()':
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3379:20: error: 'dtostrf' was not declared in this scope
3379 |       Serial.print(dtostrf((float)Variable, Spaces, Precision, S));
|                    ^~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3398:3: note: in expansion of macro 'printfloatx'
3398 |   printfloatx("", Data[0], 5, 0, ",  ");
|   ^~~~~~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3379:20: error: 'dtostrf' was not declared in this scope
3379 |       Serial.print(dtostrf((float)Variable, Spaces, Precision, S));
|                    ^~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3399:3: note: in expansion of macro 'printfloatx'
3399 |   printfloatx("", Data[1], 5, 0, ",  ");
|   ^~~~~~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3379:20: error: 'dtostrf' was not declared in this scope
3379 |       Serial.print(dtostrf((float)Variable, Spaces, Precision, S));
|                    ^~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3400:3: note: in expansion of macro 'printfloatx'
3400 |   printfloatx("", Data[2], 5, 0, ",  ");
|   ^~~~~~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3379:20: error: 'dtostrf' was not declared in this scope
3379 |       Serial.print(dtostrf((float)Variable, Spaces, Precision, S));
|                    ^~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3403:3: note: in expansion of macro 'printfloatx'
3403 |   printfloatx("", Data[0], 5, 0, ",  ");
|   ^~~~~~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3379:20: error: 'dtostrf' was not declared in this scope
3379 |       Serial.print(dtostrf((float)Variable, Spaces, Precision, S));
|                    ^~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3404:3: note: in expansion of macro 'printfloatx'
3404 |   printfloatx("", Data[1], 5, 0, ",  ");
|   ^~~~~~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3379:20: error: 'dtostrf' was not declared in this scope
3379 |       Serial.print(dtostrf((float)Variable, Spaces, Precision, S));
|                    ^~~~~~~
d:\Users\rkuo2\Documents\Arduino\libraries\MPU6050\src\MPU6050.cpp:3405:3: note: in expansion of macro 'printfloatx'
3405 |   printfloatx("", Data[2], 5, 0, "\n");
|   ^~~~~~~~~~~
exit status 1
Compilation error: exit status 1

WARNING: library MPU6050 claims to run on avr, samd, sam, esp8266, esp32, stm32, renesas, renesas_portenta, renesas_uno architecture(s) and may be incompatible with your current board which runs on AmebaPro2 architecture(s).
I believe this is the reason.

Look at the error messages,
It is missing avr/dtostrf, printfloatx
Please patch to fix it. Thanks!


Received response status [FAILED] from custom resource. Message returned: SES domain identity MyDomain.com already exists in region

Describe the bug
Received response status [FAILED] from custom resource. Message returned: SES domain identity MyDomain.com already exists in region us-west-2 (RequestId: ab3f7656-d7db-45f8-89a8-b3bfbdc4d123)
To Reproduce
Steps to reproduce the behavior:

Clone the repo
Run the setup command like this:

./setup.sh -p default -e<EMAIL_ADDRESS>-h Z1Q......... -s bbb-stack -d MyDomain.com
Expected behavior
To complete the setup as the documentation. But it is failing.
Screenshots

Additional context
My hosted zone exists with the name MyDomain.com on Route 53 and it registered with AWS only and this hosted zone has multiple subdomains.
As per the command, I am passing my Hosted zone name and its Hosted Zone Id.
Please let me know, what I am doing wrong. Have already checked issue #1 but still unable to resolve the problem.

Hey,
did you already setup SES beforehand (for any other project) by yourself. this could be the cause. we currently do not check if the SES domain still needs validation which can cause that resource to fail.
what you can do as a quickfix is to remove the SES validation part from the code and set the resulting variable manually using another paramter.
i can change the code to a conditional validation for SES but that might take another week or two until i find time to do so.

Thanks for the reply.
Yes my domain is already verified in SES domain verification and I am using SES service.

let me know, which template I need to modify and do I need to create any subdomain under my hosted zone?

So basically comment 173 - 254
in here:
 BBBSMTPAccessSecret:     Type: AWS::SecretsManager::Secret     Properties:       Description: 'This is the BBB SMTP Login'       SecretString: !Sub "{\"smtpusername\":\"${BBBUserAccessKey}\",\"smtppassword\":\"${BBBSMTPAccessKey}\"}"
You need to fill these 2 variables with the values from an existing SES/SMTP user.
i will add conditions to this section when i find time during the next 2 weeks which will make it easier to use in the future.

Thanks for the reply. I did the changes as per the suggestions and re-run the script but still failing due to "BBBPublicDomainValidationRecord", should I comment this block from line 402-413 too?
BBBPublicDomainValidationRecord:     Type: AWS::Route53::RecordSetGroup     Properties:       HostedZoneId: !Ref BBBHostedZone       RecordSets:         - Name: !GetAtt BBBPublicCertificateDNSRecord.Name           Type: !GetAtt BBBPublicCertificateDNSRecord.Type           TTL: 60           Weight: 1           SetIdentifier: !Ref BBBPublicCertificate           ResourceRecords:             - !GetAtt BBBPublicCertificateDNSRecord.Value

Hi,
yes, this needs to be commented out. Also similar to the SMTP user vars you need to define the ARN of the ACM cert via Parameter where it is used (e.g. at the ALB setups)

maybe another thing to parameterize then (SES setup and ACM certs).

Thanks, I updated the frontend template by commenting the ACM code and passed the certificate ARN as a parameter.
It works and my stack deployed successfully.
However, I got one failed message for "BBBScaleliteTaskdefinition" not sure if it will impact my deployment. Please check and let me know if I need to update and re-deploy the stack.
Resource template validation failed for resource BBBScaleliteTaskdefinition as the template has invalid properties. Please refer to the resource documentation to fix the template. Properties validation failed for resource BBBScaleliteTaskdefinition with message: #/Volumes/0: extraneous key [efsVolumeConfiguration] is not permitted #/Volumes/1: extraneous key [efsVolumeConfiguration] is not permitted #/Volumes/2: extraneous key [efsVolumeConfiguration] is not permitted #/Volumes/3: extraneous key [efsVolumeConfiguration] is not permitted

hey. i have no idea currently. let me see when i test the new version of the project during the next days.


Clearly separate functions that operate on the flux type from the ones that operate on ivrs.

An IVR.Flux module would be nice.

closed through #23


Execute charmcraft build with lxd group

With the latest changes in the charmcraft snap it is required to execute charmcraft in the lxd user group.

I was trying to figure out why it's still failing on build with Password: Invalid password. but I got distracted by other things and didn't make any progress.

I was trying to figure out why it's still failing on build with Password: Invalid password. but I got distracted by other things and didn't make any progress.
That is because it is missing the lxd user group creation that is in this PR. Both PRs depend on each other this one fails because the user group hasn't been created and the other one fails because charmcraft build is executed without user group.

I also can't figure out why the canonical/kubeflow-volumes-operator#3 PR didn't fail on the charmcraft build even without the LXD group.
That is because I'm accidentaly still pointing to the branch of this PR.


incorrect IP matches when running Bundle adjust with mapprojected data

I am a beginner of ASP, recently i am trying to build DEM through this software. I use LROC NAC images with different illumination conditions and i want to run bundle adjust for each pairs at first. In this step, I will often meet this situations,it fail when i use original images(unmapprojected images) only.This step reports error:VW Error:Expected 2 cameras but crn has 0.I check that and find ip numbers does not reach the min matches(30).In the ASP book, I find that we can  add ip matches for mapprojected images and use --mapprojected data option for bundle_adjust. Well,i add 5 ip for mapprojected images,after i run ba for original images use the option above,i check .match in Stereo_gui and it's not correct in original images. Another thing makes me confused is that it doesn't report errors during ba.I am not sure how to check if the ba process is accurate. Should i check this profile run_final_residuals_loss_function_raw_pixels.txt? How much residual is qualified?
Here are my commands:
1.mapporject ref_dem.tif A.cub A_proj.tif
mapporject ref_dem.tif B.cub B_proj.tif
2.stereo_gui A_proj.tif  B_proj.tif run/run                            (  i add 5 ip match)
3.bundle_adjust A.cub B.cub --datum Moon --min-matches 1 -o run/run --mapprojected-data ' A_proj.tif  B_proj.tif ref_dem.tif'
4.stereo_gui A.cub B.cub  run/run                     ( the ip matches do not match each other in original images)
Hope u to point out my mistake .Thanks a lot.

Hi,oleg
I tried again and it was still not correct.The version of mine is 2.6.1.
I posted my mapprojected images IP matches below.

There were 8 IP matches i manually added.
after step 4, i checked the run-A__B.match

I checked each IP matches and not matched. It seems that --mapprojected option does not work.
Well, the transform from mapprojected space to image space is not clear for me. Would the format of mapprojected image(.tif) influence the transform?

I see.
When you run bundle adjustment and stereo (in fact, you can skip stereo for now), you should look carefully everywhere in the log (what it prints in the terminal) about whether it writes new match files or uses an existing (cached) match file.  It should reuse matches. I hope it does not get confused somehow and creates its own matches.
The transform from mapprojected space to image space is the following. For each mapprojected pixel (i, j), its longitude and latitude is found, and from there the xyz position on the ground is found using the DEM, then xyz is projected into the camera. In short, you go from ground pixel to image pixel.
You can also try ASP 3.0.0, your version is kind of old, though I am not sure if we fixed anything there.
If no luck, you can share with me all your data (.cub files, mapprojected file, DEM file, the two match files) and I will take a look. This should be reproducible on a very small clip so one does not need to share a 1 GB cub file.
I hope you also wipe any existing directories if trying this again.
And just repeated the map projection and bundle adjustment logic (no stereo) and it again works. Here's what bundle adjustment prints out for me, and hopefully you can compare with your own log.
bundle_adjust --datum D_MOON --min-matches 1 -o run/run M134980177LE.cal.echo.cub M1160064736LE.cal.echo.cub --mapprojected-data 'M134980177LE.cal.echo.map.tmp.tif M1160064736LE.cal.echo.map.tmp.tif tmp.tif'
Loading DEM: tmp.tif
--> Using cached match file: run/run-M134980177LE.cal.echo.map.tmp__M1160064736LE.cal.echo.map.tmp.match
Reading: run/run-M134980177LE.cal.echo.map.tmp__M1160064736LE.cal.echo.map.tmp.match
Saving 2 matches.
Writing: run/run-M134980177LE.cal.echo__M1160064736LE.cal.echo.match
Then I verified that the new match files aligned well with the original images.


Discrepancy between reported series and series present in the block

What did you do?
We had an OOM kill and to my surprise we basically duplicated in the amount of series. See screenshot:

I was investigating it, and obviously when turning around some stones I found some things we could improve on. However, when I dug further, checking the blocks themselves, I notice a different number in the amount of series:
promtool tsdb list .
BLOCK ULID                  MIN TIME       MAX TIME       DURATION     NUM SAMPLES  NUM CHUNKS   NUM SERIES   SIZE
01HCT4FHKH8CFEDS0VDRJCYPJY<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   37409715     10168069<PHONE_NUMBER>
01HCTBB8VPR9CNZPGXVXPG2956<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   37641991     10216217<PHONE_NUMBER>
01HCTJ703HY5QYW9SM1C2WM456<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   37603353     10122896<PHONE_NUMBER>
01HCTS2QBN3ZVJDSYDBD687TZR<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   37737103     10214242<PHONE_NUMBER>

So, I'm seeing:

UI /tsdb-status reports:  Number of Series = 18922003
prometheus_tsdb_head_series metric, reports roughly the same ^ 18m
count({__name__=~".+"}) = 8904164 (almost half)
tsdb list, see above (they are somewhat older blocks, but are somewhat equal to the reported count query)

What did you expect to see?
That the metric & the API would report roughly the same amount of series as what the blocks reports
What did you see instead? Under which circumstances?
...
System information
Docker image
Prometheus version
v2.44.0

Prometheus configuration file
args

      --web.console.templates=/etc/prometheus/consoles
      --web.console.libraries=/etc/prometheus/console_libraries
      --config.file=/etc/prometheus/config_out/prometheus.env.yaml
      --web.enable-lifecycle
      --web.enable-remote-write-receiver
      --enable-feature=memory-snapshot-on-shutdown
      --web.external-url=https://redacted/prometheus
      --web.route-prefix=/prometheus
      --storage.tsdb.wal-compression
      --storage.tsdb.retention.time=30d
      --storage.tsdb.retention.size=224000MB
      --storage.tsdb.path=/prometheus
      --web.enable-admin-api
      --web.config.file=/etc/prometheus/web_config/web-config.yaml
      --storage.tsdb.max-block-duration=2h
      --storage.tsdb.min-block-duration=2h

### Alertmanager version

_No response_

### Alertmanager configuration file

_No response_

### Logs

_No response_

count({__name__=~".+"}) will only count time series with samples from the past 5 minutes.
Seems like you have 50% churn rate, check scrape_series_added to see if you keep adding time series all the time.
If this is k8s environment then that's not unusual - k8s exports a lot of ephemeral label values like pod IDs etc - these keep changing as pods are restarted creating new time series.

I would agree with you, but please look at the screenshot after the restart. That does not make sense right? How can I out of the blue double the amount of series?
Furthermore, IF that would be the case, the amount of series in the block itself should be higher than what the count would provide, which is not the case either?
Anyhow, the rate/s on scrape_series_added is about ~50-150 and over time about calculated with an increase[2h] of ~800k.

I thought about this for a bit, but couldn't figure out a way for it to go wrong.

UI /tsdb-status reports: Number of Series = 18922003

This page has a number of break-downs; see if you can spot something that adds to the picture of where it went wrong.
Did it persist over a subsequent restart?

Did it persist over a subsequent restart?

Yes, it did persist. See screenshot:

This page has a number of break-downs; see if you can spot something that adds to the picture of where it went wrong.

Do you mean the break-downs like; Top 10 series count by metric names?
If so, I actually analysed a few blocks for something else, which was the reason I 'found' this behaviour. Because the blocks themself in question report a different amount of time series. I don't see anything that can explain this behaviour and I'm also still a bit stumbled on why this is happening.
I did a promtool tsdb list .  and that reports:
BLOCK ULID                  MIN TIME       MAX TIME       DURATION     NUM SAMPLES  NUM CHUNKS   NUM SERIES   SIZE
01HD9SQJVMP9R8Y1G9HA65P7HY<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   36154771     9825565<PHONE_NUMBER>
01HDA0KA3MX4DGY4QT3JXWVABY<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   36203051     9844633<PHONE_NUMBER>
01HDA7F1BPBP6QE0TS688R384P<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   36242132     9827859<PHONE_NUMBER>
01HDAEARKMN476X64JGSN58RP6<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   36170351     9728502<PHONE_NUMBER>
01HDAN6FVMHM788XMGX1RGKNFW<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   36540518     9946857<PHONE_NUMBER>
01HDAW273MRF7MBT98VNCZWEKB<PHONE_NUMBER>000<PHONE_NUMBER>000  2h0m0s<PHONE_NUMBER>   36454143     9793077<PHONE_NUMBER>

Do you mean the break-downs like; Top 10 series count by metric names?

"Top 10 series count by metric names", "Top 10 series count by label value pairs"

My suggestion was for you to think about the numbers, see if any of them seem out of line.
Note you can get more than 10 via the API, e.g. http://my-prometheus:9090/api/v1/status/tsdb?limit=20
(there is a bug that it caches the data for 30 seconds even when you change the limit)

What does the Prometheus build info tell? Was it the same version before?

What does the Prometheus build info tell? Was it the same version before?

Yes, it was not an upgrade. We "merely" OOM'd which caused the restart.
--
Also did not really find/see an indicator on the tsdb API if I'm honest.

Not forgotten, just haven't got the time yet to dig into this further.


Update MD file on new branch 2017-26-30_01-11-05

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


how to use rpc to get i need area when architect multiple connector, area?

This is picture architect  of lordofpomelo:

I don't know call i need area in process connector.
Can you explain help me?
I only see  use line command at process connector:
var onUserLeave = function (app, session, reason) {
if(!session || !session.uid) {
return;
}
app.rpc.area.playerRemote.playerLeave(session, {playerId: session.get('playerId'), instanceId: session.get('instanceId')}, function(err){
if(!!err){
logger.error('user leave error! %j', err);
}
});
};
and function handler at process area:
exp.playerLeave = function(args, cb){
var playerId = args.playerId;
var area = pomelo.app.areaManager.getArea(args.instanceId);
var player = area.getPlayer(playerId);
....
....
};

I don't understand your question correctly. But about RPC in Pomelo you can read here: https://github.com/NetEase/pomelo/wiki/Rpc-framework
and here:
https://github.com/NetEase/pomelo/wiki/Rpc-framework

I'm confused.
What's the diffirence between hero:
https://github.com/NetEase/pomelo/wiki/Rpc-framework
and here:
https://github.com/NetEase/pomelo/wiki/Rpc-framework.
It seems to be the same address

I'm confused.
What's the diffirence between hero:
https://github.com/NetEase/pomelo/wiki/Rpc-framework
and here:
https://github.com/NetEase/pomelo/wiki/Rpc-framework.
It seems to be the same address

I'm confused.
What's the diffirence between hero:
https://github.com/NetEase/pomelo/wiki/Rpc-framework
and here:
https://github.com/NetEase/pomelo/wiki/Rpc-framework.
It seems to be the same address

tks @impcyber  and @TrailMa .
Actually, i want a way comunication the area together.
From area to another area.

Sorry, i'm wrong, the second url is: https://github.com/NetEase/pomelo/wiki/Rpc-invocation

letiennam29, why not use somthing like AreaManager and make area pool?

@impcyber correct problem i need AreaManager(area pool), but I don't know how to create and use.
Can you tell me about the sample area manager?

I have found what I needed.
Call to from area to another area using:
https://github.com/NetEase/pomelo-rpc#clientrpcinvokeserverid-msg-cb

And look here:
https://github.com/NetEase/lordofpomelo/blob/master/game-server/app/domain/area/instancePool.js

thank you very much @impcyber !


Moving the cursor with arrow keys

Hi,
I'm very glad that I stumbled across your software. It has been very useful so far. I'd like to ask for a feature (maybe It's already within the App but I can't figure out how to enable it). Basically I'd like to move the cursor when drawing using the keyboard arrow keys. It's more fast for me that way rathern than with the mouse.
Thanks!

Thanks for logging!
That's an interesting feature. Recently added SHIFT+ARROW to move the viewport around (not released yet), so that could be a next addition.
By default, it would probably not be simply mapped to the ARROW keys, because UP/DOWN have been mapped to the frame selection for quite some time. But keys can always be remapped.
I guess that if you want to move the cursor, you also need a shortcut to replace the "click"?

From #723

Hi! This is pretty much the best open-source pixel software that I've seen. I used to use Paint.NET, but now I have this with more features for animation, and it's open-source! I do miss one feature from PDN, though: moving the cursor with the arrow keys. For whatever reason, having tactile feedback for the pixels seems to help, such as when feeling out a stroke to see how long it should be. My most ideal version of this would be, when your cursor is in the Piskel window, pressing an arrow key moves it one "pixel width", where a "pixel width" is however many screen pixels each "canvas pixel" is. So it moves more pixels over per key-press when zoomed in, and pressing the right arrow 3 times with the mouse held down always makes three pixels no matter the zoom level. Having it be always-on would mean that you can use keyboard movements for all tools, such as pen, stroke, etc. Also, this wasn't in Paint.NET, but having the pixel your keyboard cursor is on light up would be helpful, just as it is when using the mouse. Thanks!


Implement auto linking URLs on Package Details - Fix #67

This PR should implement the (pretty old) feature idea from this issue https://github.com/NuGet/NuGetGallery/issues/67
I used a RegEx that seems to identify URLs fine and it wraps them in a a-tag. As far as I tested, there shouldn't be any XSS attacks possible, because the first step is to HtmlEncode the content, which is the same way as before.
Some screenshots from my tests (with modified packages - the real authors didn't inject the xss stuff ;))

The RegEx seems to be "clever" in the sense that only urls that start with http will be catched - so JSON.NET is just fine.
If you need to test some other combinations: https://regex101.com/r/kI9xT9/2

Added a few minor remarks

New version committed.

New commit looks good to me :-)
@blowdart do you see any security (XSS) concerns?

The regex. It's a back tracking regex, which are vulnerable to DoS attacks. All regular expressions must have timeouts.
Also where did the regex come from? Has it been fuzzed? The XSS test is rather simple, what about quotes and the OnX type event attacks?
I'm seriously leery about this sort of thing, HTML is not sanitizable with regular expressions. https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet has a short list of bypasses. There are a lot more.

Thanks @blowdart

@blowdart Thanks for the insight. This was the original source: http://stackoverflow.com/a/1112171
Parsing HTML via regex is dangerous, but the goal is "only" to target something that looks like a "valid" URL, which is hard enough.
My uneducated guess would be that most of those XSS attacks shouldn't work, because all we do is looking for a URL and wrap them inside a -tag, but I missed to add some tests.
I will try to create a proper test suite and take a look at the timeout for the regex, ok?

If I'm honest, putting on my paranoid security hat, I don't feel it's possible to do this safely (except via Markdown)

I agree with Barry. We are looking into building first class markdown support soon. I would wait for that.     Thanks for the initiative though Robert, this would be an awesome feature.
Sent from Outlookhttps://aka.ms/kr63o9 on iOS

From: Barry Dorrans<EMAIL_ADDRESS>Sent: Tuesday, May 31, 2016 1:51:51 PM
To: NuGet/NuGetGallery
Subject: Re: [NuGet/NuGetGallery] Implement auto linking URLs on Package Details - Fix #67 (#3050)
If I'm honest, putting on my paranoid security hat, I don't feel it's possible to do this safely (except via Markdown)

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/NuGet/NuGetGallery/pull/3050#issuecomment-222694542, or mute the threadhttps://github.com/notifications/unsubscribe/AKdV2MuKqiiEn8ghLXq_enibBlkXyzjXks5qHDz3gaJpZM4IpKGg.

Both stackoverflow and github use markdown to allow a user to highlight specific links. This is one of these things that feels deceptively simple, but in practice becomes almost impossible to do safely because of the nature of HTML parsing.

Security wins :ok_hand:
At least there is a solution incomming :+1:

To summarize (for the history lessons and for me to remember ;) ) : There is no such thing as a "safe" parser for HTML or even URLs - it's always a risk. SO and GitHub have Markdown support, but they also seems to use such a RegEx to identify urls.
Because of the risk, this feature will not be implemented - a better solution would be markdown support. I guess this PR is "done", right?

Sounds good. It is a nice feature, but having full Markdown sounds much better. Closing this one for now (thanks for the effort @robertmuehsig)


Clear window

Amazing app, been struggling with others and found sentinel! Pleased isn't in it!
Question: I would like to clear the log viewer main window by sending a magic string eg nlogr.Trace("clear the sentinel screen please")
Or do you have any other way of accomplishing this lazy mans functionality??
Cheers

I've implemented something basic within the <IP_ADDRESS> release I just pushed.  Define the string you want to look for in the Preferences Commands tab.
Current version doesn't save settings between sessions correctly, but since the default of #!Clear is likely to be rare I thought better to share.


toarrow and fromarrow #68

This PR adds the Arrow to Awkward and vice-versa conversions.

Looking good so far!

The "failed jobs" are actually me killing them to make room for tests of PR #217, which I'm checking for an imminent merge.

I'm using GitHub drafts now, instead of [WIP].

The CI is failing because it can't import pyarrow. I'll add that in the .ci stuff, if you don't mind.

You have a lot of comments above that I need to get to, but for pyarrow dependencies, the tests should do "pytest.importorskip(pyarrow)" to optionally run Arrow tests (like Numba), and you should add pyarrow to the CI (like Numba).

Main thing:

Probably what we should do is schedule a pair-programming session. I've done that a few times with Atom TeleType with Skype/Zoom and it's worked very well.
Monday or Tuesday of next week? How late would be okay for you? (I'm not trying to avoid getting up early; I'm trying to avoid morning meetings because that's prime time for CERN-U.S. meetings. I'm in a project that has takes a lot of that time, but if you name an hour-long slot that works for you, I'll skip it to help you out here.)

Pick a time and let's talk. Also, try to get a copy of Atom with Teletype if that's not what you usually use because that will make communication much easier. I'll send you a Zoom link by email or Gitter.
And again, thanks for looking into this! You're on the right track—we're in the details, which is a good place to be.  :)

Thanks, I'll look into it. As far as time goes, I usually stay awake till 3AM so, I think anytime between 12AM IST to 2AM IST works for me. And can we hold this on a Tuesday? Looking forward to it. Also, should I go ahead and try to fix up some of the issues you mentioned here, or do you want to address it in the meeting itself?

That is very late.  :)  Midnight IST is 1:30pm in Chicago, so that definitely works for both of us. If you like, we could start an hour or two earlier without conflicting with my morning meetings. Let me know if you'd like to move it, but otherwise I'll meet you then.
Also, we should be clear about the date. Let's say we meet at 12:01am IST on Tuesday morning (i.e. you stay up late on Monday night). That's Monday afternoon for me. If this isn't the day you meant, let me know.
I'm sending you the Zoom link on Gitter, and we can continue scheduling there, if there's anything to clear up.

Hey Jim, can you manually trigger the CI like when you did for the one PR I submitted long ago. I don't know why the ci isn't triggering automatically.
Also, now to_arrow is entirely zero-copy. Everything is being formed from buffers. I need to sort out the IndexedArray, as Arrow hasn't implemented the feature to apply masks on Arrow Arrays, and the making a DictionaryArray from_buffers is somewhat complicated in the sense that it requires a data buffer which if I try to make after converting them to Arrow Arrays becomes weirder because each Arrow is a list of Buffers in itself. I'll ask the Arrow guys for an opinion on how to proceed with this.

Yup, the build passes now. All that's left is to really nitpick the details and run tests on some larger datasets. I have added some elementary tests, which should be a good proof of concept.

Thanks! I'll check this out and review it on Monday morning.

Sorry that I have to close this for technical reasons; it continues in PR #263.


Update documentation for PodSecurityPolicy removal

A more thorough version of PR #37733

/close
Not really needed now


ats

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: ats
Document link: _index.md
My Issue/Suggestion
If ATS is not offered as a license anymore what tools does Mendix offer to automate regression testing?

Hi Denise,
Thank you for your question.
I have spoken to the product manager and they are currently looking for a good alternative to ATS. Unfortunately, this is still ongoing so I can't give you a specific replacement which has all the features of ATS.
There are other testing modules for Mendix, such as the ones mentioned in the blogpost Three tools to test your Mendix application but I appreciate that they are not one-for-one replacements for ATS.
You can also ask the Mendix community where there are many experienced developers who will have experience of regression testing with Mendix.
Keep an eye on the Marketplace and the documentation and any new Mendix-supported testing tools will be published there.
Thanks for getting in touch.
Yours
Mark van Ments


Adding Support for tsk_fs_dir_walk and simmilar.

I'm using pytsk3 to scan all files and directories on a file image. To do that with pytsk3 I can only open the root directory and then from there scan each directory. This takes a longer time than tsk could do by default with functions like tsk_fs_dir_walk. Are they available through pytsk3 and I just didn't find it?

Are they available through pytsk3 and I just didn't find it?

These are not there. If you want to implement this functionality you'll need to create something to have the C function callback (TSK_FS_DIR_WALK_CPP_CB) callback into your Python callback function.

Thanks for the fast answer. I will consider adding the functionality in the future. For now the existing functionality works for me. Should we close this issue because the question has been answered?


script horizontal scrolling broken

This seems to be related to the new dock layout, with docks on the left side of the window.  The script editor won't scroll all the way to the right unless you move the cursor there.  It's missing about the same distance as the width of the left dock, which makes me think the dock area is not being taken into account.

This is a duplicate of #1663

It's noteworthy that my issue only appeared after the dock rearranging changes were pushed, which happened after that issue was submitted.  I never had any problems scolling to see all of my text before this push.  So it sounds to me like similar issues with different causes.

I can't reproduce this issue in the current master branch (on Linux X11), so I'll assume it is fixed. Feel free to reopen or ask me to reopen if you can still reproduce it (it might be platform-dependent).


Respect global .gitignore when searching

The global .gitignore file, aka git config core.excludesfile setting should be used when searching, just like the local .gitignore file is.
Currently files/folders will be ignored if they are in the local .gitignore, but not if they are only in the global git ignore.
#49239 asked about this feature, but it was incorrectly closed.

I can add a setting to be opted into this, but I disabled it by default because it confused too many people

Would take a PR that adds a setting, false by default, for whether to add this flag: https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/services/search/node/ripgrepTextSearch.ts#L514


Singleton Design with ObjectMapper

Hi! I've design my models that implements singleton patterns with sharedInstance.
class Car {
    static let sharedInstance = Car()
}

How can I implement singleton pattern using sharedInstance in ObjectMapper class? When I'm working with sharedInstance and Mappable. This cause a error like Missing argument for parameter 'map' in call
class Car: Mappable {

    static let sharedInstance = Car()

    var mode: String?

    required init?(map: Map) { }

    func mapping(map: Map) {
        mode    <- map["info"]["mode"]
    }
}

Just add an initializer
class Car: Mappable {

    static let sharedInstance = Car()

    var mode: String?

    init() {
        self.mode = nil
    }

    required init?(map: Map) { }

    func mapping(map: Map) {
        mode    <- map["info"]["mode"]
    }
}

Another alternative would be to look into the StaticMappable protocol (see README)

Thank you so much @tristanhimmelman and @devxoul

@devxoul  @tristanhimmelman It's does not ok. a new car instance will be alloced when map.
 let car1 = Mapper<Car>().map(JSON: json)
 let car2 = Mapper<Car>().map(JSON: json)

@anddygon what does that mean?

Singleton patterns  for User
@devxoul
class User {

    static let shared = User()

    fileprivate(set) var email: String?
    fileprivate(set) var id: String?

    private init() {}

}

class UserBuilder: Mappable {

    required init?(map: Map) {
        guard let _: String = map["id"].value() else {
            return nil
        }
    }

    func mapping(map: Map) {
        User.shared.email <- map["email"]
        User.shared.id <- map["id"]
    }

}

@anddygon what do you want?

Adding an empty initializer solves the problem.
init() {

 }


Add same day panel to the UI

Changes Unknown when pulling 54b8aaea22611c3c0671f6c604042cc7a53877da on cuducos-same-day-ui into ** on master**.


Warning: Attempt to present <> on <> whose view is not in the window hierarchy

I try to login via Linkedin ios SDK but I got this error message
Warning: Attempt to present <UINavigationController: 0x15fd43cd0> on <XXXXX.ViewController: 0x15fd0d1f0> whose view is not in the window hierarchy!

My code
- (void)viewDidLoad {
    [super viewDidLoad];
    _client = [self client];
    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;

}

-(IBAction)linkedinSwitch:(id)sender{
    if(linkedinSwitch.on) {
        NSLog(@"linkedin on");
        [self didTapConnectWithLinkedIn];
    }
    else {
        NSLog(@"linkedin off");
    }
}

- (void)didTapConnectWithLinkedIn {
    [self.client getAuthorizationCode:^(NSString *code) {
        [self.client getAccessToken:code success:^(NSDictionary *accessTokenData) {
            NSString *accessToken = [accessTokenData objectForKey:@"access_token"];
            [self requestMeWithToken:accessToken];
        }                   failure:^(NSError *error) {
            NSLog(@"Quering accessToken failed %@", error);
        }];
    }                      cancel:^{
        NSLog(@"Authorization was cancelled by user");
    }                     failure:^(NSError *error) {
        NSLog(@"Authorization failed %@", error);
    }];
}

Even I put _client = [self client] in viewDidAppear, still same
- (void) viewWillAppear:(BOOL)animated {
    _client = [self client];

}

Please advice. Thank you.

@datomnurdin did you get to fix this?

Nope. BTW, I'm using swift right now. It's very difficult to do bridging header with your library.

#Swift Xcode 6.1
I have the same error
Attempt to present <UINavigationController: 0x7fb40b4a3db0> on <UITabBarController: 0x7fb40b709390> whose view is not in the window hierarchy!
I present a LoginVC modally . The LoginVC has a button and is hooked up with the LinkedinSDK logic . I get the above error when I click on the button . However the error doesn't occur if it is a simple Vc and is not presented modally from another VC , I dont get the error.
I have a requirement to make the modally presented LoginVc to work. Help is greatly appreciated.

I fixed it with:
[LIALinkedInHttpClient clientForApplication:application presentingViewController:self]

Self being my UIViewController. I wasn't using the presentingViewController parameter.

Feel free to pull request.


API not found after following examples

I feel like I must be missing something here, so hopefully there's an easy point I've skipped.
I followed the example to set up kong-admin as a proxy to the letter. When making requests to check results through the Heroku bash session, everything works perfectly:
# heroku run bash
# $ kong start -c $KONG_CONF
curl -i -X GET http://localhost:$PORT/kong-admin/apis
HTTP/1.1 200 Success
Date: Tue, 02 Aug 2016 21:53:27 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Server: kong/0.7.0

{"data":[{"upstream_url":"http:\/\/localhost:8001\/","request_path":"\/kong-admin","id":"f87dcde1-e6b0-46d4-b25b-dd31ef6e517a","strip_request_path":true,"name":"kong-admin","created_at":1470174925000}],"total":1}

But, when requesting the path externally, I get the response:
# from my local machine (external to the Heroku session)
curl --url http://<heroku app>.herokuapp.com/kong-admin/apis --header 'apiKey: <my api key>'

{"request_path":"\/kong-admin\/apis","message":"API not found with these values","request_host":["<heroku app>.herokuapp.com"]}

I get the same behavior (API not found) when following the simpler example for a mock bin proxy.
What am I missing here? Is there a configuration step where I expose.... something?

So, after trying lots of avenues, I forced a rebuild of the app (git push heroku -f), and things seem to work. Closing the issue.

Thanks for following up & closing this issue.
With this 0.7 version of Kong on Heroku, I have seen config changes fail to apply until a heroku restart or any thing else that causes a restart, like a new deploy.
Looking forward to this being fixed when we eventually release Kong 0.9 with Postgres.


feat: checks HealthyAfter to set pipeline status to running

Description
Fixes #1862
Quick checks

[x] I have followed the Code Guidelines.
[x] There is no other pull request for the same update/change.
[ ] I have written unit tests.
[x] I have made sure that the PR is of reasonable size and can be easily reviewed.

IMO We should approach this differently, let me explain.
Every time we recover, that recovery attempt should be "active" for a certain time period, let's call it HealthyAfter (in the end I'll explain why I think we should use a different name). We would track the number of "active" recovery attempts and set a threshold on the number of recovery attempts MaxRetries. If we go over that threshold, the pipeline doesn't recover anymore, but rather goes into the degraded state.
The resulting behavior is that you can define a time window (HealthyAfter) in which you can tolerate a certain number of recovery attempts (MaxRetries).
For example, imagine the following scenario and notice how the number of "active" recovery attempts changes over time:

Conduit runs a pipeline, HealthyAfter is set to 5 minutes, MaxRetries is set to 2.
The pipeline encounters an error at some point in time.

Active recovery attempts increases to 1.

The pipeline recovers, runs for 2 minutes, then fails again.

Active recovery attempts increases to 2.

The pipeline recovers, runs fine.
After 3 more minutes it has been 5 minutes since the first recovery attempt.

Active recovery attempts decreases to 1.

After 1 minute the pipeline fails again.

Active recovery attempts increases to 2.

It tries to recover but fails right away.

Active recovery attempts increases to 3.

This time the pipeline doesn't try to recover, because the number of attempts just exceeded 2, pipeline gets degraded.

In code this could be done using a field on runnablePipeline of type atomic.Int32 that is increased every time a recovery is started, and a time.AfterFunc call that decreases the integer after HealthyAfter.
Now, regarding the name HealthyAfter. If we go with this algorithm, I would propose renaming this to something that incldues the word "window", since it's essentially defining the time window in which the number of recovery attempts MaxRetries can't be exceeded. It's the same behavior that we use in the DLQ (see animation), except that the window in the DLQ is defined using a number of records, while here the window is defined by a time duration.
Let me know what you think and if anything is unclear.

I opened a PR here that should do what I described above https://github.com/ConduitIO/conduit/pull/1881.

Closing in favor of https://github.com/ConduitIO/conduit/pull/1881


Add strip-debug and strip-dwarf to wasm-opt call

Adds the --strip-debug and --strip-dwarf flags to the call to wasm-opt. Addtionally fixes the default optlevel for implicitly collected crates, cause I needed this during tests.
Especially the "function names" section can be quite heavy and serves no purpose in release builds. This small flag can easily shrink the build output by several dozen kilobytes.
Checklist

[x] Updated CHANGELOG.md describing pertinent changes.
[ ] Updated README.md with pertinent info (may not always apply).
[ ] Updated site content with pertinent info (may not always apply).
[x] Squash down commits to one or two logical commits which clearly describe the work you've done. If you don't, then Dodd will 🤓.

It turned out, for me, that the change in wasm size was almost purely caused by the second change, not the added flags. Since that's a bit more dubious to add at this point, I'll close this and remind any future readers to double check that a wasm-opt pass is actually getting run :)


Thread Network is unreachable - OTBR running in docker container

Describe the bug A clear and concise description of what the bug is.
I followed the instructions from https://openthread.io/guides/border-router/docker/run
to build an OTBR in a docker container using Raspberry Pi 4 running Raspberry OS Lite 64 bits.
My RCP is a NXP Dongle based on K32061 MCU.
I used the following command to create the container:
docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" -p 8080:80 --dns=<IP_ADDRESS> -it --volume /dev/ttyACM0:/dev/ttyACM0 --privileged openthread/otbr --radio-url spinel+hdlc+uart:///dev/ttyACM0
(only did the necessary changes for my USB port and baudrate)
After creating the container and setting up the Thread Network (forming and starting it)
I have the Advertising logs as you can see in the next snippet:

Here is a snippet of the logs from the docker container running OTBR  (It looks like the advertisement is ok)
Mar 14 09:50:10 9a5213ad09fa otbr-agent[191]: 00:06:49.335 [I] BorderRouter--: Discovering infraif NAT64 prefix
Mar 14 09:50:10 9a5213ad09fa otbr-agent[191]: 00:06:49.335 [I] BorderRouter--: NAT64 prefix timer scheduled in 300 seconds
Mar 14 09:50:10 9a5213ad09fa otbr-agent[191]: 00:06:49.336 [I] Platform------: Handling host address response for ipv4only.arpa
Mar 14 09:50:10 9a5213ad09fa otbr-agent[191]: 00:06:49.336 [I] BorderRouter--: Infraif NAT64 prefix: none
Mar 14 09:50:10 9a5213ad09fa otbr-agent[191]: 00:06:49.337 [I] BorderRouter--: Start evaluating routing policy, scheduled in 3354 milliseconds
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.691 [I] BorderRouter--: Evaluating routing policy
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.691 [I] BorderRouter--: Evaluating NAT64 prefix
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.692 [I] BorderRouter--: RouterAdvert: Added PIO for fd77:1cb6:583c:ff1::/64 (valid=1800, preferred=1800)
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.692 [I] BorderRouter--: RouterAdvert: Added RIO for fd3a:60df:275a:1::/64 (lifetime=1800)
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.693 [I] BorderRouter--: Sent Router Advertisement on infra netif 5
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.693 [I] BorderRouter--: Start evaluating routing policy, scheduled in 302467 milliseconds
Mar 14 09:50:13 9a5213ad09fa otbr-agent[191]: 00:06:52.693 [I] BorderRouter--: Received Router Advertisement from fe80:0:0:0:42:acff:fe11:2 on infra netif 5
Mar 14 09:50:23 9a5213ad09fa otbr-agent[191]: 00:07:02.402 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
Mar 14 09:50:23 9a5213ad09fa otbr-agent[191]: 00:07:02.415 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:d09c, ecn:no, to:0xffff, sec:no, prio:net
Mar 14 09:50:23 9a5213ad09fa otbr-agent[191]: 00:07:02.415 [I] MeshForwarder-:     src:[fe80:0:0:0:a8ef:5ce9:de34:9a06]:19788
Mar 14 09:50:23 9a5213ad09fa otbr-agent[191]: 00:07:02.415 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:1]:19788
Mar 14 09:50:50 9a5213ad09fa otbr-agent[191]: 00:07:29.132 [I] Mle-----------: Send Advertisement (ff02:0:0:0:0:0:0:1)
Mar 14 09:50:50 9a5213ad09fa otbr-agent[191]: 00:07:29.144 [I] MeshForwarder-: Sent IPv6 UDP msg, len:90, chksum:e0c8, ecn:no, to:0xffff, sec:no, prio:net
Mar 14 09:50:50 9a5213ad09fa otbr-agent[191]: 00:07:29.144 [I] MeshForwarder-:     src:[fe80:0:0:0:a8ef:5ce9:de34:9a06]:19788
Mar 14 09:50:50 9a5213ad09fa otbr-agent[191]: 00:07:29.144 [I] MeshForwarder-:     dst:[ff02:0:0:0:0:0:0:1]:19788

But I can't ping from host machine (Raspberry) to OMR IP address from Thread Network.
Actually I suspected there was something wrong with my OTBR because I had issues when trying to
commission using chip-tool (from Matter), it was raising the Thread Network is unreachable error,
and then when I tried to ping I realized the IPv6 network from Thread was unreachable.
To Reproduce Information to reproduce the behavior, including:
Just follow the standard tutorial using the setup described above.
Expected behavior A clear and concise description of what you expected to happen.
I expected to be able to ping from host machine to the OMR address of the Thread Network (wpan) inside the docker Container.
Console/log output If applicable, add console/log output to help explain your problem.

Here is the route table from OTBR
# ip -6 route show
fd19:c442:63c5:fe3b::/64 dev wpan0 proto kernel metric 256 pref medium
fd3a:60df:275a:1::/64 dev wpan0 proto kernel metric 256 pref medium
fd77:1cb6:583c:ff1::/64 dev eth0 proto kernel metric 256 expires 1736sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev wpan0 proto kernel metric 256 pref medium

Here is the route table from the host (Raspberry Running the docker container and chip-tool)
pi@raspberrypi:~ $ ip -6 route show
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev wlan0 proto kernel metric 256 pref medium
fe80::/64 dev veth48467df proto kernel metric 256 pref medium
fe80::/64 dev docker0 proto kernel metric 256 pref medium

Here is the ot-ctl network details from OTBR
# sudo ot-ctl netdata show
Prefixes:
fd3a:60df:275a:1::/64 paos low 4c00
Routes:
fd3a:60df:275a:2:0:0::/96 sn low 4c00
fd77:1cb6:583c:ff1::/64 s med 4c00
Services:
44970 01 6a000500000e10 s 4c00
44970 5d fd19c44263c5fe3b0d5432a3ea0c525dd11f s 4c00
Done
# sudo ot-ctl ipaddr
fd19:c442:63c5:fe3b:0:ff:fe00:fc11
fd3a:60df:275a:1:377a:bd47:532d:a383
fd19:c442:63c5:fe3b:0:ff:fe00:fc10
fd19:c442:63c5:fe3b:0:ff:fe00:fc38
fd19:c442:63c5:fe3b:0:ff:fe00:fc00
fd19:c442:63c5:fe3b:0:ff:fe00:4c00
fd19:c442:63c5:fe3b:d54:32a3:ea0c:525d
fe80:0:0:0:a8ef:5ce9:de34:9a06
Done

Additional context Add any other context about the problem here.

One thing that I noticed later on the logs from OTBR when initializing it and I am not sure if it has some influence :
+ ip6tables -C FORWARD -o wpan0 -j OTBR_FORWARD_INGRESS
ip6tables v1.6.1: Couldn't load target `OTBR_FORWARD_INGRESS':No such file or directory

Try `ip6tables -h' or 'ip6tables --help' for more information.
+ ip6tables -L OTBR_FORWARD_INGRESS
ip6tables: No chain/target/match by that name.
+ ipset_destroy_if_exist otbr-ingress-deny-src
+ ipset list otbr-ingress-deny-src
ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6
The set with the given name does not exist
+ ipset_destroy_if_exist otbr-ingress-deny-src-swap
+ ipset list otbr-ingress-deny-src-swap
ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6
The set with the given name does not exist
+ ipset_destroy_if_exist otbr-ingress-allow-dst
+ ipset list otbr-ingress-allow-dst
ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6
The set with the given name does not exist
+ ipset_destroy_if_exist otbr-ingress-allow-dst-swap
+ ipset list otbr-ingress-allow-dst-swap
ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6
The set with the given name does not exist
+ ipset create -exist otbr-ingress-deny-src hash:net family inet6
+ ipset create -exist otbr-ingress-deny-src-swap hash:net family inet6
+ ipset create -exist otbr-ingress-allow-dst hash:net family inet6
+ ipset create -exist otbr-ingress-allow-dst-swap hash:net family inet6
+ ip6tables -N OTBR_FORWARD_INGRESS
+ ip6tables -I FORWARD 1 -o wpan0 -j OTBR_FORWARD_INGRESS
+ ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -i wpan0 -j DROP
+ ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-deny-src src -j DROP
+ ip6tables -A OTBR_FORWARD_INGRESS -m set --match-set otbr-ingress-allow-dst dst -j ACCEPT
+ ip6tables -A OTBR_FORWARD_INGRESS -m pkttype --pkt-type unicast -j DROP
+ ip6tables -A OTBR_FORWARD_INGRESS -j ACCEPT

Questions that I have for now

Should I need to do some extra network configuration to Raspberry host or docker container?
How could we check where exactly is the issue? If it is on Router side or host side?
(How to check if the RAs are arriving properly in the docker interface? How to check if Raspberry is receiving it or potentially ignoring or blocking it?)

Hi
I reproduce the problem and I can confirm that like this the router advertisement packets doesn't pass the docker container.
But I found a way to make it working, the idea is to force docker to use the host networking.

Execute this on the computer running the docker:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv4.conf.all.forwarding=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

Execute the docker command with the option --net=host like this, you will have access to the network interfaces of the computer from the container:

docker run --net=host --dns=<IP_ADDRESS> -it --volume /dev/ttyACM0:/dev/ttyACM0 --privileged openthread/otbr --radio-url spinel+hdlc+uart:///dev/ttyACM0 -B enp3s0

note: Replace enp3s0 by the name of your interface on the computer running otbr docker, ex: wlan0
_note: when using this commands, some docker parameters are not required anymore (like -p and --sysctl)
3. Start the thread network by going on the webpage of the computer running otbr.
4. The router advertisements are now transmitted on the network
I don't know if it's the best option but like this the router advertisements are now crossing the local network.

Here is the RA packet:
Frame 5116: 86 bytes on wire (688 bits), 86 bytes captured (688 bits) on interface enp3s0, id 0
Ethernet II, Src: Giga-Byt_d5:18:27 (40:8d:5c:d5:18:27), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::428d:5cff:fed5:1827, Dst: ff02::1
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0x6958 [correct]
    [Checksum Status: Good]
    Cur hop limit: 0
    Flags: 0x00, Prf (Default Router Preference): Medium
        0... .... = Managed address configuration: Not set
        .0.. .... = Other configuration: Not set
        ..0. .... = Home Agent: Not set
        ...0 0... = Prf (Default Router Preference): Medium (0)
        .... .0.. = Proxy: Not set
        .... ..0. = Reserved: 0
    Router lifetime (s): 0
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Route Information : Medium fd11:22::/64)
        Type: Route Information (24)
        Length: 2 (16 bytes)
        Prefix Length: 64
        Flag: 0x00, Route Preference: Medium
        Route Lifetime: 1800
        Prefix: fd11:22::

@caipiblack Thanks!
It also worked to me and I could properly set matter to commission the device and send commands via chip-tool 😃
I just noticed a log from the commissioning phase:
[1678965251.244586][2293:2298] CHIP:DIS: Warning: Attempt to mDNS broadcast failed on docker0:  ../../examples/chip-tool/third_party/connectedhomeip/src/inet/UDPEndPointImplSockets.cpp:409: OS Error 0x02000065: Network is unreachable
looks like some different issue with service announcement, but didn`t prevent me to test the network.
BTW, these commands are from wireshark or some command? Could you share the command if it is the case?
I could have this output using using tcpdump:
$ sudo tcpdump -n -i wlp0s20f3 icmp6 and ip6[40] == 134
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp0s20f3, link-type EN10MB (Ethernet), capture size 262144 bytes
12:30:50.202243 IP6 fe80::ab75:d680:128a:966b > ff02::1: ICMP6, router advertisement, length 64
12:31:01.053321 IP6 fe80::ab75:d680:128a:966b > ff02::1: ICMP6, router advertisement, length 64
12:32:04.168062 IP6 fe80::e695:6eff:fe43:10ea > ff02::1: ICMP6, router advertisement, length 120
12:35:50.168540 IP6 fe80::e695:6eff:fe43:10ea > ff02::1: ICMP6, router advertisement, length 120
12:36:01.805651 IP6 fe80::ab75:d680:128a:966b > ff02::1: ICMP6, router advertisement, length 64

Hi there, thanks for bringing this up.  The doc you referenced (https://openthread.io/guides/border-router/docker/run) is actually open-sourced here:
https://github.com/openthread/ot-docs/blob/main/site/en/guides/border-router/docker/run.md
If that needs to be updated, @saramonteiro would you be able to update it so that it works based on your findings?  Once updated there we'll import the changes to openthread.io.

@saramonteiro : The warnings that you show are not very important: The matter stack send mDNS request on each interfaces. The warnings are just to notify about a failure to transmit the packet on some interfaces. (It can be for multiple reasons, failure to transmit multicast, ipv6 etc) in your case you don’t care about a failure on docker0 interface.
Yes my logs comes from wireshark.

@Vyrastas done at https://github.com/openthread/ot-docs/pull/113!
@caipiblack thanks for the support!
Closing issue.


Add packages input files for private ECR bundle generation

Add packages input files for private ECR bundle generation.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

Would it be better to call the yaml file "regional" instead of "new"? And will each codebuild run populate just 1 region?

Would it be better to call the yaml file "regional" instead of "new"? And will each codebuild run populate just 1 region?

Yeah I like that naming. Will change it. And yes it's building in one region only and being replicated to other regions.


Include brand and weight in search results.

Steps to reproduce:

Search by name
Search for Nutella
Be confused by many jars or Nutella. Which one is the 850g jumbo version ?

Proposed solution

Include weight and brand, in addition to the product name

(Nutella is one of the tops queries on Open Food Facts)

@teolemon any specification about the UX ?

Is the result view already using something standard in terms of library ? If not, is there a standard one we could use, where layout has been taken care of ?

@teolemon does i have to wait the évolution of the search api (same result as jqm but in json) ?

in the JSON version. You don't have to wait, indeed. As you wish. Opening the server bug right now.

So does we wait the new version of the api or you want the evolution right now ?

It can wait :-)
Contribution is the sore point.

A bug has been opened for the new API at https://github.com/openfoodfacts/openfoodfacts-server/issues/554


V1.9.0: Failed to start btcpayserver.service: Unit nbxplorer.service not found.

After fresh V1.9.0 setup and everything is running:
-> connecting Zeus -> OK
-> FullyNoded -> OK
-> installed RTL -> OK
-> try to install BTCpayServer -> failed with message:
...
Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:02:39.28
Failed to start btcpayserver.service: Unit nbxplorer.service not found.
# Updated BTCPayServer to v1.11.1
Failed to start btcpayserver.service: Unit nbxplorer.service not found.

Any ideas what to do?
Many thanks

I tested with v1.10.rc3 and there nbxplorer.service is running.
To try to fix your situation:

deinstall & reinstall BTC Pay Server
wait for next v1.10.0 release


circle.yml: port from CircleCI 1.0 to CircleCI 2.0

1.0 support gets dropped on the 15th of March

Done; or, rather, I switched from CircleCI to Travis CI. At least that was a straightforward set up, and going through the new complicated docs of Circle 2.0 is something I don't feel like for only two test commands.


Add help message related to some apps options.

As there is some common options between apps, some helps message can be replicated.

Thanks for doing this.  One minor edit and then we can pull it in.

Edit done with a few first-letter case fix.
Ready for pull, IMHO.

+1

Messages fixed, and code rebased onto current master.

+1
ping @richsalz - a few things have changed since your review. You may want to verify (and push if you want to).

+1 I'll merge.
(BTW, asn1parse help text doesn't start with an uppercase letter; I wonder if others are broke?)

commit 16e1b28 pushed, thanks.


BUG:Memory leak in tf.string_split

profile_9734.0066.txt
profile_9734.0100.txt
profile_9734.0150.txt
Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug or a feature request.
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Centos Linux version 3.10.0-229.4.2.el7.x86_64 (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) )
TensorFlow installed from (source or binary): pip install tensorflow
TensorFlow version (use command below): tensorflow==1.3.0
Python version: Python 2.7.5
Bazel version (if compiling from source): N/A
CUDA/cuDNN version: N/A (CPU only)
GPU model and memory: N/A
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
I am seeing noticeably large memory usage when I use tf.string_split  within the map function of a dataset API.  I have attached a sample code below. I tried to do a heap analysis and I see std::basic_string::_Rep::_S_create constantly growing in size and not freeing up its memory.
If i remove the tf.string_split and just return the line as is, there is no memory held over. This issue is a blocker for us to scale up the tensorflow pipeline to large datasets.
I have attached three output files of pprof over time .
6447.1  96.8%  96.8%   6447.1  96.8% std::basic_string::_Rep::_S_create
  9765.5  96.5%  96.5%   9765.5  96.5% std::basic_string::_Rep::_S_create
 14704.7  95.5%  95.5%  14704.7  95.5% std::basic_string::_Rep::_S_create
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.
import tensorflow as tf

def mapper(line):
    line = tf.identity(line)
    tokens = tf.string_split(line, delimiter='\t')
    return tokens.indices

def run():
    filenames = "sample.txt"
    # Cluster spec
    cluster = tf.train.ClusterSpec({
        "worker": ["localhost:2223"]
    })
    server = tf.train.Server(cluster, job_name="worker", task_index=0)

    dataset = tf.contrib.data.TextLineDataset(filenames)
    dataset = dataset.batch(1000)
    dataset = dataset.map(mapper, 8).repeat()
    iterator = dataset.make_one_shot_iterator()
    next_element = iterator.get_next()

    with tf.Session(target=server.target) as session:
        while True:
            try:
                session.run(next_element)
            except tf.errors.OutOfRangeError:
                break
run()

#You can run this script by
LD_PRELOAD=/usr/lib64/libtcmalloc.so.4 HEAPPROFILE=/tmp/profile nohup python -u bug.py > output.log &

@mrry, do you have any insight into this. Does the dataset pipeline hold string data in some special way?

The dataset pipeline doesn't do anything special with strings, and relies on tensorflow::Tensor refcounting to release the data.
@sushanthku Can you try making a tf.constant() string from a representative line in your file, and running tf.string_split() on that constant in a loop to see if the memory growth is similar?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue? Please update the label and/or status accordingly.


CAMERA_CHANGE event doesn't seem to fire on map move

I looked through the documentation for some way to figure out when this is supposed to fire. I didn't find much, so I assume that it is supposed to fire any time the user zooms or moves the map.
When I first load the map, this event fires. However, after that first event, this event never fires again. It shows up in my events list, but I'm not able to get it working. I'm currently polling to accomplish the same thing, but I'd rather hook it up to the event listener.

Android, or iOS?

Android

Could you show me an example code?

It looked something like this. I tried it in a couple ways but I felt that this was the closest I got to finding a solution.
function initializeMap() {
      //var div = document.getElementById("map_canvas");
      var timer = $timeout(function() {
        var div = document.getElementById("map_canvas");
        $timeout.cancel(timer);
        $('#map_canvas').height(window.innerHeight - $('#footer').height() - $('.topNavBar').first().height() - $('.feedTabsContainer').height());

        coreService.getLastPosition().then(function(position) {
          \\console.log("MAP_LOCATION: " + JSON.stringify(position));
         _this.userLocation = position;
          // Initialize the map view
          map = plugin.google.maps.Map.getMap(div);
          map.setVisible(true);

          // Wait until the map is ready status.
          map.addEventListener(plugin.google.maps.event.MAP_READY, onMapReady);
          map.addEventListener(plugin.google.maps.event.CAMERA_CHANGE, onZoom);
          \\map.on(plugin.google.maps.event.CAMERA_CHANGE, onZoom);
        }, function(reason) {
          map = plugin.google.maps.Map.getMap(div);
          map.setVisible(true);

          map.addEventListener(plugin.google.maps.event.MAP_READY, onMapReady);
          map.addEventListener(plugin.google.maps.event.CAMERA_CHANGE, onZoom);
          \\map.on(plugin.google.maps.event.CAMERA_CHANGE, onZoom);
        });
      }, 100, false);
    }

function onZoom() {
      console.log('zoomed');
      map.getCameraPosition(function(camera) {
        console.log(camera);
        if (Math.abs(camera.zoom - _this.lastZoom) > 1) {
          console.log(camera.zoom);
          map.clear();
          _this.getFilteredEvents();
          _this.lastZoom = camera.zoom;
        }
      });
    }

This is very simple code but it works.
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="Content-Security-Policy"/>

PhoneGap-GoogleMaps-Plugin

@hoffination Did you confirm this?

@wf9a5m75 I'm trying to reproduce your results, I'll comment again in a couple days. Thanks for providing some working code.

Thank you for replying. I'll wait.

I close this issue since there is no more new information.


Broken link on Followers page

The latest follower on my page has a broken link, looks like JSON:
<a class="follower col-xs-10 col-sm-10 col-lg-6" href="{'displayName': 'Twitter', 'value': 'https://techhub.social/@giflian'}">
The other follower links appear OK.

Oof, thanks! Will look.

Fixed, thanks for reporting!


Change cursor state to "not-allowed" when hovering disabled UI elements

Design issue: https://github.com/CartoDB/design/issues/1162

This should be fixed with this one https://github.com/CartoDB/cartodb/issues/13457

You're right, let me add this to that ticket and I'll close this one.

Done


All vectors must have the same number of dimensions.

File "D:\Users\Administrator\Anaconda3\lib\site-packages\torchtext\vocab.py", line 409, in cache
dim))
RuntimeError: Vector for token b'iratapina' has 46 dimensions, but previously read vectors have 300 dimensions. All vectors must have the same number of dimensions.

As suggested by the error massage, I think there is an issue with your downloaded word vectors. Please check it and make sure that all vectors have dimension 300.

这个问题解决了吗


:construction: Fix target attribute vulnerability

Congratulations on the release! :+1:

Super duper cool! Merged! :sparkles:

Thank you! :star:


Issue 47 - Create User Endpoint

Change Summary
Added the /api/users/me enpoint that displays the currently logged in users information. Currently includes fields shown in the screenshot below, but can add or remove as needed.

Change Form

[ ] The pull request title has an issue number
[ ] The change works by "Smoke testing" or quick testing
[ ] The change has tests
[ ] The change has documentation

Other Information
Will need to try test with the frontend once the login modal is connected to the backend. Should work fine though!
Related issue

Resolve #47

Looking good!

Looking good!


Add ability to cycle function overloads

Hi, amazing plugin!
I'd love to see this plugin get the ability to cycle function overloads in languages that supports it (c++, c# .. etc)

Thank you. Please give me some time to think about how I can implement your request. I will come back with more to say.

Alright, I've had some time to think about it and did some research on already existing plugins that do this. I found two of them:

lsp_signature.nvim: This is the most popular one and I think it can fully satisfy your request.
lsp-overloads.nvim: This seems like a less popular alternative, a hybrid between lsp_signature and some other plugins that has only the ability to see and cycle overloads (compared to lsp_signature that has more use cases).

Given the options I mentioned, do you still think it is worth it to add the ability to show and cycle function overloads in my own plugin? If yes, then I need more info about your exact requirements.

If I had to guess, you would want a new, optional, category on my window (besides Diagnostics and LSP Info) that would be called LSP Signature. In there, there would be the current overload and some buttons that you can click with the mouse (or keybinds instead of buttons), cycling through all the overloads.
Imagining it, this would be a purely visual functionality, more restricted than what the options I described can provide. This is because my plugin's window works only in Normal mode, compared to Insert mode where you are about to actually choose which overload you want and type/select it. So given this, you want me to actually implement something like a third button, or a third keybind that automatically goes through the following sequence: close the window -> capture the shown overload -> enter Insert mode -> type the overloaded function with mock arguments?

So that's my basic analysis, I await your response.

It's been some time since you asked for this feature and there is still not a clear development plan, so I'm going to turn this into a discussion.