Connection to secure broker on port 8883 does not work with Perfect-Mosquito

Dear Perfect-Mosquitto Dev Team,
I'm trying to use Perfect-Mosquitto as an independent Swift Package to connect to remote Mosquitto MQTT Broker configured to run on cloud with SSL/TLS opened at port 8883. I have written sample Swift Client program to connect to remote broker and publish a message to "test/topic" but the swift program runs and exits with program code 0, no call backs invoked and also no message published to broker. Where as if I use the default C clients provided with the MQTT Mosquitto - mosquitto_pub and mosquitto_sub, I'm able to publish and receive messages using the topic "test/topic".
Here are by development environment details:
OS: MAC OS Catalina
Swift Version:  5.1.3
Mosquitto Files: Installed through brew install mosquitto
PKG_CONFIG_PATH:  /usr/local/lib/pkgconfig:/usr/lib/pkgconfig
The PKG_CONFIG_PATH also added as an environment variable to xcode scheme for run time
Also added self signed CA Certificate used to sign the server certificate to Certificates Key Chain
Here is Package.swift contents:
import PackageDescription
let package = Package(
name: "SwiftSecurePubClient",
dependencies: [
// Dependencies declare other packages that this package depends on.
.package(url: "https://github.com/PerfectlySoft/Perfect-Mosquitto.git", from: "3.1.0")
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "SwiftSecurePubClient",
dependencies: ["PerfectMosquitto"]),
.testTarget(
name: "SwiftSecurePubClientTests",
dependencies: ["SwiftSecurePubClient"]),
]
)
Here is my sample Swift Client Code:
import PerfectMosquitto
let mqttServer = "remote-broker-domain-name"
let caFile = String("/Users/Shared/ca.crt")
let caPath = String("/Users/Shared")
let clientKey = String("/Users/Shared/client.key")
let clientFile = String("/Users/Shared/client.crt")
Mosquitto.OpenLibrary()
let m = Mosquitto()
m.OnConnect = { status in
print("Client connected to MQTT Broker....")
}
m.OnPublish = { msg in
print("Message published to broker....")
}
m.OnDisconnect = { status in
print("Client disconnected from broker....")
}
do {
try m.start()
} catch (let error){
print("Exception while starting bg: (error)")
}
do {
try m.setTLS(caFile: caFile, caPath: caPath, certFile: clientFile, keyFile: clientKey, keyPass: nil)
try m.connect(host :mqttServer, port: 8883)
} catch (let error){
print("Excpetion while connecting: (error)")
}
var msg = Mosquitto.Message()
msg.id = 111
msg.topic = "test/topic"
msg.string = "Message from Swift Client"
do {
try m.publish(message: msg)
} catch ( let error){
print("Exception while publish: (error)")
}
do {
try m.stop()
} catch (let error){
print("Exception while stopping bg: (error)")
}
do {
try m.disconnect()
} catch (let error){
print("Exception while disconnewcting: (error)")
}
Mosquitto.CloseLibrary()

It was issue with self signed CA Certificate and CN field of server certificate. After adding the CA Certificate to trusted system certificates and correcting the server name in CN field, it started connecting to MQTT broker and publishing messages.


Architecture details: submariner + route-agent

https://submariner-io.github.io/en/architecture/network/

Correct URL is https://submariner-io.github.io/architecture/network/


TCP malforms the logging information.

Describe the bug A clear and concise description of what the bug is.
To Reproduce Information to reproduce the behavior, including:

Git commit id 5eb973ce00d3eec5898d6cc63fd4a20f9e914111
IEEE 802.15.4 hardware platform nRF52840dk RCP + ot daemon
Build steps build rcp + ot daemon
Network topology two boards Leader + router

During RCP crash the log outputted in system journal from ot daemon show incorrect function. BSD TCP function. Looks like this macro is overloaded in https://github.com/openthread/openthread/blob/main/third_party/tcplp/bsdtcp/tcp.h#L46
/jenkins_workspace/workspace/st-fw-nrfconnect-thread_master_4/thread_test/test_objects/rcp_host_app_1_1/bin/ot-daemon[46278]: 00:01:03.614 [C] Platform------: Too many rcp failures, exiting
/jenkins_workspace/workspace/st-fw-nrfconnect-thread_master_4/thread_test/test_objects/rcp_host_app_1_1/bin/ot-daemon[46278]: 00:01:03.614 [C] Platform------: BSD TCP function() at radio_spinel_impl.hpp:2249: Failure

Excluding TCP with -DOT_EXCLUDE_TCPLP_LIB=ON  DOT_CONFIG=my-posix-config.h doesn't seem to have any effect.
my-posix-config.h content
#include <openthread-core-posix-config.h>

/**
* @def OPENTHREAD_CONFIG_TCP_ENABLE
*
* Define as 1 to enable TCP.
*
*/
#ifndef OPENTHREAD_CONFIG_TCP_ENABLE
#define OPENTHREAD_CONFIG_TCP_ENABLE 0
#endif

@samkumar Can You take a look?

Thanks for bringing this to my attention. This indeed looks like an issue --- I put in that #define statement in the original TCPlp code since it was necessary for the original platform I was developing it on. But I can absolutely see that it could be harmful in OpenThread. Tomorrow, I'll investigate this and determine the best way to remove this.

(Also, sorry for the delay --- I just saw this now!)

Hello all, sorry to chip in but I came across the exact same problem while testing RCP sample from Nordic nrfconnect SDK. After many experiments I finally got to a point where that error happens when I send dataset init new from ot-ctl to the ot-daemon connected to my nRF52840 RCP board.
Thank you.

@marcorussi just to keep things separate please create separate issue, and i will be glad to help you.
@samkumar This also highlights one more problem this code was supposed to be cut out from compilation and somehow there are few artifacts left.


Idea: Automatically determine scope?

I just saw this:
https://github.com/aheze/Multiliner/blob/150c4a99e37470c49eb3b2b6e7a6417946ba9f40/Sources/MultilinerExtension/SourceEditorCommand.swift#L21
It'd be cool, if you could only place the cursor in a scope and then it figures out the smallest matching scope that can apply?

Hmm that would be nice. Maybe a while loop or something?

Actually the command already achieves what I was thinking of. You only need to put the cursor and run the command. I wrongly assumed at first that you need to select the exact selection first.
What did you think of?


astyle does not build

Bug reports:
astyle foes not build. It does not have a valid bottle for linux as well.

I've opened Linuxbrew/homebrew-core#1633 to resolve this.
While it was trivial to figure out what was wrong in this case, in the future please
a) Report issues with individual formulae to Linuxbrew/homebrew-core (or other repos as appropriate) and
b) run brew gist-logs <formula> and paste the link you get into the issue description.
Thanks a bunch!

I've merged Linuxbrew/homebrew-core#1633, so this should now be resolved.
Please feel free to reopen this issue if it continues to be an issue for you.


feat: Show/hide value in text input password

Fixes https://github.com/tremorlabs/tremor/issues/530
Demo
https://www.loom.com/share/a5e7e0b4415a460ea165ad239121dcfc
What
Display the entered password value to the user
Why
because now users can't see what they typed since the password type field hides the value
How
Adding a button that switches input types when clicked, displaying the password when the type is text
Testing
npm run storybook

and go to TextInput -> With Type Password
This code was written and reviewed by GitStart Community. Growing great engineers, one PR at a time.

Hello @mitrotasios and @christopherkindl !
Could you review this PR, please?


TileMap layers select is not properly closed in Editor

Godot version
v4.0.dev.20211108.official.596865366
System information
Windows 10 64bit - Vulkan API 1.2.141 - GeForce GTX 1660 SUPER
Issue description
When you click outside the "Layers select" in TileMap Editor menu, the select is not closed.
Video:
https://user-images.githubusercontent.com/2736557/141701934-ad92ee38-5838-4ca0-993d-d642f6eacef9.mp4
Steps to reproduce

Open the TileMap tab with a TileMap with 2 (or more) layers
Click on layers select to open id
Click on TileMap tab interface: the select is not closed

Minimal reproduction project
No response

cc @groud


Pass ?filter via context

If filter applied and user are going deep to projects we need to pass same filter

Looks like it's not really any helpful now


Support OpenGL for package validation.

Description of the new feature/enhancement
Add support for packages with a dependency on OpenGL.
Some packages require OpenGL. The validation environment does not currently support this as a dependency.
Proposed technical implementation details (optional)
Once support for package dependencies is enabled, the validation environment should be able to test packages with the OpenGL dependencies.
Examples:
https://github.com/microsoft/winget-pkgs/pull/705
https://github.com/microsoft/winget-pkgs/pull/1067

Thanks for the effort of making this issue, @denelon, but I just went to check out RemoteFX and apparently when I used it a year ago for #1067 it was already unsupported being deprecated - And it has been fully removed in the April security update of this year.

Because of security concerns, RemoteFX vGPU is disabled by default on all versions of Windows starting with the July 14, 2020 Security Update and removed starting with the April 13, 2021 Security Update.

I'm gonna look into getting the alternative, Discrete Device Assignment (DDA) working under Windows 10, though I'm not quite sure if it's possible at all sinds the docs only talk about Windows Server 2016 and up.
If that's not going to work, well, then I don't know how we can possibly validate manifests for programs that require OpenGL inside the validation environment - the standard display driver simply doesn't cut it.

I guess I need to update the Issue. Thank you so much for digging into this!

We also have an interesting challenge with some device drivers requiring specific hardware to be present.

@denelon I've done a bunch of digging and from what I understand DDA is not available on desktop versions of Windows 10 - You can only use it on server 2016 and up.
The only solutions currently available to consumers are qemu and VirtualBox, as far as I am aware. Naturally this is far from ideal: it's hard if not impossible to migrate the win10 dev environment to these platforms (and probably against the license agreement) and I doubt you guys would want to built this into the pipeline.
Do you think you could ask the Hyper-V team if there is currently any way of getting opengl in Hyper-v to work on consumer editions of Windows?

It's worth noting that Windows Sandbox supports graphics acceleration (see here for more info), so if you need a local environment to test packages that need OpenGL, that would work. There's a lot of limitations (one of these days I'm going to buy a ticket to Build so I can go ask the engineers responsible why I can't have more than one Sandbox open at a time), but it works. Tools\SandboxTest.ps1 is a good way to validate a package.

@jenatali and I just had a talk, this might be one option for getting openGL support in a VM:
https://devblogs.microsoft.com/directx/announcing-the-opencl-and-opengl-compatibility-pack-for-windows-10-on-arm/

Yeah, right now you'd need the insider version of that package installed, but then it will enable OpenGL support on top of WARP (Windows Advanced Rasterization Platform), which is our D3D software renderer used in VMs with no hardware acceleration.

I did some more digging into this, turns out apparently vGPU support is just broken in Windows 10 20H2/21H1. This probably isn't a option, but OpenGL (and DirectX too, as I tried a game with DirectX on 21H1 and it didn't work) is available and works fine in Sandboxes created on build 21382.1000 of Windows 10 (possibly older versions, I enrolled my system into Insider Fast and was given that build):
Does anyone know if this is intended behavior? I think vGPU not working in Sandbox on 21H1 is a bug, but I don't know what to do other then send it into the Feedback Hub black hole.

If you don't mind, send a report to Feedback Hub and share the link here. I'll see if I can route it to the right team.

Whoop, there it is.

Hey @jedieaston - I work on Sandbox. Thanks for investigating; this does seem like a regression. Did you submit a repro trace by chance? I don't see traces attached to that FBH report, but if we were able to gather them it would help corroborate my current theory.

I did two recordings, although I don't know if they went through -- let me try again.

@pbozzay I just tried it from another system and it looks like Feedback Hub sent the data, let me know if you can't see it and I can try something else.

Thanks, I see more data now. Can you tell me what you get when you go here, on both devices (working/broken)?
http://aka.ms/gpucheck

Stable (21H1):

Insider Fast (21382):

Hi @jedieaston  - I think I see the issue. I believe you may have accidentally put the  tag inside of the LogonCommand node; the XML parser simply ignores this setting in this case. On current builds we enable vGPU by default, which is why it's still working for you there.
This is what I see from your feedback:

Valid config will use vGPU in its own node:
<!-- 21H1 -->
<Configuration>
  <vGPU>Enable</vGPU>
  <LogonCommand>
  ...
  </LogonCommand>
</Configuration>

Now, one issue here is that we added functionality called VGPU "vendor extensions" after 21H1. OpenGL may rely on that functionality. Vendor extensions are enabled by default in newer builds (e.g. Insider Fast), or you can explicitly enable them like this:
<!-- Insider Fast build -->
<Configuration>
  <vGPU>EnableVendorExtensions</vGPU>
  <LogonCommand>
  ...
  </LogonCommand>
</Configuration>

Enabling vendor extensions may be the difference between OpenGL working or not, which may mean that on 21H1 Sandbox doesn't support OpenGL.

@pbozzay Having updated to 21H1 earlier last week, I just went to try sandbox with the vGPU setting and we're getting somewhere!

dxdiag also shows Direct3D working. However, OpenGL still doesn't seem to work and crashes applications trying to use it. I've tried the following:

Furmark, Super Tux, Osu!Lazer 2021.5240

Doesn't start, logs an error to eventlog

OpenGL Extensions Viewer

Shows directx12 but crashes during opengl detection

GfxBench

Silent crash during device detection

Unigine Heaven Benchmark 4.0 basic edition

Runs in DX11 and DX9 mode but silently crashes when trying to run in OpenGL mode

Interestingly, the benchmark claims to run at 60 to 70fps in dx11 while it is clearly stuttering all over the place. Probably unrelated though.

Do you know if it is possible to install the insider build without switching my entire windows install to insider?

Do you know if it is possible to install the insider build without switching my entire windows install to insider?

I don't know, I'll see if I can find out.

Maybe you could create a VM with an insider build, but I don't know if the Sandbox works in that kind of scenario.

@pbozzay D'oh! Thanks for the help.

Maybe you could create a VM with an insider build, but I don't know if the Sandbox works in that kind of scenario.

This works but you need to enable nested virtualization in Hyper-V so Windows Sandbox can be enabled. And then since you can't pass through a GPU, I don't know if you'd get acceleration or not.

@MarNicGit @jedieaston that's good progress. Unfortunately in this case I suspect this won't work without upgrading to a new insider build that has VendorExtensions. I believe if you join an insider preview build, you can then revert back to 21H1 and retain your personal files/programs (admittedly this isn't ideal).

@pbozzay Thanks for the heads up, I'll look into switching to insider later tomorrow after watching MS Build.

My first guess is that enabling vendor extensions hasn't "changed" anything for some reason. I've reached out to the vGPU owners inside of Microsoft and will let you know what they think.

@jedieaston I just noticed you had working OpenGL on build 21382, could you check if this is still the case when using the following config?
<Configuration>
    <vGPU>EnableVendorExtensions</vGPU>
</Configuration>

OpenGL confirmed when using that exact configuration on 21382.

Maybe AMD doesn't have a vendor extension.

@jedieaston Thanks! That should help narrow things down a lot.

This has to be included in the Sandbox documents.... Even explicitly enable vGPU in the configuration, OpenGL will not work properly.


some problem

I fixed that days ago but hadn't pushed :|
rrrrr
On Thu, Apr 15, 2021 at 5:44 PM Amir @.***> wrote:

[image: image]
https://user-images.githubusercontent.com/50057077/114888817-3cb49680-9e12-11eb-8f68-8ec7e5a129b6.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GummyJum/MatlabRedis/issues/11, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACXVLQPHQNZSQ4GLVGPGQBLTI33WVANCNFSM427UYFWA
.


Cannot run prisma-upgrade with my schema

Hi! When trying to upgrade my prisma 1.3x schema after introspecting, using prisma-upgrade, it fails immediately with this error:
Error end of the stream or a document separator is expected at line 2, column 5:
      id: ID! @id

The generated introspect model
model Company {
  address        String?
  city           String?
  country        String?
  createdAt      DateTime
  id             String   @default(cuid()) @id
  identification String?
  name           String?
  postcode       String?
  size           String?
  updatedAt      DateTime
  vat            String?
   What does your prisma.yml look like? (don't share secrets)

I'm using npx prisma-upgrade deployment/prisma-orm/datamodel.prisma prisma/schema.prisma
My prisma.yml:
`endpoint: ${env:PRISMA_ENDPOINT}
datamodel: datamodel.graphql
secret: ${env:PRISMA_MANAGEMENT_API_SECRET}
generate:

generator: javascript-client
output: ../../src/generated/prisma-client/pm2`

Oh wow, nice catch, sorry for that! I thought I was supposed to be running the existing schema across the generated schema
It works way better now 😅

Great! Let me know if you run into anymore problems!


Moving sharded tensor with num_rows > 32 to device gives bad pcc

Describe the bug
Moving a sharded tensor with height > 32 directly to device gives bad pcc; doing the same with moving the tensor to device in interleaved format and then converting to sharded works fine.
To Reproduce
Run pytest models/demos/falcon40b/tests/test_falcon_mlp.py::test_FalconMLP_inference[BFLOAT16-SHARDED-0.9987-tiiuae/falcon-40b-instruct-prefill-1-64-8]
This gives bad PCC.
Working around this issue by changing
    tt_mlp_input_host = torch2tt_tensor(mlp_input, None, tt_dtype=model_config["LN_MLP_OUTPUT_DTYPE"])
    tt_mlp_input = []
    for device in devices:
        tt_mlp_input.append(tt_mlp_input_host.to(device, model_config["LN_MLP_OUTPUT_MEMCFG"]))

to
    tt_mlp_input_host = torch2tt_tensor(mlp_input, None, tt_dtype=model_config["LN_MLP_OUTPUT_DTYPE"])
    tt_mlp_input = []
    for device in devices:
        tt_mlp_input_per_device = tt_mlp_input_host.to(device, model_config["DEFAULT_MEMCFG"])
        tt_mlp_input_per_device = tt_lib.tensor.interleaved_to_sharded(tt_mlp_input_per_device, sharded_mem_config=model_config["LN_MLP_OUTPUT_MEMCFG"])
        tt_mlp_input.append(tt_mlp_input_per_device)

gives a good PCC (0.99)

@johanna-rock-tt can you rebase and try again. I pushed a change where we were seeing a similar bug and I fixed that.
This PR for reference: https://github.com/tenstorrent-metal/tt-metal/pull/6381

@tarafdarTT I rebased and tried again. The issue is still there for my tests.

Ah okay, I'll have a look. Thanks @johanna-rock-tt

hey @johanna-rock-tt do you mind giving me the shard_spec and tensor sizes

hey @tarafdarTT sure! So if you run this test here in main, it will give you the failing PCC check:
pytest models/demos/falcon40b/tests/test_falcon_mlp.py::test_FalconMLP_inference[BFLOAT16-SHARDED-0.9987-tiiuae/falcon-40b-instruct-prefill-1-64-8]
But this is the specs:
      tensor shape = [1, 1, 64, 8192]

      shard_spec_32_cores_grid = ttl.tensor.CoreRangeSet(
          {
              ttl.tensor.CoreRange(
                  ttl.tensor.CoreCoord(0, 0),
                  ttl.tensor.CoreCoord(7, 3),
              ),
          }
      )

      model_config["LN_MLP_OUTPUT_MEMCFG"] = ttl.tensor.MemoryConfig(
          ttl.tensor.TensorMemoryLayout.WIDTH_SHARDED,
          ttl.tensor.BufferType.L1,
          ttl.tensor.ShardSpec(
              shard_spec_32_cores_grid,
              [
                  64,
                  8192 // 32,
              ],
              ttl.tensor.ShardOrientation.ROW_MAJOR,
              False,
          ),
      )

Did we find the bug for this issue?

Ah we did not. I'll look into it on Monday. I'm afk (responding via email).
I'll message Jason so that he's in the loop for this.
On Wed, Mar 20, 2024 at 16:20 Brian Liu @.***> wrote:

Did we find the bug for this issue?
—
Reply to this email directly, view it on GitHub
https://github.com/tenstorrent-metal/tt-metal/issues/6355#issuecomment-2010748409,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAK3IAY7EAEAXWMEGW34SQ3YZIDSJAVCNFSM6AAAAABEUKJUCGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJQG42DQNBQHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I think I've narrowed down what might be the problem.
I've reviewed the following:

the allocation of the tensors between doing a direct write (which is failing) and using interleaved_to_sharded (which is passing), they are all calling the allocater the same way (the exact same arguments into the buffer constructor).
All buffers in both the failing and passing cases have the exact same buffer addresses. In my unit test I actually don't have any other L1 buffers so nothing else should be clashing with this.
The buffer mappings  could be suspect, and/or the reading and writing from it. I initially veered away from this because 1 of the 4 chips was actually correct thus indicating that the buffer mappings should be correct, but there might be uninitialized values that might be set correctly coincidentally.  This is the ONLY difference between the working and non working case. I will figure this out tonight.

CC: @TT-BrianLiu , @tt-nshanker

Ah nvm there was a bug in the unit test. it looked different between tests because I tilized the tensor on host using the to command then sent that same tensor to all devices.
However the first tensor swapped out the pages in-place to device order and then the subsequent tensors used that swapped buffer. I'll have a look to see if we are doing anything silly like that here.

    tt_mlp_input = []
    for device in devices:
        tt_mlp_input_host = torch2tt_tensor(mlp_input, None, tt_dtype=model_config["LN_MLP_OUTPUT_DTYPE"])
        tt_mlp_input.append(tt_mlp_input_host.to(device, model_config["LN_MLP_OUTPUT_MEMCFG"]))

This works. Moving torch2tt_tensor inside the loop fixes it. This is a problem still but could be a sufficient workaround for now.
Underneath the hood there is a pointer pointing to a device buffer that is being shared for some reason between device tensors.
This only gets exposed with a direct sharded tensor because the sharded tensor does a swap of the tensor on the host, so if the tensor is already swapped then it gives in incorrect result.
I can raise an issue to look into this as there might be some byref in the python binding or something. However I think this  is not critical.

I'm tracking the other issue here as it's unrelated to sharding.
https://github.com/tenstorrent-metal/tt-metal/issues/7039


Create Doctor Model

This will be the doctor model which will be used by the commands.

Remember to change package names


How to add a custom template for the post details page?

In that blog, how can i add the custom blog detais page?
I tried with [slug]/page.tsx
But it does not working

Can you clarify what you mean by a custom blog details page? What would that page do?


How to transform the Arrow data column to array of array efficiently?

Hi, all:
In my case, I'm asking if there is any efficient way that i can take to transform the arrow format table  into
the format such as Array[Array[Double]]  in java or scala?

Hi @Zarca,

In any particular language?
Arrow is a columnar format. Thus, it is already formatted like you wrote. If you mean is the transpose (i.e. array[i] corresponds to an array on which entry is the value of a column), then AFAIK there is no way without a scan i.e.

for row in rows {
    for column in table.columns() {
           value = column[row]
    }
}

as, like I mentioned, Arrow memory alignment is at the column level, no row level.

This would be best discussed further on<EMAIL_ADDRESS>


Add chart showing real-time CPU stats

What is the purpose of this pull request? (put an "X" next to item)
[ ] Documentation update
[ ] Bug fix
[X] New feature
[ ] Other, please explain:
What changes did you make? (Give an overview)
Which issue (if any) does this pull request address?
Is there anything you'd like reviewers to focus on?
Could probably benefit from having a local implementation and a SDK implementation. This one uses local, if there was an SDK endpoint for CPU stats then could add that as an option too. Perhaps pass a prop that specifies which to use. Obviously on a local network the local call will be quicker, but would be interesting to see what the response times are like between contacting the SDK which uses the Balena VPN to communicate, vs communicating directly around the world to a device which isn't behind a CDN.

This is awesome! I bet we can add other charts with that library for various stats as well!

Yep, think it's a good basis for things like temperature, storage, the whole works.


Automatically install pre-commit on git clone

Tasks
https://pre-commit.com/#automatically-enabling-pre-commit-on-repositories
We could also display a message on every commit instead for opt in.
git clone -q https://github.com/asottile/pyupgrade
$ cd pyupgrade/
$ git commit -m 'foo'
pre-commit configuration detected, but `pre-commit install` was never run

If we want, we could also put a badge on the root readme.

Use case
No response
Related Pull request
No response

https://pre-commit.com/#automatically-enabling-pre-commit-on-repositories

Or alternatively: we could include it in make install?

If we want, we could also put a badge on the root readme.

:+1:

pre-commit install is in make install, do we close this?
Another alternative option I have found is writing a task.json for vscode users and make pre-commit and other dps install on folderOpen


[Bug]: "configparser.NoSectionError: No section: 'elastic_search'"

Preflight Checklist

[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for an issue that matches the one I want to file, without success.
[X] I am not looking for support or already pursued the available support channels without success.

Version
1.8.2
Installation Type
Official Kubernetes
Service Name
DongTai-Engine
Describe the details of the bug and the steps to reproduce it
update to 1.8.2  get error "configparser.NoSectionError: No section: 'elastic_search'"

Additional Information
升级1.8.2报es的错误是需要部署es吗，需要怎么修正？
Logs
"configparser.NoSectionError: No section: 'elastic_search'"

参照 https://github.com/HXSecurity/DongTai/blob/main/deploy/docker-compose/config-tutorial.ini
把config.ini加上这段就可以了
[elastic_search]
enable = false

OK 谢谢


offset intrinsic doesn't check that pointers stay within bounds

The documentation for the offset method mentions in the safety conditions that:

Both the starting and resulting pointer must be either in bounds or one byte past the end of the same allocated object.

At present, the standard library prevents us from adding this check because otherwise we run into spurious failures (i.e., offsets that go out-of-bounds,  are frequently used).

Removing the soundness label since this is not strictly a soundness issue.
Adding this check would introduce many failures that aren't part of the user code, because offset operations often go out-of-bounds (in the standard library and other projects). Let me illustrate with an example in C:
int *p = malloc(10);
p = p + 50; // pointer has been offset 50 units (out of bounds) - not an error since the pointer is not used
int x = *p // this is an error, the index points to somewhere out of the bounds for the object

Rust allows manipulations as in line (2), so there's no soundness concerns about that. On the other hand, de-referencing the pointer in line (3) should raise an error, which Kani does.

i.e., offsets that go out-of-bounds, are frequently used
Do you have an example of that? The stdlib is tested with MIRI I believe, and MIRI detects creating OOB pointers as UB.

de-referencing the pointer in line (3) should raise an error, which Kani does
Not always, see https://github.com/model-checking/kani/issues/1665

I think we need to revisit these cases. This is a potential soundness issue since Kani would not be able to detect a pointer going out of bounds. From what I can recall, the spurious CEX would only happen for cases where the offset started from a dangling pointer and the count was 0, which is what should handle. Note that the offset documentation has been updated:

If the computed offset is non-zero, then self must be derived from a pointer to some allocated object (...)


Issue in saving Websocket APIs

Description:
The tiers selected for Websocket APIs isn't saved due to a change introduced to the api-manage.js via the mutual ssl feature.
Affected Product Version: APIM 2.6
Steps to reproduce: Create new Websocket API via the API Publisher

Fixed with https://github.com/wso2/carbon-apimgt/pull/5908


Full code hint is not available Is there a solution?

[ 5.3.3 ]

[ 5.2 ]
TweenMax, one of the commonly used twin classes.
I could see the full code before (perhaps version 5.2), but now I can see it (5.3.3)
This is not all I get. Did anything change?
Maybe I was not good at English so I could not understand the release notes.
Does the extension class do not appear to have any parent function hints, have any of the settings been added?

Thanks for the report. I will check it tonight.

AS3 or Haxe?
Can you try build from http://flashdevelop.org/downloads/builds/
Can you give me simple project on which I can reproduce the error?

I was forgetting about this problem. >,<
The same problem did not occur when we received the new version.
Thank you


Shift AppVeyor setup to move away from wheel-building to just testing

I'd like to clean-out some wheel-building infrastructure from here to shapely/shapely-wheels.
See shapely-wheels-PR#4 for a proposed relocated home for the previous work.
The idea behind this is to get this AppVeyor setup to run Shapely's pytest on Windows, similar to what Travis CI does for Linux. It does not need to do the extra stuff to test "pip install" etc. or create artifacts. I've interleaved several versions of PYTHON, ARCH and GEOSVERSION.
Note that geos-3.4.3 is not included here since it does not compile with MSVC 2017. Also note that geos-master is also not included here, since the Travis CI setup already does a good job of this for Linux.

Coverage remained the same at 80.988% when pulling 573df4ce6045a4b2f9c610396b1915948de283b1 on mwtoews:appveyor into e477fb1d3359bf2e5751dfc6b57aaf3a5690a24c on Toblerity:master.

Coverage remained the same at 80.988% when pulling 573df4ce6045a4b2f9c610396b1915948de283b1 on mwtoews:appveyor into e477fb1d3359bf2e5751dfc6b57aaf3a5690a24c on Toblerity:master.


Allow uploading files with update_template_files

Looks like this was omitted and thus uploading files from the call was not possible before. This worked for me testing on our account with local files.

thanks @emilong!

Yay! Thank you. :)
On Mon, Apr 16, 2018, 1:51 PM Jen Young<EMAIL_ADDRESS>wrote:

thanks @emilong https://github.com/emilong!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HelloFax/hellosign-ruby-sdk/pull/80#issuecomment-381691729,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABCk05uHYKsdAQ9xWR6BH-UqlosO8CRoks5tpNowgaJpZM4TUb7L
.


Avoid trying to order an OFFLINE product

From @remi-braun in https://github.com/CS-SI/eodag/issues/214

Maybe add the LTA order as a parameter, as it is not needed in every usecase (sometimes, sb just want to download everything he can without triggering any LTA retrieval)

LTA: Long Term Archive
The HTTPDownload plugin (used by creodias, onda, theia, peps, sobloo) can automatically try to order a product if its status is OFFLINE, and can download it afterwards.
The feature request is to add a way to avoid trying to order an OFFLINE product.
This could be done in at least two complementary ways:

Document the way to filter out OFFLINE products from the result of a search. This can be done as follows currently:

from eodag.plugins.crunch.filter_property import FilterProperty
dag.set_preferred_provider("peps")
prods, _ = dag.search(...)
online_prods = prods.crunch(FilterProperty({"storageStatus": "ONLINE", "operator": "eq"}))
dag.download_all(online_prods)

Add a parameter to pass as a kwarg to EODataAccessGateway.download_all (not sure it's relevant for download), e.g. skip_offline, that would be passed to the HTTPPlugin and, if True, would stop trying to download this product, which would lead to download_all trying to download the next product.

@remi-braun Would 1. be enough for your use case here?
I note though that some of the work required by 2., at least the internal plugin one, would be required to implement #214 to skip ordering a product.

Thanks for creating a new feature request for this !
My usecase would be the second point, as:

I always query and download all on one occasion, using the products on the spot
I am never using the retrieved LTA products when finally available

(Currently, I stopped ordering LTA for nothing, I just don't try to download products that are offline for all my registered providers)


ci: log disk space

@htuch @junr03  we should just commit this.
FYI though it looks like we have around 20GB of space. @htuch is there any way to make the ASAN build use less space somehow? Delete test binaries as they are tested or something? This is an absurd hack but I think we are pretty screwed on this until we get off of Travis.


[KARAF-2511] Add examples in the distribution

I gonna rebase and prepare the merge. It would be great to add a JPA examples using Aries JPA with cfg file instead of persistence.xml.

Agree, +1

Rebased and cleanup. I'm adding some new examples.

retest this please

retest this please


socketError problem

apn config is default, i have two problem;

this problem is about apple push notice server ?
apn can recove connection?
:)

How often are those errors occurring?
—A

On 14 Oct 2015, at 10:58, zhaoxuan<EMAIL_ADDRESS>wrote:
apn config is default, i have two problem;

this problem is about apple push notice server ?
apn can recove connection?
:)

—
Reply to this email directly or view it on GitHub.

Does it ever work or do you only get those errors?
—A

On 14 Oct 2015, at 11:28, zhaoxuan<EMAIL_ADDRESS>wrote:
—
Reply to this email directly or view it on GitHub.

yes, it work. but when throw socket error, it doesn't work. beside, i often have a lot of transmissionError. like that:

Transmission error 8 means the device token is invalid and Apple will then disconnect. The module will reconnect if there are more notifications to send. If it is working properly then the errors are for information only. You should use the feedback service to reduce the number of expired tokens and cut down "8" errors
—A

On 14 Oct 2015, at 12:31, zhaoxuan<EMAIL_ADDRESS>wrote:
yes, it work. but when throw socket error, it doesn't work. beside, i often have a lot of transmissionError. like that:
—
Reply to this email directly or view it on GitHub.

i will add feedback and cut invalid token, try again.
BTW,this is my push logic demo.

i want to know the module can reconnect in my way ?

That looks as though it should work correctly.

yeah, but not work well.  it block after send three notices, so i change to like that.

Ok, and does it work now?
You're not giving me much explanation to work with.

yes, it work well. Thanks a lot for you :+1:


Release 0.18.1

With #2186, we are going to have a fix for the high priority bug #945. My current plan would be to wait til after the sync on Wednesday before releasing in hopes of getting DragonFly support in this release as well.

DragonFly support is on master. I'll do a release in the next 2 or 3 days.

Note that if #2190 gets merged before then, we'll having breaking changes on master, and would want to bump this to 0.19.0.

Blessing e69cb05147684578405c296909fdf0867e583acc

Release underway

Homebrew PR opened: https://github.com/Homebrew/homebrew-core/pull/17208

@stefantalpalaru @kamilchm release underway

Release notes PR opened:
https://github.com/ponylang/ponylang.github.io/pull/142

Deb, RPM, Windows packages are available in Bintray.

There's not a lot of PRs getting merged on homebrew at the moment. I suspect we might be officially releasing in the morning. We'll see. In the meantime, we wait on Homebrew.

Gentoo ebuild updated.

Homebrew released.

Released!


Error in force control task

When I run Force_control_example.py, robot initially runs for few iterations, while showing end-effector forces plot. After some time, robot stops, a new black window appears and terminal shows following error:
-3.9336459877590596e-05
-1.80323431312297e-05
5.969657570434706e-06
2.6458507806909837e-05
4.270999884258811e-05
5.0823149630967465e-05
5.153522232988297e-05
4.396127642365691e-05
3.070630143922923e-05
1.3182937457178667e-05
-5.113344854462901e-06
-2.2079177359950246e-05
-3.482887550450532e-05
WARNING: QApplication was not created in the main() thread.
Exception in thread manipulator task:
Traceback (most recent call last):
  File "/home/deepakraina/anaconda3/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/home/deepakraina/anaconda3/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "force_control/Force_control_example.py", line 191, in manipulator_thread
    plt.show()
  File "/home/deepakraina/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py", line 269, in show
    return _show(*args, **kw)
  File "/home/deepakraina/anaconda3/lib/python3.7/site-packages/matplotlib/cbook/deprecation.py", line 413, in wrapper
    return func(*args, **kwargs)
  File "/home/deepakraina/anaconda3/lib/python3.7/site-packages/matplotlib/backend_bases.py", line 3302, in show
    cls.mainloop()
  File "/home/deepakraina/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_qt5.py", line 1094, in mainloop
    signal.signal(signal.SIGINT, signal.SIG_DFL)
  File "/home/deepakraina/anaconda3/lib/python3.7/signal.py", line 47, in signal
    handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
ValueError: signal only works in main thread

Please help with this. Thanks

@deepakraina99 hello, which system are you using, Windows or Ubuntu, I run this code on Ubuntu 18.04 is working !

@TFLQW I am running on Ubuntu 18.04.

@deepakraina99 Maybe I guess this link https://github.com/matplotlib/matplotlib/issues/13296 could solve your problem

@TFLQW  Thanks it solved the issue.


[make-pkgconfig] Discover llvm-config via brew by default

This way someone who's installed llvm via brew won't need to change their path

Is this good to merge?

I'm merging this. Thanks @segiddins!


Telemetry not always sending the name of the integration

In the following

"Sending initial telemetry data" does not contain the name of the integration ->error
"Sending telemetry data" contains the name of the integration -> good

14:00:42.530 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28006 Sending initial telemetry data: {"installation":"35f9c973-ddb5-4d70-a9cb-8abeda49fc5f","product":{"name":"Camunda BPM Runtime","version":"7.14.0","edition":"community","internals":{"database":null,"application-server":null,"license-key":null,"commands":{},"camunda-integration":[],"metrics":null,"jdk":null,"telemetry-enabled":true}}}
14:00:42.846 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28016 Initial telemetry request was successful.
14:00:42.850 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28006 Sending telemetry data: {"installation":"35f9c973-ddb5-4d70-a9cb-8abeda49fc5f","product":{"name":"Camunda BPM Runtime","version":"7.14.0","edition":"community","internals":{"database":{"vendor":"H2","version":"1.4.199 (2019-03-13)"},"application-server":null,"license-key":null,"commands":{"AcquireJobsCmd":{"count":14},"AuthorizationQueryImpl":{"count":21},"CreateGroupCmd":{"count":1},"IsTelemetryEnabledCmd":{"count":2},"DbGroupQueryImpl":{"count":1},"CreateGroupQueryCmd":{"count":1},"TelemetrySendingTask$$Lambda$578/0x000000080085d840":{"count":1},"DeployCmd":{"count":1},"SaveAuthorizationCmd":{"count":21},"BootstrapEngineCommand":{"count":1},"CreateMembershipCmd":{"count":1},"CreateUserCmd":{"count":1},"CreateUserQueryCmd":{"count":1},"DbUserQueryImpl":{"count":1},"SaveGroupCmd":{"count":1},"GetNextIdBlockCmd":{"count":1},"ExecuteJobsCmd":{"count":5},"SaveUserCmd":{"count":1},"StartProcessInstanceCmd":{"count":3},"GetLicenseKeyCmd":{"count":1},"SuccessfulJobListener":{"count":5},"TelemetrySendingTask$$Lambda$604/0x00000008008be840":{"count":1}},"camunda-integration":["micronaut-camunda-bpm"],"metrics":{"root-process-instance-start":{"count":3},"unique-task-workers":{"count":0},"activity-instance-start":{"count":11},"executed-decision-elements":{"count":0},"executed-decision-instances":{"count":0}},"jdk":{"version":"11.0.7","vendor":"AdoptOpenJDK"},"telemetry-enabled":true}}}
14:00:42.878 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28016 Telemetry request was successful.

To reproduce put a break point in TelemetryReporter::start, start the example application and modify initialReportingDelay to be 10000 (instead of 300000).  A little later you should see the output above.

I think this works as intended. For the initial telemetry message, the TelemetrySendingTask of Camunda creates a new Internals object on line 184. This is set to staticData.product and send out immediately. All the missing data is merged in afterwards...

I think this works as intended. For the initial telemetry message, the TelemetrySendingTask of Camunda creates a new Internals object on line 184. This is set to staticData.product and send out immediately. All the missing data is merged in afterwards...

Just for the record, this is the code at line 184:
Internals internals = new Internals();
internals.setTelemetryEnabled(new IsTelemetryEnabledCmd().execute(commandContext));
initData.getProduct().setInternals(internals);

sendData(initData, true);

Just for the record, this is the code at line 184:
Internals internals = new Internals();
internals.setTelemetryEnabled(new IsTelemetryEnabledCmd().execute(commandContext));
initData.getProduct().setInternals(internals);

sendData(initData, true);

Thanks @TitusLabs . You're perfectly right: I can confirm that Spring Boot doesn't send the name of integration either on the initial telemetry message.
07:11:50.177 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28001 Start telemetry sending task.
07:11:56.863 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28006 Sending initial telemetry data: {"installation":"f520391f-ac13-4d62-bcf5-fc99bc0789fe","product":{"name":"Camunda BPM Runtime","version":"7.14.0","edition":"community","internals":{"database":null,"application-server":null,"license-key":null,"commands":{},"camunda-integration":[],"metrics":null,"jdk":null,"telemetry-enabled":true}}}
07:11:57.159 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28016 Initial telemetry request was successful.
07:12:44.129 [HikariPool-1 housekeeper] WARN  com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m16s291ms).
07:12:44.133 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28006 Sending telemetry data: {"installation":"f520391f-ac13-4d62-bcf5-fc99bc0789fe","product":{"name":"Camunda BPM Runtime","version":"7.14.0","edition":"community","internals":{"database":{"vendor":"H2","version":"1.4.200 (2019-10-14)"},"application-server":{"vendor":"jetty","version":"jetty/9.4.29.v20200521"},"license-key":null,"commands":{"AcquireJobsCmd":{"count":4},"AuthorizationQueryImpl":{"count":21},"CreateGroupCmd":{"count":1},"IsTelemetryEnabledCmd":{"count":2},"DbGroupQueryImpl":{"count":1},"TelemetrySendingTask$$Lambda$859/0x00000008009c0040":{"count":1},"CreateGroupQueryCmd":{"count":1},"SaveAuthorizationCmd":{"count":21},"DeployCmd":{"count":1},"BootstrapEngineCommand":{"count":1},"CreateMembershipCmd":{"count":1},"CreateUserCmd":{"count":1},"TelemetrySendingTask$$Lambda$837/0x0000000800947440":{"count":1},"CreateUserQueryCmd":{"count":1},"DbUserQueryImpl":{"count":1},"SaveGroupCmd":{"count":1},"SaveUserCmd":{"count":1},"GetLicenseKeyCmd":{"count":1}},"camunda-integration":["spring-boot-starter"],"metrics":{"root-process-instance-start":{"count":0},"unique-task-workers":{"count":0},"activity-instance-start":{"count":0},"executed-decision-elements":{"count":0},"executed-decision-instances":{"count":0}},"jdk":{"version":"11.0.7","vendor":"AdoptOpenJDK"},"telemetry-enabled":true}}}
07:12:44.170 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28016 Telemetry request was successful.

I'm closing this issue now.

Thanks @TitusLabs . You're perfectly right: I can confirm that Spring Boot doesn't send the name of integration either on the initial telemetry message.
07:11:50.177 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28001 Start telemetry sending task.
07:11:56.863 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28006 Sending initial telemetry data: {"installation":"f520391f-ac13-4d62-bcf5-fc99bc0789fe","product":{"name":"Camunda BPM Runtime","version":"7.14.0","edition":"community","internals":{"database":null,"application-server":null,"license-key":null,"commands":{},"camunda-integration":[],"metrics":null,"jdk":null,"telemetry-enabled":true}}}
07:11:57.159 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28016 Initial telemetry request was successful.
07:12:44.129 [HikariPool-1 housekeeper] WARN  com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m16s291ms).
07:12:44.133 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28006 Sending telemetry data: {"installation":"f520391f-ac13-4d62-bcf5-fc99bc0789fe","product":{"name":"Camunda BPM Runtime","version":"7.14.0","edition":"community","internals":{"database":{"vendor":"H2","version":"1.4.200 (2019-10-14)"},"application-server":{"vendor":"jetty","version":"jetty/9.4.29.v20200521"},"license-key":null,"commands":{"AcquireJobsCmd":{"count":4},"AuthorizationQueryImpl":{"count":21},"CreateGroupCmd":{"count":1},"IsTelemetryEnabledCmd":{"count":2},"DbGroupQueryImpl":{"count":1},"TelemetrySendingTask$$Lambda$859/0x00000008009c0040":{"count":1},"CreateGroupQueryCmd":{"count":1},"SaveAuthorizationCmd":{"count":21},"DeployCmd":{"count":1},"BootstrapEngineCommand":{"count":1},"CreateMembershipCmd":{"count":1},"CreateUserCmd":{"count":1},"TelemetrySendingTask$$Lambda$837/0x0000000800947440":{"count":1},"CreateUserQueryCmd":{"count":1},"DbUserQueryImpl":{"count":1},"SaveGroupCmd":{"count":1},"SaveUserCmd":{"count":1},"GetLicenseKeyCmd":{"count":1}},"camunda-integration":["spring-boot-starter"],"metrics":{"root-process-instance-start":{"count":0},"unique-task-workers":{"count":0},"activity-instance-start":{"count":0},"executed-decision-elements":{"count":0},"executed-decision-instances":{"count":0}},"jdk":{"version":"11.0.7","vendor":"AdoptOpenJDK"},"telemetry-enabled":true}}}
07:12:44.170 [Camunda BPM Runtime Telemetry Reporter] DEBUG org.camunda.bpm.engine.telemetry - ENGINE-28016 Telemetry request was successful.

I'm closing this issue now.


Use relative mouse API

On some platforms SDL_GetWindowPosition will always return 0,0 while mouse position is still absolute. This would result in an absolute position inside Input.Mouse.Position instead of a relative one.
This PR lets SDL handle the relative positioning.

Looks good, thanks! I don't remember why I did it the other way originally...


fix: csp issue on setup node page

should we relax this CSP a bit?

Closing in favor of https://github.com/getAlby/hub/pull/494

should we relax this CSP a bit?

Adithya found a better fix! :rocket:


supported clang-cl

This PR makes tests and compile passed on clang-cl (clang on Windows)

I was about to file a pull request then found this. We came up with byte-for-byte identical changes so fully approve here. @fnabulsi @bmcdb
We also were running an older version that lacked the defined(__clang__) && defined(_MSC_VER) case around line 560 of rapidjson.h, but what's in trunk is sufficient there now, so apparently rapidjson was ahead on clang-cl support while cereal just needs these three additional fixes.

For some reason it doesn't let me add an inline comment far outside of the current changes, but on line 719 of polymorphic_impl.hpp we also had to change this:
      #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)

add add  && !defined(__clang__), else we run into errors with CEREAL_BIND_TO_ARCHIVES(). I suspect the reason we get different results compared to @durswd is a combination of issues: using a different version of clang-cl, have an older fork of of cereal, and we use different features of the library which affects which templates get exercised.
You can take a look at our comparable changes here: https://github.com/USCiLab/cereal/compare/master...jdonald:clang-cl

So what's the verdict here? Is this PR sufficient for supporting clang? Apparently we can build against clang on appveyor, if anyone wants to figure that out.

saveLong error causes when it is compiled as 64bit. it is no problem  when it is compiled as 32bit.
Instead of it
this changes uppresses this error
//! MSVC only long overload to current node
void saveValue( unsigned long lu ){ saveLong( lu ); };

->
//! MSVC only long overload to current node
void saveValue( unsigned long lu ){ saveLong( lu ); };
void saveValue( long lu ) { saveLong(lu); };

The main issue with DLL support his that a tag in an anonymous namespace polymorphic_binding_tag is used as the template argument for StaticObject, which means internal linkage.  So, that it works on MSVC at all is actually a linker bug -- unless MSVC treats all anonymous namespaces as actually having the same "name" internally in the compiler, which would permit exporting.

On thinking about this more: is it actually necessary to maintain the StaticObject as a dllexport?

OK -- I found a solution for this.  It requires C++17, but essentially the following changes are made:

polymorphic_type_impl no longer resides in an anonymous namespace
CEREAL_BIND_TO_ARCHIVES now uses a static inline variable:

#define CEREAL_BIND_TO_ARCHIVES(...)                                     \
    namespace cereal {                                                   \
    namespace detail {                                                   \
    template<>                                                           \
    struct init_binding<__VA_ARGS__> {                                   \
        static inline bind_to_archives<__VA_ARGS__> const & b=           \
        ::cereal::detail::StaticObject<                                  \
            bind_to_archives<__VA_ARGS__>                                \
        >::getInstance().bind();                                         \
        CEREAL_BIND_TO_ARCHIVES_UNUSED_FUNCTION                          \
    };                                                                   \
    }} /* end namespaces */

The StaticObject template is still marked dllexport.
This enables the following:

Each TU only accesses ONE StaticObject across the entire DLL
Each DLL receives it's own StaticObject, but these are identical with correct usage of the Cereal macros (as documented)

I didn't realize this, but the reason dllexport is even used is to prevent the linker from optimizing away the static object.
It's not actually used for linkage purposes.
This change also reduces code size, as the inline static merges the definition across all TUs.

The same approach could be used to get the CEREAL_CLASS_VERSION macro working on MSVC 2017, where right now you can get a multiple definition error.  That macro could be changed as follows (again requiring C++17)
  #define CEREAL_CLASS_VERSION(TYPE, VERSION_NUMBER)                                \
  namespace cereal { namespace detail {                                             \
    template <> struct Version<TYPE>                                                \
    {                                                                               \
      static inline const std::uint32_t version = Version<TYPE>::registerVersion(); \                                \
      static std::uint32_t registerVersion()                                        \
      {                                                                             \
        ::cereal::detail::StaticObject<Versions>::getInstance().mapping.emplace(    \
             std::type_index(typeid(TYPE)).hash_code(), VERSION_NUMBER );           \
        return VERSION_NUMBER;                                                      \
      }                                                                             \
      CEREAL_UNUSED_FUNCTION                                                        \
    }; /* end Version */                                                            \
                                                                                \

I have a proposed patch to fix this and a few other small linker-related annoyances on Windows in #657.


the system cannot find the main.go

the system cannot find the main.go

gin-blog-server/cmd/main.go

谢谢!,如果前端改NUXT3,那就更好了
Zhenyu @.***> 于2024年3月1日周五 01:43写道：

gin-blog-server/cmd/main.go
—
Reply to this email directly, view it on GitHub
https://github.com/szluyu99/gin-vue-blog/issues/13#issuecomment-1971643655,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFAK5XK5LYPM7VGIC7DKM3DYV5UDZAVCNFSM6AAAAABC3FNSQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZRGY2DGNRVGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


build failure: "undefined reference to 'getauxval'" when trying to build with optimization for arm

When trying to build the project with optimizations for ARM i am getting this error:
C:/msys64/home/zlib-ng-develop/arch/arm/armfeature.c:39: error: undefined reference to 'getauxval'
C:/msys64/home/zlib-ng-develop/arch/arm/armfeature.c:19: error: undefined reference to 'getauxval'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/zlib.dir/build.make:522: libz.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:117: CMakeFiles/zlib.dir/all] Error 2
make: *** [Makefile:160: all] Error 2

it's only appears when using optimization

Please provide OS and compiler information and configure log.

I generated makefiles with cmake-gui and then tried to build with make. Same errors appears on such configurations:
MacOS 10.13 when trying to build with Xcode 7.0.3 for iOS
Windows 7 with MSYS2 and Android NDK when trying build for Android
and all these errors only when building for arm
Maybe I don't understand something?

Is that configure log, isn't it?
$Using CMake version 3.19.3
ZLIB_HEADER_VERSION: 1.2.11
ZLIBNG_HEADER_VERSION: 2.0.0-RC2
ANDROID_PLATFORM not set. Defaulting to minimum supported version
16.
Arch detected: 'armv7-none-linux-androideabi16'
Basearch of 'armv7-none-linux-androideabi16' has been detected as: 'arm'
Using CMake toolchain: C:/msys64/home/android-ndk-r21e-windows-x86_64/android-ndk-r21e/build/cmake/android.toolchain.cmake
ARM floating point arch:
Architecture supports unaligned reads
Architecture supports unaligned reads of > 4 bytes
Architecture-specific source files: arch/arm/armfeature.c;arch/arm/crc32_acle.c;arch/arm/insert_string_acle.c;arch/arm/adler32_neon.c;arch/arm/chunkset_neon.c;arch/arm/slide_neon.c
The following features have been enabled:

 * CMAKE_BUILD_TYPE, Build type: Release (selected)
 * WITH_GZFILEOP, Compile with support for gzFile related functions
 * ZLIB_COMPAT, Compile with zlib compatible API
 * ZLIB_ENABLE_TESTS, Build test binaries
 * WITH_OPTIM, Build with optimisation
 * WITH_NEW_STRATEGIES, Use new strategies
 * WITH_UNALIGNED, Support unaligned reads on platforms that support it
 * WITH_ACLE, Build with ACLE
 * WITH_NEON, Build with NEON intrinsics
 * ACLE_CRC, Support ACLE optimized CRC hash generation, using "-march=armv8-a+crc"
 * NEON_ADLER32, Support NEON instructions in adler32, using "-mfpu=neon"
 * NEON_SLIDEHASH, Support NEON instructions in slide_hash, using "-mfpu=neon"

-- The following features have been disabled:

 * ZLIB_DUAL_LINK, Dual link tests against system zlib
 * WITH_SANITIZER, Build with sanitizer (Memory, Address, Undefined)
 * WITH_FUZZERS, Build test/fuzz
 * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native)
 * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings
 * WITH_CODE_COVERAGE, Enable code coverage reporting
 * WITH_INFLATE_STRICT, Build with strict inflate distance checking
 * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances
 * INSTALL_UTILS, Copy minigzip and minideflate during install

Configuring done

Full make log:
$ make
Scanning dependencies of target zlib
[  1%] Building C object CMakeFiles/zlib.dir/adler32.c.o
[  2%] Building C object CMakeFiles/zlib.dir/chunkset.c.o
[  3%] Building C object CMakeFiles/zlib.dir/compare258.c.o
[  4%] Building C object CMakeFiles/zlib.dir/compress.c.o
[  5%] Building C object CMakeFiles/zlib.dir/crc32.c.o
[  7%] Building C object CMakeFiles/zlib.dir/crc32_comb.c.o
[  8%] Building C object CMakeFiles/zlib.dir/deflate.c.o
[  9%] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o
[ 10%] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o
[ 11%] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o
[ 13%] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o
[ 14%] Building C object CMakeFiles/zlib.dir/functable.c.o
[ 15%] Building C object CMakeFiles/zlib.dir/infback.c.o
[ 16%] Building C object CMakeFiles/zlib.dir/inffast.c.o
[ 17%] Building C object CMakeFiles/zlib.dir/inflate.c.o
[ 19%] Building C object CMakeFiles/zlib.dir/inftrees.c.o
[ 20%] Building C object CMakeFiles/zlib.dir/insert_string.c.o
[ 21%] Building C object CMakeFiles/zlib.dir/trees.c.o
[ 22%] Building C object CMakeFiles/zlib.dir/uncompr.c.o
[ 23%] Building C object CMakeFiles/zlib.dir/zutil.c.o
[ 25%] Building C object CMakeFiles/zlib.dir/arch/arm/armfeature.c.o
C:/msys64/home/zlib-ng-develop/arch/arm/armfeature.c:19:13: warning: implicit declaration of function 'getauxval' is invalid in C99 [-Wimplicit-function-declaration]
    return (getauxval(AT_HWCAP2) & HWCAP2_CRC32) != 0 ? 1 : 0;
            ^
C:/msys64/home/zlib-ng-develop/arch/arm/armfeature.c:39:13: warning: implicit declaration of function 'getauxval' is invalid in C99 [-Wimplicit-function-declaration]
    return (getauxval(AT_HWCAP) & HWCAP_NEON) != 0 ? 1 : 0;
            ^
2 warnings generated.
[ 26%] Building C object CMakeFiles/zlib.dir/arch/arm/crc32_acle.c.o
[ 27%] Building C object CMakeFiles/zlib.dir/arch/arm/insert_string_acle.c.o
[ 28%] Building C object CMakeFiles/zlib.dir/arch/arm/adler32_neon.c.o
[ 29%] Building C object CMakeFiles/zlib.dir/arch/arm/chunkset_neon.c.o
[ 30%] Building C object CMakeFiles/zlib.dir/arch/arm/slide_neon.c.o
[ 32%] Building C object CMakeFiles/zlib.dir/gzlib.c.o
[ 33%] Building C object CMakeFiles/zlib.dir/gzread.c.o
[ 34%] Building C object CMakeFiles/zlib.dir/gzwrite.c.o
[ 35%] Linking C shared library libz.so
C:/msys64/home/zlib-ng-develop/arch/arm/armfeature.c:39: error: undefined reference to 'getauxval'
C:/msys64/home/zlib-ng-develop/arch/arm/armfeature.c:19: error: undefined reference to 'getauxval'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/zlib.dir/build.make:522: libz.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:117: CMakeFiles/zlib.dir/all] Error 2
make: *** [Makefile:160: all] Error 2

The error is here:
ANDROID_PLATFORM not set. Defaulting to minimum supported version 16.
Minimum supported is 18.

Thanks, now it builds for Android without errors.

If there will be are any problems with macOS or iOS building, then I will create a new topic, as it should have been. Thanks again.


[SP-3709][PDI-9388] Deleting a column from the Datagrid step moves column names as heading for wrong data

[SP-3709][PDI-9388] Deleting a column from the Datagrid step moves column names as heading for wrong data
added synchronization between Fields and Data tables

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  ui/src/org/pentaho/di/ui/core/widget/TableView.java
  ui/src/org/pentaho/di/ui/trans/steps/datagrid/DataGridDialog.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.core.widget.TableView

Complexity Change: -.00%:small_red_triangle_down:
Instruction Change:  + .00%
Line Change: -.00%:small_red_triangle_down:
Method Change: -.02%:small_red_triangle_down:

@mchen-len-son, @mbatchelor Could you please review and merge it?


Talent and Species Abilities validations to add Stress Points to the Stress Track

Inside the stressTrackUpdate(), between these lines https://github.com/ELH-mk1/sta2e/blame/ab9183b426da60bc67f474367570eabb575ca425/src/module/actors/sheets/character-sheet.js#L148-L159, you check for the exact name of the Talent, Species Ability, etc.
What I found by adding the Species Abilities as items is that I wanted to put the species' name before the name of the ability to quickly find the ability for a chosen species. Also, the ability name for the Aenar and the Betazoid is the same, Telephatic.
So, instead of validating the exact name of the ability, you could check if the ability/talent name CONTAINS the name.
So, instead of
[data-talent-name="Mental Discipline"]

it could be
[data-talent-name~="Mental Discipline"]

as per this CSS Selector.
I don't know if it could be applied to all the cases, I'll let you be the judge of that.

Looks like it needs to be
[data-talent-name*="Mental Discipline"]

In order to work properly. This will be fixed in the next version!

Yes, you are right. I just tested the two selectors and it is yours that works.
Also, if I want to ask questions about this system and it is not about an issue, where can I do that?
And finally, if I wanted to help you with the system, is it possible? I am a front-end web developper with close to 20 years of experience, so I know my way around HTML, CSS and JavaScript. :)

Just drop me a line via email (elhmk1 @ gmail) or Discord (elhmk1). Always happy to chat!


add support to recurse n times

New command line switch proposal -recurse n
Unlike -maxrecursion n that fails if more than n recursion is detected, this switch does what it says on the tin – recurse exactly n times and then stop.
This would be useful for map debugging by allowing mappers to observe the effect of each step of the mess inserts.

How about a -debug option that changes the behavior of both -maxrecursion and -maxinstance? If -debug is set, then hitting the recursion or instance limit would cause MESS to stop further processing and just save what it has done so far, instead of failing. That would give a little more control over the whole process and there's no chance of accidentally setting a -maxrecursion that's lower than the -recurse limit.

If we're going that way, let's not occupy the very common -debug switch and instead use -onmaxrecursion and/or -onmaxinstance to set the relevant behaviour. Probably have them take the values fail|stop|continue to fail the process (current behaviour), stop recursing/resolving (proposed behaviour), or continue to the user's peril :P

Instead of a max-recursion setting, which I expect would be quite tedious to work with given how many steps can be involved, I've added a few MScript functions that can help with debugging:

assert(condition, message) - https://pwitvoet.github.io/mess/standard-functions.html#debugging
trace(value, message) - https://pwitvoet.github.io/mess/template-functions.html#debugging

You can use these to log information, or to stop the whole process if a certain condition doesn't hold.


Gradle 8.1.1 にアップデート

Codecov Report
Patch and project coverage have no change.

Comparison is base (f4eb3a9) 37.75% compared to head (edf581e) 37.75%.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #280   +/-   ##
=========================================
  Coverage     37.75%   37.75%
  Complexity       32       32
=========================================
  Files            55       55
  Lines           723      723
  Branches        116      116
=========================================
  Hits            273      273
  Misses          445      445
  Partials          5        5

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


FTPS Support?

I'm wondering, is there planned support for FTPS?  My free hosting provider only supports SFTP on paid accounts.

Hi @ErikAGriffin,
It's on my enhancement list, so take a look in the next weeks.
Thank you for your feedback !


Strict null check can't "remember" array lookups

TypeScript Version:
2.6.2 with "strictNullChecks" = true,
Code
interface Test {
  a?: {
    b?: {
      c?: number;
    }
  }[];
}

should_compile_but_does_not() {
    const data: Test = null as any as Test; // dummy value

    if (data.a && data.a[0].b && data.a[0].b.c) {
      const value: number = data.a[0].b.c;
    }
 }

Expected behavior:
The above should compile as all nullable values are checked before addressed.
Actual behavior:
Compiler errors:

Duplicate of #17567.

Actually, duplicate of #10530.

@ahejlsberg The duplicate you refer to has stalled because the dev could not provide an impl. that performed. Does this means we have to give up on getting strict null check to work on arrays ?


Newest version does not register as v1.1.4, and instead is called v1.1.3 and this then causes a connection timeout

They may or may not be related, but the file for v1.1.4 in-game shows up as v1.1.3 (The console also says that a new version is available) and if I try to connect to archipelago, it says it's connected, the server picks it up, and the game seems to see that. However, it just does nothing, and nothing actually works. The BepInEx console also says that it has timed out whilst connecting to archipelago.
The console is also full of messages saying "Null" or "Error in finding number Data" (numbers are usually 1-25 or 666, idk why) or "Secret Mission Status:0".
Connecting initially presents the issue "Command 'connect' failed. The given key was not present in the dictionary."

Could you try this again and then go to your install folder for ULTRAKILL, open the BepInEx folder, and post the LogOutput.log file?

Sorry for such a long time between responses, turns out, the ULTRAKILL archipelago mod must've just been named wrong for some reason, and my actual archipelago installation was out of date.


Cleanup - Removes the owner form the result of filter_executable_program_accounts()

Problem
After #768 the owner field produced by filter_executable_program_accounts() is no longer consumed anywhere.
Summary of Changes

Removes the owner form the result of filter_executable_program_accounts()
Updates the description of the function.

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

Project coverage is 81.8%. Comparing base (3426f7e) to head (e688c9f).
Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #879   +/-   ##
=======================================
  Coverage    81.8%    81.8%
=======================================
  Files         853      853
  Lines      231782   231775    -7
=======================================
+ Hits       189754   189763    +9
+ Misses      42028    42012   -16


Non-deterministic failure

I've been experimenting with a Hypothesis test: https://github.com/nedbat/isect_segments-bentley_ottmann/tree/hypothesis
It found this case that fails, but only sometimes:
>>> import poly_point_isect
>>> segments = [((2, 0), (0, 0)), ((1, 0), (0, 0)), ((2, 1), (1, 0))]
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
Traceback (most recent call last):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 334, in remove
    self._events_current_sweep.remove(event)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 1279, in remove
    raise KeyError(str(key))
KeyError: 'Event(0x106b51a08, s0=(1, 0), s1=(2, 1), p=(1, 0), type=2, slope=1.0)'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 598, in isect_segments_include_segments
    return isect_segments_impl(segments, include_segments=True)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 573, in isect_segments_impl
    sweep_line.handle(p, events_current)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 381, in handle
    self.handle_event(e)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 421, in handle_event
    if self.remove(e):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 343, in remove
    assert(event.in_sweep == False)
AssertionError
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
Traceback (most recent call last):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 334, in remove
    self._events_current_sweep.remove(event)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 1279, in remove
    raise KeyError(str(key))
KeyError: 'Event(0x106b623a8, s0=(1, 0), s1=(2, 1), p=(1, 0), type=2, slope=1.0)'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 598, in isect_segments_include_segments
    return isect_segments_impl(segments, include_segments=True)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 573, in isect_segments_impl
    sweep_line.handle(p, events_current)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 381, in handle
    self.handle_event(e)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 421, in handle_event
    if self.remove(e):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 343, in remove
    assert(event.in_sweep == False)
AssertionError
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
Traceback (most recent call last):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 334, in remove
    self._events_current_sweep.remove(event)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 1279, in remove
    raise KeyError(str(key))
KeyError: 'Event(0x106b62828, s0=(1, 0), s1=(2, 1), p=(1, 0), type=2, slope=1.0)'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 598, in isect_segments_include_segments
    return isect_segments_impl(segments, include_segments=True)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 573, in isect_segments_impl
    sweep_line.handle(p, events_current)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 381, in handle
    self.handle_event(e)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 421, in handle_event
    if self.remove(e):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 343, in remove
    assert(event.in_sweep == False)
AssertionError
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
>>> isects = poly_point_isect.isect_segments_include_segments(segments)
Traceback (most recent call last):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 334, in remove
    self._events_current_sweep.remove(event)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 1279, in remove
    raise KeyError(str(key))
KeyError: 'Event(0x106b603a8, s0=(1, 0), s1=(2, 1), p=(1, 0), type=2, slope=1.0)'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 598, in isect_segments_include_segments
    return isect_segments_impl(segments, include_segments=True)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 573, in isect_segments_impl
    sweep_line.handle(p, events_current)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 381, in handle
    self.handle_event(e)
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 421, in handle_event
    if self.remove(e):
  File "/src/isect_segments-bentley_ottmann/poly_point_isect.py", line 343, in remove
    assert(event.in_sweep == False)
AssertionError
>>>

From testing higher precision numbers and looking into these issues further, I think this algorithm only works with quantized input.
I'd like to check on using cgal's method since its very robust, its roughly similar (uses a sweepline to track intersections) http://doc.cgal.org/latest/Sweep_line_2/index.html

What do you mean by quantized input?  What is the source of the non-determinism?

In line 418, event_set is
{
    Event(0x7f205de2c828, s0=(0, 0), s1=(2, 0), p=(0, 0), type=2, slope=0.0),
    Event(0x7f205de2cdc8, s0=(1, 0), s1=(2, 1), p=(1, 0), type=2, slope=1.0),
}

Or with reversed order.

#9 makes the behavior consistent, though it always asserts.  Is there a way to make it produce results?


Use dynamic rate interval

did you consider how other types of checks that we may use could be supported in the future ? like "ping" @avnes


memcached config: no index cache backend addresses (alertmanager, compactor, distributor, query frontend)

hi,
I upgraded to the latest helm chart version and at the same time moved from separately deployed memcached instances to the ones deployed as a subchart of the cortex helm chart (I wasn't sure initially if ArgoCD handles dependency deployments well).
When redeploying I encountered several components which weren't able to start up with the following error message:
error validating config: invalid TSDB config: no index cache backend addresses

As a result I added {{- include "cortex.memcached" . | nindent 12}} to the mentioned component deployments (or statefulsets).
I wasn't able to find a relevant change which would indicate the config validation behaviour changed between those cortex versions so I'm not sure if something is off with my deployment or if the helm chart is wrongly configured if you don't manually configured memcached.addresses settings.
I'm using blocks storage.
Cheers,
Michael

Hi,

As a result I added {{- include "cortex.memcached" . | nindent 12}} to the mentioned component deployments (or statefulsets).

I have no idea what you mean by that? You need to the following in your values.yml to enable memcached
tags:
  blocks-storage-memcached: true

Here is a guide we wrote on how to get a running starter config: https://cortexproject.github.io/cortex-helm-chart/guides/configure_memcached.html

Yes, that's what I have configured. The memcacheds get deployed as they should.
The configuration of memcached backend addresses is done using a helper. This helper is only included in some deployments/statefulsets (e.g. ingester) but not in e.g. alertmanager.
When alertmanager tried to start up it logged that error because the memcached backend address would not be configured. I don't think alertmanager uses it, but it seems that the validation is done regardless.
As a result I had to add the missing calls of the cortex.memcached helper to the deployments/statefulsets which didn't have it yet and errored (alertmanager, compactor, distributor, query frontend).
You don't have this error then? I do think it is weird but I don't see what could be wrong.

Aha! ok now I see why the linked configuration works. Because if you do it that way, the memcached.addresses setting is configured in the cortex configuration file.

Aha! ok now I see why the linked configuration works. Because if you do it that way, the memcached.addresses setting is configured in the cortex configuration file.

But that's interesting. I will check that alertmanager "error"

so my config is:
tags:
  # block storage memcached caching
  blocks-storage-memcached: true

# [...] stuff

    bucket_store:
      index_cache:
        backend: memcached
        memcached:
          timeout: 300ms
          max_idle_connections: 750
          max_async_concurrency: 100
          max_async_buffer_size: 10000000
          max_get_multi_concurrency: 750
          max_get_multi_batch_size: 1000
          max_item_size: 16777216
      chunks_cache:
        backend: memcached
        memcached:
          timeout: 300ms
          max_idle_connections: 750
          max_async_concurrency: 100
          max_async_buffer_size: 10000000
          max_get_multi_concurrency: 750
          max_get_multi_batch_size: 1000
          max_item_size: 33554432
      metadata_cache:
        backend: memcached
        memcached:
          timeout: 300ms
          max_idle_connections: 750
          max_async_concurrency: 100
          max_async_buffer_size: 10000000
          max_get_multi_concurrency: 750
          max_get_multi_batch_size: 1000
          max_item_size: 16777216

# one memcached as an example, the others are similarly configured

memcached-blocks-index:
  architecture: "high-availability"
  replicaCount: 2
  podDisruptionBudget:
    create: true
  resources:
    limits:
      memory: 1120Mi
      cpu: 1
    requests:
      memory: 256Mi
      cpu: 250m
  extraEnv:
    # -- MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage
    - name: MEMCACHED_CACHE_SIZE
      value: "1024"
    # -- MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service
    - name: MEMCACHED_MAX_CONNECTIONS
      value: "1024"
    # -- MEMCACHED_THREADS is the number of threads to use when processing incoming requests.
    # By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of
    # storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values.
    - name: MEMCACHED_THREADS
      value: "4"
  metrics:
    enabled: true
    resources:
      limits:
        cpu: 200m
        memory: 128Mi
    serviceMonitor:
      enabled: true

So I dropped the memcached address and backend type from my config and I do not get that error unfortunately. Nothing in the debug logs. This is also the first time that I heard about alertmanager using some sort of cache?!

Looking at this architecture pic this doesn't really make sense. Are you sure you are referring to the alertmanager pod?

So I dropped the memcached address and backend type from my config and I do not get that error unfortunately.

Hm so you also removed
      backend: memcached

from the cache configs?
That's not what I meant. The probably the only difference I have from your config is that I don't have the addresses in there (if you look at the config example I posted).

Looking at this architecture pic this doesn't really make sense. Are you sure you are referring to the alertmanager pod?

Yeah, it does not make sense to me either ;) I suspected it's some over-eager configuration validation issue of cortex.

So I dropped the memcached address and backend type from my config and I do not get that error unfortunately.

So you also removed
      backend: memcached

from the cache configs? That's not what I meant. The probably only difference I have from your config is that I don't have the addresses in there (if you look at the config example I posted).

Yep I removed both (backend:memcached and address:XXX since it's already set if you enable memcached (redundant unless they differ). See: https://github.com/cortexproject/cortex-helm-chart/blob/master/templates/_helpers.tpl#L88

Looking at this architecture pic this doesn't really make sense. Are you sure you are referring to the alertmanager pod?

Yeah, it does not make sense to me either ;) I suspected it's some over-eager configuration validation issue of cortex.

Can post the alertmanager log?

» k logs cortex-alertmanager-0
error validating config: invalid TSDB config: index-cache configuration: no index cache backend addresses

» k describe po cortex-alertmanager-0
Name:         cortex-alertmanager-0
Namespace:    cortex
Priority:     0
Node:         node-x/x.x.x.x
Start Time:   Wed, 05 Jan 2022 17:01:58 +0100
Labels:       app.kubernetes.io/component=alertmanager
              app.kubernetes.io/instance=cortex
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=cortex
              app.kubernetes.io/part-of=memberlist
              app.kubernetes.io/version=v1.11.0
              controller-revision-hash=cortex-alertmanager-886df7985
              helm.sh/chart=cortex-1.2.0
              statefulset.kubernetes.io/pod-name=cortex-alertmanager-0
Annotations:  checksum/config: 1afd802f8d7a348649e3933e900f903067ea5277a59c49e648eb7df1a4d57e02
              prometheus.io/port: 8080
              prometheus.io/scrape: true
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  StatefulSet/cortex-alertmanager
Containers:
  alertmanager:
    Container ID:  containerd://fcf6d8fc1345f6cc48f2873f062ad483a2a0c491f6657d4e4230e659e0adc3f1
    Image:         quay.io/cortexproject/cortex:v1.11.0
    Image ID:      quay.io/cortexproject/cortex@sha256:76330376bab515e09b0eca364bec8ccf437c411a790dbbe34bad9214ce263a0e
    Ports:         8080/TCP, 7946/TCP
    Host Ports:    0/TCP, 0/TCP
    Args:
      -target=alertmanager
      -config.file=/etc/cortex/cortex.yaml
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Wed, 05 Jan 2022 17:02:31 +0100
      Finished:     Wed, 05 Jan 2022 17:02:31 +0100
    Ready:          False
    Restart Count:  2
    Liveness:       http-get http://:http-metrics/ready delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:      http-get http://:http-metrics/ready delay=0s timeout=1s period=10s #success=1 #failure=3
    Startup:        http-get http://:http-metrics/ready delay=0s timeout=1s period=10s #success=1 #failure=10
    Environment:    <none>
    Mounts:
      /data from storage (rw)
      /etc/cortex from config (rw)
      /etc/cortex-runtime-config from runtime-config (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-wf2sb (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  storage:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  storage-cortex-alertmanager-0
    ReadOnly:   false
  config:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  cortex
    Optional:    false
  runtime-config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      cortex-runtime-config
    Optional:  false
  kube-api-access-wf2sb:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason                  Age                From                     Message
  ----     ------                  ----               ----                     -------
  Normal   Scheduled               53s                default-scheduler        Successfully assigned cortex/cortex-alertmanager-0 to node-x
  Normal   SuccessfulAttachVolume  41s                attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-e500e963-ae22-48be-ad46-30c82dfd314f"
  Normal   Pulled                  20s (x3 over 36s)  kubelet                  Container image "quay.io/cortexproject/cortex:v1.11.0" already present on machine
  Normal   Created                 20s (x3 over 36s)  kubelet                  Created container alertmanager
  Normal   Started                 20s (x3 over 35s)  kubelet                  Started container alertmanager
  Warning  BackOff                 13s (x6 over 34s)  kubelet                  Back-off restarting failed container

 Yep I removed both (backend:memcached and address:XXX since it's already set if you enable memcached (redundant unless they differ). See: https://github.com/cortexproject/cortex-helm-chart/blob/master/templates/_helpers.tpl#L88

ah, right. :+1:

Indeed if I run cortex main.go directly it errors with the exact same error message:
$ git checkout v1.11.0
$ go run cmd/cortex/main.go -target=alertmanager -config.file=cfg.yaml
error validating config: invalid TSDB config: index-cache configuration: no index cache backend addresses
exit status 1

I guess I'll open an issue at the main cortex project then.

Ok, I understood now why it works for you what didn't work for me: because I added backend: memcached without an address, it also failed for alertmanager because it also validated there if there are addresses. Even though it doesn't need memcached.
Ok. That sounds like a misconfiguration on my side, but it's really easy to make such a mistake..

Indeed if I run cortex main.go directly it errors with the exact same error message:
$ git checkout v1.11.0
$ go run cmd/cortex/main.go -target=alertmanager -config.file=cfg.yaml
error validating config: invalid TSDB config: index-cache configuration: no index cache backend addresses
exit status 1

Not sure if I should open an issue with the main cortex project or not.

Hmm odd but yeah please do open an Issue over there. Now I'm curious :)

Ok, I understood now why it works for you what didn't work for me: because I added backend: memcached without an address, it also failed for alertmanager because it also validated there if there are addresses. Even though it doesn't need memcached.
Ok. That sounds like a misconfiguration on my side, but it's really easy to make such a mistake..

Okay yeah that's confusing. But as I understand it, it doesn't actually do any harm right?

yeah exactly.
I'm going to open a feature request for this at the cortex project and see what maintainers think about this issue :)
Thanks for your help, closing this issue then.


Investigate if we can run whole PipelineRun in a Pod

When discussing Design doc: Task parallelism when using workspace this may be a viable option.
Feature request
Execute whole PipelineRun in a Pod. This would eliminate all problems with Kubernetes Persistent Volumes. This can "almost" be done today, by only using a single Task. But it would be good to also be able to reuse/compose tasks e.g. from the catalog and to run Tasks in parallel (steps can currently only run in a sequence). E.g. Task Results must be implemented differently.
A new limitation is that only one ServiceAccount can be used.
Use case
To avoid the problems with using Kubernetes Persistent Volumes for sharing files between Tasks
Related to
https://github.com/tektoncd/pipeline/issues/3052

Closing this in favor of the linked TEP

Closing this in favor of the linked TEP


Not work for SVG.js 3.x

Update SVG.js to 3.x?

The package compatible to v3 is @svgdotjs/svg.draw.js


Fatal error: Class 'Zend\ServiceManager\AbstractPluginManager' not found in D:\XAMPP\htdocs\sn\zend-mail\vendor\zendframework\zend-mail\src\Protocol\SmtpPluginManager.php on line 20

Fatal error: Class 'Zend\ServiceManager\AbstractPluginManager' not found in D:\XAMPP\htdocs\sn\zend-mail\vendor\zendframework\zend-mail\src\Protocol\SmtpPluginManager.php on line 20

For the SMTP functionality you must install the zend-servicemanager. The service manager is not strictly required for zend-mail and basic mail creation and sending. Therefore it is listed as suggested package.
Install:
$ composer require zendframework/zend-servicemanager

The note is also given by Composer after installing zend-mail.
https://github.com/zendframework/zend-mail/blob/ece418b37aaf8a98c991d7f0c198408043a2172d/composer.json#L34-L37

Duplicate of #62

well. the code could give appropriate exception:
throw new \RuntimeException("This functionality requires Zend ServiceManager, to install invoke: composer require zendframework/zend-servicemanager");

this is how Symfony does it. uncaught exception leads to believe there's a bug.

@glensc
This kind of exception can also help in other components!
It would be great, if can add this idea to the maintainers repository as a new issue report.

@froschdesign
I would prefer having satellite packages with the next major version of those packages instead of having an exception like this.
Satellite packages would also ensure proper version requirements as just the pure existence of the package probably wont make this work.
Sure, one could add a conflict aswell but I still like satellite packages over exceptions.
But for existing packages like this, an exception would be ofc a suitable solution

@boesing
Please add your ideas and suggestions to the maintainers repository because this issue is closed and any further comments will be forgotten.


New Effects

This issue is for discussing the ideas of new instrument effects in Midbox.

Had this idea while experimenting with it earlier.
Static-ify
A slider that slowly adds more and more "static" to the instrument, until all the way to the right, at which it is almost completely noise.


Enhancement Adding or dropping columns without data rewriting in share data mode

This PR is part of the PR stack to support fast schema evolution in share data mode.
Why I'm doing:
In the current implementation, adding or dropping a column requires a rewrite of all the data in the table. This can take a very long time when the table's dataset is very large, i.e. or, adding or dropping a column can take a very long time to take effect.
What I'm doing:
Instead of rewriting all the data when adding or dropping a column, only the tablet schema and the table schema in FE are updated.
The overall workflow to add or drop a column is as follows:

Begin a new transaction
Send TUpdateTabletMetaInfoReq requests to all tablet in the table
Get the new tablet schema from the TUpdateTabletMetaInfoReq and writes it to the txn log for each tablet
Commit transaction
Send PublishVersionRequest requests to all tablets
Apply txn log on each tablet to create a new version of the tablet metadata with the new tablet schema.
Modify the table schema and visible version in the FE catalog
Finish the transaction

What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@Mergifyio rebase

@Mergifyio rebase

@Mergifyio rebase

@kangkaisen @Seaven @HangyuanLiu Please take a look at the part of fe/fe-core/src/main/java/com/starrocks/sql/ast

@wyb @meegoo Please take a look at the part related to load-unload.

@Mergifyio backport branch-3.3


Eye viewport overlap

Thanks for the awesome polyfill!!
Platform Samsung Galaxy S6, Chrome 50 and Samsung Browser

Works correctly on v0.9.15 breaks on v1.0.0. (Samsung browser)
Reproducible in Chrome 50 as well. (Thanks for getting it working in Chrome in v1.0.0 :D)

Could you link to a reduced test case?
On Fri, Jul 1, 2016 at 5:16 AM Ada Rose Edwards<EMAIL_ADDRESS>wrote:

Thanks for the awesome polyfill!!
Platform Samsung Galaxy S6, Chrome 50 and Samsung Browser
[image: screenshot_20160701-131420]
https://cloud.githubusercontent.com/assets/4225330/16521253/94250cbc-3f8d-11e6-984f-b9ea01acb880.png
Works correctly on v0.9.15 breaks on v1.0.0. (Samsung browser)
Reproducible in Chrome 50 as well. (Thanks for getting it working in
Chrome in v1.0.0 :D)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/borismus/webvr-polyfill/issues/133, or mute the
thread
https://github.com/notifications/unsubscribe/AAQ8gI7zKa-MtrUPWVS1-bGzilyt4GsCks5qRQUvgaJpZM4JDF2a
.

Are you finding any matches in the local dpdb? There are a few Samsung Galaxy models in there. If not, adding new device parameters I'm hoping will work, but we may need to do more than just matching UA strings (more info in this issue for the Galaxy S6)

Moving Samsung resolution handling to fix incorrect distortions to https://github.com/googlevr/cardboard-vr-display/issues/7


Support all remaining Preview parameters except device, wallpaper, showSystemUi

#167  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rbro112 and the rest of your teammates on  Graphite


Wiki not routable if file name consists of spaces.

Gitea version: 1.11.3
Git version: 2.25.1
Operating system: Ubuntu 18.04
Database:

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant

Log gist:
Irrelevant

Description
Hey,
So I've encountered the issue few versions back where one of wiki files I had wasn't opening for me in the web browser. When I was clicking it - I was being redirected to the main page of the project's wiki. I left it for few months to sit there in hopes that it would get fixed eventually with some new version.
There were no error logs, at least not ones that would tell me right away what was wrong.
I've cloned the wiki by cloning the project-name.wiki.git repo. I've noticed then that the file in question was named something like some file name.md with spaces while all other files were hyphenated.
I've moved the file with git and added hyphens and it started working right away.
I'm not sure how this happened and when it stopped working as we weren't really checking out those wiki page in ages. Maybe it was imported from gogits.
Is there anything that can be done about it? Is this a problem with gitea or with my webserver?
What if someone creates a file manually in the wiki by committing it with name containing spaces - that would for sure break again. It's more convenient for me to edit wiki files directly in the repo, so I'm sure some people would like to do that as well.
Sorry for the lengthy message.
Cheers,
Furai

Actually, I've reproduced it on try.gitea.io
https://try.gitea.io/Furai/test-repository/wiki/_pages
Here you can see test and test test wiki pages. The latter one won't open.

Just in case others get confused like me, this is not related to links inside the wiki content, but the page listing generated by Gitea.

It should have been fixed by https://github.com/go-gitea/gitea/pull/24143
But, you need to enter the titles in Web UI, Gitea has its own naming rules.


Can't scan if scan 1 second earlier.

As per subject, why it happen? It suddenly not scanning at all if 1 second earlier. If more than 1 second, it scan successfully.

Hi, I'm sorry I don't understand your problem. Can you be more precise?

Your latest update seems fixed the issue. Thanks !!