Build problem on Windows 10.

Hi,
I'm trying to install the av module on Windows 10 (Python 3.7).
I downloaded the ffmpeg shared and dev packages to C:\ffmpeg. If i do python setup.py build --ffmpeg-dir=C:\ffmpeg it cant find the ffmpeg libraries (I get the 'avformat_open_input' missing Error). But if i do python setup.py reflect --force --debug --ffmpeg-dir=C:\ffmpeg it does find them. If i do the build again after, it works but if i want to use the package i get following Error:
import av
File "C:/Users/Roman/Documents/python skripts/PyAV-develop\av\__init__.py", line 9, in <module>
    from av._core import time_base, pyav_version as __version__
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

The error is roughly "The specified module was not found.", right?
Anyone here with experience building on Windows have an idea?

We could try and give appveyor a shot to add Windows to CI. I noticed ffmpeg provides binary builds of ffmpeg for Windows, which is a relief as I didn't fancy building from source.

AppVeyor is there, but I've been so hands-off the Windows side of things it is kinda funny.

I'm closing due to lack of feedback from original poster. Open this back up if you're still struggling.

I had the same problem on Win10 with ffmpeg 4.0.2.
I've reinstalled av with --ffmpeg-dir pointing to ffmpeg 3.2.4 and it works.

I faced with the same issue on Windows 10. My solution that helped me - add to PATH environment variable a path to FFMpeg's bin folder - like ...\ffmpeg-3.2.4-win32-dev\bin (where DLLs placed).

I faced with the same issue on Windows 10. My solution that helped me - add to PATH environment variable a path to FFmpeg's bin folder - like ...\ffmpeg-3.2.4-win32-dev\bin (where DLLs placed).

Just to add to the above, restart the computer once for the ENVIRONMENT variables to reflect

Windows 10（Python 3.8） I have same question. I'm sure added PATH.
Anyone can help?

ENVIRONMENT has taken effect.

I fix it.
Use python 3.7 instead 3.8.

I fix it
Uninstall av==9.1.1, install av==9.1.0


svg images with white font

While implementing the new readme, and adding one of the amazing svg images we have to explain Rubrix, and as a dark mode Github user, I came across this:

Is it possible to make it a png-like background, or we stick to the light mode approach?

Seems they are working on this feature: https://docs.rubrix.ml/en/latest/references/api_reference.html
I would say we stick to the white version, even if it looks a bit off in dark mode. @Amelie-V Or is there an easy fix for this image to look great regardless of light/dark mode?

I would also say we stick with the white version, as:

we do not have control over dark mode in github,
I am not sure how to have a single-version which works well in github
dark-mode, github light mode and our white docs
and for maintenance reasons (not having to update two versions of
the diagram)

Unless @Amelie-V https://github.com/Amelie-V  has a great suggestion
which is easy to implement. I am using draw.io and I could share the main
project with the team if interested, I have many more of this sort of
explanation diagrams for the Use cases which I will be including as soon as
possible.
Daniel Vila Suero
CEO & Co-founder
Tel: +34 679120675
www.recogn.ai
http://www.recogn.ai/
[image: Recognai Twitter] https://twitter.com/recogn_ai [image: Recognai
Linkedin] https://www.linkedin.com/company/recognai/
On Wed, 19 May 2021 at 12:36, David Fidalgo @.***>
wrote:

Seems they are working on this feature:
https://docs.rubrix.ml/en/latest/references/api_reference.html
I would say we stick to the white version, even if it looks a bit off in
dark mode. @Amelie-V https://github.com/Amelie-V Or is there an easy
fix for this image to look great regardless of light/dark mode?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/recognai/rubrix/issues/54#issuecomment-843972602, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIOJJYYQ4ESUFE2TAVISNLTOOH37ANCNFSM45EKGTQA
.

mmm maybe we can check if draw.io allows transparent .png?

Yes, I could export it as transparent .png to do the test but I guess we'll
have a contrast issue with dark blue and black background. Maybe is a
matter of changing the dark blue main colour to the pink one?
I'll export one and share it with you to discuss it
Daniel Vila Suero
CEO & Co-founder
Tel: +34 679120675
www.recogn.ai
http://www.recogn.ai/
[image: Recognai Twitter] https://twitter.com/recogn_ai [image: Recognai
Linkedin] https://www.linkedin.com/company/recognai/
On Wed, 19 May 2021 at 13:29, Amelie-V @.***> wrote:

mmm maybe we can check if draw.io allows transparent .png?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/recognai/rubrix/issues/54#issuecomment-844012350, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIOJJ6IRN3T3QPDSVQOL33TOOOIFANCNFSM45EKGTQA
.

Well, I think this can be closed, as we already updated the images to transparent font. Closing it, reopen if we need to discuss something 😄


PBR dosen't work properly

I used PBR on viro 1.03
but I think it dosn't work properly on 1.04 even sample code at https://virocore.viromedia.com/v1.4.0/docs/physically-based-rendering
Am I wrong? or 1.04 has some bug?

Hi @jungmal, we just re-tested and found the example is working on our devices. Could you show us the code you're using. Also, I've added a link to the HDR image used in the example. This image must be placed in your app's assets folder for it to load properly. You can find the image here.

I used same code and HDR file, but rendered objects are different.

This is ViroARHelloWorldActivity.java code of each projects.
pbr_err.zip
`
public void onRendererStart() {
// Create the 3d ar scene, and display the point clouds.
mScene = new ARScene();
mScene.displayPointCloud(true);
    // Create an TrackedPlanesController to visually display tracked planes
    TrackedPlanesController controller = new TrackedPlanesController(this, mViroView);

    // Spawn a 3D Droid on the position where the user has clicked on a tracked plane.
    controller.addOnPlaneClickListener(new ClickListener() {
        @Override
        public void onClick(int i, Node node, Vector clickPosition) {
            createDroidAtPosition(clickPosition);
        }

        @Override
        public void onClickState(int i, Node node, ClickState clickState, Vector vector) {
            //No-op
        }
    });

    mScene.setListener(controller);
    mViroView.setScene(mScene);

    Node rootNode = mScene.getRootNode();

    List<Vector> lightPositions = new ArrayList<Vector>();
    lightPositions.add(new Vector(-10,  10, 1));
    lightPositions.add(new Vector(10,  10, 1));
    lightPositions.add(new Vector(-10, -10, 1));
    lightPositions.add(new Vector( 10, -10, 1));

    float intensity = 300;
    List<Integer> lightColors = new ArrayList<Integer>();
    lightColors.add(Color.WHITE);
    lightColors.add(Color.WHITE);
    lightColors.add(Color.WHITE);
    lightColors.add(Color.WHITE);

    for (int i = 0; i < lightPositions.size(); i++) {
        OmniLight light = new OmniLight();
        light.setColor(lightColors.get(i));
        light.setPosition(lightPositions.get(i));
        light.setAttenuationStartDistance(20);
        light.setAttenuationEndDistance(30);
        light.setIntensity(intensity);
        rootNode.addLight(light);
    }

    Texture environment = Texture.loadRadianceHDRTexture(Uri.parse("file:///android_asset/environment.hdr"));
    mScene.setLightingEnvironment(environment);
}

`
`
private void createDroidAtPosition(Vector position){
// Create a droid on the surface
final Bitmap bot = ViroHelper.getBitmapFromAsset(this, "andy.png");
final Object3D object3D = new Object3D();
object3D.setPosition(position);
mScene.getRootNode().addChildNode(object3D);
    // Load the Android model asynchronously.
    object3D.loadModel(Uri.parse("file:///android_asset/andy.obj"), Object3D.Type.OBJ, new AsyncObject3DListener() {
        @Override
        public void onObject3DLoaded(final Object3D object, final Object3D.Type type) {
            // When the model is loaded, set the texture associated with this OBJ.
            Texture objectTexture = new Texture(bot, Texture.Format.RGBA8, false, false);
            Material material = new Material();
            material.setDiffuseTexture(objectTexture);
            material.setRoughness(0.23f);
            material.setMetalness(0.7f);
            material.setLightingModel(Material.LightingModel.PHYSICALLY_BASED);
            object3D.getGeometry().setMaterials(Arrays.asList(material));
        }

        @Override
        public void onObject3DFailed(String s) {
        }
    });

    // Make the object draggable.
    object3D.setDragListener(new DragListener() {
        @Override
        public void onDrag(int i, Node node, Vector vector, Vector vector1) {
            // No-op.
        }
    });
    object3D.setDragType(Node.DragType.FIXED_DISTANCE);
}

`

Hi @jungmal, I recreated your scene and the results look correct, they resemble your "1.3" screenshot with PBR rendering working. I added PBR to the Hello World AR sample directly, so you can try it out yourself if you pull the latest AR code samples.
If your results still resemble the non-PBR version, then it may be an issue with the way our PBR renderer is working with your device and GPU. In that case, can you send us the name of the device you're using (e.g. Galaxy 8, Pixel 1), etc, and the version of the Android OS installed? Additionally, can you send us the GPU type? Viro reports the GPU type in the logs, a line like the following will be printed when you create a ViroARCoreView:
GPU vendor [XYZ], renderer [XYZ]

Thanks!

Hi @radvani. Unfortunately, PBR still dosen't work.
I'm using Galaxy S8(SM-G950N) and Android OS version is 7.0.
GPU type in the log is

03-06 15:48:41.777 11072-11089/com.example.virosample I/Viro: GPU vendor [ARM], renderer [Mali-G71]

Hi @jungmal, we've identified the issue and this will be fixed with a forthcoming minor update.

@jungmal this issue has been fixed in ViroCore 1.4.1, you can find release notes and upgrade instructions here -> https://virocore.viromedia.com/docs/releases#virocore-v141


 Thus, while all paths through the CFG should end with an exit instruction, it is not necessarily the last instruction.

Coverage decreased (-0.009%) to 96.671% when pulling 59eac072cd9aa7185a9a5b985cf25170a3427a5c on pchaigno:negative-jump-offsets-allowed into 10e0a45b11ea27696add38c33e24dbc631caffb6 on iovisor:master.


Fix test_default_backward

Fix #4287

jenkins, test this please.

Jenkins CI test (for commit b692ceb0193f387cde9da575392c479749802a22) succeeded without errors!

LGTM!


Prepare for v0.0.1 release

Prepare for v0.0.1 release

Resolve issue with operator metrics spewing warning messages
OLM generation

LGTM


Document flush endpoint

Document requirement to flush the index after indexing documents.

Thanks for your contribution @otrosien !


Ways to get ICMP to work

First of all, I apologize if this is not the right place to ask questions, as I'm not sure where is the best place to do so.
After some digging, on MacOS, it seems the only way to get ICMP to work with QEMU is to use a tap with a bridged network. This requires root access plus a no longer supported tuntap network extension.
So I'm wondering if lima would be able to support a networking mode that would overcome this limitation?
I've tried vde vmnet with both the normal and bridge mode, neither seems to make a difference.
The reason I'm asking is, tools like gradle would fail requests with network unreachable when ICMP is blocked, and this is a show stopper for our usage.
Any input to workaround this issue is appreiciated.

What does HyperKit do for ICMP?

What does HyperKit do for ICMP?

Hyperkit itself does not do networking at all. Applications normally combine it with vpnkit (also a docker component, like hyperkit), or use the vmnet framework (from Apple) to provide networking functionality.
@jrmuizel Why do you ask? Do you have a working setup based on hyperkit, that supports ICMP? Can you share any details about how it is configured?

@jrmuizel Why do you ask? Do you have a working setup based on hyperkit, that supports ICMP? Can you share any details about how it is configured?

No, just Docker for Mac which it sounds like is using vpnkit

Docker for Mac which it sounds like is using vpnkit

Yes, it is. vpnkit is only partially open-source, so it is not an option for Lima.
Also (like hyperkit) it is written in OCaml, which most people don't understand, so it would be hard to maintain/debug.
I still hope that it will be possible to support icmp in bridged mode with vde_vmnet.

Just an update, I'm playing with this patch<EMAIL_ADDRESS>I wasn't able to get the bridge mode working, but the shared mode works, and I think it is potentially okay to run without root if the binary can be signed properly.
Just wondering how this would differ from the vde vmnet driver lima is integrating with tho.

I'm playing with this patch

I think it is potentially okay to run without root if the binary can be signed properly.

Apple doesn't allow signing a binary with com.apple.vm.networking entitlement.
They say This entitlement is restricted to developers of virtualization software. To request this entitlement, contact your Apple representative.
https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_vm_networking

Just wondering how this would differ from the vde vmnet driver lima is integrating with tho.

Explained in https://github.com/lima-vm/vde_vmnet/tree/v0.5.0#how-is-vde_vmnet-related-to-qemu-builtin-vmnet-support

How is vde_vmnet related to QEMU-builtin vmnet support?
There are proposal to add builtin vmnet support for QEMU:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
However, QEMU-builtin vmnet is highly likely to require running the entire QEMU process as root.
On the other hand, vde_vmnet does not require the entire QEMU process to run as root, though vde_vmnet has to run as root.

Thank you @AkihiroSuda for the detailed response,

I think it is potentially okay to run without root if the binary can be signed properly.

Apple doesn't allow signing a binary with com.apple.vm.networking entitlement.
They say This entitlement is restricted to developers of virtualization software. To request this entitlement, contact your Apple representative.

Ah, evil Apple strikes again...

https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_vm_networking

Just wondering how this would differ from the vde vmnet driver lima is integrating with tho.

Explained in https://github.com/lima-vm/vde_vmnet/tree/v0.5.0#how-is-vde_vmnet-related-to-qemu-builtin-vmnet-support

How is vde_vmnet related to QEMU-builtin vmnet support?
There are proposal to add builtin vmnet support for QEMU:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
However, QEMU-builtin vmnet is highly likely to require running the entire QEMU process as root.
On the other hand, vde_vmnet does not require the entire QEMU process to run as root, though vde_vmnet has to run as root.

That makes a lot of sense, I'm all in favor of having it as a separate process and run it with less privileges, the only issue right now is the current vde_vmnet implementation does not seem to offer the required functionality, i.e. ICMP.
It would be wonderful if we could achieve feature parity with vde_vmnet. Until then, I'm still blocked of using lima, which is unfortunate.

podman also seems to have working icmp. What does it use?

it looks like podman uses gvproxy
ref: https://github.com/containers/podman/blob/main/docs/tutorials/mac_experimental.md#using-podman-machine-on-macos-x86_64-and-apple-silicon

ICMP in gvproxy is broken. It is just the virtual gateway that answers to all messages. The only place I know it works, it's in vpnkit.

Hi, has something changed in the meantime?

I just installed 0.4.3 on macOS 12.4 (Intel)
I removed my previous files (rm -rf ~/.colima ; rm -rf ~/.lima).
Previous versions I got fantasy times when pinging services:

❯ docker run --rm library/alpine ping -c1 repo.XXX
PING repo.XXX (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=254 time=2130363.442 ms

--- repo.XXX ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 2130363.442/2130363.442/2130363.442 ms

Now it looks more reasonable:

❯ docker run --rm library/alpine ping -c4 repo.XXX
PING repo.XXX (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=63 time=0.403 ms
64 bytes from <IP_ADDRESS>: seq=1 ttl=63 time=0.983 ms
64 bytes from <IP_ADDRESS>: seq=2 ttl=63 time=1.253 ms
64 bytes from <IP_ADDRESS>: seq=3 ttl=63 time=0.898 ms

--- repo.XXX ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.403/0.884/1.253 ms

I think colima is using gvproxy, which might explain why ping works for it on macOS.
I've tested it again now (with Lima 0.12, on both Ubuntu and Alpine), and ping works fine on Linux (always has, afaik) and continue to be broken on macOS.
This is user-mode networking from qemu (slirp), so not related to VMNET at all.
Given that it works fine on Linux I think it should be possible to fix this in qemu for macOS as well, but don't have time to look into.
Linux
jan@localhost:~> limactl shell default ping -c 3 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=255 time=8.32 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=255 time=8.16 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=255 time=7.73 ms

--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 7.728/8.069/8.324/0.250 ms
jan@localhost:~> limactl shell alpine ping -c 3 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=42 time=9.213 ms
64 bytes from <IP_ADDRESS>: seq=1 ttl=42 time=8.765 ms
64 bytes from <IP_ADDRESS>: seq=2 ttl=42 time=7.774 ms

--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 7.774/8.584/9.213 ms

macOS
$ limactl shell default ping -c 3 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
ping: Warning: time of day goes back (-3022297129608106255us), taking countermeasures
ping: Warning: time of day goes back (-3022297129608106142us), taking countermeasures
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=0.000 ms
wrong data byte #16 should be 0x10 but was 0x0
#16	0 4 0 1 b2 b3 23 63 0 0 0 0 9 74 3 0 0 0 0 0 10 11 12 13 14 15 16 17 18 19 1a 1b
#48	1c 1d 1e 1f 20 21 22 23
ping: Warning: time of day goes back (-2126080803760374706us), taking countermeasures
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=0.000 ms (DUP!)
wrong data byte #16 should be 0x10 but was 0x0
#16	0 4 0 2 b3 b3 23 63 0 0 0 0 78 7f 3 0 0 0 0 0 10 11 12 13 14 15 16 17 18 19 1a 1b
#48	1c 1d 1e 1f 20 21 22 23
ping: Warning: time of day goes back (-1097852713835345139us), taking countermeasures
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=0.000 ms (DUP!)
wrong data byte #16 should be 0x10 but was 0x0
#16	0 4 0 3 b4 b3 23 63 0 0 0 0 bc 8c 3 0 0 0 0 0 10 11 12 13 14 15 16 17 18 19 1a 1b
#48	1c 1d 1e 1f 20 21 22 23

--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 1 received, +2 duplicates, 66.6667% packet loss, time 2006ms
rtt min/avg/max/mdev = 0.000/0.000/0.000/0.000 ms, pipe 4
$ limactl shell alpine ping -c 3 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=42 time=686944.898 ms
64 bytes from <IP_ADDRESS>: seq=0 ttl=42 time=687950.062 ms (DUP!)
64 bytes from <IP_ADDRESS>: seq=0 ttl=42 time=688950.704 ms (DUP!)
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 1 packets received, 2 duplicates, 66% packet loss
round-trip min/avg/max = 686944.898/687948.554/688950.704 ms

👋 I ran into similar issue in another OS running on top of QEMU and have submitted a fix to libslirp. I think the patch also fixes this Lima's issue. Hope it helps.

$ limactl shell default ping -c 3 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
ping: Warning: time of day goes back (-3022297129608106255us), taking countermeasures
ping: Warning: time of day goes back (-3022297129608106142us), taking countermeasures
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=0.000 ms
wrong data byte #16 should be 0x10 but was 0x0
#16	0 4 0 1 b2 b3 23 63 0 0 0 0 9 74 3 0 0 0 0 0 10 11 12 13 14 15 16 17 18 19 1a 1b
#48	1c 1d 1e 1f 20 21 22 23

I built libslirp-master the other day and was pleased to see ping is now fixed in Lima.

@nuta , @DesktopECHO - I have upgraded Lima to version 19.0.1. However, the issue persists despite merging the new fix on libslirp. Could you please guide me on building libslirp on my current Ubuntu vm? thanks


[Feature Request] Supports workspaces and var files

Thank you for creating a great tool.
This tool allows you to specify directories using dir, from_dir, and to_dir.
But that doesn't work if you want to specify a workspace.
For example, this would be the case if you want to terraform workspace select hogehuga for each directory.
$ terraform init -reconfigure
$ terraform workspace select workspace1 # I want to add this operation
$ terraform state pull > tmp.tfstate

# switch backend to local ...

$ terraform init -reconfigure
$ terraform state mv -state=tmp.tfstate aws_security_group.foo aws_security_group.foo1
$ terraform plan -state=tmp.tfstate -detailed-exitcode

# switch backend to remote ...

$ terraform init -reconfigure
$ terraform workspace select workspace1 # I want to add this operation too
$ terraform state push tmp.tfstate

It would be nice to have the option to specify workspace and var_file for each type, but what do you think?
example
migration "state" "test" {
  dir = "dir1"
  workspace = "workspace1"
  var_file = "./variable. tfvars"
  actions = [
    "rm aws_security_group.baz",
  ]
}

migration "multi_state" "mv_dir1_dir2" {
  from_dir = "dir1"
  from_workspace = "workspace1"
  to_dir = "dir2"
  to_workspace = "workspace2"
  actions = [
    "mv aws_security_group.foo aws_security_group.foo2",
    "mv aws_security_group.bar aws_security_group.bar2",
  ]
}

It's okay for me to create a pull request by me and check it to decide whether or not to adopt a new feature.

@takanakahiko Thank you for the proposal!
Adding workspace and variable file support is ok because they are common use-case for Terraform, but, I don't use them in my work, so I'm not sure what is the best design for refactoring tfstate with the workspace model.
If my understanding is correct, using workspace has a single configuration and multiple states. Workspaces are usually related to environments such as prod, test and dev, a configuration change will be applied in a workflow for each environment.
When we want to rename a resource in configuration, we should move the resource in all states. Wouldn't it be better to apply one migration to all workspaces in each workflow? The workspace model enforces us exactly equal configurations across workspaces. I don't think it makes sense to apply migration only to some workspaces. I think a migration should correspond to a configuration, and switching workspaces should be implemented by changing the execution environment not to declare it in the migration.
If so, we can automatically select workspace in each workflow with an environment variable TF_WORKSPACE and switch variable files with TF_CLI_ARGS_name.
https://learn.hashicorp.com/tutorials/terraform/automate-terraform#multi-environment-deployment
https://www.terraform.io/docs/commands/environment-variables.html#tf_cli_args-and-tf_cli_args_name
What do you think of it?

@minamijoyo Thank you for your reply!
For example, what I want to do is support for the following use cases:
I want to define ec2, which was managed in different directories called prod and dev, in commonized.
In that case, I thought it was necessary to transfer resources between workspaces.

us/ (workspace: us)

ec2.tf

tokyo/ (workspace: tokyo)

ec2.tf

commonized/

ec2.tf
variables-us.tfvars (workspaces: commonized-us )
variables-tokyo.tfvars (workspaces: commonized-tokyo )

# us/ec2.tf

provider "aws" {
  region = "us-west-2"
}

resource "aws_instance" "web-us" {
  ...
  tags = {
    Name = "HelloUS"
  }
}

# tokyo/ec2.tf

provider "aws" {
  region = "ap-northeast-1"
}

resource "aws_instance" "web-tokyo" {
  ...
  tags = {
    Name = "HelloTokyo"
  }
}

# commonized/ec2.tf

provider "aws" {
  region = "${var.region}"
}

resource "aws_instance" "web" {
  ...
  tags = {
    Name = "${var.name}"
  }
}

# commonized/variables-us.tfvars
region = "us-west-2"
name = "HelloUS"

# commonized/variables-tokyo.tfvars
region = "ap-northeast-1"
name = "HelloTokyo"

The need to apply the migration to only some workspaces is in the following areas:
In the process of refactoring, it is a unified process that the naming is not unified.
In this example, it is the case of the following migration

"aws_instance.web-us" of us -> "aws_instance.web" of commonized-us
"aws_instance.web-tokyo" of tokyo -> "aws_instance.web" of commonized-tokyo

The migration file looks like this.
migration "multi_state" "mv_us" {
  from_dir = "us"
  from_workspace = "us"
  to_dir = "commonized"
  to_workspace = "commonized-us"
  to_varfile = "./variables-us.tfvars"
  actions = [
    "mv aws_instance.web-us aws_instance.web",`
  ]
}

migration "multi_state" "mv_tokyo" {
  from_dir = "tokyo"
  from_workspace = "tokyo"
  to_dir = "commonized"
  to_workspace = "commonized-tokyo"
  to_varfile = "./variables-tokyo.tfvars"
  actions = [
    "mv aws_instance.web-tokyo aws_instance.web",`
  ]
}

I think using TF_WORKSPACE or TF_CLI_ARGS_name is a very smart way to do it.
But at this point, I don't know how difficult it is to implement.
After confirming the implementation of tfmigrate, we propose the implementation.

@takanakahiko Thank you for sharing your use-case! It looks like merging multiple root modules (directories) into a single root module (directory) with workspaces. I understood in such case it's useful moving a state across workspaces.
When I wrote the above comment, I was looking for the best solution for supporting workspace. However, I read lots of issues around the workspace feature and reached a conclusion that there is no single solution to meet all use-cases. I can imagine someone may want to merging and splitting workspaces, at the same time others may want to renaming resource in all workspaces.
We have two options, but I think they actually doesn't conflict with each other.
(1) one migration file per one workspace:
Explicitly define workspace name (and variable file) in a migration file. This is exactly what you proposed.

pros: Declarative and flexible. It allows us a fine-grain control.
cons: It requires duplicated copy migration files if we want to apply the migration to all workspaces. It may be boring, but not so difficult.

(Note for me): I'm working on a migration management feature in #2, which will allow us to apply all unapplied migrations. In your use-case, it doesn't a matter. However, If deployment pipelines and stages are separated with each workspace, we cannot apply all at once. A possible workaround is split migration file directories and history files per workspace. This means a path of setting file for tfmigrate can be passed from a command line argument.
(2) one migration file per one root module
Implicitly apply a migration file to the current workspace. This is what I commented the above.

pros: Simple and consistent. Enforce exactly the same migration to all workspaces. It will probably easily support for history management because all we need to do is splitting a history file per workspace.
cons: Some operations require different arguments, for example importing resource requires identifiers which may be different values across workspaces. If we want to support it a consistent way, we probably need to introduce a local variable and an expression in a migration file. It's not impossible, but it will add complexity.

I assumed using TF_WORKSPACE and TF_CLI_ARGS_name would work with the current implementation as it was, but it was wrong. When switching a remote backend to local, Terraform also requires the same workspace for local. Apparently we don't have it, it causes an initialization error. We probably need to create a temporary workspace in local. This problem also affects (1), so when (1) is implemented, I think we will get (2) for free (except importing.)
To sum up  the above, I think your proposal, that is, adding from_workspace/to_workspace and from_varfile/to_varfile attributes to a migration file format, looks reasonable and acceptable, but I'm not sure how to implement it, we will need to find a way to switching backend to local with workspace.

@takanakahiko I studied how to integrate workspace with tfmigrate and found that there are some limitations we should consider:

terraform workspace select command returns an error if a given workspace doesn't exist.
When switching backend to local, terraform init -reconfigure automatically selects the current workspace, but it returns an error if the workspace doesn't exist in local. However, we cannot run terraform workspace new before terraform init. It's a chicken and egg problem.
When TF_WORKSPACE is exported, we cannot select other workspace, the environment variable takes precedence over an argument. The current implementation of tfmigrate can set per directory, not per command execution. This means we should not use TF_WORKSPACE.
The local backend always has default workspace. So we should select default workspace before switching backend to local.
A name of the currently selected workspace can be referred as ${terraform.workspace} interpolation in configurations, so we cannot always use default workspace for a temporary workspace, we should also use the exactly same workspace name in local, so we need to create a temporary workspace and delete it when rollback.
Using workspace with the local backend creates terraform.tfstate.d directory, we should also delete it when rollback.
The currently selected workspace is internally recorded in .terraform/environment file, it depends on which computer and when runs tfmigrate command. This means we cannot implicitly assume the initial workspace to default or the workspace attribute in a migration file. We should save an initial workspace before explicitly selecting the workspace and restore it even if tfmigrate fails.

With the above in mind, an implementation probably looks like the following:

Save an initial workspace
Select a given target workspace
Pull the current state from remote
Select default workspace
Switch backend to local
Create a temporary workspace in local with the same name
Compute a new state with some state operations
Check plan with a given variable file
Select default workspace
Delete the temporary workspace
Switch backend to remote
Select the target workspace
Push the new state to remote
Restore the initial workspace

To do this, we probably need to implement the following:

Add terraform workspace show, new, and delete commands to tfexec.TerraformCLI
Extend tfexec.terraformCLI.OverrideBackendToLocal() and tfmigrate.setupWorkDir() to support workspace switching
Add workspace attribute to tfmigrate.StateMigrator, fromWorkspace and toWorkspace to tfmigrate.MultiStateMigrator, and also add them to config.StateMigratorConfig and config.MultiStateMigratorConfig
Pass the workspace to tfmigrate.setupWorkDir().
Add varfile attribute to tfmigrate.StateMigrator, fromVarfile and toVarfile to tfmigrate.MultiStateMigrator, and also add them to config.StateMigratorConfig and config.MultiStateMigratorConfig
Pass the varfile to tfexec.TerraformCLI.Plan()

I think it will require other minor changes, but the grand design is not so wrong.

Thank you for your reply!
I'm too busy to take time, so I'll reply if I can afford it. :bow:

Hey @minamijoyo, any plan to support workspaces in the foreseeable future? I see that as being the missing piece to this otherwise awesome tool.

Hi, @Gowiem. Thank you for your feedback!
I understand the workspace feature should be supported, but honestly it's not high-priority for me. I'm working on multiple projects in my spare time and other things for now. So I cannot say any ETA, sorry 🙏
For anyone who want it,
please upvote 👍 this feature request to prioritize or send a pull request by yourself, which is always appreciate ❤
Note: The internal structure has changed with refactoring since my last comment, but I think the implementation is still technically possible.
Thanks!

@minamijoyo appreciate getting back and totally get other projects taking over. Hopefully someone will pick this up one day!

I'm only interested in support for var-file. Is there a way to pass env vars to terraform right now? I tried setting TF_CLI_ARGS_import as well as TF_CLI_ARGS, but none of them is being picked up.
I haven't tried it yet, but maybe TFMIGRATE_EXEC_PATH would work? Alternatively, I could probably just pass my variables via *.auto.tfvars.json (see https://www.terraform.io/docs/language/values/variables.html#variable-definitions-tfvars-files).

@whiskeysierra Yes, you can pass Terraform variables to terraform CLI with auto tfvar files you mentioned.
Or, to pass environment variables (e.g. TF_CLI_ARGS_import ) to terraform CLI, just exporting them probably works. If you want to customize them per directory, use direnv and set TFMIGRATE_EXEC_PATH to direnv exec . terraform.
If you still have trouble, could you open a new issue with the minimal reproduction case to clarify what you are trying?

Or, to pass environment variables (e.g. TF_CLI_ARGS_import ) to terraform CLI, just exporting them probably works.

I tried that, but it didn't seem to work.

I tried that, but it didn't seem to work.

Correction, it does work.

@takanakahiko Thank you for the proposal!
Adding workspace and variable file support is ok because they are common use-case for Terraform, but, I don't use them in my work, so I'm not sure what is the best design for refactoring tfstate with the workspace model.
If my understanding is correct, using workspace has a single configuration and multiple states. Workspaces are usually related to environments such as prod, test and dev, a configuration change will be applied in a workflow for each environment.
When we want to rename a resource in configuration, we should move the resource in all states. Wouldn't it be better to apply one migration to all workspaces in each workflow? The workspace model enforces us exactly equal configurations across workspaces. I don't think it makes sense to apply migration only to some workspaces. I think a migration should correspond to a configuration, and switching workspaces should be implemented by changing the execution environment not to declare it in the migration.
If so, we can automatically select workspace in each workflow with an environment variable TF_WORKSPACE and switch variable files with TF_CLI_ARGS_name.
https://learn.hashicorp.com/tutorials/terraform/automate-terraform#multi-environment-deployment
https://www.terraform.io/docs/commands/environment-variables.html#tf_cli_args-and-tf_cli_args_name
What do you think of it?

I have exactly this use case and I think this is how many of users use them. Of course there might be other cases when temporary workspace is created for testing stuff but I think then there is no need for run migrations.
We use same configuration for multiple states.
Example:
production/

eu-central-1 have own state file in s3
eu-north-1 have own state file in s3
staging/
eu-central-1 have own state file in s3
eu-north-1 have own state file in s3
and so on...

I'm totally new to Go but I investigated this a bit.
One way to solve workspace problem is to use -migrate-state flag in init commands. It should migrate selected workspace to local and vice versa.
Only problem is that terraform will ask confirmation and -input=false doesn't work correctly.
So command must be prefixed like: echo "yes" | terraform ..  when terraform will get input it needs.
So final init command should look something like this:
echo "yes" | terraform init -no-color -migrate-state

I didn't find a way how to implement this to code right away because this my first experience with Go language.

Hi, all. The tfmigrate v0.3.0 now supports workspace for single state block (#61). Thanks to @bhavanki.


Consistency between duration and num_frames in features; compressed serialization

@danpovey LMK if this is what you had in mind
Resolves #20

Great!
On Sat, Jun 20, 2020 at 1:31 AM Piotr Żelasko<EMAIL_ADDRESS>wrote:

Merged #22 https://github.com/pzelasko/lhotse/pull/22 into master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pzelasko/lhotse/pull/22#event-3463351405, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZFLO3WNZR3YT5QUDG6RP3RXOOGRANCNFSM4OB5557Q
.


FluentClient implements ClientInterface miss a situation

FluentClient when implement ClientInterface miss a situation
when overwrite
public function get($clientId, $clientSecret = null, $redirectUri = null, $grantType = null)
miss a situation, because $clientSecret and $redirectUri can be null at the same time
if (is_null($redirectUri) && is_null($clientSecret)) {}

else if(is_null($clientSecret) && is_null($redirectUri)) {
$query = $this->getConnection()->table('oauth_clients')
->select(
'oauth_clients.id as id',
'oauth_clients.secret as secret',
'oauth_clients.name as name')
->where('oauth_clients.id', $clientId);
}

Thanks for pointing it out. Please submit a PR for this.

@vinkla submitted, check plz

Thanks! I'll close this then we can continue talk in the PR instead.


[fix](cluster key) forbid cluster key and remove case

branch-2.1 does not support mow cluster key

run buildall


[bug] permissions:How http allows dynamic domain name access?

Describe the bug
Domain name is returned through the interface，How can I allow http dynamic domain name access to the api?
{
"identifier": "http:default",
"allow": [
{
"url": "http://**"
}
]
},
Reproduction
No response
Expected behavior
No response
Full tauri info output
Error: url not allowed on the configured scope

Stack trace
No response
Additional context
No response

duplicate of https://github.com/tauri-apps/plugins-workspace/issues/2040


fix: using DistributedSampler when evaluating the reward model

The eval_sampler defined at line 294 is redundant since it was previously established. Moreover, redefining it leads to each rank evaluating the entire dataset, which is an inefficient use of computational resources and slows down the evaluation.

@xffxff, thanks for catching this. It looks like a serious bug for the multi-gpu case since it overwrites the DistributedSampler with a SequentialSampler.


GitHub Migration: PANIC whilst trying to do migrate task: runtime error: index out of range

Description
When migrating one of my projects using two GH tokens (comma-separated), it panics at run time after some minutes. Here are the relevant lines.
2023/12/03 02:57:48 ...ers/web/user/home.go:506:buildIssueOverview() [E] CountIssuesByRepo: context canceled
2023/12/03 03:32:59 ...rvices/pull/check.go:361:testPR() [E] testPatch[<PullRequest [480]static-web-server/static-web-server#46[master...richbayliss/support-try-files]>]: branch does not exist [repo_id: 0 name: richbayliss/support-try-files]
2023/12/03 03:34:16 ...rvices/pull/check.go:361:testPR() [E] testPatch[<PullRequest [536]static-web-server/static-web-server#198[master...wasix-fixes]>]: branch does not exist [repo_id: 0 name: wasix-fixes]
2023/12/03 03:34:16 ...rvices/pull/check.go:361:testPR() [E] testPatch[<PullRequest [522]static-web-server/static-web-server#168[master...dependabot/cargo/tokio-1.23.1]>]: branch does not exist [repo_id: 0 name: dependabot/cargo/tokio-1.23.1]
2023/12/03 03:34:16 ...rvices/pull/check.go:361:testPR() [E] testPatch[<PullRequest [523]static-web-server/static-web-server#170[master...dependabot/cargo/tokio-1.24.2]>]: branch does not exist [repo_id: 0 name: dependabot/cargo/tokio-1.24.2]
2023/12/03 03:34:16 ...rvices/pull/check.go:361:testPR() [E] testPatch[<PullRequest [555]static-web-server/static-web-server#247[master...async-io]>]: branch does not exist [repo_id: 0 name: async-io]
2023/12/03 03:34:59 ...ices/task/migrate.go:48:func1() [E] PANIC during runMigrateTask[125] by DoerID[1] to RepoID[273] for OwnerID[35]: runtime error: index out of range [1] with length 1
Stacktrace: /usr/local/go/src/runtime/panic.go:114 (0x43cc5b)
/go/src/code.gitea.io/gitea/modules/git/diff.go:99 (0xd9328a)
/go/src/code.gitea.io/gitea/services/migrations/gitea_uploader.go:866 (0x2245add)
/go/src/code.gitea.io/gitea/services/migrations/migrate.go:445 (0x225a3e6)
/go/src/code.gitea.io/gitea/services/migrations/migrate.go:130 (0x22585ca)
/go/src/code.gitea.io/gitea/services/task/migrate.go:125 (0x24ee548)
/go/src/code.gitea.io/gitea/services/task/task.go:34 (0x24ef4a4)
/go/src/code.gitea.io/gitea/services/task/task.go:52 (0x24ef73a)
/go/src/code.gitea.io/gitea/modules/queue/workerqueue.go:246 (0x1e35991)
/go/src/code.gitea.io/gitea/modules/queue/workergroup.go:98 (0x1a61d22)
/go/src/code.gitea.io/gitea/modules/queue/workergroup.go:162 (0x1e34269)
/usr/local/go/src/runtime/asm_amd64.s:1650 (0x475860)
2023/12/03 03:34:59 ...ices/task/migrate.go:61:func1() [E] runMigrateTask[125] by DoerID[1] to RepoID[273] for OwnerID[35] failed: PANIC whilst trying to do migrate task: runtime error: index out of range [1] with length 1
2023/12/03 03:34:59 ...ervices/task/task.go:53:handler() [E] Run task failed: PANIC whilst trying to do migrate task: runtime error: index out of range [1] with length 1

See the complete log gists.
It can be related to https://github.com/go-gitea/gitea/issues/25245 but it is not the same problem.
Gitea Version
1.21.1
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
https://gist.github.com/joseluisq/8af3222f4a879acf732adcf6a6f36b81
Screenshots

Git Version
2.40.1
Operating System
Debian Linux 11 x86_64
How are you running Gitea?
On Docker 24.0.7 with Postgres 13
Database
PostgreSQL 13

I updated to v1.21.2 and my project is now successfully migrated.
Thanks!

still up after updating to above mentioned (up to date at this time) version.


Cannot install functions-emulator with npm

Description
npm install -g @google-cloud/functions-emulator fails with the following message:
npm ERR! git clone git@github.com:google-cloud/functions-emulator undefined
npm ERR! git clone git@github.com:google-cloud/functions-emulator undefined
npm ERR! addLocal Could not install google-cloud/functions-emulator
npm ERR! Error: ENOENT, stat 'google-cloud/functions-emulator'

Steps to reproduce

npm install -g @google-cloud/functions-emulator

That was run in a docker debian:latest image with npm installed.
Thanks!

That error leads me to believe that the image had a version of npm installed that's too old. Older versions of npm don't understand scoped packages that contain @ in the name.

You're right, the docker image was based on Debian Jessie, which seems to have a 3 year old version nodejs in its repos. Thanks!


Support tmux v2.4 option exceptions

Codecov Report

Merging #38 into master will increase coverage by 1.08%.
The diff coverage is 92.59%.

@@            Coverage Diff             @@
##           master      #38      +/-   ##
==========================================
+ Coverage   78.64%   79.73%   +1.08%
==========================================
  Files           8        8
  Lines         829      839      +10
==========================================
+ Hits          652      669      +17
+ Misses        177      170       -7

Impacted Files
Coverage Δ

libtmux/session.py
80.62% <100%> (+0.5%)
:arrow_up:

libtmux/window.py
82.91% <100%> (+0.3%)
:arrow_up:

libtmux/exc.py
100% <100%> (ø)
:arrow_up:

libtmux/common.py
86.22% <89.74%> (+2.98%)
:arrow_up:

Continue to review full report at Codecov.

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

Added handle_option_error for handling option errors
Added :exc:libtmux.exc.OptionError base exception
Added :exclibtmux.exc.InvalidOption and libtmux.exc.AmbiguousOption
:exc:libtmux.exc.UnknownOption now extends :exc:libtmux.exc.OptionError
The behavior of version checking functions changed

has_version has been renamed to get_version
has_required_tmux_version has been renamed to has_minimum_version
added has_gt_version, has_gte_version, has_lt_version, `has_lte_version,

Fixed up documentation in some session methods
Added pydoc exception info to option methods in window and sessions.


Exception in JavaScript compiled by dartdevc: Type 'MappedListIterable<int, String>' is not a subtype of type 'List

The following code throws an exception with message 'Type 'MappedListIterable<int, String>' is not a subtype of type 'List' in JavaScript compiled by dartdevc (dart 1.25.0-dev.4.0):
void main() {
  f([1, 2, 3].map((e) => e.toString()));
}

void f(List<String> p) {
}

I think you need to add .toString()
void main() {
  f([1, 2, 3].map((e) => e.toString()).toList());
}

void f(List<String> p) {
}

or change the parameter type
void main() {
  f([1, 2, 3].map((e) => e.toString()));
}

void f(Iterable<String> p) {
}

This is a valid bug. An Iterable is not a List:

void main() {
  // f ( Iterable<String> )
  f([1, 2, 3].map((e) => e.toString()));
}

void f(List<String> p) {
}

You should use `toList`:

```dart
f([1,2,3]).map((e) =>e.toString()).toList();

If you'd like to see this error statically, you can enable --no-implicit-casts.
/cc @leafpetersen

The comments are correct, the Iterable.map method returns an Iterable that is not a List, so the error is correct.

Didn't notice the importance of disabling implicit down casts so far... thought enabling strong is enough for dartdevc... sorry.


[DOCFIX] Improve Fuse mount docs

What changes are proposed in this pull request?
Improve Fuse documents about how to pass in fuse mount configuration.
Why are the changes needed?
Tell users how to pass in fuse mount configuration.
Does this PR introduce any user facing changes?
configuration

alluxio-bot, merge this please


[Command] Log Viewer

Requires a log.txt as argument.
Returns a embed with the following sections which can be switched using buttons.
- Summary that shows songs, OS, game version, ..etc (Default category)
- Packs loaded (how many didn't load included with each pack)
- Lua Errors
- Engine Named Logs (aka. Serene, GLAD)
- FPS
- Other

A log parser has been written for Alpha V Main Logs and is already working.


Cloudant no longer issues password

We formerly accessed Cloudant using uname/password, but the Cloudant service no longer issues a password.
This hasn't been tested yet to confirm, but the app will likely be broken until we move to using IAM apikey.

Workaround is to use legacy cloudant credentials.


Add GLSurfaceView / external EGLContext support on Android

This is a much much cleaner pull request, thanks for your patient. :-)

How do we trigger this codepath? Simply not calling AndroidSetWindow()? Ming, do you have a working example?

Use this to pass context data:
https://github.com/bkaradzic/bgfx/blob/master/include/bgfxplatform.h#L42

Hi Colin,
This have been changed a little bit, to use the EGLContext created by GLSurfaceView, you can pass it to BGFX by using setPlatformData().
In addition, GLSurfaceView require BGFX to run in single-thread mode so make sure you compile it with -DBGFX_CONFIG_MULTITHREADED=0 and enable single-thread mode.
// render init
bgfx::PlatformData pd;
pd.ndt = NULL;
pd.nwh = NULL;
pd.context = eglGetCurrentContext(); // pass the EGLContext created by GLSurfaceView
pd.backbuffer = NULL;
bgfx::setPlatformData(pd);

bgfx::renderFrame(); // notify BGFX to use single-thread mode
bgfx::init();

// render loop
while (true)
{
    // your rendering code
    bgfx::submit();
    bgfx::frame();
}

Hope this helps.

This line is not necessary when in single-threaded mode:
bgfx::renderFrame(); // notify BGFX to use single-thread mode

https://github.com/bkaradzic/bgfx/blob/master/include/bgfxplatform.h#L32
BGFX_CONFIG_MULTITHREADED=0 disables threading, bgfx::renderFrame signals where rendering should happen in multithreaded enviroment.

Great, thanks! I was trying (in vain) to make the EGL code work independently. I shall test the code immediately upon getting home.

Black screen you've seen is proof that you made your code completely independent from rendering. :)

Dear wonderful people: It now works! As usual, the error was a confluence of issues that needed to be fixed.
Thank you.
PS: I laughed at that last one.

Dear Ming,
I made sure to call bgfx::shutdown() every time Android destroys the EGL context and my logs confirm it, but recreating afterwards crashes at bgfx::setPlatformData(). here is the relevant section of adb logcat's trace:
/DEBUG   (31978):     #00  pc 0002cd32  /data/app-lib/net.noobwerkz.sampleapp-2/libEngine.so (bgfx::fatal(bgfx::Fatal::Enum, char const*, ...)+73)
I/DEBUG   (31978):     #01  pc 0002cd77  /data/app-lib/net.noobwerkz.sampleapp-2/libEngine.so (bgfx::setPlatformData(bgfx::PlatformData const&)+18)
I/DEBUG   (31978):     #02  pc 000244cb  /data/app-lib/net.noobwerkz.sampleapp-2/libEngine.so (Java_net_noobwerkz_sampleapp_JNILib_OnResize+210)

How did you solve this problem in your own code?
Thanks for your time,
Colin

I think my cleanup in single-threaded mode didn't clean context. Grab latest:
https://github.com/bkaradzic/bgfx/commit/5f9c6df918f10f1e6aa3753287ac8f34fa06f75d

Fixed! (I looked at this part of the code too, and it seemed odd that there wasn't a reset-to-null around there. Glad to see my instincts were correct. :+1: )

Any help or suggestion Needed..!
I need glReadpixels functionality for texture painting. As there is no read pixels functionality in bgfx,I did the following.

I set BGFX_CONFIG_MULTITHREADED=0, while creating amalgamated build using NDK.
Initialized bgfx with context from GLSurfaceView,

    bgfx::PlatformData pd;
    pd.ndt = NULL;
    pd.nwh = NULL;
    pd.context = eglGetCurrentContext(); // pass the EGLContext created by GLSurfaceView
    pd.backbuffer = NULL;
    bgfx::setPlatformData(pd);

     bgfx::init();

I created one more opengl es context and the necessary ogl objects for the rendering.
(program, uniforms, buffer objects)
In the render loop,
a) by binding the newly created ogl es context, I did the rendering and read the pixels from the
framebuffer and unbind that context and bind original context(from GLSurfaceView).
b) regular rendering using bgfx.

When I run the application, it is crashing with SIGABRT(), at places where plain OGL code or bgfx calls are there. If I removed the code creating and binding new ogl context, everything is working fine. I thought crash was due to multi threading, but build is already with BGFX_CONFIG_MULTITHREADED=0.
Is the approach I am following is wrong completely ?

pd.nwh must be set too.

Thank you @bkaradzic  for the reply.
I set pd.nwh   with android native window handle.
 bgfx::PlatformData pd;
 pd.ndt  = NULL;
 pd.nwh = _window;
 pd.context = eglGetCurrentContext();
 pd.backBuffer   = NULL;
 pd.backBufferDS = NULL;
 bgfx::setPlatformData(pd);

But still application is crashing with
A/libc: Invalid address 0x7f57e480c0 passed to free: value not allocated
A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 5655 (GLThread 3267)

Check provided examples, if they don't crash you'll have to figure it out why your application is crashing.


ODHack: Create a stablecoin bundle that includes USDC, USDT, and DAI, assuming full liquidity between these three stablecoins

"Create a stablecoin bundle that includes USDC, USDT, and DAI, assuming full liquidity between these three stablecoins.
Steps:

Load the data for the main chart from the Google Storage. For example, https://storage.googleapis.com/derisk-persistent-state/zklend_data/ETH-USDC.parquet is the file for the pair ETH-USDC for zkLend. It contains price levels and the corresponding amounts of liquidable debt for the given price level. Write the loading part in a way that the source can be easily changed from the Google Storage to a local database.
Combine pairs with the same collateral token, e.g. ""ETH-USDC"", ""ETH-USDT"" and ""ETH-DAI"" into a single dataframe by summing both the liquidable debt and the available liquidity.
Add an option to display the newly created bundle on the frontend."

Definition od Done
The aggregation is made correctly and the code functions well and is documented, there's an option to display all 3 stablecoins in a single chart on the dashboard.

Hello! I would like to help with this one!

Hello! How can I contribute to this project?

"Create a stablecoin bundle that includes USDC, USDT, and DAI, assuming full liquidity between these three stablecoins.
Steps:

Load the data for the main chart from the Google Storage. Write the loading part in a way that the source can be easily changed from the Google Storage to a local database.
Combine pairs with the same collateral token, e.g. ""ETH-USDC"", ""ETH-USDT"" and ""ETH-DAI"" into a single dataframe by summing both the liquidable debt and the available liquidity.
Add an option to display the newly created bundle on the frontend."

Definition od Done The aggregation is made correctly and the code functions well and is documented, there's an option to display all 3 stablecoins in a single chart on the dashboard.

Can I help you on this issue

Hi, assigning @princeibs, because this task is quite simple and they asked first.

Hi, assigning @princeibs, because this task is quite simple and they asked first.
@princeibs Let me know if everything is clear and whether you'll be working on the issue. If you have any questions, please ask here. What is you TG handler please? 🙏🏼
Consider joining our TG group. See also our contributor guidelines.

Sure. Everything is clear.
I'll reach out if I have any questions.
My TG handle is prince_ibs

Hi @princeibs , is there any progress on this? Don't see any open PR yet.

Still working on it. Will be creating a PR asap

Hi @princeibs , did you make any progress on this?

Hi @lukaspetrasek if @princeibs is not working on it anymore, can I do this?

Hi @lukaspetrasek I would like to help with this missing issue. It wouldn't take me more than a couple of days for the PR to be ready for review.

Hi @rishabhRsinghvi , assigning you, because you've asked first.
Let me know if everything is clear and whether you'll be working on the issue. If you have any questions, please ask here. What is you TG handler please? 🙏🏼
Consider joining our TG group.
See also our contributor guidelines.

@lukaspetrasek Everything is clear, I will work on it, and I have joined the TG group too.

Hi @rishabhRsinghvi , any update on this?

Hello @lukaspetrasek! I contributed in the past to this project, I can help you with this issues if it gets available

Hi, unassigning @rishabhRsinghvi because he didn't provide any update/PR on this for a long time.

Hi, unassigning @rishabhRsinghvi because he didn't provide any update/PR on this for a long time.

For sure! Happy to help!


xrmBrowser.Grid.OpenRecord(0) giving 'CRM Record is Unavailable or not finished loading. Timeout Exceeded'

For one of the projects  xrmBrowser.Grid.OpenRecord(0) is giving 'CRM Record is Unavailable or not finished loading. Timeout Exceeded'
It opens the right record but fails at this line after waiting for some time.
Complete error-
{System.Exception: CRM Record is Unavailable or not finished loading. Timeout Exceeded at Microsoft.Dynamics365.UIAutomation.Api.Grid.<>c.b__9_1(IWebDriver d) at Microsoft.Dynamics365.UIAutomation.Browser.SeleniumExtensions.WaitUntilClickable(IWebDriver driver, By by, TimeSpan timeout, Action1 successCallback, Action1 failureCallback) at Microsoft.Dynamics365.UIAutomation.Api.Grid.<>c__DisplayClass9_0.b__0(IWebDriver driver) at Microsoft.Dynamics365.UIAutomation.Browser.BrowserCommand1.Execute[T1,T2,T3,T4,T5,T6,T7,T8,T9](IWebDriver driver, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9) at Microsoft.Dynamics365.UIAutomation.Browser.BrowserPage.Execute[TResult](BrowserCommandOptions options, Func2 delegate) at TestAuto.pages.CRMMACase.SearchForCaseAndOpenFirstRecord(String CaseTitle) in D:\MAXAuto\MaxTestAuto\TestAuto\pages\CRMMACase.cs:line 200 at TestAuto.steps.StepsCRMMACaseWorkflow.ThenISearchForCaseAndOpenFirstRecord(String CaseTitle) in D:\MAXAuto\MaxTestAuto\TestAuto\steps\StepsCRMMACaseWorkflow.cs:line 118 at TestStack.BDDfy.StepActionFactory.<>c__DisplayClass1_01.<GetStepAction>b__0(Object o) at TestStack.BDDfy.StepExecutor.Execute(Step step, Object testObject) at TestStack.BDDfy.Processors.ScenarioExecutor.<>c__DisplayClass3_0.<ExecuteStep>b__0() at TestStack.BDDfy.Processors.AsyncTestRunner.Run(Func1 performStep) at TestStack.BDDfy.Processors.ScenarioExecutor.ExecuteStep(Step step)}
I have tried xrmBrowser.Grid.OpenRecord(0,15000) but same result.
Also tried added  xrmBrowser.ThinkTime(15000); after the open record statement but same result.
Also tried time out in browser options:
private static readonly BrowserOptions _options = new BrowserOptions
{
BrowserType = BrowserType.Chrome,
FireEvents = true,
CommandTimeout = TimeSpan.FromSeconds(100),
PageLoadTimeout = TimeSpan.FromSeconds(100)
};
But same result.
Manually screen seem to load in 5 seconds.
I have been using xrmBrowser.Grid.OpenRecord(0)  for other projects but never had any issues.
Would you be able to advise things to try please ?
Regards,
Bhart

Following line in openrecord seems to be throwing the error , time out seems to be hardcoded:
driver.WaitUntilClickable(By.XPath(Elements.Xpath[Reference.Entity.Form]),
new TimeSpan(0, 0, 30),
null,
d => { throw new Exception("CRM Record is Unavailable or not finished loading. Timeout Exceeded"); }
);

I'm also encountering this error for one entity only, whereby a record is apparently successfully opened after a few seconds, but still times out. Records for all other entities load ok. I've included error text below, although have redacted some references for privacy.
Result StackTrace:
at Microsoft.Dynamics365.UIAutomation.Api.Grid.<>c.b__9_1(IWebDriver d)
at Microsoft.Dynamics365.UIAutomation.Browser.SeleniumExtensions.WaitUntilClickable(IWebDriver driver, By by, TimeSpan timeout, Action1 successCallback, Action1 failureCallback)
at Microsoft.Dynamics365.UIAutomation.Api.Grid.<>c__DisplayClass9_0.b__0(IWebDriver driver)
at Microsoft.Dynamics365.UIAutomation.Browser.DelegateBrowserCommand1.ExecuteCommand(IWebDriver driver, Object[] params)    at Microsoft.Dynamics365.UIAutomation.Browser.BrowserCommand1.Execute[T1,T2,T3,T4,T5,T6,T7,T8,T9](IWebDriver driver, T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8, T9 p9)
at Microsoft.Dynamics365.UIAutomation.Browser.BrowserPage.Execute[TResult](BrowserCommandOptions options, Func`2 delegate)
at Microsoft.Dynamics365.UIAutomation.Api.Grid.OpenRecord(Int32 index, Int32 thinkTime)
at [Redacted].Actions.OpenFirstResult(String sortField, Boolean sortTypeDesc) in [Redacted]\Actions.cs:line 95
at [Redacted].Record.OpenFirstResult() in [Redacted]\Record.cs:line 896
at [Redacted].TestFormBasics.UpdateRecord() in [Redacted]\TestFormBasics.cs:line 45
Result Message:
Test method [Redacted].TestFormBasics.UpdateRecord threw exception:
System.Exception: CRM Record is Unavailable or not finished loading. Timeout Exceeded


NoteApp : Modified TaskEntity.kt from Serializable to Parcelable

Hey @avidraghav  I have made the changes if you accept this pull request please label it with hacktober-fest

Yes, I'll do that, but if you could kindly clarify why you changed the dependence to a lower version as my end of things is operating just fine, I encountered this issue after switching to a lower version.

I was getting the error that the project was Incompatible with AGP 7.3.0 hence I couldn't build the project. I'll inspect this and get back to you once I get the time.

Thanks for another contribution to MyNotes 🌟


-[AFStreamingMultipartFormData appendPartWithFormData:name:]

I have issues for AFNetWorking 4.0.1
when use the class file  AFHTTPSessionManager POST:urlStr parameters:params headers:nil progress:^(NSProgress * _Nonnull uploadProgress) {...
And then there's an error for *** Assertion failure in -[AFStreamingMultipartFormData appendPartWithFormData:name:], /Users/cmv/Desktop/Seen_Local/Seen/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m:792
but In AFNetWorking 3.2.1  use the class file AFHTTPSessionManager POST:urlStr parameters:params progress:^(NSProgress * _Nonnull uploadProgress) {
No error was reported during normal operation
so I don't know how to solve it
Please help. Thanks.

It seems your params is invalid, what is it?

The parameters are the same as those used in version 3.2.0. And version 3.2.0 There is no such problem. The difference is in 4.0.1 POST:urlStr parameters:params headers:nil. I use

(AFHTTPSessionManager *)sharedManager {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_manager = [AFHTTPSessionManager manager];
_manager.requestSerializer = [AFHTTPRequestSerializer serializer];
_manager.responseSerializer = [AFHTTPResponseSerializer serializer];
_manager.requestSerializer.timeoutInterval = 20.f;
});
return _manager;
}
Then code  _manager = [self sharedManager]; [_manager POST:urlStr parameters:params headers:nil progress:^(NSProgress * _Nonnull uploadProgress) {

The following picture is the crash information

The parameters and interfaces on the last picture are currently valid parameters

What is the content of params?

I am very, very sorry that I found the problem because I missed one layer of parameter judgment. I'm sorry to have temporarily used your resources

It doesn't matter, then this issue can be closed?


incorrect JSON format

From the README
"A lot of event logs contain JSON objects nowadays (e.g. GitHub Archive). pgfutter expects each line to have a valid JSON object. Importing JSON is only supported for Postgres 9.3 and Postgres 9.4 due to the JSON type.
Create friends.json.
{"name": "Jacob", "age": 26, "friends": ["Anthony"]}
{"name": "Anthony", "age": 25, "friends": []}
{"name": "Emma", "age": 28, "friends": ["Jacob", "Anthony"]}"
This is not valid JSON. Please see http://json.org/ to see what I mean.
Any plans to support properly formatted JSON?

This is called JSONLines http://jsonlines.org/. Each line contains a valid JSON object.
The reason why this format is very good is that dealing with a 30GB big JSON file would be close to impossible.
What is invalid about that JSON object?
{"name": "Jacob", "age": 26, "friends": ["Anthony"]}

At the bottom of the README you find how to import a single JSON document.
https://github.com/lukasmartinelli/pgfutter#import-single-json-object

Any ideas on how to create a JSONLines document from a valid JSON array of objects?

I guess I could manually remove the comma from the 10,000 rows I want to import.

We had the same problem in #9.
You have a JSON object with 10k rows? That might still fit into memory if you try pgfutter jsonobj document.json. You will then get a single object in the database and using PostgreSQL JSON operators you can then put it into a relational schema.
Or you can use jq to pull it out.
Given this JSON file.
{
  "results": [
    {
      "text": "@twitterapi  http://tinyurl.com/ctrefg",
      "to_user_id": 396524,
      "to_user": "TwitterAPI",
      "from_user": "jkoum"
    },
    {
      "text": "@twitterapi  http://tinyurl.com/jubu",
      "to_user_id": 40314,
      "to_user": "TwitterAPI",
      "from_user": "jubu"
    }
  ]
}

You can filter out the results array as JSONLines like this.
cat test.json | jq -c '.results[]'


MM-DD-YYYY not supporting without chrome debugger

"MM-DD-YYYY" format not supporting without chrome debugger
<DatePicker
format={"MM-DD-YYYY"}
/>
Getting invalid date for this format

I switched to using this library, https://github.com/mmazzarolo/react-native-modal-datetime-picker
I was having the same problem but this library solved it for me

+1


Erros running test suite with original source code

Hi,
I've setup the environment as follows:
$ git clone https://github.com/Mashape/kong-vagrant
$ cd kong-vagrant
$ git clone https://github.com/Mashape/kong
$ vagrant up
$ vagrant ssh
$ cd /kong
$ make dev

And then run the test suite:
$ bin/busted

But I get a log of errors. Here is the output:
vagrant@precise64:/kong$ bin/busted
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌◌●◌◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌◌●◌◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●◌●●●●●●●●●●◌●●●●●●●●●●●●●●●◌●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◼◼●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●◌●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●2017/05/27 14:07:27 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:27 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:34 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:40 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:40 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:40 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:40 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:40 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:47 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:07:57 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:11 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:15 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:15 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:15 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:15 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:15 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:17 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:08:24 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●●●●●●●●●●●2017/05/27 14:09:03 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:03 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:03 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:03 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:03 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:03 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●2017/05/27 14:09:07 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:18 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:22 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:22 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:22 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:22 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:22 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:22 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●2017/05/27 14:09:26 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:39 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:09:49 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:08 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:19 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●2017/05/27 14:10:23 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:23 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:28 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:54 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●●2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●●●2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱2017/05/27 14:10:55 [alert] 27252#0: *2 64 worker_connections are not enough, context: ngx.timer
✱●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
1760 successes / 2 failures / 78 errors / 20 pending : 1468.811606 seconds

Pending → spec/01-unit/04-utils_spec.lua @ 33
Utils is_valid_uuid() invalidates UUIDs with invalid variants

Pending → spec/01-unit/07-entities_schemas_spec.lua @ 156
Entities Schemas APIs hosts errors rejects if not a table

Pending → spec/01-unit/11-router_spec.lua @ 68
Router new() [errors] enforces apis fields types

Pending → spec/02-integration/01-cmd/02-start_stop_spec.lua @ 22
kong start/stop start/stop gracefully with default conf/prefix

Pending → spec/02-integration/01-cmd/08-restart_spec.lua @ 67
kong restart restarts with default configuration and prefix

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 237
Model (CRUD) with DB: #postgres find_all() retrieve all matching rows

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 247
Model (CRUD) with DB: #postgres find_all() return matching rows bis

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 267
Model (CRUD) with DB: #postgres find_all() return empty table if no row match

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 274
Model (CRUD) with DB: #postgres find_all() handles non-string values

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 237
Model (CRUD) with DB: #cassandra find_all() retrieve all matching rows

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 247
Model (CRUD) with DB: #cassandra find_all() return matching rows bis

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 267
Model (CRUD) with DB: #cassandra find_all() return empty table if no row match

Pending → spec/02-integration/02-dao/03-crud_spec.lua @ 274
Model (CRUD) with DB: #cassandra find_all() handles non-string values

Pending → ...integration/03-admin_api/07-certificates_routes_spec.lua @ 398
Admin API /snis with cassandra /snis/:name PATCH updates a SNI

Pending → ...02-integration/03-admin_api/08-upstreams_routes_spec.lua @ 100
Admin API /upstreams postgres POST creates an upstream without defaults with application/www-form-urlencoded

Pending → ...02-integration/03-admin_api/08-upstreams_routes_spec.lua @ 294
Admin API /upstreams postgres PUT replaces if exists

Pending → ...02-integration/03-admin_api/08-upstreams_routes_spec.lua @ 100
Admin API /upstreams cassandra POST creates an upstream without defaults with application/www-form-urlencoded

Pending → ...02-integration/03-admin_api/08-upstreams_routes_spec.lua @ 294
Admin API /upstreams cassandra PUT replaces if exists

Pending → spec/03-plugins/03-http-log/01-log_spec.lua @ 27
Plugin: http-log (log)

Pending → spec/03-plugins/10-key-auth/02-access_spec.lua @ 203
Plugin: key-auth (access) key in request body multipart/form-data handles duplicated key

Failure → spec/02-integration/05-proxy/05-ssl_spec.lua @ 259
SSL certificates and SNIs invalidations DELETE
spec/02-integration/05-proxy/05-ssl_spec.lua:8:<PHONE_NUMBER>01696:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:724:

Failure → spec/02-integration/05-proxy/05-ssl_spec.lua @ 293
SSL certificates and SNIs invalidations UPDATE
spec/02-integration/05-proxy/05-ssl_spec.lua:8:<PHONE_NUMBER>73696:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:724:

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 309
#ci Plugin: rate-limiting (access) with policy: local With authentication Plugin customized for specific consumer blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 337
#ci Plugin: rate-limiting (access) with policy: local With authentication Plugin customized for specific consumer blocks if the only rate-limiting plugin existing is per consumer and not per API
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 552
#ci Plugin: rate-limiting (access) with policy: local Expirations expires a counter
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 198
#ci Plugin: rate-limiting (access) with policy: cluster Without authentication (IP address) blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 228
#ci Plugin: rate-limiting (access) with policy: cluster Without authentication (IP address) handles multiple limits
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 268
#ci Plugin: rate-limiting (access) with policy: cluster With authentication API-specific plugin blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 309
#ci Plugin: rate-limiting (access) with policy: cluster With authentication Plugin customized for specific consumer blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 337
#ci Plugin: rate-limiting (access) with policy: cluster With authentication Plugin customized for specific consumer blocks if the only rate-limiting plugin existing is per consumer and not per API
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 407
#ci Plugin: rate-limiting (access) with policy: cluster Fault tolerancy does not work if an error occurs
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 434
#ci Plugin: rate-limiting (access) with policy: cluster Fault tolerancy keeps working if an error occurs
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 552
#ci Plugin: rate-limiting (access) with policy: cluster Expirations expires a counter
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 198
#ci Plugin: rate-limiting (access) with policy: redis Without authentication (IP address) blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 228
#ci Plugin: rate-limiting (access) with policy: redis Without authentication (IP address) handles multiple limits
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 268
#ci Plugin: rate-limiting (access) with policy: redis With authentication API-specific plugin blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 309
#ci Plugin: rate-limiting (access) with policy: redis With authentication Plugin customized for specific consumer blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 337
#ci Plugin: rate-limiting (access) with policy: redis With authentication Plugin customized for specific consumer blocks if the only rate-limiting plugin existing is per consumer and not per API
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 494
#ci Plugin: rate-limiting (access) with policy: redis Fault tolerancy does not work if an error occurs
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 507
#ci Plugin: rate-limiting (access) with policy: redis Fault tolerancy keeps working if an error occurs
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/24-rate-limiting/04-access_spec.lua @ 552
#ci Plugin: rate-limiting (access) with policy: redis Expirations expires a counter
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 227
#ci Plugin: response-ratelimiting (access) with policy: local Without authentication (IP address) blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 255
#ci Plugin: response-ratelimiting (access) with policy: local Without authentication (IP address) handles multiple limits
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 293
#ci Plugin: response-ratelimiting (access) with policy: local With authentication API-specific plugin blocks if exceeding limit and a per consumer setting
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 324
#ci Plugin: response-ratelimiting (access) with policy: local With authentication API-specific plugin blocks if exceeding limit and a per consumer setting
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 353
#ci Plugin: response-ratelimiting (access) with policy: local With authentication API-specific plugin blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 387
#ci Plugin: response-ratelimiting (access) with policy: local Upstream usage headers should append the headers with multiple limits
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 457
#ci Plugin: response-ratelimiting (access) with policy: local should block on first violation
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 684
#ci Plugin: response-ratelimiting (access) with policy: local Expirations expires a counter
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 227
#ci Plugin: response-ratelimiting (access) with policy: cluster Without authentication (IP address) blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 255
#ci Plugin: response-ratelimiting (access) with policy: cluster Without authentication (IP address) handles multiple limits
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 293
#ci Plugin: response-ratelimiting (access) with policy: cluster With authentication API-specific plugin blocks if exceeding limit and a per consumer setting
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 324
#ci Plugin: response-ratelimiting (access) with policy: cluster With authentication API-specific plugin blocks if exceeding limit and a per consumer setting
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 353
#ci Plugin: response-ratelimiting (access) with policy: cluster With authentication API-specific plugin blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 387
#ci Plugin: response-ratelimiting (access) with policy: cluster Upstream usage headers should append the headers with multiple limits
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 457
#ci Plugin: response-ratelimiting (access) with policy: cluster should block on first violation
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 534
#ci Plugin: response-ratelimiting (access) with policy: cluster Fault tolerancy does not work if an error occurs
./spec/helpers.lua:213: resource temporarily unavailable

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 562
#ci Plugin: response-ratelimiting (access) with policy: cluster Fault tolerancy keeps working if an error occurs
./spec/helpers.lua:213: resource temporarily unavailable

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 684
#ci Plugin: response-ratelimiting (access) with policy: cluster Expirations expires a counter
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 227
#ci Plugin: response-ratelimiting (access) with policy: redis Without authentication (IP address) blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 255
#ci Plugin: response-ratelimiting (access) with policy: redis Without authentication (IP address) handles multiple limits
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 293
#ci Plugin: response-ratelimiting (access) with policy: redis With authentication API-specific plugin blocks if exceeding limit and a per consumer setting
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 324
#ci Plugin: response-ratelimiting (access) with policy: redis With authentication API-specific plugin blocks if exceeding limit and a per consumer setting
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 353
#ci Plugin: response-ratelimiting (access) with policy: redis With authentication API-specific plugin blocks if exceeding limit
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 387
#ci Plugin: response-ratelimiting (access) with policy: redis Upstream usage headers should append the headers with multiple limits
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 457
#ci Plugin: response-ratelimiting (access) with policy: redis should block on first violation
./spec/helpers.lua:213: operation now in progress

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 628
#ci Plugin: response-ratelimiting (access) with policy: redis Fault tolerancy does not work if an error occurs
./spec/helpers.lua:213: resource temporarily unavailable

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 594
#ci Plugin: response-ratelimiting (access) with policy: redis Fault tolerancy before_each
.../03-plugins/25-response-rate-limiting/04-access_spec.lua:595: [postgres error] name=already exists with value 'failtest3_com'

Error → .../03-plugins/25-response-rate-limiting/04-access_spec.lua @ 684
#ci Plugin: response-ratelimiting (access) with policy: redis Expirations expires a counter
./spec/helpers.lua:213: operation now in progress

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1390
Plugin: oauth2 (access) OAuth2 Access Token returns an error when only the code is being sent
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1411
Plugin: oauth2 (access) OAuth2 Access Token returns an error when only the code and client_secret are being sent
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1433
Plugin: oauth2 (access) OAuth2 Access Token returns an error when grant_type is not being sent
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1453
Plugin: oauth2 (access) OAuth2 Access Token returns an error with a wrong code
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1474
Plugin: oauth2 (access) OAuth2 Access Token returns success without state
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1494
Plugin: oauth2 (access) OAuth2 Access Token returns success with state
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1515
Plugin: oauth2 (access) OAuth2 Access Token fails when the client used for the code is not the same client used for the token
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1536
Plugin: oauth2 (access) OAuth2 Access Token sets the right upstream headers
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1567
Plugin: oauth2 (access) OAuth2 Access Token fails when an authorization code is used more than once
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1605
Plugin: oauth2 (access) OAuth2 Access Token fails when an authorization code is used by another application
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1627
Plugin: oauth2 (access) OAuth2 Access Token fails when an authorization code is used for another API
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1663
Plugin: oauth2 (access) Making a request works when a correct access_token is being sent in the querystring
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1675
Plugin: oauth2 (access) Making a request does not work when requesting a different API
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1689
Plugin: oauth2 (access) Making a request works when a correct access_token is being sent in a form body
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1705
Plugin: oauth2 (access) Making a request works when a correct access_token is being sent in an authorization header (bearer)
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1718
Plugin: oauth2 (access) Making a request works when a correct access_token is being sent in an authorization header (token)
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1738
Plugin: oauth2 (access) Making a request works with right credentials and anonymous
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1781
Plugin: oauth2 (access) Making a request Global Credentials does not access two different APIs that are not sharing global credentials
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1804
Plugin: oauth2 (access) Making a request Global Credentials does not access two different APIs that are not sharing global credentials 2
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1827
Plugin: oauth2 (access) Making a request Global Credentials access two different APIs that are sharing global credentials
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1894
Plugin: oauth2 (access) Authentication challenge returns 401 Unauthorized when token has expired
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1935
Plugin: oauth2 (access) Refresh Token refreshes an valid access token
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1955
Plugin: oauth2 (access) Refresh Token refreshes an valid access token and checks that it belongs to the application
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 1978
Plugin: oauth2 (access) Refresh Token expires after 5 seconds
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2036
Plugin: oauth2 (access) Hide Credentials does not hide credentials in the body
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2053
Plugin: oauth2 (access) Hide Credentials hides credentials in the body
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2070
Plugin: oauth2 (access) Hide Credentials does not hide credentials in the querystring
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2083
Plugin: oauth2 (access) Hide Credentials hides credentials in the querystring
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2096
Plugin: oauth2 (access) Hide Credentials does not hide credentials in the header
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2110
Plugin: oauth2 (access) Hide Credentials hides credentials in the header
./spec/helpers.lua:213: resource temporarily unavailable

Error → spec/03-plugins/26-oauth2/03-access_spec.lua @ 2124
Plugin: oauth2 (access) Hide Credentials does not abort when the request body is a multipart form upload
./spec/helpers.lua:213: resource temporarily unavailable

can you modify the bin/busted script to add a -c 20000 to the resty commandline? and try again.

I removed the Shebang line and ran the command as follows:
vagrant@vagrant-ubuntu-trusty-64:/kong$ resty -c 20000 bin/busted -v -o gtest

(since it's not possible to pass -c 20000 to Shebang).
I get the following results after running the tests:
 14 SKIPPED TESTS
 68 FAILED TESTS
 14 ERRORS

Are these known issues?  I have not modified anything.  Just followed the instructions here to set up a development environment.

I cannot reproduce this (while using it daily). Closing this.

For reference: I just added some additional documentation regarding this issue. See https://github.com/Mashape/kong-vagrant#known-issues


Update installation.md

@rkuchan formatting change so we can deep link to install sections. Right now I can't link to anything more granular than Meta vs Data vs Enterprise. This will let us deep link to specific steps.

One small fix (just the last commit).

@rkuchan I should have merged this before you split up the files. Once yours is merged in let's see if there's anything worth keeping from this PR.

@rkuchan I verified all changes have been ported into the docs already, so I'm cloding this and deleting the branch,


Pin dill<0.3.9 to fix CI

Pin dill<0.3.9 to fix CI for deps-latest.
Note that dill-0.3.9 was released yesterday Sep 29, 2024:

https://pypi.org/project/dill/0.3.9/
https://github.com/uqfoundation/dill/releases/tag/0.3.9

Fix #7183.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.