[numpy] add op matmul

Description
unary op: matmul
Because matmul has a special signature (i.e. (n?,k),(k,m?)->(n?,m?)) in official numpy, I comment out the following  code segment in python/mxnet/numpy/multiarray.py :
if ufunc.signature is not None:
# we don't support generalised-ufuncs (gufuncs)
return NotImplemented
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

I think you may call the BatchedGEMMStrided Kernel directly: https://devblogs.nvidia.com/cublas-strided-batched-matrix-multiply/
Get Outlook for iOShttps://aka.ms/o0ukef

From: JiangZhaoh<EMAIL_ADDRESS>Sent: Sunday, December 8, 2019 6:04:32 PM
To: apache/incubator-mxnet<EMAIL_ADDRESS>Cc: Xingjian SHI<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [apache/incubator-mxnet] [numpy] add op matmul (#16990)
@JiangZhaoh commented on this pull request.

In src/operator/numpy/np_matmul_op-inl.hhttps://github.com/apache/incubator-mxnet/pull/16990#discussion_r355237851:

       It is treated as a stack of matrices residing in the last two indexes and broadcast accordingly.

\param out - output: insert 'value' to 'arr' according to 'index'.

\param a - input: the first argument.

\param b - input: the second argument.

\param ndim - ndim of a, b and output. Because of broadcast, regard their ndim as equal.

*/
template
MSHADOW_XINLINE static void Map(int i, DType* out,

                             const DType* a, const DType* b,

                             const mshadow::Shape<10> a_stride,

                             const mshadow::Shape<10> b_stride,

                             const mshadow::Shape<10> out_stride,

                             const mshadow::Shape<10> a_shape,

                             const mshadow::Shape<10> b_shape,

                             const mshadow::Shape<10> out_shape,

                             const size_t ndim){

You may refer to the implementation of batch_dot. There is no need to store the strides and shapes as Shape<10>. You can reshape the array to a 3D array and just dot the last two dimensions:
https://github.com/apache/incubator-mxnet/blob/1aa1b5a9ab53bb57a3c653793fb824d01f2d5e81/src/operator/tensor/dot-inl.h#L1348-L1409
Thanks for your advice. But, may I ask how could I broadcast the shape if I don't store strides and shapes?
e.g. Matrix A in shape (2, 1, 3, 4, 5) and matrix B in shape (3, 1, 5, 2), C=np.matmul(A, B) would broadcast A and B to shape (2, 3, 3, 4, 5) and (3, 3, 5, 2) respectively, and C's shape would be (2, 3, 3, 4, 2).
If I didn't store shape and stride, I think I should copy the content in each array to get the consistent shape firstly, and use your method then. Is this your mean?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-mxnet/pull/16990?email_source=notifications&email_token=ABHQH3VQJPJ2ICENM5STTDTQXWRTBA5CNFSM4JWMPQEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCOLORVI#discussion_r355237851, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABHQH3R4ZQCQQAG34ABFOA3QXWRTBANCNFSM4JWMPQEA.

I think you may call the BatchedGEMMStrided Kernel directly: https://devblogs.nvidia.com/cublas-strided-batched-matrix-multiply/ Get Outlook for iOShttps://aka.ms/o0ukef
________________________________ From: JiangZhaoh<EMAIL_ADDRESS>Sent: Sunday, December 8, 2019 6:04:32 PM To: apache/incubator-mxnet<EMAIL_ADDRESS>Cc: Xingjian SHI<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [apache/incubator-mxnet] [numpy] add op matmul (#16990) @JiangZhaoh commented on this pull request.
________________________________ In src/operator/numpy/np_matmul_op-inl.h<#16990 (comment)>:

It is treated as a stack of matrices residing in the last two indexes and broadcast accordingly.

\param out - output: insert 'value' to 'arr' according to 'index'. + * \param a - input: the first argument. + * \param b - input: the second argument. + * \param ndim - ndim of a, b and output. Because of broadcast, regard their ndim as equal. + / + template + MSHADOW_XINLINE static void Map(int i, DType out, + const DType* a, const DType* b, + const mshadow::Shape<10> a_stride, + const mshadow::Shape<10> b_stride, + const mshadow::Shape<10> out_stride, + const mshadow::Shape<10> a_shape, + const mshadow::Shape<10> b_shape, + const mshadow::Shape<10> out_shape, + const size_t ndim){ You may refer to the implementation of batch_dot. There is no need to store the strides and shapes as Shape<10>. You can reshape the array to a 3D array and just dot the last two dimensions: https://github.com/apache/incubator-mxnet/blob/1aa1b5a9ab53bb57a3c653793fb824d01f2d5e81/src/operator/tensor/dot-inl.h#L1348-L1409 Thanks for your advice. But, may I ask how could I broadcast the shape if I don't store strides and shapes? e.g. Matrix A in shape (2, 1, 3, 4, 5) and matrix B in shape (3, 1, 5, 2), C=np.matmul(A, B) would broadcast A and B to shape (2, 3, 3, 4, 5) and (3, 3, 5, 2) respectively, and C's shape would be (2, 3, 3, 4, 2). If I didn't store shape and stride, I think I should copy the content in each array to get the consistent shape firstly, and use your method then. Is this your mean? — You are receiving this because you commented. Reply to this email directly, view it on GitHub<#16990?email_source=notifications&email_token=ABHQH3VQJPJ2ICENM5STTDTQXWRTBA5CNFSM4JWMPQEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCOLORVI#discussion_r355237851>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABHQH3R4ZQCQQAG34ABFOA3QXWRTBANCNFSM4JWMPQEA.

May I confirm your mean again?
Firstly, I broadcast the input arrays into a consistent shape manually by copy their content.
Then, I use the kernel you mentioned above to implement forward compute.
Right?


Select

Description of changes

I polished up the profile page with some new images and text.
I also added a script to package.json to easily start the backend. Prior to finding this I didn't know there was a script in bin to start a backend. This is important for debugging things locally that require the user to be signed in.
Run npm run backend and in another terminal run npm start to have a working dev environment.
TODO: Add these instructions to the README.

Issue Resolved

Fixes #371

@rickr should be gtg :smile:

ok for real this time :laughing:


search Filters and geoSearch

Are search filters and geoSearch already supported with this client or do they have to yet be added?
If it exists, how can they be used and if not, could it please be implemented?

Search filters are supported and geopoint and geopointarray can be found on the FieldType class. https://github.com/DAXGRID/typesense-dotnet/blob/master/src/Typesense/FieldType.cs#L17.

Hey @runeanielsen
Sorry to open the issue again, just wanted to say thank you i managed to do what i wanted to.
I seem to have missed some things when i made the issue.


SDK - Upgrade ethers version to v6 in SDK

Description
Update the library used to interact with blockchain in typescript to the latest version
Implementation details
Update ethers to the latest library version
Update all the ethers dependant libraries to use the new v6 format (like typechain, hardhat, ...)
Update all the SDK dependant projects in monorepo to use the new SDK

Acceptance criteria:

Verify that the updates does not introduce breaking changes to existing functionalities.
Libraries such as typechain, hardhat, and any other libraries relying on ethers are tested to ensure compatibility with the latest version.
Verify by testing it that the updated SDK version does not introduce compatibility issues with existing projects and works as expected.
Update the proper documentation with the changes that you made & evaluate the performance impact of the library updates, particularly in terms of execution speed and resource usage.


Unexpected tiles overlap on a repetitive pattern

Godot version
v4.0.dev.20211015.official [f113dc986]
System information
Windows 10
Issue description
Tiles overlap on a repetitive pattern (right and left on the following screenshot):

Steps to reproduce
Using the tile in reproduction project (isometric, 100x226 where the "ground zone" is 100x200):

Create a Scene (Control  in my example, you can change the Scale to x=0.5,y=0.5 to get more information on screen)
Create a TileMap
Add a new TileSet
Change the Tile Shape of this TileSet to Isometric
Change the Tile of this TileSet to x=200,y=100 (image 1)
On TileSet add a new Atlas
Set the Texture with tile in reproduction project (Answer No if Godot ask to auto generate tile)
Change Texture Region Size to x=200,y=126 (image 2)
On tile properties update the Texture Offset to x=0,y=-26 (image 3)
Draw tiles and reproduce the bug (image 4)

Minimal reproduction project
tile_bug.zip

Yes, but you also need to enable it on the TileMap node itself. In the Node2D/Ordering category.

OK thank you. It was not obvious at all. New tiles editor is really cool but much less intuitive than the old one.


virtio-fs permissions support

Is your feature request related to a problem? Please describe.
I have a directory with files owned by root. I'd like to share this filesystem so that non-admin users (or even no users at all) on the guest can read these files but not modify them.
Describe the solution you'd like
A couple ideas (I'm not sure if these would solve the problem on their own)

Something similar to what was removed in #803. Could you clarify the motivation behind that PR?
a registry key/command-line to set LocalUid/LocalGid

Describe alternatives you've considered
The host system is a container so making a read-only mount would be non-trivial (mount is blocked by seccomp and I'm not 100% clea on the security implications of allowing it).
I could run the host virtiofsd as a non-privileged host user, however, I want to keep these root owned files from being read by unprivileged users on the host.
Additional context
N/A

Hi
The motivation is that it is hard to reliably set the file owner to the current user ID, especially when virtiofs runs as a Windows service or when Active Directory is enabled. Please also take into account that such permissions should be mapped somehow to host POSIX permissions.
It is possible to adjust LocalUid and LocalGid, but I'm not sure this can solve your problem.
From my point of view, the problem of securing host files should be solved on the host side (virtiofsd).

OK, I suppose this is a niche use-case. I solved it by adding a startup script to my VM that reads the file off of the bridge, copies it into the C drive, makes it only readable by admins, and then removes the original file from the bridge. I suppose this solves the problem.


[chore] Fix Filter Upload

Notes for Reviewers
Earlier UI was reading filter files as strings and that was changing the format of file during upload leading to misbehavior on deployment.
Now FilterFiles are read as binary files and hence their content type is untouched on upload leading to no unexpected behaviour.
I verified the upload and download using https://github.com/WebAssembly/wabt
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

Thanks @theBeginner86 the import os working fine now. Though I found one issue, the filters are inserted twice.
Screen.Recording.2023-08-04.at.8.31.30.PM.mov

Yes, I was just looking at it.
Its not inserted twice but due to some reason the API and GraphQL are returning duplicates.

Though I don't see this behavior when I run Remote Provider locally. I'm still checking this...

Ok found it. Fixing...

Its fixed now 👍


Insert and paste images as embedded image (data: uri)

In order to make self-contained markdown snippets for my application, I usually embed small images (mostly PNG and SVG icons or logos) as data URI:
https://en.wikipedia.org/wiki/Data_URI_scheme
This could also safely be used as default method when pasting images, as it does not cause any privacy issue since the image remains completely embedded in the text. (Still I agree with the comment from @borekb in issue #73 that text should be preferred over images when both are on the clipboard).
Optionally, MDE could warn when the image is over a certain size, since this can considerably blow up the source (maybe at 32kb - which is also the limit that IE8 supports for data URI).
Note: it is a know issue that some sites such as GitHub currently don't display these images.

v1.22


Couldn't complete tutorial - missing prerequisite?

Wasn't able to complete the tutorial while using an Azure Linux VM as the device I would like to run the container on:

when I ran the specified command on my linux VM sudo az iot edge set-modules --hub-name "<IoT Hub name>" --device-id "<IoT Edge device name>" --content DeploymentManifest.json --subscription "<subscriptionId>', I first got 'iot hub not found'.
After spinning up an IOT Hub, I continued to get errorCode:deviceNotfound:[myVMname]'.
After creating a device definition via the Azure portal, the command worked and iot edge module count is now 5, but there are no connected clients, so I can't get to the 'verify the container is running as expected'

I imagine I'm missing context around connecting actual devices to device definitions in the IOT hub, but there's nothing in the perquisites of this particular section and it's the first section of the tutorials.

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

ID: 389b7461-ca8b-7ec6-f93e-3f7de1634c16
Version Independent ID: 0060fa87-d55c-d8b2-8665-042893f7352b
Content: How to install and run the Spatial Analysis container - Computer Vision - Azure Cognitive Services
Content Source: articles/cognitive-services/Computer-vision/spatial-analysis-container.md
Service: cognitive-services
Sub-service: computer-vision
GitHub Login: @aahill
Microsoft Alias: aahi

@NoahSomCA Thanks for the feedback. We are investigating the issue and will update you shortly.
@aahill @AdinaTru Do we need to follow any steps from the Stack edge or Desktop machine tabs to setup the IoT hub correctly to run the same on a VM with GPU?


Remove doctrine mapping register advice

It doesn't appear that you need to do this to have the new type registered. As long as the class is defined in the @CustomIdGenerator config, everything appears to work fine.
This is quite handy, as it means you can set everything up without actually instantiating an entity manager. This was useful for me as I was using a registry that handle a number of EntityManagers and only had to declare the new type once statically, and once again where I wanted to use it in my annotations.
I'm using Doctrine DBAL v2.5.4, not 100% sure about BC on this.

Coverage remained the same at 100.0% when pulling c5c70ca4d799c174130dc79d076fc32ad314f6c4 on leedavis81:master into 503c5e0c22b17fe5a53af53124621360e9e07f41 on ramsey:master.

Since we're now requiring ^2.5, this may no longer be a requirement, but I think it was required in earlier versions. Can you double-check that everything works as expected in 2.5.0, without registering the mapping, and I'll merge it in?
Thanks!

Just dropped down to doctrine\orm 2.5.0 (which uses dbal 2.5.4) and it appears to still work without explicitly registering it to the DBAL connection.
:)

Thanks!


[CT-3407] [Feature] Support for tablespaces in PostgreSQL

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
PostgreSQL allows you to define tablespaces and store each table and index on a different tablespace. This is pretty useful when fast disk are not available for the whole database.
It would be great if dbt allowed you to specify the tablepace at model (table) and index level. For example:
{{ config(
    materialization = 'table'
    tablespace = 'reporting_tablespace'
    indexes=[
        {
            'columns': ['id']
            'tablespace': 'index_tablespace'
        }
    ]
)}}

Describe alternatives you've considered
I'm using pre and post hooks to route reporting tables to a specific tablespace:
    intermediate:
      materialized: "table"
      schema: intermediate
      +unlogged: true

    marts:
      materialized: "table"
      schema: marts
      +pre-hook: 'set "default_tablespace" to "marts_tablespace"'
      +post-hook: 'set "default_tablespace" to default'

But now I'd like to move only the indexes to another tablespace. I can't set a "default index tablespace" on Postgres so my only option now is to create the indexes via post hooks instead of the native option.
Who will this benefit?
Everyone using tablespaces in Postgres.
Are you interested in contributing this feature?
I probably could, if you guide me a bit where to look.
Anything else?
No response

Thanks for writing this up so well @ggam !
When adding new features to dbt-core, a big criteria for us is applicability -- whether a feature is supported across multiple databases. Another is impact --  how commonly a feature is needed. Ease of implementation is also a factor. There are other potential decision-making factors, but the last I'll mention now is possibility -- whether or not it's already reasonably possible already.
Since this feature is only specific to postgres and is relatively niche (but is still possible via hooks), I'm going to close this feature request as "not planned".

@dbeatty10 I agree this is a very niche case. Note though that using hooks is not (currently) an option for specyfing the index tablespace. https://github.com/dbt-labs/dbt-core/pull/8999 will help with this, as I'll be able to set a known index name and alter index.
In order to implement this correctly in user land, I'd need an "index creation pre/post hook". But yes I know, that's even more niche use case so I'll hope for https://github.com/dbt-labs/dbt-core/pull/8999 to be merged as a workaround.


Formula for level 80 applied according to crafter level, should be recipe level.

Required Information
Class: Culinarian
Level: 80
Craftsmanship: 2283
Control: 2139
CP: 536
Recipe Name: Blood Bouillabaisse
Recipe Level: 79
Solver Seed:<PHONE_NUMBER>396
Expected Behaviour
As this is a level 79 recipe, I’m expecting values comparable to those I had at level 79 CUL. The difficulty of the recipe hasn’t changed in-game and leveling to 80 has only made it easier due to higher stats.
Actual Behaviour
The formula for level 80 is applied, resulting in very very low progress and quality improvements in the simulator, which are not in-line with the reality in-game. This recipe should still use the formula for level 71+ recipes. I’m expecting this occurs because my crafter level is set to 80 in the simulator. Setting the crafter level to 79 while keeping all crafting stats identical results in values matching the ones appearing in-game.
Steps To Reproduce
Pick a level 71-79 recipe in the simulator, enter crafting stats and set level to 79, observe results, then change crafter level to 80, observe results. The values are different, indicating different formulas are used. The formulas differ based on the crafter level, when it should be dictated by the recipe level.

Actually, I get the feeling only the starred recipes are impacted by the change in formulae...

For added info: with the stats mentionned above, I get these values for 100% efficiency on Blood Bouillabaisse (L.79) at level 80 CUL:
Expected Progress: 555 (Simulator says 410)
Expected Quality: 821 (Simulator says 354)
Switching my level in the simulator to 79 yields the following results, which I’m unable to compare with in-game values as I’ve already exceeded level 79:
Progress: 512
Quality: 825
While these are a little off compared to actual in-game values for level 80, they’re more consistent. On the other hand, checking a level 80 recipe in-game with the same stats (CUL80), I get these values:
Lemonade (80):
Progress: 373 (Simulator says 373 - OK!)
Quality: 405 (Simulator says 354 - Little low, but same ballpark)
This leads me to believe that the formula for level 80 isn’t too inaccurate, it’s just applied when it shouldn’t

The progress/quality gains have always been based on the crafter level. The difference between crafter and recipe level do affect it, but crafter level is the main one. However, there is a different formula used at level 80 as compared to level 71-79.
Calling @ShammyLevva ... :)

Yes I noted there was a significant variance for less than 80 recipes when crafter is level 80. I’ve been focused on getting crafters to 80 rather than testing this discrepancy. I’ll investigate later.
Note though I’m helping host a major event this coming week so my time online will be very limited. Thus it may be worthwhile others testing this variance to come up with a fix until I can look at it which may not be until after the 11th.

I can chime for 80 GSM, not sure if it's related to this issue.
Recipe is level 68, Arkhi Brewing Set.
Progress: 721
Efficiency: 783
Simulated Progress: 523
Simulated Efficiency: 336
Needless to say, it's causing me a lot of problems

Thanks to @yls888 and @SaltFish-X, we have a new set of formulas for progress and quality increase. These changes are available on the beta site (ffxiv-beta.lokyst.net). Please let me know if these discrepancies are resolved.


[issue] How to change the sensor output topic from svl?

Hi, I'm using SORA-SVL with Apollo 7.0.0v. I found a serious problem that SORA-SVL sends radar data to /apollo/sensor/conti_radar, while Apollo read radar data from /apollo/sensor/radar/front and /apollo/sensor/radar/rear. As a result of this mismatch, radar is totally unused in perception module.
I want to fix this issue, and I found from issue tab of Apollo that someone tried to change the topic name of /apollo/sensor/radar/front to /apollo/sensor/conti_radar, but it made difficult error. (https://github.com/ApolloAuto/apollo/issues/14071)
So, I want to change the radar topic of SVL. I use 'grep' to search files including 'conti_radar', and found that mongo/setup/vehicles.json and three dll files in server/assets/plugins include 'conti_radar'.
I changed all 'conti_radar' in vehicles.json, but it didn't change the radar topic of SVL. Now, I'm trying to modify the .dll files in server/assets/plugin. But since .dll files are compiled binary, de-compile + editing + recompile may lead to unintended loss. Any good idea or suggestion for me? Thanks.

Hi @mgcho0608 , thanks for posting an issue!
First, I want to clarify that this isn't a serious problem for SORA-SVL. SORA-SVL isn't sending any radar data, SORA-SVL is just making sure the official SVL client from LG can pull and download necessary assets (e.g., vehicles, maps). I am considering renaming this project to hopefully not cause further misconceptions.
SVL is responsible for sending radar data, and this local cloud should provide a feature to configure which channel SVL will send data to. However, I did not have enough time to continue developing all the features of this cloud and users have been relying on this tool to generate new configuration.
I think what you did was on the right track. vehicles.json has sensor configurations where you can change what channel a sensor is sending data to. But updating the JSON file changes nothing in the database. You should go into mongodb at localhost:27018, find the vehicle configuration you are using, then look at the radar sensor and update output channel in the database.
I believe what I mentioned above should be sufficient to help you send data to the right channel. I am unaware of any ddl files and I suggest you stay away from them. In general, I am against modifying anything that came from SVL to maintain its integrity.

Thanks, I solved this problem by fixing the mongoDB.


Two small cleanups

Someone was asking about the &'static str argument type on irc. Seems better to copy the referenced str data if a persistent copy is needed. The (host, port) tuple change seems easier to read than the format!() macro.

Thanks!


Introduce the Mixer IL, interpreter and compiler.

This CL introduces Mixer IL, interpreter and compiler.
The Mixer IL is an intermediate-language, geared towards efficient processing of incoming attributes to Mixer. It is accompanied by an interpreter that takes the IL based programs and attribute bags to perform evaluations. There is also a compiler that can convert Mixer expressions to IL based programs.

I can do that. ( I don't think the instructions mentions branches/evalution
though, or I missed it).
"il" branch?
On Mon, Jun 5, 2017 at 10:51 AM, Douglas Reid<EMAIL_ADDRESS>wrote:

Should this go on a branch for evaluation before we decide to mainline it ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/mixer/pull/793#issuecomment-306256623, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQR8I7dgtafvv-KZ1CTCvOaTWpe3_cL7ks5sBEALgaJpZM4NwWK0
.

is there a design doc for the IL?

There is package level write-up on the IL/instructions and interpreter in
code.
On Mon, Jun 5, 2017 at 11:01 AM, Kuat<EMAIL_ADDRESS>wrote:

is there a design doc for the IL?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/mixer/pull/793#issuecomment-306259299, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQR8I-Y3VvTNBfyOMAVzDbNWh9sAqxS-ks5sBEKOgaJpZM4NwWK0
.

@ozevren maybe: il-experiment or mixer-il for the branch ?
We probably haven't documented this workflow, because we haven't really encountered it yet :). For introducing a component this large and potentially complex, I think we want to keep it separate for a bit. I think there is likely going to be a fair amount of discussion around adding an IL.

Ok. I'll go with mixer-il.
This is my first attempt at contribution in a long while, so do please let
me know if you guys want me go through some steps. I am happy to go through
them, just let me know. :)
On Mon, Jun 5, 2017 at 11:18 AM, Douglas Reid<EMAIL_ADDRESS>wrote:

@ozevren https://github.com/ozevren maybe: il-experiment or mixer-il
for the branch ?
We probably haven't documented this workflow, because we haven't really
encountered it yet :). For introducing a component this large and
potentially complex, I think we want to keep it separate for a bit. I think
there is likely going to be a fair amount of discussion around adding an IL.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/mixer/pull/793#issuecomment-306263578, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQR8IwtVN7Fui9hHSmr7gn4XEltW3rvSks5sBEZ2gaJpZM4NwWK0
.

Yeah, it'd be nice to see a design - the package comments describe "what" but not "why". I'd also really like to see this split up into multiple, incremental PRs (or at least multiple commits so each commit can be looked at independently). It's impossible to review this much code and actually find the problems.

Will do. Should I still send the CLs, or do you want to take a look at a
design doc first?
On Mon, Jun 5, 2017 at 11:33 AM, Zack<EMAIL_ADDRESS>wrote:

Yeah, it'd be nice to see a design - the package comments describe "what"
but not "why". I'd also really like to see this split up into multiple,
incremental PRs (or at least multiple commits so each commit can be looked
at independently). It's impossible to review this much code and actually
find the problems.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/mixer/pull/793#issuecomment-306267580, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQR8I_15f_TfN_7pXU1QF5d9HxbYQ8pQks5sBEoFgaJpZM4NwWK0
.

Doesn't matter to me - maybe split things up so we can start the reviews first, since they'll take a while, and produce the design while you're blocked on reviews?

@ozevren I think the best way to go about it to open a "mixer issue" as
"Proposal: Create Mixer IL, interpreter and compiler for expression language".
You can answer the why / how questions there.
Thanks.


Http request/response writer classes added. Request/response writer methods moved to the new classes.

Doneness:

[X] Build is okay - I made sure that this change is building successfully.
[X] No Bugs - I made sure that this change is working properly as expected. It doesn't have any bugs that you are aware of.
[X] Branching - If this is not a hotfix, I am making this request against develop branch

:white_check_mark: Build Titanium-Web-Proxy 3.0.59 completed (commit https://github.com/justcoding121/Titanium-Web-Proxy/commit/3f18bb8f97 by @honfika)

:white_check_mark: Build Titanium-Web-Proxy 3.0.60 completed (commit https://github.com/justcoding121/Titanium-Web-Proxy/commit/d5b56565ca by @honfika)


download_strategy: docstring typo Gtthub -> Github

I hope this is the right source for the generated doc at
http://www.rubydoc.info/github/Homebrew/brew/master/GitHubPrivateRepositoryDownloadStrategy
It's a small typo but it does affect searching so it's worth fixing.

Thanks for your contribution to Homebrew!  You rock!


Imported i-clas are incomplete

I have a project where contributors are insisting on filling out paper copies of our i-cla form and sending them to me. Our gists are set up to collect extra data such as user name, email address, and name of their employer. This works fine on other projects where people are filling out the cla when CLA Assistant presents it to them.
However, when I try to import cla records, CLA Assistant only seems to be loading the User Name,Repository Owner,Repository Name,CLA Title,Gist URL,Gist Version and Signed At fields. The rest are empty.
When I configured the import, I selected field names from the dropdown, I select the first row has header information, and then select labels like user and email from the drop downs. But doing this doesn't seem to make a difference.
I can't find documentation on importing CLAs. I tried searching through the issues and didn't find anything that seemed relevant.
Am I doing something wrong here or is it the case that CLA Assistant will only import that basic set of fields/
Thanks for your help.

The custom fields should be uploaded as well. We don't have documentation on importing CLA; it should work as expected. The way you have described your configuration sounds correct.
If you wish, you can share your gist and a sample of the CSV file you use to import, and I will try to reproduce the issue.

cla-assistant.csv
Appreciate any insight you can share.

Did you have any luck reproducing the problem?

Now, I have tested your gist and it works fine for me. You should see values for custom fields here https://cla-assistant.io/KharitonOff/CLA-experiments
I have added custom values to the .csv file that you have provided. In your sample data were no values for the custom fields.
User Name;Repository Owner;Repository Name;CLA Title;Gist URL;Gist Version;Signed At;Revoked At;Signed for Organization;Full Legal Name;e-mail address;GitHub username;I have read and agree to the CLA;How do you sign?;Name of employer, if contributing on behalf of employer:
OASIS-OP-Admin;;;2021-02-25_Open-Repo_I-CLA.md;https://gist.github.com/353478961f036d0fbf776b6cc39073d5;799909e589d4107d741ca67b4dc8be4a04a67db2;2022-11-09T21:55:18.816Z;;FALSE;Your full name;email@gmail.com;OASIS-OP-Admin;true;I am contributing on behalf of my employer.;Oasis
greevesr;oasis-dev;;2021-02-25_Open-Repo_I-CLA.md;https://gist.github.com/353478961f036d0fbf776b6cc39073d5;799909e589d4107d741ca67b4dc8be4a04a67db2;2022-11-09T21:55:18.816Z;;FALSE;;email@gmail.com;greevesr;true;I am contributing on behalf of my employer.;Oasis

Thanks very much. I tried this out again and it seems to work properly. Must have been bad data on my side. I appreciate you taking the time to check.
Happy holidays to you!
/chet


Cleanup experimental

Well /that/ was a quick review period.  .....
jk, just teasing.  ;-)  All good.


[code quality] sickRecordsJson

https://github.com/MohGovIL/hamagen-react-native/blob/584918cffc61836d6543bba85083f2eac6e41e15/src/services/Tracker.ts#L81
sickRecordsJson is misnamed because it is a data structure, not a serialized JSON.
If further clarification is needed, I have it organized in my JSON vs data structure blog post from 2016.

also I have another question about this line
why use map instead forEach?


utils/pagealign: operate on a clone of the input array

Otherwise, input array was being modified, which had a negative impact on other parts of the app.
I figured it out when added CRC value at the end of the flash without gaps filled with 0xFF (to speed the upload and verification processes up), which resulted in 2-byte segment at the end of the ihex file:
:020000040000FA
:10000000F3C00000F9C00000F7C00000F5C0000018
:10001000F3C00000F1C00000EFC00000EDC0000020
...
:10028000215080409040E1F700C00000E8CF8BE2B1
:0A029000EBCF8BE2F0CFF894FFCF24
:023FFE0012238C <--- here is the CRC
:00000001FF

pymcuprog was returning error while performing verification of this section:
pymcuprog.pymcuprog_main - ERROR - Operation failed with ValueError: 126 bytes of data at offset 16382 is outside the boundaries of 'flash' with size 16384

It turned out data buffer was modified during write (from length of 2 to the length of 64), so verification process wanted to verify starting at 16382 and check 126 bytes, what resulted in the error above.

Thanks @KrystianD
Logged internally as DSG-4230


Inventory summeries

https://github.com/saleweaver/python-amazon-sp-api/pull/21
I added a new api to get the inventory summaries, would be great if u can merge it please :)

Meged, thanks again!

Meged, thanks again!

Hi,
do you have strange skus to test against?
For me, skus containing an apostrophe or spaces don't yield results with this endpoint. I've since encoded them in the last commit (before it was failing the request), but there are no results. Do you have an idea?

No didn't really test this case, but if I find something will let you know.

I've already filed a bug report with amazon, I don't think the wrapper can do something about it atm


Cool idea. Dies a horrible death under Wayland

Cloned the repository and chmod +x run-linux.sh, then ran it....
(scapp:3787030): Gdk-CRITICAL **: 14:47:43.381: gdk_wayland_window_set_dbus_properties_libgtk_only: assertion 'GDK_IS_WAYLAND_WINDOW (window)' failed
root [object Object]
tape [object Object]
tape [object Object]

(scapp:3787030): Gdk-WARNING **: 14:47:44.781: ../../../../../gdk/x11/gdkwindow-x11.c:5653 drawable is not a native X11 window
Segmentation fault (core dumped)

Running on Ubuntu 22.04 Gnome on Wayland

That was a known bug in Sciter sdk, I've updated the sdk to latest now, can you try again? I don't have access to macOS to test it.

Ok. Redownloaded. Did the chmod +x thing. Now it runs. I can add text, move up and down, add lines, but if I add an operation OTHER than +, ie (*) x or / (division) it segfaults.
./run-linux.sh: line 5: 19820 Segmentation fault      (core dumped) sdk/bin/linux/x64/scapp src/main.htm
Is there some logfile I could send you?

There are no logs as such, mult and div to replace the symbol uses plaintext transaction which had a bug-fix in SDK recently, I'll see into any regression bug.

@mlongval
This commit should fix the division and multiplication symbol replacement crash.


Support transforming XMPP HTML into actual markdown/html

It can look like:
hello halfshot!

Which seems to be https://xmpp.org/extensions/xep-0071.html

This was done in https://github.com/matrix-org/matrix-appservice-purple/commit/e2295af5b12f010934e5232e1422f9d406622c09


Add Korean Translation

This PR includes partial translations for Korean language.

Awesome, thank you so much for this.
We haven't made a huge push for localization into other languages but the initiative is welcome. I'll merge this into our next release 👍

OK. I will keep sending PR for translation, when I can afford it.


ungetc() Does not push character back to stdio stack

Calling ungetc(c, stdio); does not result in c being the next character when I call getchar_timeout_us(0). here is some example code.
long parseInt()
{
  printf("parseint\r\n");
  long value = 0;
  char c = getchar_timeout_us(0);
  printf("%i\r\n",c);
  if(c<0)
  {
    return 0;
  }
  bool isNeg = (c == '-');
  if(isNeg)
    c = getchar_timeout_us(0);
  while(isdigit(c))
  {
    value = (value *10) + (c - '0');
    c = getchar_timeout_us(0);
    printf("%i\r\n",c);
  }
  if(isNeg)
    value = -value;
  if(c != -1)
  {
    printf("pushed back: %i\r\n",c);
    ungetc(c,stdin);
  }
  printf("parse done\r\n");
  return value;
}

ungetc() works fine with plain old getc(stdin):
while(1) {
      if ((ch = getc(stdin)) > 0) {
        printf("\nGot %c, trying to stick it back in the buffer with ungetc\n",ch);
        int ungetc_rv = ungetc(ch+1, stdin);
        printf("ungetc(%d) returned %d\n",ch+1,ungetc_rv);
        if (ungetc_rv != EOF) {
          int ch2 = getc(stdin);
          if (ch2 == ch+1) {
            printf("ungetc worked\n");
          } else {
            printf("ungetc failed, expected %d but got %d\n",ch+1,ch2);
          }
        } else {
          printf("ungetc returned EOF\n");
        }
      }
    }

Produces:
a
Got a, trying to stick it back in the buffer with ungetc
ungetc(98) returned 98
ungetc worked

ungetc completely fails when getchar_timeout_us() is used.  If ungetc() is unable to stuff a byte back into the buffer it should report EOF, instead it cheerfully reports success even though it's done nothing:
aaa # NOTE: I blasted 3 bytes into the buffer so getchar_timeout_us() would have a character to report instead of EOF
Got a, trying to stick it back in the buffer with ungetc
ungetc(98) returned 98  # this should be -1, EOF
ungetc failed, expected 98 but got 97

I suspect that what's happening is that ungetc() is stuffing a character into stdin, but getchar_timeout_us() doesn't really read from stdin as the documentation claims.  Rather it reads from whatever underlying layer is attached to stdin by default, which is a subtle but important difference, especially if you've reopened stdin as something else.
More concerning to me is that if getc(stdin) is replaced in the above example with the supposed exact equivalent getchar() , ungetc only works sometimes and output buffering seems to get very confused.

You can set PICO_STDIO_SHORT_CIRCUIT_CLIB_FUNCS=1 in your target_compile_options if you want to mix printf and fprintf(stdout).
We will add ungetc to our short circuits in the future


pkg/compiler: add support for len target argument for array type

This CL introduces a special argument type "len" that describes the size
of an array in terms of the size of another array. The 2nd argument of
array type becomes a custom type, which supports either an integer range
or the new "len" argument type.

I added arraySizes in state struct, which is used to remember the sizes of all generated arrays. This map is looked up when generating ArrayLenTarget type arrays.
To always ensure that the len target precedes the array that refers to it, I added a compile time check in checkArraySizeLenTarget. Can you please take a look?

I will reopen this PR when I resume working on this.


[Feature Request]: Allow Custom Text Field Key in Milvus

Feature Description
Allows custom text field key in Milvus
Reason
Enables "bring your own collection" type deal for Milvus
Value of Feature
We (Zilliz) are using this

Looks like PR for fix is merged.


Bypass safe YAML load

Since ruby 3+ and psych 4+, the yaml loading became extra safe so the expired_at timestamp in the yaml cache is no longer parsing for whatever reason.
Attempts were made with
@store = YAML::Store.new path => @store = YAML::Store.new(path, { aliases: true, permitted_classes: [Time] }) to get it to work but that didn't help, so decided to just bypass the safe loading, since the file is controlled by us for the version checking.
ref: https://my.diffend.io/gems/psych/3.3.2/4.0.0
Error through the fetch in yaml store

Released v0.8.4 with this change


adding a fire upon the deep

I have to go back and check the author's name

It appears it is rather VernoR Vinge

:+1:  fixed


Other dev tools

Since this Git issues get cluttered up quite fast i suggest to use atlassians Confluence. https://www.atlassian.com/software/views/open-source-license-request
There is a fair chance that we could use it for free.

They do decent software and think they offer a free option, but there's always the Projects tab on here which does basically the same thing as Jira. I'm not sure it would be worth the extra "paperwork" to use another site too.

The intention is to use confluence, the documentation software for discussions and planification while git or optionally Jira are to keep track of who is working on what.

I'm ambivalent about it really, lets set it up and see how it goes :)


xc7: Use Conda packages from LiteX-Hub channel

These are the same versions of packages that have been successfully
tested in a PR for symbiflow-arch-defs: https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1795
The symbiflow-arch-defs URL will be updated when the PR gets merged.

Failed on xc7-linux
cd build && symbiflow_synth -t top -v /home/runner/work/symbiflow-examples/symbiflow-examples/xc7/linux_litex_demo/baselitex_arty.v /home/runner/work/symbiflow-examples/symbiflow-examples/xc7/linux_litex_demo/VexRiscv_Linux.v -d artix7 -p xc7a35tcsg324-1 -x /home/runner/work/symbiflow-examples/symbiflow-examples/xc7/linux_litex_demo/arty.xdc 2>&1 > /dev/null
ERROR: Couldn't find port [get_ports]
make: *** [Makefile:33: build/top.eblif] Error 1

@acomodi can you check if we have all the packages in correct version here? I suspect Yosys plugins are not

Yep, yosys-plugins are the newest one in this PR with the design_introspection update, and the Symbiflow install packages do not have the fix for that in the synth.tcl yosys script.
The correct and working plugins version should be 5e6370a

Versions are in sync with https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1795. I guess after that PR and https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1747 are merged Symbiflow's install packages can be updated and the problem should be gone @acomodi?

@ajelinski if there is the 5e6370a package on litex-hub we could use it as it would be in line with the archdefs packages. Otherwise yes, we should wait for those PRs to be merged


capac functions for CVODE

@nrnhines  these are the div and mul functions from NEURON, with SIMD-friendly data structures for Coreneuron. Can this go in the coreneuron master branch or do you suggest somewhere else?

Those functions can go here. However they are relevant to CVODE and that is not currently part of
CoreNEURON. So how are they being used?

Hi Michael @nrnhines. Any update on this?

I have no objection to this change. But I am apparently not authorized to merge it. I suppose Pramod
can do so.

thank you.
On Wed, 25 Jul 2018 at 13:38, nrnhines<EMAIL_ADDRESS>wrote:

I have no objection to this change. But I am apparently not authorized to merge it. I suppose Pramod
can do so.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

done, clang-format. will merge once build.


Support for Python3

This is a quick update to allow Python 3 support. I want to update the tests a bit too, and likely will need a few pushes to get it right. I need to go home soon, so I'll push this now and do fixes tomorrow. The code base is pretty ugly (I'm horrifically terrified and embarrassed that I made most of it) and so it needs other changes as well to function and be better documented - I can do this later too.

@chrisfilo I'm happy with this quick fix - the code base is updated to be python3 compatible, and I updated the test to go through python2 and python3. I adjusted the test_api to not attempt to retrieve all 25K images, but instead ask for a specific collection. Ok to merge? This will also close #31 and close #32


Zero size files cause 'Bad Request' error

Environment
Operating System: Windows 10
ServiceNow module version: 3.4.3
PowerShell version:

Steps to reproduce

Create Session
Attach an empty file

Screenshots
This is a really minor issue, I would hardly call it a bug however attempting to attach a zero size file fails. We were testing some solutions using the module and were creating different files on the fly to test and the result is a 400 'Bad Request' error.
Probably not a situation that would come up often but worth reporting.

Minor or not, I appreciate you reporting it!  This will be fixed in an upcoming release.


Duplicated key - Issue in TableInfo.cs\GetUniquePropertyValues method

Hi,
I encountered an issue while using BulkReadAsync method. I was getting an error below (from trace):
System.ArgumentException:   An item with the same key has already been added. Key: 6615
--
at   System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value,   InsertionBehavior behavior)
at   EFCore.BulkExtensions.TableInfo.UpdateReadEntities[T](Type type, IList`1   entities, IList`1 existingEntities)
at   EFCore.BulkExtensions.SqlBulkOperation.ReadAsync[T](DbContext context, Type   type, IList`1 entities, TableInfo tableInfo, Action`1 progress,   CancellationToken cancellationToken)
at   EFCore.BulkExtensions.SqlBulkOperation.ReadAsync[T](DbContext context, Type   type, IList`1 entities, TableInfo tableInfo, Action`1 progress,   CancellationToken cancellationToken)
at   EFCore.BulkExtensions.SqlBulkOperation.ReadAsync[T](DbContext context,   IList`1 entities, TableInfo tableInfo, Action`1 progress, CancellationToken   cancellationToken)
at   xxx.GetByKey(xxxContext dbContext,   IReadOnlyCollection`1 keys) in /src/xxx.cs:line 48
at   xxx.ProcessQueueEntries(IReadOnlyCollection`1 queueEntryList) in   /src/xxx.cs:line 95
at   xxx.ProcessQueueEntries(IReadOnlyCollection`1 queueEntryList) in   /src/xxx.cs:line 136
at   xxx.ExecuteAsync(CancellationToken   stoppingToken) in /src/xxx.cs:line 105

I couldn't find the mentioned key anywhere in my data at first glance. They were a few different duplicated keys in different batches. Then I went deeper.
The table I read from has a compound key (key1,key2). Both keys are integer value. I debugged EFCore.BulkExtention. I got to TableInfo.cs and GetUniquePropertyValues method. I realised that the compound keys are just appended to create an unique key. They are not separated with any characters. In my case:
Key1 | Key2 | Key1Key2
-- | -- | --
1 | 14 | 114
11 | 4 | 114
661 | 5 | 6615
66 | 15 | 6615

The keys join without a delimiter causes the new key to be duplicated. I think this situation can happen quite likely. I would suggest to separate compound key values with a delimiter. It can be static one or it could be configurable one as e.g. BatchSize, etc.
I tested my data with a change below and it works without any issue.
public static string GetUniquePropertyValues(object entity, List<string> propertiesNames, Dictionary<string, FastProperty> fastPropertyDict)
        {
            StringBuilder result = new StringBuilder(1024);
            foreach (var propertyName in propertiesNames)
            {
                result.Append(fastPropertyDict[propertyName].Get(entity).ToString());
                // TODO: Make it configurable
                result.Append("|");
            }
            return result.ToString();
        }

Would you be able to have a look at this. Thanks.

Thank you.


OAuth2 CC backend

Currently only tests for OAuth2 clients (AC and CC) with referenced or inline backends.

Reviewer checklist

Read PR description: a summary about the changes is required
Changelog updated
Documentation: docs/{Reference, Cli, ...}, Docker and cli help/usage
Pulled branch, manually tested
Verified requirements are met
Reviewed the code
Reviewed the related tests

Works.
TODOs:

adjust PR description
change commit message for 488ed78
changelog


Multiple errors in \android\app\src\main\AndroidManifest.xml

Steps to Reproduce

This hasn't happened before. All I did is open AndroidManifest.xml file in AndroidStudio and that's when the errors appeared. The file contents remains unchanged from before.
Now, open the file in AndroidStudio, I get a warning about errors in my AndroidManifest.xml file:
AndroidManifest.xml code
`

<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="nearby"
    android:icon="@mipmap/ic_launcher">
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        android:theme="@style/LaunchTheme"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:windowSoftInputMode="adjustResize">
        <!-- Specifies an Android theme to apply to this Activity as soon as
             the Android process has started. This theme is visible to the user
             while the Flutter UI initializes. After that, this theme continues
             to determine the Window background behind the Flutter UI. -->
        <meta-data
          android:name="io.flutter.embedding.android.NormalTheme"
          android:resource="@style/NormalTheme"
          />
        <!-- Displays an Android View that continues showing the launch screen
             Drawable until Flutter paints its first frame, then this splash
             screen fades out. A splash screen is useful to avoid any visual
             gap between the end of Android's launch screen and the painting of
             Flutter's first frame. -->
        <meta-data
          android:name="io.flutter.embedding.android.SplashScreenDrawable"
          android:resource="@drawable/launch_background"
          />
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <!-- Don't delete the meta-data below.
         This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
    <meta-data
        android:name="flutterEmbedding"
        android:value="2" />
</application>

`
**Expected results:**
no errors
Actual results:
multiple errors in AndroidManifest.xml, however no issues running my application
Errors
Class referenced in the manifest, io.flutter.app.FlutterApplication, was not found in the project or the libraries
Unresolved package 'app'
Unresolved class 'FlutterApplication'
Cannot resolve symbol '@mipmap/ic_launcher'
MainActivity must extend android.app.Activity
Cannot resolve symbol '@style/LaunchTheme'
Cannot resolve symbol '@style/NormalTheme'
Cannot resolve symbol '@drawable/launch_background'
Should set android:versionCode to specify the application version
Should set android:versionName to specify the application version
Attribute hardwareAccelerated is only used in API level 11 and higher (current min is 1)
Attribute windowSoftInputMode is only used in API level 3 and higher (current min is 1)

Logs

not including as there is no issue running my application

Note: these warning existed before the issue with AndroidManifest appeared and I do not believe they have anything to do with it.
  info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields aren't final: AutosuggestWidget.dataChanged,
          AutosuggestWidget.hideSuggestions - lib\components\autosuggest_dropdown.dart:9:7 - must_be_immutable
   info - This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields aren't final: MainBottomNavigationBar._myProfileItems -
          lib\components\bottom_navbar\bottom_nav_bar_main.dart:18:7 - must_be_immutable
   info - The class 'DocumentSnapshot' shouldn't be extended, mixed in, or implemented because it is sealed - test\unit_test_AuthController.dart:13:1 - subtype_of_sealed_class
warning - The parameter 'userDataController' is required - test\unit_test_AuthController.dart:66:43 - missing_required_param
   info - The class 'DocumentSnapshot' shouldn't be extended, mixed in, or implemented because it is sealed - test\unit_testsCtrlr.dart:12:1 - subtype_of_sealed_class
   info - This function has a return type of 'Stream<User>', but doesn't end with a return statement - test\unit_testsCtrlr.dart:37:16 - missing_return
   info - The value of the local variable 'imagePickerMock' isn't used - test\unit_testsCtrlr.dart:111:21 - unused_local_variable

[√] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 6.1.7601], locale en-CA)
    • Flutter version 2.2.2 at C:\flutter
    • Framework revision d79295af24 (7 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\Yuliya\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[√] VS Code
    • VS Code at C:\Users\Yuliya\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.12.0

[√] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.106

• No issues found!

Hi @yulkin2002
You need to open the android folder of your Flutter app and navigate to AndroidManifest.xml.
No errors when creating a new project and  opening android in Android Studio

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on Microsoft Windows [Version 10.0.19043.1055], locale en-US)
    • Flutter version 2.2.2 at C:\Users\Taha\Code\flutter_stable
    • Framework revision d79295af24 (10 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\openjdk\bin\java.exe
    • Java version OpenJDK Runtime Environment (build 1.8.0-262-b10)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.2)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.10.31410.357
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.1.1
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.57.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.23.0

[✓] Connected device (4 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64    • Microsoft Windows [Version 10.0.19043.1055]
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 91.0.4472.114
    • Edge (web)              • edge          • web-javascript • Microsoft Edge 91.0.864.48

! Doctor found issues in 1 category.

@TahaTesser this is the android folder inside my flutter app: \android\app\src\main
unless there is another one? please let me know

Hi @yulkin2002
API 16 should be the minium target  but your error message says it is 1
Attribute hardwareAccelerated is only used in API level 11 and higher (current min is 1)
Attribute windowSoftInputMode is only used in API level 3 and higher (current min is 1)

Can you please create a new project
flutter create myapp
cd myapp
flutter pub get
then open android folder in Android Studio, it won't throw any errors, if it does, there is something wrong with your Androisd Studio

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

Hi @yulkin2002
API 16 should be the minium target but your error message says it is 1
Attribute hardwareAccelerated is only used in API level 11 and higher (current min is 1)
Attribute windowSoftInputMode is only used in API level 3 and higher (current min is 1)

Can you please create a new project
flutter create myapp
cd myapp
flutter pub get
then open android folder in Android Studio, it won't throw any errors, if it does, there is something wrong with your Androisd Studio

Hi @TahaTesser,
Sorry for the delay. Where should I set the API to 16. The only place I see value of 1 is in my build.gradle under flutterVersionName and flutterVersionCode. Please let me know.
I tried creating a new app the way you suggested and I do get same error in AndroidManifest.xml. The only difference as I realized now is the newly created project throws these errors right away, while my existing project throws errors only when I edit the  AndroidManifest.xml even if it's only adding a blank line (i've updated my original issue to state that)


dump metadata.db from a temp file

Hi,
Sometime or most of time, containerd is in running state, it always holds the snapshot metadata.db lock, we(bbolt-cli) cann't acquire the lock.
A simple workaround is to copy the metadata.db to a temporary file and then read from it

To prevent an indefinite wait you can pass a timeout option to the Open() function:
db, err := bolt.Open("my.db", 0600, &bolt.Options{Timeout: 1 * time.Second})

If there is already a containerd service in use, we can simply provide a prompt.
We should ensure the simplicity of this command line.
If you really want to implement this feature, should you provide a parameter, such as --copy-read, while also informing the user that a new copy will be created, along with the path of the new copy? The new copy is actually a snapshot, and its file name should include the date at that time.

Thanks, hint provided when bolt.Open() timeout.


Update the landing page

As we discussed earlier, we should introduce the language as "Quint Lang" to make it distinct. We can still use "Quint" in the rest of the documentation as a shorthand for Quint Lang. This is similar to Golang and Julialang.

This has been done some time ago


no servers are inside upstream in /etc/nginx/conf.d/default.conf:34

I've been working on settings up a docker instance which will host multiple containers using jwilder/docker-gen, jrcs/letsencrypt-nginx-proxy-companion and the official nginx container.
I've setup all of the containers using these instructions, however there seems to be an issue here which I think is most likely related to docker-gen. I might be wrong here, and am happy to stand corrected.
Once all three containers are running I am launching a docker-registry container which listens on port 5000 which the following environment variables set:

VIRTUAL_PORT=5000
VIRTUAL_HOST=registry.danielgroves.net

I've intentionally not set the lets encrypt environmental variables yet, as I'd like to get this working without before adding the additional complexity. When I hit the given URL I get a 503 back from nginx and when running docker logs nginx can see the that it can't see any upstream servers: 2016/05/25 10:40:47 [emerg] 1#1: no servers are inside upstream in /etc/nginx/conf.d/default.conf:34.
I've included the contents of the default.conf file at the bottom of this issue.
As far as I can tell docker-gen isn't picking up the container properly, despite registering the exposed port with it, and thus isn't populating the upstream block properly. I've probably done something stupid, but it would be great if someone could confirm. There's no errors in the logs for the docker-gem container, but I will include the output here as well.
Is there something I'm missing? This is the full command I've used to launch my registry container:
docker run -d --name registry --restart always --expose 5000 -v /opt/registry:/etc/docker/registry:ro -e VIRTUAL_HOST=registry.danielgroves.net -e VIRTUAL_PORT=5000 registry_s3
default.conf:
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';
access_log off;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
server {
    server_name _; # This is just an invalid value which will never trigger on a real hostname.
    listen 80;
    access_log /var/log/nginx/access.log vhost;
    return 503;
}
upstream registry.danielgroves.net {
}
server {
    server_name registry.danielgroves.net;
    listen 80 ;
    access_log /var/log/nginx/access.log vhost;
    return 301 https://$host$request_uri;
}
server {
    server_name registry.danielgroves.net;
    listen 443 ssl http2 ;
    access_log /var/log/nginx/access.log vhost;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;
    ssl_certificate /etc/nginx/certs/registry.danielgroves.net.crt;
    ssl_certificate_key /etc/nginx/certs/registry.danielgroves.net.key;
    ssl_dhparam /etc/nginx/certs/registry.danielgroves.net.dhparam.pem;
    add_header Strict-Transport-Security "max-age=31536000";
    include /etc/nginx/vhost.d/default;
    location / {
        proxy_pass http://registry.danielgroves.net;
    }
}

docker-gen logs:
2016/05/25 10:40:47 Generated '/etc/nginx/conf.d/default.conf' from 2 containers
2016/05/25 10:40:47 Sending container 'nginx' signal '1'
2016/05/25 10:40:47 Watching docker events
2016/05/25 10:40:47 Contents of /etc/nginx/conf.d/default.conf did not change. Skipping notification ''
2016/05/25 10:41:16 Received event start for container 991b1d987b68
2016/05/25 10:41:16 Received signal: hangup
2016/05/25 10:41:16 Received signal: hangup
2016/05/25 10:41:16 Generated '/etc/nginx/conf.d/default.conf' from 2 containers
2016/05/25 10:41:16 Sending container 'nginx' signal '1'
2016/05/25 10:41:21 Debounce minTimer fired
2016/05/25 10:41:21 Contents of /etc/nginx/conf.d/default.conf did not change. Skipping notification ''
2016/05/25 10:42:37 Received event die for container 60b6a7a736c5
2016/05/25 10:42:37 Received event stop for container 60b6a7a736c5
2016/05/25 10:42:42 Debounce minTimer fired
2016/05/25 10:42:42 Generated '/etc/nginx/conf.d/default.conf' from 1 containers
2016/05/25 10:42:42 Sending container 'nginx' signal '1'
2016/05/25 10:44:57 Received event start for container 7a2b1fc74686
2016/05/25 10:45:02 Debounce minTimer fired
2016/05/25 10:45:02 Generated '/etc/nginx/conf.d/default.conf' from 2 containers
2016/05/25 10:45:02 Sending container 'nginx' signal '1'
2016/05/26 08:57:16 Received event die for container 7a2b1fc74686
2016/05/26 08:57:16 Received event stop for container 7a2b1fc74686
2016/05/26 08:57:17 Received event start for container 2ea8b67292d6
2016/05/26 08:57:22 Debounce minTimer fired
2016/05/26 08:57:22 Contents of /etc/nginx/conf.d/default.conf did not change. Skipping notification ''
2016/05/26 09:00:27 Received event die for container 2ea8b67292d6
2016/05/26 09:00:28 Received event stop for container 2ea8b67292d6
2016/05/26 09:00:28 Received event start for container 81131159c395
2016/05/26 09:00:33 Debounce minTimer fired
2016/05/26 09:00:33 Contents of /etc/nginx/conf.d/default.conf did not change. Skipping notification ''
2016/05/26 09:03:00 Received event die for container 81131159c395
2016/05/26 09:03:00 Received event stop for container 81131159c395
2016/05/26 09:03:01 Received event start for container 44867e65b8ff
2016/05/26 09:03:06 Debounce minTimer fired
2016/05/26 09:03:06 Contents of /etc/nginx/conf.d/default.conf did not change. Skipping notification ''

I have the same issue but I guess it is more related to the nginx.tmpl file of nginx-proxy and not a docker-gen issue.

I'm also seeing this when spinning up a Zabbix 3 server with this docker-compose version 2 file:
https://github.com/zembutsu/zabbix-docker/blob/master/docker-compose.yml
(just changing port 80 as expose instead of ports)
I add to the zabbix-server environment variables the usual VIRTUAL_HOST=zabbix.mydomain.com, and after starting up the containers I get this same error.

I try to do the same, and end up with this:

Using nginx-proxy, everything goes fine.
Using nginx and docker-gen separetely, the generate conf contains an empty upstream section.

I check if there is any difference in the tmpl and cannot find any.
I'm not sure how to check further (like how to print the structure) but the case is very easy to reproduce.  Any pointer on how I can help on this ?

OK, I have an idea and it happens to work (but I'm not sure why): I removed the -exposed-only from the docker-gen options and it starts working.  Note that:

The target docker has an exposed port
nginx-proxy work with exactly the same container

For reference, I test it with the following docker command:
docker run -d --expose=8000 -e VIRTUAL_HOST= python:3.5 python -m http.server 8000

I have similar issues and can confirm the observations by @ninoles

Precisely the same here. Works with nginx-proxy image, not with separate nginx <> docker-gen containers.

I think it is possibly related to the latest changes from PR #158. What I found out, is that $CurrentContainer is not correctly resolved.
docker-compose.yml
version: '2'
services:
  proxy-gen:
    image: jwilder/docker-gen
    container_name: proxy-gen
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./volumes/templates:/etc/docker-gen/templates:ro
      - ./volumes/config:/etc/docker-gen/config:ro
      - ./volumes/log:/etc/docker-gen/log:rw
    command: -watch -only-exposed /etc/docker-gen/templates/debug.tmpl /etc/docker-gen/log/debug.log

volumes/templates/debug.tmpl
>> DEBUG LOG START

{{ $CurrentContainer := where $ "ID" .Docker.CurrentContainerID | first }}

.Docker.CurrentContainerID: {{ .Docker.CurrentContainerID }}
CurrentContainer: {{ $CurrentContainer }}
Known networks:
{{ range $knownNetwork := $CurrentContainer.Networks }}
        - {{ $knownNetwork }}
{{ end }}

{{ range $host, $containers := groupByMulti $ "Env.VIRTUAL_HOST" "," }}

Iterating {{ $host }} containers
{{ range $container := $containers }}
                {{ $addrLen := len $container.Addresses }}
                Name: {{ $container.Name }}
                Exposed ports: {{ range $index, $address := $container.Addresses }} {{ if $index }},{{ end }} {{ $address.Port }} {{ end }}
                Networks:
                {{ range $containerNetwork := $container.Networks }}
                        - {{ $containerNetwork }}
                {{ end }}
{{ end }}

End {{ $host }} containers
{{ end }}

>> DEBUG LOG END

In my example outputs I always find: proxy-gen    | CurrentContainer: <no value>
The .Docker.CurrentContainerID is correctly resolved: proxy-gen    | .Docker.CurrentContainerID: 0cd78119fcdce135d5e57c177650382c5a42e7fc501b49749e6fb173504ff81c
As far as I understand, the nginx.tmpl compares the $CurrentContainer's networks with the host (VIRTUAL_HOST=) container's networks and takes the intersection as valid upstream networks. Following that, it should theoretically be sufficient to connect the docker-gen container to the host container's network. Given that $CurrentContainer, fetched by {{ $CurrentContainer := where $ "ID" .Docker.CurrentContainerID | first }} is not null. Anybody any idea, why this expression is null?

Not really progress here. But it seems as if the docker-gen container itself is not part of the type Context []*RuntimeContainer.
debug.tmpl
{{ range $runtimeContainer := $ }}
	ID: {{ $runtimeContainer.ID }}
{{ end }}

{{ $CurrentContainer := where $ "ID" .Docker.CurrentContainerID | first }}

Output:
proxy-gen    |  ID: 66d8cb1183a3d31cd62feb24fd26945e253c39839c6f4e6da8ca3356c0ea1538
proxy-gen    |  ID: 199b4a1d6f333218b0e8ee7135c0777b3d97e4c883461107ccc1e98671ae6c2e
proxy-gen    | .Docker.CurrentContainerID: 650033b370904f7f827a64b7331a8471e47194481e2ba73f674508a42722980e

docker ps shows these container IDs running
66d8cb1183a3
650033b37090
199b4a1d6f33

I opened an issue on the actual nginx-proxy repo since srt is probably right, this is probably a nginx-proxy issue, rather than a docker-gen issue: #479

I had a similar issue, and the problem was that docker-compose default behavior is to create a separate network for each docker-compose.yml and add all the services from that file to this new network. This gives you some nice insulation between different sets of services, but nginx-proxy is designed to be shared across multiple sets of services. My quick fix was to create a network called nginx-proxy:
docker create network nginx-proxy
Then I added the following to the bottom of my docker-compose file:
networks:
  default:
    external:
      name: nginx-proxy

Here is my complete docker-compose.yml:
version: '2'

services:

  prod:
    image: ${COMPOSE_PROJECT_NAME}-prod
    container_name: ${COMPOSE_PROJECT_NAME}-prod
    environment:
      - VIRTUAL_HOST=${COMPOSE_PROJECT_NAME}
    volumes:
      - ./prod/${COMPOSE_PROJECT_NAME}/web:/var/www/html/
      - ./prod/${COMPOSE_PROJECT_NAME}/data:/var/lib/mysql
    restart: always

  dev:
    image: ${COMPOSE_PROJECT_NAME}-dev
    container_name: ${COMPOSE_PROJECT_NAME}-dev
    environment:
      - VIRTUAL_HOST=${COMPOSE_PROJECT_NAME}.dev
    volumes:
      - ./dev/${COMPOSE_PROJECT_NAME}/web:/var/www/html
      - ./dev/${COMPOSE_PROJECT_NAME}/data:/var/lib/mysql

  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

networks:
  default:
    external:
      name: nginx-proxy

For the new networking feature for docker-compose "version 2", another solution is to use the network_mode: "bridge" as well as networks: default: external: name: bridge.  That's help me with some apps that are using their own scripts for creating their containers (discourse in my case).

I use my own nginx image together with docker-gen. I ran into this problem today with no upstreams being written. I removed exposed-only as suggested by @ninoles, and it worked.

Removing exposed-only didn't help. I'm still getting no servers are inside upstream in /etc/nginx/conf.d/default.conf:36

Just confirming @briansrepo's solution. Thanks a lot !
I tried first to rely on the default bridge
networks:
  default:
    external:
      name: bridge

but got a Nginx refusal:
$ docker-compose up
ERROR: for nginx  Network-scoped alias is supported only for containers in user defined networks

When using my own name, and then creating the network
networks:
  default:
    external:
      name: nginx-proxy

everything's fine
$ docker network create nginx-proxy
$ docker-compose up
...

i just want to point out that @briansrepo's solution might work but it is unrelated to the OPs issue. His fix is only valid if you are using the jwilder/nginx-proxy image which combines nginx and docker-gen. This issue though is appearing while using two containers, one for docker-gen and one for nginx.
i just ran into this after i decided to split my setup by using two seperate containers rather than one based on the combined image jwilder/nginx-proxy and i can confirm that @ninoles' suggestion works around the issue. By removing -only-exposed from the docker-gen command my nginx-config is generated properly.

Any updates here?
I am recently having major problems with the separate-container solution (the official nginx image,  jwilder/docker-gen and JrCs/docker-letsencrypt-nginx-proxy-companion).
It appears as the automatically generated upstream blocks are faulty (entirely empty).
I have looked around and tried the following proposed solutions:

Removíng "-only-exposed" frin the docker-gen entrypoint.
Change lets-encrypt-proxy-companion to version 1.4

=> No success - empty upstream blocks in both cases.
I am using the following official nginx.tmpl:
https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl
So currently, I cannot get any of the example setups (see bottom of https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion) working using the recommended separate container method. Am I the only one with these issues?
My best guess is that there is a problem with the nginx.tmpl file, does anyone know if it is up-to-date? Alternatively, could there be a port issues? The proxy is tied to my api's by a bridge network.
I am using:
Docker version 17.04.0-ce, build 4845c56
docker-compose version 1.11.2, build dfed245

@victor-lund Are all your containers under the same network? docker network create nginxproxy and then add --net nginxproxy to all containers.

I have also just started having problems. I have been using nginx/docker-gen/let's encrypt for several months and something change that has rendered everything useless

I'm getting the same error here.
nginx                | 2017/05/26 12:00:25 [emerg] 1#1: no servers are inside upstream in /etc/nginx/conf.d/default.conf:51
The versions are :
Docker version 17.05.0-ce, build 89658be
docker-compose version 1.13.0, build 1719ceb
jrcs/letsencrypt-nginx-proxy-companion:5176f3ad3949
jwilder/docker-gen:090b9fb87a9a

Hi! I just setup a new VPS (Ubuntu 16.04) for a web project... I installed docker (17.05) and docker-compose (1.15) and copied my file on the server. When I run docker compose now, the nginx-proxy container is failing and I get :
nginx: [emerg] no host in upstream ":80" in /etc/nginx/conf.d/default.conf:35
The weird thing is that the exact same setup works fine on my local machine and 2 other VPS. Here is my docker-compose.yml :
version: "2"

services:

    dentsblanches-nginx-proxy:
        build: ./nginx-proxy/
        container_name: dentsblanches-nginx-proxy
        ports:
            - "80:80"
        volumes:
            - "/etc/nginx/conf.d"
            - "/etc/nginx/vhost.d"
            - "/usr/share/nginx/html"
            - "./nginx-proxy/certs:/etc/nginx/certs:ro"
        networks:
            - server
        depends_on:
            - dentsblanches-php

    dentsblanches-nginx-gen:
        image: jwilder/docker-gen
        container_name: dentsblanches-nginx-gen
        volumes:
            - "/var/run/docker.sock:/tmp/docker.sock:ro"
            - "./nginx-proxy/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro"
        volumes_from:
            - dentsblanches-nginx-proxy
        entrypoint: /usr/local/bin/docker-gen -notify-sighup dentsblanches-nginx-proxy -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf

    dentsblanches-nginx:
        build: ./dentsblanches/nginx/
        container_name: dentsblanches-nginx
        environment:
            - VIRTUAL_HOST=VPS-ip
            - VIRTUAL_NETWORK=nginx-proxy
            - VIRTUAL_PORT=80
        volumes:
            - ./dentsblanches/:/var/www/html
        networks:
            - server
        depends_on:
            - dentsblanches-php

    dentsblanches-php:
        build: ./dentsblanches/php/
        container_name: dentsblanches-php
        environment:
            - VIRTUAL_PORT=9000
        volumes:
            - ./dentsblanches/:/var/www/html
        networks:
            - database
            - server
        depends_on:
            - dentsblanches-mysql

    dentsblanches-mysql:
        image: mysql:latest
        container_name: dentsblanches-mysql
        volumes:
            - data:/var/lib/mysql
        networks:
            - database
        environment:
            MYSQL_ROOT_PASSWORD: rootpasswd
            MYSQL_DATABASE: dentsblanches
            MYSQL_USER: dbuser
            MYSQL_PASSWORD: dbuserpasswd

    dentsblanches-phpmyadmin:
        image: phpmyadmin/phpmyadmin
        container_name: dentsblanches-phpmyadmin
        ports:
            - 8080:80
        networks:
            - database
        depends_on:
            - dentsblanches-mysql
        environment:
            PMA_HOST: dentsblanches-mysql

volumes:
    data:

networks:
    database:
    server:
        external:
            name: nginx-proxy

And here is my nginx.tmpl
{{ define "upstream" }}
    {{ if .Address }}
        {{/* If we got the containers from swarm and this container's port is published to host, use host IP:PORT */}}
        {{ if and .Container.Node.ID .Address.HostPort }}
            # {{ .Container.Node.Name }}/{{ .Container.Name }}
            server {{ .Container.Node.Address.IP }}:{{ .Address.HostPort }};
        {{/* If there is no swarm node or the port is not published on host, use container's IP:PORT */}}
        {{ else }}
            # {{ .Container.Name }}
            server {{ .Address.IP }}:{{ .Address.Port }};
        {{ end }}
    {{ else }}
        # {{ .Container.Name }}
        server {{ .Container.IP }} down;
    {{ end }}
{{ end }}

# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}

# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}

gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';

access_log off;

{{ if (exists "/etc/nginx/proxy.conf") }}
include /etc/nginx/proxy.conf;
{{ else }}
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
{{ end }}

server {
    server_name _; # This is just an invalid value which will never trigger on a real hostname.
    listen 80;
    access_log /var/log/nginx/access.log vhost;
    return 503;
}

{{ if (and (exists "/etc/nginx/certs/default.crt") (exists "/etc/nginx/certs/default.key")) }}
server {
    server_name _; # This is just an invalid value which will never trigger on a real hostname.
    listen 443 ssl http2;
    access_log /var/log/nginx/access.log vhost;
    return 503;

    ssl_certificate /etc/nginx/certs/default.crt;
    ssl_certificate_key /etc/nginx/certs/default.key;
}
{{ end }}

{{ range $host, $containers := groupByMulti $ "Env.VIRTUAL_HOST" "," }}

upstream {{ $host }} {

{{ range $index, $value := $containers }}

    {{ $addrLen := len $value.Addresses }}
    {{/* If only 1 port exposed, use that */}}
    {{ if eq $addrLen 1 }}
        {{ with $address := index $value.Addresses 0 }}
           # {{$value.Name}}
           server {{ $address.IP }}:{{ $address.Port }};
        {{ end }}

    {{/* If a VIRTUAL_NETWORK is specified use use its IP */}}
    {{ else if $value.Env.VIRTUAL_NETWORK }}
        {{ range $i, $network := $value.Networks }}
           {{ if eq $network.Name $value.Env.VIRTUAL_NETWORK }}
   # Container<EMAIL_ADDRESS>   server {{ $network.IP }}:{{ $value.Env.VIRTUAL_PORT }};
           {{ end }}
        {{ end }}

    {{/* If more than one port exposed, use the one matching VIRTUAL_PORT env var */}}
    {{ else if $value.Env.VIRTUAL_PORT }}
        {{ range $i, $address := $value.Addresses }}
           {{ if eq $address.Port $value.Env.VIRTUAL_PORT }}
           # {{$value.Name}}
           server {{ $address.IP }}:{{ $address.Port }};
           {{ end }}
        {{ end }}

    {{/* Else default to standard web port 80 */}}
    {{ else }}
        {{ range $i, $address := $value.Addresses }}
            {{ if eq $address.Port "80" }}
            # {{$value.Name}}
            server {{ $address.IP }}:{{ $address.Port }};
            {{ end }}
        {{ end }}
    {{ end }}
{{ end }}
}

{{ $default_host := or ($.Env.DEFAULT_HOST) "" }}
{{ $default_server := index (dict $host "" $default_host "default_server") $host }}

{{/* Get the VIRTUAL_PROTO defined by containers w/ the same vhost, falling back to "http" */}}
{{ $proto := or (first (groupByKeys $containers "Env.VIRTUAL_PROTO")) "http" }}

{{/* Get the first cert name defined by containers w/ the same vhost */}}
{{ $certName := (first (groupByKeys $containers "Env.CERT_NAME")) }}

{{/* Get the best matching cert  by name for the vhost. */}}
{{ $vhostCert := (closest (dir "/etc/nginx/certs") (printf "%s.crt" $host))}}

{{/* vhostCert is actually a filename so remove any suffixes since they are added later */}}
{{ $vhostCert := replace $vhostCert ".crt" "" -1 }}
{{ $vhostCert := replace $vhostCert ".key" "" -1 }}

{{/* Use the cert specifid on the container or fallback to the best vhost match */}}
{{ $cert := (coalesce $certName $vhostCert) }}

{{ if (and (ne $cert "") (exists (printf "/etc/nginx/certs/%s.crt" $cert)) (exists (printf "/etc/nginx/certs/%s.key" $cert))) }}

server {
    server_name {{ $host }};
    listen 80 {{ $default_server }};
    access_log /var/log/nginx/access.log vhost;
    return 301 https://$host$request_uri;
}

server {
    server_name {{ $host }};
    listen 443 ssl http2 {{ $default_server }};
    access_log /var/log/nginx/access.log vhost;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

    ssl_prefer_server_ciphers on;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;

    ssl_certificate /etc/nginx/certs/{{ (printf "%s.crt" $cert) }};
    ssl_certificate_key /etc/nginx/certs/{{ (printf "%s.key" $cert) }};

    {{ if (exists (printf "/etc/nginx/certs/%s.dhparam.pem" $cert)) }}
    ssl_dhparam {{ printf "/etc/nginx/certs/%s.dhparam.pem" $cert }};
    {{ end }}

    add_header Strict-Transport-Security "max-age=31536000";

    {{ if (exists (printf "/etc/nginx/vhost.d/%s" $host)) }}
    include {{ printf "/etc/nginx/vhost.d/%s" $host }};
    {{ else if (exists "/etc/nginx/vhost.d/default") }}
    include /etc/nginx/vhost.d/default;
    {{ end }}

    location / {
        proxy_pass {{ trim $proto }}://{{ trim $host }};
        {{ if (exists (printf "/etc/nginx/htpasswd/%s" $host)) }}
        auth_basic  "Restricted {{ $host }}";
        auth_basic_user_file    {{ (printf "/etc/nginx/htpasswd/%s" $host) }};
        {{ end }}
                {{ if (exists (printf "/etc/nginx/vhost.d/%s_location" $host)) }}
                include {{ printf "/etc/nginx/vhost.d/%s_location" $host}};
                {{ else if (exists "/etc/nginx/vhost.d/default_location") }}
                include /etc/nginx/vhost.d/default_location;
                {{ end }}
    }
}
{{ else }}

server {
    server_name {{ $host }};
    listen 80 {{ $default_server }};
    access_log /var/log/nginx/access.log vhost;

    {{ if (exists (printf "/etc/nginx/vhost.d/%s" $host)) }}
    include {{ printf "/etc/nginx/vhost.d/%s" $host }};
    {{ else if (exists "/etc/nginx/vhost.d/default") }}
    include /etc/nginx/vhost.d/default;
    {{ end }}

    location /.well-known/acme-challenge {
            root /usr/share/nginx/html/;
            break;
    }

    location / {
        proxy_pass {{ trim $proto }}://{{ trim $host }};
        {{ if (exists (printf "/etc/nginx/htpasswd/%s" $host)) }}
        auth_basic  "Restricted {{ $host }}";
        auth_basic_user_file    {{ (printf "/etc/nginx/htpasswd/%s" $host) }};
        {{ end }}
                {{ if (exists (printf "/etc/nginx/vhost.d/%s_location" $host)) }}
                include {{ printf "/etc/nginx/vhost.d/%s_location" $host}};
                {{ else if (exists "/etc/nginx/vhost.d/default_location") }}
                include /etc/nginx/vhost.d/default_location;
                {{ end }}
    }
}

{{ if (and (exists "/etc/nginx/certs/default.crt") (exists "/etc/nginx/certs/default.key")) }}
server {
    server_name {{ $host }};
    listen 443 ssl http2 {{ $default_server }};
    access_log /var/log/nginx/access.log vhost;
    return 503;

    ssl_certificate /etc/nginx/certs/default.crt;
    ssl_certificate_key /etc/nginx/certs/default.key;
}
{{ end }}

{{ end }}
{{ end }}

Until now, this setup has been working fine without SSL and with https ( simply adding a container for letsencrypt-nginx-proxy-companion in my docker-compose.yml).
 Any help would be greatly appreciated!

I am also having the same problem with a setup that had been working previously for months.
I tried adding the nginx-gen and nginx-letsencrypt containers to my existing nginx-proxy network and that didn't help.
Neither did updating the nginx.tmpl file.
I do not know the language in which the template file is written.
The template file iterates over the $containers variable at line 120.  That variable is defined earlier at line 111, along with the $host variable.  The value for $host is correct.  I don't know what groupByMulti is or does, but I suspect that's the problem.

I do not know the language in which the template file is written.

It's Go : https://golang.org/pkg/text/template/

My first experience with this template package and I find it interesting so far!
Through some printf-style debugging, I found that $CurrentContainer.Networks is not set, which is why the upstream is not populated.  I cannot explore further at this time, but it would be nice to know why that variable has no value.

Most probably one of your proxied container isn't on the nginx-proxy network but that'll be hard to tell for sure without your docker run commands or docker-compose.yaml file :)

Oh and don't use the nginx.tml present on this repo, it is extremely outdated.
The latest one is there : https://raw.githubusercontent.com/jwilder/nginx-proxy/master/nginx.tmpl

I'm definitely using the correct template file, from the jwilder/nginx-proxy repository.
I'm pretty sure the right containers are on the right network, but to make sure, here's my docker-compose.yml file:
version: "2"

services:
    nginx:
        image: nginx
        container_name: nginx
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - "/etc/nginx/conf.d"
            - "./volumes/proxy/vhost.d:/etc/nginx/vhost.d"
            - "/usr/share/nginx/html"
            - "./volumes/proxy/certs:/etc/nginx/certs:ro"
        networks:
            - proxy-tier
        restart: unless-stopped

    nginx-gen:
        image: jwilder/docker-gen
        container_name: nginx-gen
        volumes:
            - "/var/run/docker.sock:/tmp/docker.sock:ro"
            - "./volumes/proxy/templates/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro"
        volumes_from:
            - nginx
        entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -only-exposed -wait 5s:30s /etc
/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
        restart: unless-stopped

    letsencrypt-nginx-proxy-companion:
        image: jrcs/letsencrypt-nginx-proxy-companion
        container_name: nginx-letsencrypt
        volumes_from:
            - nginx
        volumes:
            - "/var/run/docker.sock:/var/run/docker.sock:ro"
            - "./volumes/proxy/certs:/etc/nginx/certs:rw"
        environment:
            - NGINX_DOCKER_GEN_CONTAINER=nginx-gen
            - NGINX_PROXY_CONTAINER=nginx
        restart: unless-stopped

    server:
        image: rancher/server:stable
        container_name: rancher-server
        volumes:
            - "./volumes/server/rancher_prod:/var/lib/mysql"
        environment:
            - VIRTUAL_HOST=rancher-server.twilley.org
            - VIRTUAL_NETWORK=nginx-proxy
            - VIRTUAL_PORT=8080
            - LETSENCRYPT_HOST=rancher-server.twilley.org
            -<EMAIL_ADDRESS>        networks:
            - proxy-tier
        restart: unless-stopped

    registry:
        image: registry:2
        container_name: registry
        volumes:
            - "./volumes/registry/auth:/auth"
            - "./volumes/registry/config:/etc/docker/registry"
            - "./volumes/registry/contents:/var/lib/registry"
        environment:
            - REGISTRY_AUTH=htpasswd
            - REGISTRY_AUTH_HTPASSWD_REALM=Registry
            - REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
            - VIRTUAL_HOST=registry.twilley.org
            - VIRTUAL_NETWORK=nginx-proxy
            - VIRTUAL_PORT=5000
            - LETSENCRYPT_HOST=registry.twilley.org
            -<EMAIL_ADDRESS>        networks:
            - proxy-tier
        restart: unless-stopped

networks:
    proxy-tier:
        external:
            name: nginx-proxy

Do you know how the $CurrentContainer.Networks variable is set?

docker-gen gets those infos through the docker api with this function.
Have you tried removing -only-exposed from the docker-gen container's entrypoint ?
I case like yours were every container should be on the network I prefer to use
networks:
  default:
    external:
      name: nginx-proxy

so that I don't have to add each individual container to the network. I never used the VIRTUAL_NETWORK env variable, I wasn't even aware it existed.
You are definitely not the first to have issues with docker-gen and rancher.

I'm finally up, but I had to do all three:

remove VIRTUAL_NETWORK
remove -only-exposed
use default

Good times.  Thanks for the help!

Just for anyone else stuck here none of the advice works if using docker-compose -f my-file.yml run service extras even if specifying all the correct options in compose.  I think some options in the docker-compose file are ignored by docker-compose run.

For me the solution was quite simple. If you are going to declare any networks - you have to make sure that your nginx-proxy container and your docker-gen container are on the same network. That is to say you must explicitly declare:
networks:
  - nginx-proxy

If you are using the letsencrypt companion - it will have to be on the same network too. Quite obviously the container you want to proxy has to be on the same network.
It really is as simple as that.

Just in case, this is also happens all the containers being in the same network. I upgraded the images and the template, added letsencrypt companion container, and started happening.

I am actually shocked that it's been over 6 months and this issue still exists, i've tried all of the recommended updates above. And none seem to work.
Does anyone have a working docker-compose file that actually works ?

I don't actually use docker-compose but systemd, and I fixed it using another template. Can't remember exactly where I took it from though :/, but it was in one of the linked resources
nginx.tmpl

Awesome thank you I’ll give that a shot
On Thu, Feb 15, 2018 at 1:40 PM Javier Domingo Cansino <
<EMAIL_ADDRESS>wrote:

I don't actually use docker-compose but systemd, and I fixed it using
another template. Can't remember exactly where I took it from though :/,
but it was in one of the linked resources
nginx.tmpl
https://github.com/jwilder/docker-gen/files/1729293/nginx.tmpl.txt
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jwilder/docker-gen/issues/196#issuecomment-366054699,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFFsSUvlUPkM-dxchxrF_WAT6o2Vtvo3ks5tVJY8gaJpZM4InogI
.

--
-V/R
Ryan Watts

Also got the same problem when using last nginx.tmpl with separate container (nginx and dockergen), this problem does not happen when using  jwilder/nginx-proxy with jrcs/letsencrypt-nginx-proxy-companion
I'm use following docker/compose version on CentOS 7
docker version 18.03.0-ce
docker-compose version 1.21.0, build 5920eb0

Is there any solution for this ?

Possible solution:
I had a tricky issue with my nginx default.conf not working, same error message. After _making a backup of /etc/nginx/conf.d/default.conf, , try deleting the default.conf file and restart.
The config file should be regenerated automatically.
This fixed it for me. (Something got messed up in the first auto-generated default.conf and never got fixed in subsquent restarts of the proxy container.) If you still have issues after that, look into your networks, and make sure you can ping / curl the target container from within your proxy container.

I ran into the same issue today even though all relevant containers were on the same network. @ninoles' suggestion to remove -only-exposed from the docker-gen CLI parameters fixed it for me.

I can confirm that removing the -only-exposed switch resolves the issue.

I did some more digging into this and Github Actions has this in /etc/docker/daemon.js:
{ "cgroup-parent": "/actions_job" }

And I wonder if that conflicts with:
https://github.com/jwilder/docker-gen/pull/158/files#diff-552f47512a00afe5fc6850cc9ddc830a6daeca162750e50aab4ed549685e0253R156-R158

This repo should no longer handle issues or discussions related to nginx-proxy / the nginx-proxy template, unless there is something we need to change / fix in docker-gen in order to allow a change / fix in nginx-proxy.