add java:openjdk-8-jre-alpine

Not really sure how we want to do this.
I would also like to have a test that the ca-certificates actually works. (I think they currently don't work in Alpine)

Useful diff:
diff --git a/jdk/Dockerfile b/alpine/Dockerfile
index f464a08..c5185b5 100644
--- a/Dockerfile
+++ b/Dockerfile.1
@@ -1,52 +1,28 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM buildpack-deps:jessie-scm
+FROM alpine:3.3

 # A few problems with compiling Java from source:
 #  1. Oracle.  Licensing prevents us from redistributing the official JDK.
 #  2. Compiling OpenJDK also requires the JDK to be installed, and it gets
 #       really hairy.

-RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*
-
-RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
-
 # Default to UTF-8 file.encoding
 ENV LANG C.UTF-8

 # add a simple script that can auto-detect the appropriate JAVA_HOME value
 # based on whether the JDK or only the JRE is installed
 RUN { \
-		echo '#!/bin/bash'; \
-		echo 'set -e'; \
+		echo '#!/bin/sh -e'; \
 		echo; \
 		echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \
 	} > /usr/local/bin/docker-java-home \
 	&& chmod +x /usr/local/bin/docker-java-home

-ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
-
+ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk
 ENV JAVA_VERSION 8u66
-ENV JAVA_DEBIAN_VERSION 8u66-b17-1~bpo8+1
-
-# see https://bugs.debian.org/775775
-# and https://github.com/docker-library/java/issues/19#issuecomment-70546872
-ENV CA_CERTIFICATES_JAVA_VERSION 20140324
+ENV ALPINE_JAVA_VERSION 8.66.17-r2
+ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/bin

 RUN set -x \
-	&& apt-get update \
-	&& apt-get install -y \
-		openjdk-8-jdk="$JAVA_DEBIAN_VERSION" \
-		ca-certificates-java="$CA_CERTIFICATES_JAVA_VERSION" \
-	&& rm -rf /var/lib/apt/lists/* \
+	&& apk add --no-cache openjdk8=$ALPINE_JAVA_VERSION \
 	&& [ "$JAVA_HOME" = "$(docker-java-home)" ]

-# see CA_CERTIFICATES_JAVA_VERSION notes above
-RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure
-
-# If you're reading this and have any feedback on how this image could be
-#   improved, please open an issue or a pull request so we can discuss it!

rebased without the https test code

I brought it a bit closer to debians version:
--- openjdk-8-jdk/Dockerfile	2016-01-11 16:23:35.114547617 +0100
+++ openjdk-8-jdk-alpine/Dockerfile	2016-01-16 23:25:52.140392621 +0100
@@ -1,52 +1,29 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM buildpack-deps:jessie-scm
+FROM alpine:3.3

 # A few problems with compiling Java from source:
 #  1. Oracle.  Licensing prevents us from redistributing the official JDK.
 #  2. Compiling OpenJDK also requires the JDK to be installed, and it gets
 #       really hairy.

-RUN apt-get update && apt-get install -y unzip && rm -rf /var/lib/apt/lists/*
-
-RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
-
 # Default to UTF-8 file.encoding
 ENV LANG C.UTF-8

 # add a simple script that can auto-detect the appropriate JAVA_HOME value
 # based on whether the JDK or only the JRE is installed
 RUN { \
-		echo '#!/bin/bash'; \
-		echo 'set -e'; \
+		echo '#!/bin/sh -e'; \
 		echo; \
 		echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \
 	} > /usr/local/bin/docker-java-home \
 	&& chmod +x /usr/local/bin/docker-java-home

-ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
+ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk

 ENV JAVA_VERSION 8u66
-ENV JAVA_DEBIAN_VERSION 8u66-b17-1~bpo8+1
-
-# see https://bugs.debian.org/775775
-# and https://github.com/docker-library/java/issues/19#issuecomment-70546872
-ENV CA_CERTIFICATES_JAVA_VERSION 20140324
+ENV JAVA_ALPINE_VERSION 8.66.17-r2
+ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/bin

 RUN set -x \
-	&& apt-get update \
-	&& apt-get install -y \
-		openjdk-8-jdk="$JAVA_DEBIAN_VERSION" \
-		ca-certificates-java="$CA_CERTIFICATES_JAVA_VERSION" \
-	&& rm -rf /var/lib/apt/lists/* \
+	&& apk add --no-cache openjdk8=$JAVA_ALPINE_VERSION \
 	&& [ "$JAVA_HOME" = "$(docker-java-home)" ]

-# see CA_CERTIFICATES_JAVA_VERSION notes above
-RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure
-
-# If you're reading this and have any feedback on how this image could be
-#   improved, please open an issue or a pull request so we can discuss it!

The image glassfish/openjdk is based on Alpine and it works fine.

This makes me wonder if it's finally time to figure out compiling OpenJDK from source so that we can make sure that we keep parity between variants.

This makes me wonder if it's finally time to figure out compiling OpenJDK from source so that we can make sure that we keep parity between variants.

I doubt we want go there. To build openjdk you need a working jdk so you need bootstrap. gcc-java can be used for that to build openjdk7 but you need openjdk7 to build openjdk8. It is non-trivial.

Right, I'm aware it's non-trivial, but I think it's the only way we're going to get any degree of relative consistency between variants.
Requiring the language in use for building is relatively common (ref Go, Ruby, etc), and given that packages are available (but can't be expected to be consistent), I think this might be our only real viable option here.

@ncopa why you say OpenJDK 8 requires OpenJDK 7 to be built? The instructions are clear:
http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html

It does appear that way from the document you've linked:
Install a
Bootstrap JDK.
All OpenJDK builds require access to a previously released
JDK called the bootstrap JDK or boot JDK.
The general rule is that the bootstrap JDK
must be an instance of the previous major
release of the JDK. In addition, there may be
a requirement to use a release at or beyond a
particular update level.

Building JDK 8 requires use of a version
of JDK 7 that is at Update 7 or newer. JDK 8
developers should not use JDK 8 as the boot
JDK, to ensure that JDK 8 dependencies are
not introduced into the parts of the system
that are built with JDK 7.

The JDK 7 binaries can be downloaded from Oracle's
JDK 7 download site.
For build performance reasons
is very important that this bootstrap JDK be made available
on the local disk of the machine doing the build.
You should add its bin directory
to the PATH environment variable.
If configure has any issues finding this JDK, you may
need to use the configure option
--with-boot-jdk.

(Although I would imagine that building JDK 8 with JDK 8 as bootstrap probably works too.)

JDK 8 developers should not use JDK 8 as the boot JDK, to ensure that JDK 8 dependencies are not introduced into the parts of the system that are built with JDK 7.

:confused:

Yeah, sorry about missing that part.
Here is another document that might be useful:

https://java.net/projects/adoptopenjdk/pages/Build

@brunoborges because I worked with the people who built gcc-java, openjdk7 and openjdk8 with alpine. Building openjdk from sources is not fun.

Right, I'm aware it's non-trivial, but I think it's the only way we're going to get any degree of relative consistency between variants.

I may have some influence on how the alpine openjdk package is built for alpine, in case that helps.

(Although I would imagine that building JDK 8 with JDK 8 as bootstrap probably works too.)
yes , openjdk8 can build openjdk8.

@tianon if you still insist on re-building the openjdk from source then we could use the distro package as bootstrap jdk. Should simplify a bit. I'll follow if you do this with the debian based openjdk images.
That said, I don't think its worth the effort.

I rebased to patch against current master and did the following changes:

fix directory structure
fix travis to handle the alpine flavors
update to 8u72
add explicit version dependency to make sure it pulls in new enough openjdk

Thanks for sticking with it @ncopa -- I'm satisfied with this for now, and we can put "compiling from source" on the backburner.  I'm a tiny bit concerned that the >= there might pull in a newer version some time in the future (which we'll then happily tag as 8u72), but that shouldn't be too awful to mitigate either.
We'll definitely need some minor changes to generate-stackbrew-library.sh, and might need to think about what to do with update.sh, but I'm happy to take on those if you'd like.
LGTM cc @yosifkit for any further comments before merge
(I'd also note that the CI failure is thanks to https://bugs.debian.org/816440 -- this PR's bits succeeded)

The >= is not perfect but at least it make sure that you don't get old and potensial vulnerable. A small step forward.
@tianon would be great if you took the generate-stackbrew-library.sh and update.sh. thanks!

LGTM


Error

Node Version:  latest
Platform: Windows 10
Compiler:  visual studio
Module: better-sqlite3

I open issue in better-sqlite3, there says me it's problem with gyp and "The relevant error line is
The relevant error line is UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 15: ordinal not in range(128)
"

Please provides the command you typed and the full error log.

Please provide the command you typed and the full error log.

okay i did it

What does py —version print?

What does py —version print?

py -version
E:\python.exe: can't open file 'ÔÇöversion': [Errno 2] No such file or directory

Sorry py [dash dash]version

Sorry py [dash dash]version

py --version
Python 3.8.3

KrzyśBot is the problem ...  Unicode (not ascii) in the path.

Sorry, non-ascii chars in the path are not supported. Try maybe "KrzysiekBot" for the path :)


Dropdown dividers are styled with a wrong property

$dropdown-divider-bg controls the border color of the dropdown divider, instead of controlling its background color:
// Dividers (basically an `<hr>`) within the dropdown
.dropdown-divider {
  height: 0;
  margin: $dropdown-divider-margin-y 0;
  overflow: hidden;
  border-top: 1px solid $dropdown-divider-bg;
}

Since the hr color in Bootstrap v5 is controlled with background-color, this causes issues when overriding $dropdown-divider-bg with a semi-transparrent color values.

We do this because the height: 1px doesn't always render as best as possible, especially on scaled or retina displays. For now, we'll leave this as-is (which I believe is the same in v4, I don't recall having touched this).


API endpoint api/cloud_volume_types

Related: https://github.com/ManageIQ/manageiq-api/pull/465

@miq-bot add_labels api, enhancement, providers, gaprindashvili/no
@miq-bot remove_label wip

Should this live under the API section @h-kataria ?

@jameswnl is https://github.com/ManageIQ/manageiq/pull/17828 same as this PR?

@h-kataria thanks.
Closing this one.


Spiky post_backdrop_filter_* benchmarks -- possible lab issue?

I'm seeing a lot of spikes in the various post_backdrop* benchmarks, and they all seem to fall on the same commits. I'm hesitantt o blame the commits; they look pretty random. Could we have a problem with one of the iOS devices?
cc @godofredoc

I'll take a look

The benchmarks only runs on mac10, we will check the attache device.

If we suspect the problem is in the lab, then TODAY is probably not an appropriate issue for this label. @digiter can you follow up here once you've diagnosed the issue? This will block the flutter roll

To discard the regression is caused by the test bed can we run a couple of iterations with a commit from 12/13/19 just before the metric spikes started?

@jonahwilliams The device looks normal, I found an issue with signing though.
@godofredoc I'm trying that.

The spikes that go up to 16ms are a known issue with the way we manage frames on iOS. There is a small chance that a frame will trigger a wait on vsync condition while processing an OpenGL call and that is beyond our control (as far as we currently understand). Once that happens, every frame after that will continue to trigger the same wait, essentially measuring our frame times at 16ms on every frame. At some point we eventually encounter another condition and recover, but if the benchmark happens to measure one of those cascading wait runs then the results will come back as 16ms instead of the actual processing time of a couple of ms.
I could mark the entire benchmark flaky, but the CPU/GPU percentage measurements seem to be reliable and we really do want to measure those.
I could archive each "rasterizer time" benchmark, but I'm currently looking into any way we can fix the underlying condition as it is something that frequently frustrates developers and while it means we probably maintain 60fps during those cascading wait sequences, we will be rendering an extra frame behind the entire time which isn't great.

@flar That matches my observations, I have executed the benchmark 5 times agains the PR which added the benchmark initially (https://github.com/flutter/flutter/pull/46924). There were 3 successful runs with "rasterizer time" to be ~16ms, just like you mentioned. And 2 failed runs reporting "Exception: No valid measurements found.", which sounds like flakiness in the instrument tool.

What benchmarks are spiky here, CPU/GPU usages or other metrics like frame build/raster times? I believe that CPU/GPU usages are what we're interested in, and the regression there seems to be fixed after https://github.com/flutter/flutter/commit/4f460a932bbfa66d8d19bd3cf3f5c16db17a45b4. (Maybe it's just a device lab fix.)
If other metrics are spiky, maybe we can just archive those? A bigger issue might be that the CPU/GPU usage test has been disabled in the device lab https://github.com/flutter/flutter/issues/45435#issuecomment-583631286 so we'll no longer have signals to know whether someone accidentally broke @flar's  the energy improvement.

@flar : can you please confirm if the CPU/GPU usage regression is fixed after 4f460a9 (maybe it's just a device lab fix), and whether we should just archive the frame build or raster time metrics since they probably have nothing to do with your energy optimization work?

This looks like it may be getting worse. Hard to tell, but it looks like it's regressing around https://github.com/flutter/flutter/pull/52619. I'm applying the TODAY label again so that we look into it.

@kf6gpe that's a different benchmark. Wasn't the original issue specific to the post_bdf benchmarks?

Whoops! My mistake -- I think I screen-capped the wrong benchmark. I'll follow up with tomorrow's performance sweep. Thanks!

Was looking at this today in performance triage, and it looks like we're missing metrics on all of the post_backdrop_filter* benchmarks at this point. @liyuqian @flar Does that ring a bell for either of you?

I think I see the issue with the missing data. The tests were commented out in https://github.com/flutter/flutter/commit/9348aea0164e72f8b32e45f29ed9fcc8ddbb3da7
The PR was getting rid of tests that use cpu/gpu because those mechanisms are broken. Those benchmarks both produce regular ms/frame results and they also produce the flutter gauge CPU/GPU usage results, so was the intent to get rid of the benchmarks entirely or just to get rid of their use of the broken flutter gauge mechanism? I'll ask in that PR...

Here is the data on 3 runs of these benchmarks just before and after the fix they are guarding:
before readback fix (2eed59c1d5e0bd0ce72b28116e30d0a1092dc729):
Run 1:
    "average_frame_rasterizer_time_millis": 2.6578179894179916,
    "90th_percentile_frame_rasterizer_time_millis": 3.064,
    "99th_percentile_frame_rasterizer_time_millis": 20.458,
    "worst_frame_rasterizer_time_millis": 203.208,
Run 2:
    "average_frame_rasterizer_time_millis": 3.095156081808397,
    "90th_percentile_frame_rasterizer_time_millis": 3.445,
    "99th_percentile_frame_rasterizer_time_millis": 20.95,
    "worst_frame_rasterizer_time_millis": 266.472,
Run 3:
    "average_frame_rasterizer_time_millis": 2.699309650053022,
    "90th_percentile_frame_rasterizer_time_millis": 3.081,
    "99th_percentile_frame_rasterizer_time_millis": 20.079,
    "worst_frame_rasterizer_time_millis": 199.697,

after readback fix (67adb8954fbb661a5270dc8a1ab3123289fa27a2):
Run 1:
    "average_frame_rasterizer_time_millis": 2.612356382978721,
    "90th_percentile_frame_rasterizer_time_millis": 3.056,
    "99th_percentile_frame_rasterizer_time_millis": 27.527,
    "worst_frame_rasterizer_time_millis": 203.542,
Run 2:
    "average_frame_rasterizer_time_millis": 2.524662090813094,
    "90th_percentile_frame_rasterizer_time_millis": 3.088,
    "99th_percentile_frame_rasterizer_time_millis": 19.814,
    "worst_frame_rasterizer_time_millis": 203.096,
Run 3:
    "average_frame_rasterizer_time_millis": 2.5582992545260947,
    "90th_percentile_frame_rasterizer_time_millis": 2.797,
    "99th_percentile_frame_rasterizer_time_millis": 28.368,
    "worst_frame_rasterizer_time_millis": 201.939,

Here is a graph. There are slight improvements in the numbers after the fix, but they are very close to the measurement noise

Ignore previous comment - wrong benchmark...

So I ran the post_backdrop_filter benchmark before and after the fix it was measuring, but with the cpu/gpu portion commented out.
All of the "before" runs came out with every frame measuring 16ms and all but one of the "after" runs had the same thing. So, this benchmark is dominated by the issue that makes iOS apps get stuck waiting for a new vsync window.
I can run it a few more times to see if I can get reproducibility of the one non-bugged "after" number I got, and to see if I can get any non-bugged "before" numbers, but it seems that the CPU/GPU measurements from the ios gauge utility were the only really reliable results we had on this fix.

I applied the "depth=1" hack to the engine before and after the iOS extra buffer fix (https://github.com/flutter/engine/pull/14104) and was able to get some data that didn't run into the vsync wait problem. I've included a graph below of 3 runs before and after the fix. There is a measurable improvement in actual render times with the fix, but it isn't reliably recorded by the benchmark output due to the issue of locking on vsync.

Is this a change we want to make, then, @flar? I checked the dashboard today, and it looks like we've dropped the metrics around this, so I'm not sure what good next steps are here.

Are you referring to the depth=1 hack? That isn't meant to be a fix, just an indication of what actions are tickling the problem.
Note that https://github.com/flutter/engine/pull/17688 may soon land and might have a similar effect. Time will tell as it doesn't specifically prevent the condition, but may have an impact on how likely it is to occur.

Triage: Unclear if this is a regression of the issue with the app waiting for a vsync intervals generating inconsistent results. Assigning a default priority for now.

@flar @liyuqian @digiter No results for these benchmarks are currently showing up on the dashboard.
@flar Is this issue actionable? Should we close this and/or fold this into the work on benchmark dashboard graphing/diagnostics improvements?

It's disabled until https://github.com/flutter/flutter/issues/59238

Hi @flar
Just checking to see if this still should be kept open or can be closed ?


Spring Boot [3.1.1] is not compatible with this Spring Cloud release train

Describe the bug
I'm trying to update to 3.1.1 and the latest Spring Cloud doesn't seem to work with it: 2022.0.3
Sample
Please check the running PR here:
https://github.com/jesperancinha/staco-app/pull/1963
2023-07-02T06:43:44.424Z  WARN 7 --- [           main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compositeCompatibilityVerifier' defined in class path resource [org/springframework/cloud/configuration/CompatibilityVerifierAutoConfiguration.class]: Failed to instantiate [org.springframework.cloud.configuration.CompositeCompatibilityVerifier]: Factory method 'compositeCompatibilityVerifier' threw exception with message: Spring Cloud/ Spring Boot version compatibility checks have failed: [[VerificationResult@7f37b6d9 description = 'Spring Boot [3.1.1] is not compatible with this Spring Cloud release train', action = 'Change Spring Boot version to one of the following versions [3.0.x] .
You can find the latest Spring Boot versions here [https://spring.io/projects/spring-boot#learn].
If you want to learn more about the Spring Cloud Release train compatibility, you can visit this page [https://spring.io/projects/spring-cloud#overview] and check the [Release Trains] section.
If you want to disable this check, just set the property [spring.cloud.compatibility-verifier.enabled=false]']]
2023-07-02T06:43:44.462Z  INFO 7 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger :

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-07-02T06:43:44.483Z ERROR 7 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:

Your project setup is incompatible with our requirements due to following reasons:

- Spring Boot [3.1.1] is not compatible with this Spring Cloud release train

Action:

Consider applying the following actions:

- Change Spring Boot version to one of the following versions [3.0.x] .
You can find the latest Spring Boot versions here [https://spring.io/projects/spring-boot#learn].
If you want to learn more about the Spring Cloud Release train compatibility, you can visit this page [https://spring.io/projects/spring-cloud#overview] and check the [Release Trains] section.
If you want to disable this check, just set the property [spring.cloud.compatibility-verifier.enabled=false]

Are you sure you have not overridden spring-cloud-commons version? For 2022.0.3, commons version is 4.0.3 and we do support Boot 3.1 there. Look at https://github.com/spring-cloud/spring-cloud-commons/blob/v4.0.3/spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/CompatibilityVerifierProperties.java#L39 and https://github.com/spring-cloud/spring-cloud-commons/blob/v4.0.3/spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/SpringBootVersionVerifier.java#L37

@marcingrzejszczak , thanks for you answer. It only downloads commons 4.0.1 to my local maven repo. I can't find any library that could possibly be overriding it. I'm not doing it anywhere intentionally any way.

@marcingrzejszczak , I have fixed the issue forcing the usage of version 4.0.3. Thanks for the tip! 👍. I am closing the issue because I just wanted some sort of fix. However, feel free to examine my repository if you'd like to find the actual source of this problem. I checked and I can't find any dependency that is forcing this to be 4.0.1. There is a chance that somewhere in the parent pom or its subdependencies a 4.0.1 declaration is somehow forcing spring-cloud-commons to be 4.0.1. in spring-cloud-dependencies-parent downwards.

I am having the same issue with SB 3.1.1.
@marcingrzejszczak I can confirm that with spring cloud version 2022.0.3, spring-cloud-starter version 4.0.1 is being resolved somehow.
Overriding with the maven property <spring-cloud-starter.version>4.0.3</spring-cloud-starter.version> resolves this issue.

@pmverma I am unable to reproduce the problem. With a fresh project from start.spring.io with spring-cloud-starter as a dependency I get
[INFO] +- org.springframework.cloud:spring-cloud-starter:jar:4.0.3:compile

If you'd like us to spend some time investigating, please take the time to provide a complete, minimal, verifiable sample (something that we can unzip attached to this issue or git clone, build, and deploy) that reproduces the problem and we can reopen the issue.

Indeed, it was an issue with the Maven BOM import order, and the version from io.awspring.cloud was picked up.
I have fixed it by changing the import order (importing the org.springframework.cloud first).
    </dependencyManagement>
             <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>io.awspring.cloud</groupId>
                <artifactId>spring-cloud-aws-dependencies</artifactId>
                <version>${io.awspring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

File an issue there, they are good about that kind of thing https://github.com/awspring/spring-cloud-aws/issues


Lower coverage with higher valid inputs

Hello. I have run the Maven ModelReaderTest with JQF+Zest multiple times. I noticed that in one case, the valid branch coverage count decreases even if JQF produces a higher number of valid inputs. I am providing the status screen for two cases below where the first case has a relatively lower valid input rate with higher valid branch coverage and the second case has a relatively higher valid input rate with lower branch coverage.
Status screen with lower valid input rate and higher branch coverage:
Semantic Fuzzing with Zest
--------------------------

Test name:            com.mvnXmlApp.mvnXmlApp.ModelReaderTest#testWithGenerator
Instrumentation:      Janala
Results directory:    /Users/...
Elapsed time:         5m 0s (max 5m 0s)
Number of executions: 292,682 (no trial limit)
Valid inputs:         41,019 (14.01%)
Cycles completed:     49
Unique failures:      0
Queue size:           34 (9 favored last cycle)
Current parent input: 14 (favored) {39/1000 mutations}
Execution speed:      492/sec now | 975/sec overall
Total coverage:       29 branches (0.04% of map)
Valid coverage:       28 branches (0.04% of map)

Status screen with higher valid input rate and lower branch coverage:
Semantic Fuzzing with Zest
--------------------------

Test name:            com.mvnXmlApp.mvnXmlApp.ModelReaderTest#testWithGenerator
Instrumentation:      Janala
Results directory:    /Users/...
Elapsed time:         5m 0s (max 5m 0s)
Number of executions: 273,762 (no trial limit)
Valid inputs:         61,663 (22.52%)
Cycles completed:     43
Unique failures:      0
Queue size:           37 (10 favored last cycle)
Current parent input: 13 (not favored) {18/44 mutations}
Execution speed:      1,093/sec now | 912/sec overall
Total coverage:       28 branches (0.04% of map)
Valid coverage:       27 branches (0.04% of map)

What could be the possible reasons for the valid branch coverage to decrease even with a higher valid input rate? Any help will be highly appreciated. Thanks in advance.

It's entirely possible that a fuzzing run that generates a valid input with some hard-to-solve condition results in more coverage but lesser valid rate overall. There is no need for a correlation between the two. The main reason for showing the valid rate is to identify if the fuzz driver / test method is too overtly strict or not. So, if you see a valid rate of 0-5% or so then it means the assumptions are just too strong and fuzzing won't be effective. But once you get past a certain threshold, it's possible that the fuzzer generates lots of valid inputs that cover the same part of the implementation, and that uncovering a complex branch leads to more invalidity as it requires satisfying multiple constraints in the input.


[detector] failed to satisfy "node" dependency version constraint "16": no compatible versions on "ubi8-paketo" stack. Supported versions are: []`

We are getting an ... old issue as [detector] failed to satisfy "node" dependency version constraint "16": no compatible versions on "ubi8-paketo" stack. Supported versions are: []
See job: https://github.com/redhat-buildpacks/testing/actions/runs/5807158874/job/15741467352
@mhdawson

Builder.toml has changed since last time https://github.com/paketo-community/ubi-nodejs-extension/blob/main/README.md
use for the stack
[stack]
  id = "io.buildpacks.stacks.ubi8"
  build-image = "paketocommunity/build-ubi-base"
  run-image = "paketocommunity/run-ubi-base"

and for the lifecycle
[lifecycle]
  version = "0.17.0-pre.2"

also the pack version has to be v0.30.0-pre2 or later

Also the build of the app fails with the v0.30.0-rc1 despite it is later. I think you have to use the v0.30.0-pre2.

use for the stack

So you suggest that I change within the builder.toml file
         id = "ubi8-paketo"
          build-image = "quay.io/midawson/ubi8-paketo-build"
          run-image = "quay.io/midawson/ubi8-paketo-run"

to
[stack]
  id = "io.buildpacks.stacks.ubi8"
  build-image = "paketocommunity/build-ubi-base"
  run-image = "paketocommunity/run-ubi-base"

version = "0.17.0-pre.2"

Lifecycle 0.17.0 is out since yesterday @pacostas

Job is failing https://github.com/redhat-buildpacks/testing/actions/runs/5808895386/job/15746619582 when I configure the project as you suggested @pacostas
===> ANALYZING
Running the 'analyzer' on OS 'linux' with:
Container Settings:
  Args: '/cnb/lifecycle/analyzer -log-level debug -daemon -stack /layers/stack.toml -run-image paketocommunity/run-ubi-base -launch-cache /launch-cache container-registry.local:5000/nodejs-pack-test:1.0'
  System Envs: 'CNB_USER_ID=1001 CNB_GROUP_ID=1000 CNB_PLATFORM_API=0.12'
  Image: 'buildpacksio/lifecycle:0.17.0'
  User: 'root'
  Labels: 'map[author:pack]'
Host Settings:
  Binds: '/var/run/docker.sock:/var/run/docker.sock pack-cache-nodejs-pack-test_1.0-811fea5a[297](https://github.com/redhat-buildpacks/testing/actions/runs/5808895386/job/15746619582#step:5:298)4.launch:/launch-cache pack-layers-lhmyunrmen:/layers pack-app-fkbjctmgbg:/workspace'
  Network Mode: 'host'
[analyzer] flag provided but not defined: -stack
[analyzer] Usage of lifecycle:
[analyzer]   -analyzed string
[analyzer]     	path to analyzed.toml (default "<layers>/analyzed.toml")
[analyzer]   -cache-image string
[analyzer]     	cache image tag name
[analyzer]   -daemon
[analyzer]     	export to docker daemon
[analyzer]   -gid int
[analyzer]     	GID of user's group in the stack's build and run images (default 1000)
[analyzer]   -launch-cache string
[analyzer]     	path to launch cache directory
[analyzer]   -layers string
[analyzer]     	path to layers directory (default "/layers")
[analyzer]   -layout
[analyzer]     	export to OCI layout format on disk
[analyzer]   -layout-dir string
[analyzer]     	path to output directory for images in OCI layout format
[analyzer]   -log-level string
[analyzer]     	logging level (default "info")
[analyzer]   -no-color
[analyzer]     	disable color output
[analyzer]   -previous-image string
[analyzer]     	reference to previous image
[analyzer]   -run string
[analyzer]     	path to run.toml (default "/cnb/run.toml")
[analyzer]   -run-image string
[analyzer]     	reference to run image
[analyzer]   -skip-layers
[analyzer]     	do not provide layer metadata to buildpacks
[analyzer]   -tag value
[analyzer]     	additional tags
[analyzer]   -uid int
[analyzer]     	UID of user in the stack's build and run images (default 1001)
[analyzer]   -version
[analyzer]     	show version
ERROR: failed to build: executing lifecycle: failed with status code: 2
Error: Process completed with exit code 1.

can you try once more, by changing the lifecycle to
[lifecycle]
  version = "0.17.0-pre.2"

on the builder.toml ?

Should such extension changes be part of lifecycle 0.17.0 or 0.17.1 or etc ? @pacostas


Use correct line number for

This makes debugging WPT drastically easier. With the new API, this requires includeNodeLocations option to work.
Column is not tracked since it works a bit differently:
> vm.runInContext('throw new Error()', ctx, { columnOffset: 4 })
evalmachine.<anonymous>:1
throw new Error()
    ^

Error
    at evalmachine.<anonymous>:1:11

Ah, this is so great! I've been meaning to do this for a while but I always forget about it after my annoyance goes away. I'll merge after a CI re-run.

There's no need for column, right? I guess maybe on the first line if you do <script>some stuff</script> (with no newline after <script>), but that's quite an edge case...

I mean, preferably, especially for minified HTML. But for our purposes (making debugging WPT bearable) I'm okay with not doing that at the moment.

The issue about column number is fixed in https://github.com/nodejs/node/pull/15771.


premier test pour savoir si le hash reçu du mint est valide

can you update prettier-write with "prettier-write": "prettier --config .prettierrc 'src/**/*.ts' 'tests/**/*.js' --write" and run it?

looks good thanks! just a few minor changes


Campaign Pagination Error

I try to get all campaigns using:
$pages = $client->paginate(new Management\Campaign([
'q' => 'updated_on>=2017-03-10T18:00:00&status==1',
])
);

for ($page = 1; $page <= $pages->numPages(); $page++)
{
$campaigns = $pages->page($page)->data();
// write to file
file_put_contents('campaigns.txt', print_r($campaigns,1), FILE_APPEND);
}

I have 3 pages (numPages)
but in the second page I get only 1 campaign instead of 100,
if I change the code in Pagination.php
function numResults ()
FROM:
if ($this->num_results === null) {

$options = $this->options([
'page_limit' => 1,
'full' => null
]);

$result = $this->resultForPage(1, $options);

$this->num_results = $result->meta()->totalCount();

}

TO:
if ($this->num_results === null) {

$options = $this->options([
'page_limit' => $this->num_per_page,
'page_offset' => $this->num_per_page,
'full' => null
]);

$result = $this->resultForPage(1, $options);

$this->num_results = $result->meta()->totalCount();

}

It works

fixed in v1.0.5


Missing data in Elastisearch when writing data with elasticsearch-spark connector

What kind an issue is this?

[x] Bug report.

Issue description
We have an issue with data consistency when storing data in Elasticsearch using Spark and elasticsearch-spark connector. Job finishes successfully, but when we compare the original data (stored in S3), with the data stored in ES, some documents are not present in Elasticsearch.
I'm looking for some guidance in order to debug this issue.

I want to understand why Elasticsearch doesn't have all the data although Spark says it finished the job and saved the data
What can we do to ensure that we write data to ES in a consistent manner?

Steps to reproduce
This issue doesn't always happen and unfortunately we cannot reproduce it on demand. The only indicator we found that correlates with occurrences of this bug, is the presence of the failed stage while saving data in Elasticsearch.  Jobs which have this stage failure eventually complete successfully, but the data is inconsistent.

We use the following configuration:

Elasticsearch:

"es.write.operation": "index"
"es.nodes.discovery": "false"
"es.nodes.wan.only": "true"

Spark:

write mode: "append"

Version Info
OS:         :  Amazon Linux
JVM         :  1.8
Hadoop/Spark:  Hadoop 2.7.3 (Amazon), Spark 2.2.0
ES-Hadoop   :  elasticsearch-spark-20_2.11:5.5.2
ES          :  5.3 (Amazon Elasticsearch Service).

@sixers Have you tried loading data using a pre-calculated ID for each record? In the event of a task failure, having an ID for each document can enhance your write consistency.
You mention that you are only seeing the inconsistency when a task is lost. Could you share the details for the errors your tasks are experiencing?

Closing this as no further feedback provided. We can re-open if anything comes up.

same question
i use
"es.batch.write.retry.count" -> "-1",
"es.batch.write.retry.wait" -> "60s",
"es.batch.size.entries" -> "50"
just work on whether  records version's conflict or request body is to large(nginx frontend)
ref https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html

@cclient I'm not sir what you're asking here. Perhaps starting thread on the forums would be a good idea?


Setting up a "Hello world" project as one app with Webpack

Project requirements

Create a new Rails app called 'hello-rails-react'.
Use the command rails new -j webpack my_new_rails_app
Verify that the jsbundling-rails gem is added to your Gemfile.
Initialize your project with Git.
Install needed node dependencies.
Create a babel.config.js in the root folder of your project.
Update webpack.config.js to include the babel loader.
Make sure that your project has a Postgres database set up.
Create a table for storing your messages and create 5 different greetings.
Create an API endpoint that selects a random greeting from your table (you will need a controller with an action and Rails route).
Create a static view that will be the root of your app.
Create the App component with react-router and render it in your static view.
Create the Greeting component that will display a greeting. Set it up as a route in your App component.
Create a store, an action, and a reducer that will connect to your API endpoint to get the random greeting.
Display the random greeting in your Greeting component.

@kiboma2021 check slack for my msg


Use Docker VOLUME for git repo

This is needed so that the repo and the node_modules are mutable and persistent across different runs of the Docker image.
Savage wasn't affected by this since it's a daemon and thus only uses one container.

Welp, that failed.
Looks like adding -v /host/path:/container/path to the docker run command in gruntworker.crontab is the easiest (albeit slightly annoying) proper way to do this.
This will unfortunately mean the git remote/config setup commands will have to be moved out of the Dockerfile.

Decided instead to just stop using Docker for this. Too much yak shaving.


Soft delete users

As per subject: 'soft delete' users, but don't remove them from the database.

Can one of the admins verify this patch?

LGTM. Go, go go! :checkered_flag:


fix(mxMarker): improve method signatures

Also fix related marker method in mxConnector.
mxgraph sources

https://github.com/jgraph/mxgraph/blob/v4.2.2/javascript/src/js/shape/mxMarker.js#L35
https://github.com/jgraph/mxgraph/blob/v4.2.2/javascript/src/js/shape/mxConnector.js#L59-L77

Note: I haven't been able to identify the shape type in method signatures as I haven't found any usage of the parameter in both mxgraph and drawio code.

exactly.


chore(main): release 0.4.0

:robot: I have created a release beep boop
0.4.0 (2024-04-25)
Features

Add support for KVPs in Rust log macros (cb3d535)
Remove requirement for glibc (8a3b494)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/jamesmistry/breadlog/releases/tag/v0.4.0 :sunflower:


Exact ais updated

@haakov's PR #192 , but rebased to new MOCK_AIS, which has been refactored.

@tylerlum ready for review. I've removed the use_real_ships argument, exactAIS will now be used if an AIS token is given, random simulated ships are used otherwise.
Run:
roslaunch local_pathfinding all.launch AIS_token:=<INSERT TOKEN HERE>


[improve] Parse the XFF header to get real client IP when behind reverse proxy

Search before asking

[X] I searched in the issues and found nothing similar.

Motivation
When a broker or proxy is deployed behind a reverse proxy, the origin IP of requests will always be IP of the proxy, Therefore the XFF(X-Forwarded-For) request header is often used to preserve the real client IPs, its a de-facto standard. However, the broker and proxy do not currently handle this.
Solution
Configure ForwardedRequestCustomizer for jetty httpConfiguration to handle these headers and support this feature.
Alternatives
No response
Anything else?
No response
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

X-Forwarded-For header isn't sufficient for all use cases. Jetty 12 has support for "HA proxy protocol", explained here: https://eclipse.dev/jetty/documentation/jetty-12/operations-guide/index.html#og-protocols-proxy-protocol
The Pulsar binary protocol already supports "HA proxy protocol" with the haProxyProtocolEnabled=true configuration.


Add some new maintainers with write access?

This is a fantastic library but could use someone letting updates and pull requests go through. Any thoughts on that @bunkat ?

I'm all for it.  A few people expressed interest but that's as far as it has gotten.

That would be really great!

@alecl: Also see #184.


[CP] Add a recursive flag to the zip command

issue_link
https://github.com/flutter/flutter/pull/117253
Commit Hash
0604a0e
Target
beta
pr_link
https://github.com/flutter/flutter/pull/117251
Impacted Users
release engineering team
Impact Description
Stable docs are not uploaded.
Workaround
N/A
Risk
low
Test Coverage
yes
Validation Steps
Validation in dart-internal builds

@godofredoc was this meant to have a cherry-pick for beta?  The pr link points to the stable branch.

Yes, let me update it!

Read only the first part of your comment in the phone, thanks for updating it.


[Feature Request] Javascript JSON editor

Is your feature request related to a problem? Please describe.
I don't want to put double quotes around keys. I'd like to use node env intrinsic functions to build my JSON body. Currently, I have to be JSON compliant, which is not very human friendly. It's more machine friendly. Following are some inconvenient things to type.
{
  "arrayOfValues": [ "foo", "bar" ],
  "ttl": 300,
  "date": "2020-02-20-17:40z"
}

Describe the solution you'd like
Allow javascript in the JSON body editor. For an example of the feature, create a free tier account with FaunaDB (no plug) and try their collection editor. With JS the above would be,
{
  arrayOfValues: Array(10).fill('foo'),
  ttl: 5 * 60,
  date: new Date().toISOString()
}

Describe alternatives you've considered
There's no alternative to Javascript. Perhaps python, but not really.

Or better yet, JS-YAML.
arrayOfValues: Array(10).fill('foo'),
ttl: 5 * 60,
date: new Date().toISOString()

As for the implementation of this, I think things can be kept simple. You can parse the entire document as YAML. and apply eval on all value strings. If there are security concerns, you should be able to launch an isolated v8 context in electron.
arrayOfValues: eval(`Array(10).fill('foo')`),
ttl: eval(`5 * 60`),
date: eval(`new Date().toISOString()`)

I'm all for this! Also, this has been brought up a few times over the years:

https://github.com/Kong/insomnia/issues/407
https://github.com/Kong/insomnia/issues/526
https://github.com/Kong/insomnia/issues/770

@gschier if we were to extend the plugin API to allow for custom formats in the body selection dropdown then I would have no problem writing a plugin to achieve the rest of the functionality we want. This would be incredibly useful for me day-to-day.

Oh right, I guess what I saw was really close to JSON5.

We are using insomnia a lot at our company and for us it would be awesome to be able to define JS functions and have the response from another request as input for that JS function. This would allow to build great workflows by chaining several APIs, like in the following example:

One API gives you a list of aircraft for some query parameters you defined as JSON
Another API allows you to retrieve the last flights for a list of aircraft

You would then be able to define the response from the first API as an input for a custom JS function that would get only the IDs of the aircraft and join them in a comma separated list to then put them in a query parameter for the second API.

I'd really love this. Is it possible to build a plugin that could intercept the body and be allowed to mutate it? In that case Insomnia itself wouldn't have to know about how to parse json5, yaml, jsonnet, etc., and could see which plugins are most popular before incorporating them into the main client.


New rule: Normalize string keys

Rule details
Normalize string keys
What type of rule is this?
Suggests an alternate way of doing something
Example code
Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize , there are examples of unicode that are similar in character. Generally this could mean that there is a key mismatch on 2 apparently similar strings. Suggesting using a normalized form to avoid this potential issue would be good so that the following 2 object don't have mismatched keys:
{
  "Amélie": 1
}

{
  "Amélie": 2
}

There are valid use cases for these key mismatches, but they are generally very specific in scope.
Participation

[x] I am willing to submit a pull request to implement this rule.

Additional comments
Similar mismatches or deception such as using Bidi mixing / zero width characters etc. are potentially in the same vein but likely would be a different scope since those have associated CVEs.

Ah interesting. I agree this would be good to catch. I'm wondering if this should be part of no-duplicate-keys via an option or a completely separate rule. What do you think?

@nzakas I think duplicate keys via a config would be sane but the name of that role is a bit awkward since this occurs without having more than 1 key.

Fair point. A new rule it is! Maybe no-unnormalized-keys?


Documentation for RBAC

I'm struggling to find any documentation on how to use this and integrate it with ASP.NET Identity so that I can use "IsInRole" and the "AuthorizeAttribute".

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

ID: 6f1c454d-73bc-5a73-5d3f-1b1ca7625044
Version Independent ID: 552b3f09-6650-e7f7-01f2-a702005b83e9
Content: Configure Azure Active Directory authentication - Azure App Service
Content Source: articles/app-service/configure-authentication-provider-aad.md
Service: app-service-mobile
GitHub Login: @mattchenderson
Microsoft Alias: mahender

@deisterhold, Thanks for the question! We are taking a look into this and will get back to you soon.

@deisterhold, You may take a look at this document sample for the approach.

@deisterhold, Just checking in to see if you have had a chance to see the previous response. Kindly let us know if you need further assistance on this issue or is good to be closed.

@AjayKumar-MSFT, I saw that previously, but didn’t feel it covered my scenario because I’m using Easy Auth in Azure App Service. I ended up going with a custom Middleware that parses the headers returned by App Service. Is there a way for me to support multiple roles though?

@deisterhold, Thanks for the response! Could you please provide more details on your requirement or scenario you’re intending to accomplish? Yes, you can use app roles easily with the baked in Azure AD based Azure App Service Authentication functionality to control access to parts of your application.  You can then leverage ASP.Net functions such as User.IsInRole(“Admin”) and  [Authorize(Roles = "Admin")] in your Controllers, APIs and Pages to restrict or allow access.  Azure Active Directory makes it easy to define App roles however the default classes to leverage roles is looking for a different claim. Refer this blog for the sample and approach.

@deisterhold, We will close this out, but if you feel you need more information please just let us know.


Add support for running tests in parallel

Add support for running tests in parallel. Add setting which will enable it. Output from running tests in parallel is not particularly helpful. Standard output doesn't include if a test is successful, just when it is started and if it failed. You can add a --verbose option but that produces some pretty garbled output (especially on macOS). It should be possible to do this, but will be a pain.

Response to https://github.com/swift-server/vscode-swift/issues/640#issuecomment-1963933827
I didn't know about the xUnit output. It probably could be used in certain situations. From what I can tell SwiftPM parallel testing is controlled by SwiftPM and not XCTest. In the situation where I want to debug a test process I have to run XCTest directly. If I use swift test the debugger attaches to the swift package manager process which isn't much use.
Also the last time I checked Windows doesn't like me calling swift test I have to call the xctest executable.  This is why code coverage does not work on Windows, as I need to use swift test --enable-code-coverage to get coverage results.
So if we are not debugging the test process and we aren't on Windows we could possibly use the xUnit output from the parallel tests.

This is now done, it is available via the drop down next to the run button at the top of the test explorer.
There are issues, pre Swift 6, with parsing XCTest failure messages as the output had all the newlines removed from it.
This will be in 1.9 when it is released


add support for different 50x.html pages

and use icds branding on icds
Puts https://github.com/dimagi/commcare-hq-errorpages/pull/12 into action

Already deployed on ICDS


Emails contain entries not matching the query

Hi,
I have a frequency rule like the following:
type: frequency
index: index-*
use_strftime_index: true
num_events: 10
timeframe:
  minutes: 1
query_key: user
aggregation:
  hours: 1
filter:
- query:
    query_string:
      query: conditions
alert:
- "email"
alert_subject: subject
alert_text_type: aggregation_summary_only
email:
- my_email
summary_table_fields:
    - user

I want to receive an email when there are more than 10 events per minute for a "user". I want to receive information of only the "user"s that match the query. However, in the email I received, there are also entries of "user"s for which there are less than 10 events (see below). What am I missing in my configuration here?
Aggregation resulted in the following data for summary_table_fields ==> ['user', 'count']:
+----------+-------+
| user | count |
+==========+=======+
| aaa   | 3     |
+----------+-------+
| bbb   | 6     |
+----------+-------+
| ccc   | 4     |
+----------+-------+
| ddd     | 406   |
+----------+-------+
| eee   | 13    |
+----------+-------+
| fff   | 6     |

Thanks for your help!

All of the users in the table did exceed the 10 events at some point. The count is for the number of alerts triggered within the 1 hour period, not the total number of events for that user.
num_events: 10
timeframe:
  minutes: 1
query_key: user

This basically means that every time a user gets 10 events grouped together within a minute, it will trigger an alert for that user. You could trigger many alerts for a user within an hour. Normally, with the default realert of 1 minute, you could only get up to 60 alerts per user per hour.
aggregation:
  hours: 1

This means that all the alerts will be grouped together for a full hour. So, your table says that aaa was triggered 3 times in that hour, bbb triggered the alert 6 times, etc. Each alert is at least 10 events. The count in the table is not the total number of documents matching a user.
If you remove the aggregation and run the alert over the same time period, you'll probably see a huge flood of different alerts, each showing a grouping of 10 for some user.

Thank you very much for your kind and detailed reply! I understand now.

Hi,
For my case, is there a way to get the list of users who triggered more than a certain number of alerts, instead of all users who triggered at least 1 alert?
Thanks!


[core]control the output format of access.log through the http.access_log_format field in config.yaml

You can control the output format of access.log through the http.access_log_format field in config.yaml, and add a recommended access.log format in the comments.
NOTE: Please read the Contributing.md guidelines before submitting your patch:
https://github.com/apache/incubator-apisix/blob/master/Contributing.md#how-to-add-a-new-feature-or-change-an-existing-one
Summary
SUMMARY_HERE
Full changelog

[Implement ...]
[Add related tests]
...

Issues resolved
Fix #XXX

Need the test cases and documentation

The current test case is not enough.
We need to read the last line of access.log, and confirm it is a valid JSON string.

@Miss-you any news?

this PR that hasn't been updated for a long time, close it first


Insert OboGraph functionality from ARCValidation

ARCValidation library has functions to transform OboOntology type into respective FGraph (from Graphoscope). Move that from there to this repo but in its own project (FsOboGraph).
See also https://github.com/nfdi4plants/arc-validate/issues/56

@omaus do you want to tackle this next after #32 is done?

@kMutagene Yeah, sure. 😃

Additional:

either CvTerm instead of OboTerm as NodeData or (maybe even better) Accession or (maybe best) OboTerm option
generalize TermRelation (if needed)

needs equivalent relationship but ONLY applies if in document header xrefs are treated as equivalent

(maybe even better) Accession

make sure to change the Noke_Key_ to the accession though


Added method to remove temporary files created

Hello,
I added the method _remove_tmp_file which is supposed to remove the temporary files created when we supply a HTML string to screenshot() instead of providing a file. This prevents too much files from accumulating in the temporary directory.
Feel free to change the name of the method or to tell your opinions about this PR :)

Hello, thanks for opening a PR, something like this is indeed missing from the package.
It could almost be merged as-is, but I think one should be able to choose whether or not they want the files to be automatically deleted. I can think of two reasons:

If something went wrong with the screenshot process, taking a look at the HTML files in the temporary directory by opening them in a browser can be a way to see what the pages should look like.
There could be some use-cases where one have to take a lot of screenshots and would like the process to finish as soon as possible. In this case the deletion time (even if insignificant compared to the time it takes to take a screenshot) could adds up while taking screenshots, whereas the files could be deleted later without adding time to the screenshot-taking process.

I think one should be able to chose whether or not they want the files to be automatically deleted

Here is how I would add the possibility to toggle the automatic deletion:

add an auto_remove_tmp_files parameter to the Html2Image class' __init__ with a default value of True
add an attribute with the same name to the Html2Image class
add a simple if statement surrounding the call of the _remove_tmp_file method
and finally add docstring and mention the attribute/parameter in the readme

On a side note : as-is, this method only deletes HTML files and leaves CSS files untouched. It is not necessarily bad however : a CSS file can be loaded one time and be used by an infinite number of HTML files, so deleting them may sometimes be counter-productive.
Still, being able to delete everything in the tmp folder using one command would be nice, it could be a function that would have to be called manually.

Anyway, thanks again for your PR. I wrote everything that came to my mind to make sure that I won't forget about it.
If you wish to add anything that I mentioned in this comment, feel free to do so. If not, I'll add it later myself to this PR.
I'm currently focusing on making this package compatible with Chrome's and Firefox's CDP interface (which is a way to control a web browser via websockets), so any unrelated changes will come after that, sooner or later.

I added an improvement commit:

method is now called _remove_temp_file (for better consistency with temp_path)
an argument keep_temp_file is now present in the class constructor and initialized to False
added documentation in docstring and README

However, I am unsure to understand what you mean with CSS files: from my perspective, it looks like that only HTML files are created, since the CSS string we pass to the screenshot function is embedded into the HTML file. Are there particular circumstances in which temporary CSS files (and anything else than HTML) are supposed to be created?


Is 'SourceSort.com' project still alive? It's in 'Finding a project to contribute to' section, but the link is dead

I checked it in http://web.archive.org/. The last time it was crawled was in Octorber.

I checked it in http://web.archive.org/. The last time it was crawled was in Octorber.

I checked it in http://web.archive.org/. The last time it was crawled was in Octorber.

Oops, apologies for closing out - @manvydasu if it does not appear to be active anymore, we'd welcome a PR to remove that from the list of projects!

Oops, apologies for closing out - @manvydasu if it does not appear to be active anymore, we'd welcome a PR to remove that from the list of projects!


Once again about inpainting, impossible to understand how to do this

Several months ago I gave up trying to understand this plugin as I was not able to grasp how is inpainting performed here.
Today I tried again, as the plugin improved in last months, and I was in a hope I will be able to perform inpainting. No, still mission impossible for me.
Can anybody write a short explanation, how is inpainting done in this plugin.
I open a picture in PS. Guide me step by step like I'm 5 years old, what and where should I press to be able to work with inpainting. I am stuck immediately at the beginning, I my brain refuses to understand what should I do after I open a picture. Where should I draw a mask, on a top of a layer in which I opened the picture?

Yep, try changing all the settings 100 times, move things around with hand waves, close open, retry.  Finally on the 47th time it'll work.

Thanks for sarcasm, 4DT2 :)
Unfortunately, despite successfully inpainted probably up to 10K images in webui, I still struggle to understand how to do this in this plugin. And inpainting in PS will surely be more convenient in comparison to inpainting directly in webui.
So, am I the only one so dumb, who was not able to grasp inpainting in this plugin in several months?

@Renaldas111, Follow the instruction in this comment, https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin/issues/178#issuecomment-1579500105


agent not moving when set to internal

kindly suggest me a solution I am trying to run your project, and after training it when I add trained graph file and set brain type to internal the agent not even move
please suggest how should I make it work

Hi,
which environment are you referring to? A specific one or all of them? To be honest, I never ran my agents in internal mode.

I am talking about simple continuous controller
if you haven't tried them in internal mode then how do you see what have they learnt

You can use the external inference mode.
Inside the jupyter notebook, just set load_model to True and train_model to False. Then the agent is put to action on its learned policies. Also, the inference settings on the academy apply (e.g. resolution and time scale).

can you guide me a bit further that when I am setting load model to True which model will be loaded and why isn't it performing in internal mode where as we test the brain in internal mode, doing what it has learned

The latest model is loaded. Please track down the python code if you want more insights.
I'm not using the internal mode, because TensorflowSharp is highly experimental.

thanks for your help its working in external mode but the continuous controller agent start moving toward the bottom left corner and it just sticks there
guide me if you have experienced the same

Are you using a camera observation as input?
So far its not been working for this environment. Continuous inputs, such as direction to the target and the velocity of the agent works out within thousands of steps.

no not using camera, so far I have trained it first after building in external mode
the training continued till 850000 steps
now it stuck to the wall when I am loading the model(as you suggested)

If you didn't change anything after cloning the project, there is one camera resolution setup on the brain. If you set it to 0, just the continuous state is used as input. Then, the agent should be able to solve the tasks after a few thousands of steps.

thanks I really appreciate. It worked and I was able to train it correctly, but for this time when I set load model true and run the script, the unity environment loads and suddenly in a moment shuts down
don't know what's going on please guide

As I updated the whole repository to ml-agents' version 0.3b, the jupyter notebooks are not included anymore. Maybe your issue is gone with the new version of ml-agents. Refer to the ml-agents repository for further information on how to run environments for training.
python learn.py builds/SCC --train --run-id=scc_1


Everytime PoE becomes the active window, Mouse cursor snaps to center of screen.

🐞 bug report
Describe the bug
When returning to PoE being the active window (after Alt-Tabbing mostly), My mouse position always snaps to the center of the screen. This is mildly disorienting, especially while in maps.
To Reproduce

Alt-tab out of PoE while the overlay is running.
Click back into PoE, for example, into your inventory area.
Mouse will snap to the center of the screen.

Expected behavior
The mouse really shouldn't move itself after clicking back into PoE.
🌍  Your Environment

PoE: Steam 3.10.1c


关于uwebsocket的lib的问题。

When asking a question please also include where you looked for an answer (so we can update the documentation if needed).
你好。请教下。
root@localhost vcpkg]# ./vcpkg install uwebsockets
Computing installation plan...
The following packages are already installed:
uwebsockets[core]:x64-linux -> <IP_ADDRESS>
Package uwebsockets:x64-linux is already installed
Total elapsed time: 20.73 us
The package uwebsockets:x64-linux is header only and can be used from CMake via:
find_path(UWEBSOCKETS_INCLUDE_DIRS "uwebsockets/App.h")
target_include_directories(main PRIVATE ${UWEBSOCKETS_INCLUDE_DIRS})

问题：
貌似这里没法引入 lib 哦？仅仅引入了头文件？
find_path(UWEBSOCKETS_INCLUDE_DIRS "uwebsockets/App.h")
target_include_directories(main PRIVATE ${UWEBSOCKETS_INCLUDE_DIRS})

Hi @yzw88
Thanks for posting this issue.
Since uwebsockets is a header-only library. There are no any libs or dlls generated in this port. The current behavior is intended.

Please let me know if still have other concerns about this issue.

thanks


Temporary bug - Derecho with RDMC broken in master

It seems that some recent commits have broken test cases where Derecho sends data through RDMC. Hopefully, an easy fix.
I tested derecho_bw_test with 100 MB message size and I see a segfault because the buffer of the message accessed in the version_message function in multicast_group.cpp is 0x0.

Fixed.
Derecho development is a distributed process with each one of us adding code. Just like any distributed system, an individual lacks the knowledge of the entire state. This leads to bugs (inconsistencies) when someone edits code written by someone else.
I had helped Weijia timestamp messages after delivery for making a version. This versioning is done after the message is delivered. So in case of RDMC messages, the message buffer has been freed (moved) after delivery so that new messages can be sent. The versioning needs to read this buffer to get the message timestamp. So I had made sure that we get the timestamp before delivery and use it after delivery for versioning. Edward refactored this code last month and moved the versioning to a new function. He moved the logic to retrieve the timestamp to that function and called it after deliver_message. This led to segmentation fault because the memory had been moved. He was only testing the code path that used SST so he did not notice the bug.
I have fixed this and tested successfully. Shortly, a commit will close this issue.

Interestingly, while working with Weijia in commit afd63a3c61db4308c22aeea4c42a5a227470a247, I made the same mistake.
LOL.

So, now deliver_message does not free the message buffer. That is confusing at best. Instead, we free the buffer only after calling version_message too.


Update LSM quickstart docs (#5309)

Pull request opened by the merge tool on behalf of #5309

Merged into branches iso5 in c0499bb4a5093f9049791f76aa2b8ac637e48c02


scrollToItemAtIndexPath:atScrollPosition:animated: not working

Just noticed that scrollToItemAtIndexPath:atScrollPosition:animated: of the UIScrollView is not working properly when using this layout.
I tried with all the UICollectionViewScrollPosition options, even though the CenteredVertically and CenteredHorizontally should probably be the only supported ones, depending on the layout direction.
I would be glad to add support for it and send a pull request if somebody can provide some basic direction to get me started.

+1

In my case, selectItemAtIndexPath:animated:scrollPosition: caused improper centre point of currently focussed item.
performing self.view.layoutIfNeeded() right before self.collectionView.selectItemAtIndexPath(NSIndexPath(forRow: indexPath, inSection: 0), animated: true, scrollPosition: .CenteredHorizontally) fixed this issue.
Hope that this will also fix your issue.

Thanks @rafalkitta! I'm not using this library anymore, but that definitely makes sense, and looks like a very simple solution.


Jan23 improvements

Overall Review of Changes:
Improvements to assist with audit
change to default ntp server
Enhancements:
audit improvements for banner test
How has this been tested?:
Manually

pipeline didnt not run and cant run will close and reopen.


Remove FDFs

Is there a way to remove the .fdf files from the project dir automatically?

You could use this https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback


[irods/irods#7312] Get package revision from IrodsCPackCommon

#'d

It just occurred to me that if we want to do patch releases for 4.3.0.x, we will need to branch from just before this commit and cherry-pick changes OR branch off at the desired point for release and revert this and any other incompatible changes. That seem okay, @korydraughn / @trel?

Hmm... okay, so we would need to branch off of 028a60f3d5f6613140b2569f34d47c7468bbfad6~1 in order to build against 4.3.0 and cherry-pick any relevant changes.

Correct

It just occurred to me that if we want to do patch releases for 4.3.0.x, we will need to branch from just before this commit and cherry-pick changes OR branch off at the desired point for release and revert this and any other incompatible changes. That seem okay, @korydraughn / @trel?

Hmm, once we bump the version number for this repo, we'll be able to do some version checking and introduce similar logic for backwards compatibility just like @SwooshyCueb's recent fix in the GenQuery2 repo.
With that said, let's ignore 4.3.0 compatibility and move forward as is. If we need to release something for 4.3.0, we'll deal with it then.


Multiple slots

Describe the problem
I have such a layout， the content in the two places header and main is different，but +layout.svelte only supports one < slot/>，I'm at a loss

common

footer

You might say, you can create a componentFrame.svelte

  <slot name="header" />

common

  <slot name="main" />

footer

Write this in +layout.svelte
<slot />

Write this in +page.svelte
<Frame>

this is header slot.

this is main slot...

</Frame>

Although this can be achieved, I don't want the common part to be loaded repeatedly. Maybe my common part is CSS animation, svg or even video. If you write the common part like this, it will look like the first time it is loaded.
It's not what I want
Describe the proposed solution
+layout.svelte

  <slot />

common

  <slot />

footer

Alternatives considered
No response
Importance
i cannot use SvelteKit without it
Additional Information
No response

Duplicate of #627


Performance Benchmark: Query state after transaction is InBlock

[ ] To check if state has been correctly updated after the InBlock, send a state query directly after.

I added a balance check at the very end of the test. Since the money is now transferred in a chain of accounts and the amount decreases on each "hop" I think this is sufficient to guarantee that all updates were executed correctly.

This is on the benchmark branch. I would suggest we review the code as part of #175 and close this issue.


Unpin dependencies

Because this project uses pinned dependency versions, it's very likely that consumers will end up with multiple versions of various dependencies like React.  React doesn't like to have multiple versions, and in some cases this is causing me problems.
I think it would be better to use semver and specify only the minimum required versions, and allow proper dependency resolution.  You can check in a package.lock or yarn.lock file to ensure that consistent versions are used during development, if you like.  But I don't think it's a good idea to pin dependencies as you have in your package.json.

@rpl what is your opinion on this request? Solving is as easy as merging #169

would love to see #169 merged; getting warnings about outdated react version in our project

On master all the dependencies are now unpinned  (changes introduced in #197), I'm going to release it soon as a new major release.
I'll keep this issue open until the new version has been released on npm.

Released on npm as part of v0.8.0


Interlock does not generate/save proxy config files

I'm deploying interlock onto a swarm in Azure using the Azure Container Service template. It is basically a swarm with one master and a couple of nodes.
Here is my compose file:
version: '2'
volumes:
  haproxy:
services:
  # nginx service to serve static client files
  nginx:
    image: boilerangularloop/boilerangularloop_nginx
    restart: always
    ports:
      - '8080'
    labels:
        - "interlock.hostname=boilagents"
        - "interlock.domain=eastus.cloudapp.azure.com"

  #interlock
  interlock:
    image: ehazlett/interlock:1.1.0
    environment:
        INTERLOCK_CONFIG: |
            ListenAddr = ":8080"
            DockerURL = "${SWARM_HOST}"

            [[Extensions]]
              Name = "haproxy"
              ConfigPath = "/usr/local/etc/haproxy/haproxy.cfg"
              PidPath = "/run/haproxy.pid"
              MaxConn = 1024
              Port = 80
              AdminUser = "admin"
              AdminPass = "interlock"
    command: -D run
    ports:
        - '8080:8080'
    volumes:
      - haproxy:/usr/local/etc/haproxy

  #loadbalancer
  haproxy:
    image: haproxy:latest
    ports:
        - '80:80'
        - '443:443'
    labels:
        - "interlock.ext.name=haproxy"
    depends_on:
      - interlock
    volumes:
      - haproxy:/usr/local/etc/haproxy

I can see the haproxy volume being created and mounted however interlock doesn't seem to generate the haproxy.cfg file and hence the haproxy service dies. Same happens if I use the nginx extension instead.
Here are the logs:
interlock_1 | time="2016-04-06T13:10:35Z" level=info msg="interlock 1.1.0 (8a68c99)"
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="loading config from environment"
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="docker client: url=tcp://<IP_ADDRESS>:2375"
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="loading extension: name=haproxy"
interlock_1 | time="2016-04-06T13:10:35Z" level=info msg="interlock node: id=6a62b5554c670e663ae42b1d4f46bd46c4701e049fe252c8d8bfd6853f100f1e" ext=lb
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="starting event handling"
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="event received: status=interlock-start id=0 type= action="
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="notifying extension: lb"
interlock_1 | time="2016-04-06T13:10:35Z" level=debug msg="triggering reload" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="reaping key: reload"
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="triggering reload from cache" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="checking to reload" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="updating load balancers" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="generating proxy config" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=info msg="boilagents.eastus.cloudapp.azure.com: upstream=<IP_ADDRESS>:32799 container=vagrant_nginx_1" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="alias domains: []" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="adding host name=boilagents_eastus_cloudapp_azure_com domain=boilagents.eastus.cloudapp.azure.com" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="proxy config path: /usr/local/etc/haproxy/haproxy.cfg" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="saving proxy config" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="calculating restart across interlock nodes: num=1" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="proxy containers to restart: num=0 containers=" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="signaling reload" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="dropping SYN packets to trigger client re-send" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="&{/sbin/iptables [/sbin/iptables -I INPUT -p tcp --dport 80 --syn -j DROP] []  <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=warning msg="error signaling clients to resend; you will notice dropped packets: exit status 3" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="resuming SYN packets" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="&{/sbin/iptables [/sbin/iptables -I INPUT -p tcp --dport 80 --syn -j DROP] []  <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=warning msg="error signaling clients to resume; you will notice dropped packets: exit status 3" ext=haproxy
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="triggering proxy network cleanup" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=info msg="reload duration: 32.68ms" ext=lb
interlock_1 | time="2016-04-06T13:10:36Z" level=debug msg="checking to remove proxy containers from networks" ext=lb
haproxy_1   | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds
haproxy_1   | [ALERT] 096/131038 (7) : Could not open configuration file /usr/local/etc/haproxy/haproxy.cfg : No such file or directory
haproxy_1   | <5>haproxy-systemd-wrapper: exit, haproxy RC=256
vagrant_haproxy_1 exited with code 0

As you see, it logs both generating and saving proxy config. But if I exec into the interlock container and look at the mounted volume, it remains empty. Any ideas?
Thanks!

This can be an issue with the volume.  I've updated how the configs are sync'd in my overlay PR.  Can you try the image ehazlett/interlock:overlay and see if that helps?

I'm having exactly the same problem using 1.1.0 with nginx.  I've also tried mounting a host folder instead of using the docker volume.

I will need to see logs from Interlock and the proxy containers as I can not reproduce.

Here is a local setup to reproduce the original issue mentioned by @inf-rno
https://github.com/cnadeau/swarmer/tree/interlock_issue_114_setup
had to tweak the script to remove the master from the swarm worker nodes and expose non TLS ports to be closer to our own setup
To create the full local swarm setup:
./deploy.sh
docker exec -it swarm-agent-n1/swarmer_interlock_1 sh
haproxy fails at first because it doesn't find the file before interlock generates it, but even after the log mentioning it's created, the file is not generated inside the container:

interlock_1 | time="2016-04-14T14:17:39Z" level=info msg="interlock 1.1.0 (8a68c99)"
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="loading config from environment"
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="docker client: url=tcp://<IP_ADDRESS>:2375"
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="loading extension: name=haproxy"
interlock_1 | time="2016-04-14T14:17:39Z" level=info msg="interlock node: id=4673a9e8aca81c1ab24321e19502d727761d1b2f4448e077984f278c34270865" ext=lb
haproxy_1   | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="starting event handling"
haproxy_1   | [ALERT] 104/141811 (6) : Could not open configuration file /usr/local/etc/haproxy/haproxy.cfg : No such file or directory
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="event received: status=interlock-start id=0 type= action="
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="notifying extension: lb"
interlock_1 | time="2016-04-14T14:17:39Z" level=debug msg="triggering reload" ext=lb
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="reaping key: reload"
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="triggering reload from cache" ext=lb
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="checking to reload" ext=lb
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="updating load balancers" ext=lb
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="generating proxy config" ext=lb
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="proxy config path: /usr/local/etc/haproxy/haproxy.cfg" ext=lb
interlock_1 | time="2016-04-14T14:17:40Z" level=debug msg="saving proxy config" ext=lb

PS: huge thanks to @everett-toews for the swarmer script

Looks like that is pretty common issue. Have the same in AWS with Docker Machine and Swarm.
Appeared last days.
I build Interlock by myself, in order to customise Nginx template.

@iiezhachenko FWIW, you won't need to build Interlock yourself just to customize the templates once https://github.com/ehazlett/interlock/pull/113 merges (and there's an image for it).

Well. I'm a DevOps, not Go developer. Solving my needs as I can :)
Waining for #113 to be merged. I really need that, because Nginx config is quite complex in my case.

Ok I'm going to take a look and see if I can reproduce.  Thanks.

Not sure if you're still investigating this, but I also get it this problem occasionally.  It's really hit or miss, though.

I have the same problem when using volumes and haproxy.
interlock will not generate haproxy.cfg
$ ls -la /var/lib/docker/volumes/webloadbalancer_haproxy/_data/
drwxr-xr-x 3 root staff 4096 Apr 21 12:20 .
drwxr-xr-x 3 root root  4096 Apr 21 12:18 ..
drwxr-sr-x 2 root staff 4096 Apr  7 07:07 errors

Can you try the latest ehazlett/interlock:master image?  I have some fixes there.

@ehazlett When using the OPs configuration and :master, it create the volume and configuration, but if I start the web application in a separate docker-compose.yml file, after interlock and haproxy, it crashes saying that it cannot find the configuration file. If i try to start haproxy again, it works.
423c997475dd        haproxy:latest               "/docker-entrypoint.s"   18 minutes ago       Exited (128) 4 minutes ago
<7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds
[ALERT] 117/180314 (6) : Could not open configuration file /usr/local/etc/haproxy/haproxy.cfg : No such file or directory
<5>haproxy-systemd-wrapper: exit, haproxy RC=256
<7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds
[WARNING] 117/180315 (6) : config : log format ignored for frontend 'http-default' since it has no log address.
<7>haproxy-systemd-wrapper: SIGTERM -> 7.
<5>haproxy-systemd-wrapper: exit, haproxy RC=0

Remove the volume.  Starting in 1.1.0 volumes are no longer needed.  My guess is something isn't writing properly.

having similar problems. which volumes are no longer needed ?

The ones that map to the proxy configs. Nginx or haproxy. That shouldn't
matter but I've seen some odd behavior. Also try using the latest
ehazlett/interlock:master to see if that helps. There are a couple of fixes
in there for reloading.
On May 5, 2016 17:15, "chromerobv"<EMAIL_ADDRESS>wrote:

having similar problems. which volumes are no longer needed ?
—
You are receiving this because you were mentioned.

Can you post your interlock config?

—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/114#issuecomment-217321335

ListenAddr = ":8080"
DockerURL = "tcp://ops-docker:2375"
AllowInsecure = true
EnableMetrics = false
[[Extensions]]
Name = "nginx"
TemplatePath = "/etc/interlock/nginx.conf.template"
ConfigPath = "/etc/nginx.conf"
PidPath = "/etc/conf/nginx.pid"
BackendOverrideAddress = "<IP_ADDRESS>"

It's not finding any proxy containers.
On May 5, 2016 20:58, "Evan Hazlett"<EMAIL_ADDRESS>wrote:

Can you post your interlock config?

—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/114#issuecomment-217321335

What does docker -H tcp://ops-docker:2375 ps report?
On May 5, 2016 20:58, "chromerobv"<EMAIL_ADDRESS>wrote:

ListenAddr = ":8080"
DockerURL = "tcp://ops-docker:2375"
AllowInsecure = true
EnableMetrics = false
[[Extensions]]
Name = "nginx"
TemplatePath = "/etc/interlock/nginx.conf.template"
ConfigPath = "/etc/nginx.conf"
PidPath = "/etc/conf/nginx.pid"
BackendOverrideAddress = "<IP_ADDRESS>"
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/114#issuecomment-217321493

so if i don't use the -v nginx:/etc/conf how should i start the nginx container? where do i point it to find the config ?

See an example here:
https://github.com/ehazlett/interlock/blob/master/docs/examples/nginx-swarm-machine/
On Thu, May 5, 2016 at 9:13 PM, chromerobv<EMAIL_ADDRESS>wrote:

so if i don't use the -v nginx:/etc/conf how should i start the nginx
container? where do i point it to find the config ?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/ehazlett/interlock/issues/114#issuecomment-217323227

Hi, I'm having the same issue.
When I don't use docker swarm it regenerates the nginx.conf file but when I use the swarm it doesn't work.
I've tried with a lot of configurations and different versions of interlock (including master)
When using docker swarm in the interlock logs you can see the events when you scale your containers but nginx.conf is not updated with these events.
that's the docker-compose.yml
version: "2"
services:
interlock:
image: ehazlett/interlock:master
command: run
tty: true
ports:
- 8080
environment:
INTERLOCK_CONFIG: |
ListenAddr = ":8080"
DockerURL = "${SWARM_HOST}"
TLSCACert = "/var/lib/boot2docker/ca.pem"
TLSCert = "/var/lib/boot2docker/server.pem"
TLSKey = "/var/lib/boot2docker/server-key.pem"
        [[Extensions]]
        Name = "nginx"
        ConfigPath = "/etc/nginx/nginx.conf"
        PidPath = "/var/run/nginx.pid"
        TemplatePath = "/etc/interlock/nginx.conf.template"
        MaxConn = 1024
        Port = 80
  volumes:
    - ./nginx.conf.template:/etc/interlock/nginx.conf.template
    - /var/lib/boot2docker:/var/lib/boot2docker:ro
  restart: always

nginx:
image: nginx:latest
entrypoint: nginx
command: -g "daemon off;" -c /etc/nginx/nginx.conf
ports:
- 80:80
labels:
interlock.ext.name: "nginx"
restart: always

I might be doing something stupid, but it seems this can be re-produced just with the example setup (see #147 )

This should be fixed in the latest.  Please open a new issue if you continue to have issues.  Thanks!


Add a new initializer to GenericConstraint

Summary
Add a new initializer to SymbolGraph.Symbol.Swift.GenericConstraint that allows clients to create these structs directly in memory and not only from decoding JSON.
Swift DocC will use this to in the fix for rdar://112219546.
Testing
New unit tests were added. The Swift DocC test suite, which exercises this new code path, passes. Swift DocC was used to compile large frameworks without any new problems.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ x ] Added tests
[ x ] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary

@swift-ci please test

@swift-ci please test


SomeJSONSchema does not accept correct JSONSchemaType object

What version of Ajv are you using? Does the issue happen if you use the latest version?
Latest: 8.11.0
Ajv options object

not applicable - errors with TS types
Your code

interface Body {
    data: Record<string, unknown>;
}

const bodySchema: JSONSchemaType<Body> = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
    properties: {
        data: {
            type: 'object',
        },
    },
    required: ['data'],
};

export const eventSchema: SomeJSONSchema = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
    properties: {
        body: bodySchema,
    },
    required: ['body'],
};

TS error:
TS2322: Type '{ $schema: string; type: "object"; properties: { body: { type: "object"; additionalProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; unevaluatedProperties?: boolean | ... 1 more ... | undefined; ... 7 more ...; maxProperties?: number | undefined; } & { ...; } & { ...; } & { ...; }; }; requi...' is not assignable to type 'SomeJSONSchema'.
  Types of property 'properties' are incompatible.
    Type '{ body: { type: "object"; additionalProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; unevaluatedProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; ... 7 more ...; maxProperties?: number | undefined; } & { ...; } & { ...; } & { ...; }; }' is not assignable to type 'Partial<UncheckedPropertiesSchema<{ [key: string]: Known; }>>'.
      Property 'body' is incompatible with index signature.
        Type '{ type: "object"; additionalProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; unevaluatedProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; ... 7 more ...; maxProperties?: number | undefined; } & { ...; } & { ...; } & { ...; }' is not assignable to type '{ $ref: string; } | (UncheckedJSONSchemaType<Known, false> & { const?: Known | undefined; enum?: readonly Known[] | undefined; default?: Known | undefined; }) | undefined'.
          Type '{ type: "object"; additionalProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; unevaluatedProperties?: boolean | UncheckedJSONSchemaType<unknown, false> | undefined; ... 7 more ...; maxProperties?: number | undefined; } & { ...; } & { ...; } & { ...; }' is not assignable to type '{ $ref: string; }'.
            Types of property '$ref' are incompatible.
              Type 'string | undefined' is not assignable to type 'string'.
                Type 'undefined' is not assignable to type 'string'.

What results did you expect?
SomeJSONSchema should be possible to be composed of other valid schema objects.
Are you going to resolve the issue?
It can be over my possibilities.

This is not a bug. Specific schema type does not extend SomeSchema type, they are constructed completely differently. SomeSchema type would only accept a valid schema object, but not the one that was typed as specific schema

Thanks for the answer. But I'm not sure if I understand you fully.

SomeSchema type would only accept a valid schema object, but not the one that was typed as specific schema

Shouldn't SomeSchema type accept any valid schema object? And JSONSchemaType<T> is a valid schema object.
I also found that SomeSchema requires the required property, which AFAIK is not mandatory in JSON schema:
const schema: SomeJSONSchema = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
};

TS2322: Type '{ $schema: string; type: "object"; }' is not assignable to type 'SomeJSONSchema'.
   Type '{ $schema: string; type: "object"; }' is not assignable to type '{ type: "object" | undefined; additionalProperties?: boolean | UncheckedJSONSchemaType<Known, false> | undefined; unevaluatedProperties?: boolean | ... 1 more ... | undefined; ... 7 more ...; maxProperties?: number | undefined; } & { ...; } & { ...; } & { ...; }'.
     Property 'required' is missing in type '{ $schema: string; type: "object"; }' but required in type '{ required: readonly (string | number)[]; }'.

(this may be a separate, but related issue?)

This is not that simple I am afraid. For typescript, these are three different types:
type 1:
const schema1 = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
}

type 2:
const schema2: SomeJSONSchema = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
}

type 3:
const schema3: JSONSchemaType<Record<any, any>> = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
}

You can see what type schema has in each of this cases by using typeof operator in typescript.
The way it works is that (typeof schema2) extends (typeof schema1) and (typeof schema3) extends (typeof schema1), but from it doesn't follow that (typeof schema3) extends (typeof schema2), as you want, schema2 and schema3 have types neither of which extends another, they are just not compatible from typescript point of view.
Just in case, typescript "extends" is a synonym for "narrows", it's always been quite confusing to me. It would have been nice if it were possible to make JSONSchemaType<T> extend SomeJSONSchema for any T, but I don't think it's possible using typescript type machinery, and, at the very least, it is not the case now.
cc @erikbrinkman – am I explaining it correctly?

@epoberezkin in general what you're saying is true. Typescript isn't sound, and instead works by assignability, ignoring extra parameters. So by extending a type, you're just narrowing the the things it can apply to.
in general, doing something like const schema2: SomeJSONSchema only changes assignability when it comes to widening primitives.
const schema1 = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
}

get's treated as { $schema: string; type: string } when you wanted { $schema: string; type: "object" }.
However @m-radzikowski, the problem you're reporting seems sound.
If you add the required parameter, and switch it to be more general, you still get the same error:
const bodySchema: SomeJSONSchema = {
    '$schema': 'https://json-schema.org/draft/2020-12/schema',
    type: 'object',
    properties: {
        data: {
            type: 'object',
            required: []
        },
    },
    required: ['data'],
};

Types of property '$ref' are incompatible.
              Type 'string | undefined' is not assignable to type 'string'.
                Type 'undefined' is not assignable to type 'string'

The problem is that SomeJSONSchema is expecting the properties object to have a $ref field, and I'm not entirely sure why at first glance. If you cast it with as unknown as SomeJSONSchema & {$ref: string} to make TS think it has a ref, that works.  Similarly, your original version (e.g. JSONSchemaType<Body> & { $ref: string }) also works. So this is less an issue of compatibility between schemas and more a problem of SomeJSONSchema expecting $ref for reasons unknown.

Hm, I think the problem is elsewhere - $ref is an optional property in that type…

SomeJSONSchema doesn’t use StrictNullChecksWrapper - @m-radzikowski , do you have strict null checks enabled?

Looking at this more closely, I don't think the $ref is the problem. I think that was a mistake because if it's { $ref: ... } then it passes any schema. However, that leaves me stumped.
If you remove the JSONSchemaType enforcement, then the assignment works. Somehow, the assignment to JSONSchemaType<Body> widens the type enough that it doesn't conform to SomeJSONSchema. Looking at the error, it seems to be passing as an array first in the cascade of type unions, and that is messing up the type.
However, that does suggest a stop gap to what's causing your error. You can assign sub schemas to their most narrow type with as const and then also verify that conforms to a sub schema, a la:
const bodySchema = {
  '$schema': 'https://json-schema.org/draft/2020-12/schema',
  type: 'object',
  properties: {
    data: {
      type: 'object',
      required: []
    },
  },
  required: ['data'],
} as const;

const _: JSONSchemaType<Body> = bodySchema;

export const eventSchema: SomeJSONSchema = {
  '$schema': 'https://json-schema.org/draft/2020-12/schema',
  type: 'object',
  properties: {
    body: bodySchema,
  },
  required: ['body'],
};

This scheme will do all the type checking you want, but it's a little verbose.
Unfortunately this error is also present in the v9 branch, but unfortunately I'm not sure how best to resolve it.

Hey! I have same problems with nested object type, anyone found solution?


Error trying to install.

Two days ago this worked perfectly, but then I have this error:
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
[youtube] I_8ZH1Ggjk0: Downloading webpage
[download] Destination: /content/enhance.webm
[download] 100% of 566.07KiB in 00:00
ldconfig: /usr/local/lib/python3.7/dist-packages/ideep4py/lib/libmkldnn.so.0 is not a symbolic link
VS plugin thread done.
Building additional plugins
/
/src/VapourSynth-DCTFilter
Cloning into 'VapourSynth-DCTFilter'...
remote: Enumerating objects: 33, done.
remote: Total 33 (delta 0), reused 0 (delta 0), pack-reused 33
Unpacking objects: 100% (33/33), done.
/src/VapourSynth-DCTFilter/VapourSynth-DCTFilter
/bin/bash: meson: command not found
ninja: Entering directory build' ninja: fatal: chdir to 'build' - No such file or directory ninja: Entering directory build'
ninja: fatal: chdir to 'build' - No such file or directory
/
/src/VapourSynth-TTempSmooth
Cloning into 'VapourSynth-TTempSmooth'...
remote: Enumerating objects: 43, done.
remote: Total 43 (delta 0), reused 0 (delta 0), pack-reused 43
Unpacking objects: 100% (43/43), done.
/src/VapourSynth-TTempSmooth/VapourSynth-TTempSmooth
/bin/bash: meson: command not found
ninja: Entering directory build' ninja: fatal: chdir to 'build' - No such file or directory ninja: Entering directory build'
ninja: fatal: chdir to 'build' - No such file or directory
/
I guess this project is abandoned.

I answer myself, it seems that google colab has deleted or modified some functions in terms of python 3.6, torch and cupy so you have to install all the above mentioned again.
Before installing Vapoursynth, in a new code cell you have to paste this and run it:
!wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
!tar -xvf Python-3.6.3.tgz
%cd Python-3.6.3
!sudo ./configure --enable-optimizations
%cd /content/
!rm -rfv "./Python-3.6.3"
!rm -rfv "./Python-3.6.3.tgz"

!wget https://bootstrap.pypa.io/get-pip.py
!sudo python3.6 get-pip.py
!!rm -rfv "./get-pip.py"

Now in another code cell install Cupy and Torch paste this and run it.
!pip install torch
!pip install cupy-cuda101

Now install VapourSynth normally and From now on, everything should work fine.
Fix ffmpeg
In the latest versions of ffmpeg you cannot use nvenc under collaborative GPUs, so you must install a specific version of ffmpeg.
In a new code cell you must paste this and run it:
%cd /content/
!wget http://lliurex.net/bionic/pool/universe/f/ffmpeg/ffmpeg_3.4.2-2_amd64.deb
!sudo apt install ./ffmpeg_3.4.2-2_amd64.deb
!rm ./ffmpeg_3.4.2-2_amd64.deb

With this all problems must be solved.