default compiler to error prone.

I know etan changed removed this recently.
Can you check that your compiler is set to error prone in settings?

It is not set to error prone:

I do still get error prone messages when building the project.
Are you not?

You need to set the internal compile to error prone to get the 'in-editor'
(red squiggly lines) error-prone errors.
Have you installed the plugin?
On Thu, Feb 23, 2017 at 10:31 AM, Etan Shaul<EMAIL_ADDRESS>wrote:

It is not set to error prone:
[image: image]
https://cloud.githubusercontent.com/assets/1735744/23265537/eee296f8-f9b2-11e6-9c5e-81d6b733f577.png
I do still get error prone messages when building the project.
Are you not?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1265#issuecomment-282024687,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HR4Hdzddy4oiNmvamozCd5_uuuLHks5rfaZTgaJpZM4MKGfq
.

BTW I think the plugin is installed by default on our work intellij

I do not have the error prone plugin installed.
And I did test out getting in-editor validation before and after removing the compiler setting and never got them, which is why I was comfortable with the change. I'll try it out again.

I don't see that errorprone option in the Java compiler settings.
I also can't find the error prone plugin in the plugins list.

oh..I guess the plugin would be required for this right? hence the vcs conflicts when the setting is there, but the plugin is not installed. this makes more sense. my only hesitation is that now developers are required to have the errorprone plugin to avoid these conflicts

@joaoandremartins the error prone plugin is there if you go to "browse repositories..."

On second thought, I think its reasonable as long as we document it for developers on the github page.

It's in our setup instructions:
https://github.com/GoogleCloudPlatform/google-cloud-intellij/blob/master/CONTRIBUTING.md
On Thu, Feb 23, 2017 at 10:58 AM, Etan Shaul<EMAIL_ADDRESS>wrote:

@joaoandremartins https://github.com/joaoandremartins the error prone
plugin is there if you go to "browse repositories..."
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-intellij/pull/1265#issuecomment-282032934,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHf5HY0Swd5fjNaZtLDhStTJNs39hUDXks5rfazAgaJpZM4MKGfq
.

oh snap.
lgtm then.


Syncing users episode progress locally (getting episode ID's)

Afternoon,
Just a quick question to see if it's a possibility to add the episode ID's to the sync/watched/shows endpoint or is there a better way to obtain the ID's of the episodes a user has watched than I'm currently doing?
Currently my app's database is stored with the trakt ID of each object as the unique field. Issue being that if I was to do an initial fresh sync of a users watched progress, I need to request the above endpoint and then identify each episodes ID to store them down.
The issue is possible on my end in the method I'm storing these items where I could possibly use a mutation of the show ID to store episodes and seasons, but I would love to be able to acquire the episode ID for each episode in one hit and make a larger single database transaction than multiple smaller ones for the obvious speed benefits.

We don't have a method that provides this info yet, but it is something I am working on. I want to add super minimal methods that only return the Trakt id along with the watched_at timestamps and that is it. I'm still working on the JSON structure and will post my proposal here once I have some examples.

Quick followup about what the minimal amount of data is needed to make this usable for your app. I think it only needs the id and the watched_at timestamps right?

@rectifyer I did read somewhere before about you wanting to do this and I think it's a brilliant idea as it will likely reduce some strain on your servers as well.
For most general endpoints "Lists, Trending, Popular" I would think a simple list of ID's would suit it perfectly. My only concern is for the shows sync endpoint it may be pertinent to include the season/episode numbers. Without that information, the database entries would not be particularly useful.
In example, an application would be unable to build a list of the episodes a user is up to without processing the meta for all of the shows episode entries which kind of defeats the purpose in my eyes.
So in short, for the shows sync endpoint I'd prefer to see a format similar to (tried to keep it as minimal as possible):
[
    {
        "1234" :             #Trakt Show ID
            "episodes: [
                {
                "1234":{          # Episode ID
                    "season": 1,
                    "episode": 1
                }
            ]
        }
    }
]

I wasn’t think of including the season + episode numbers and just sticking to IDs only. If you are caching the the entire show, wouldn’t you already have all the episode IDs cache locally in the app?
This is a work in progress, but here is what I came up with (prior to your response). The keys would be the Trakt ID and the array is all the time stamps when the item was watched. This actually contains a bit more info since you can get the exact times it was watched. With this info, you can key all the watched items (the keys), the play count (size of the array), last watched (newest time stamp), and the full watched history for each item. Having the time stamp is important since apps might want to indicate when they last watched the item, similar to how the Trakt website does it.
For movies and episodes (no shows):
{   "1": [     "2014-10-11T17:00:54.000Z",     "2015-10-11T17:00:54.000Z",     "2016-10-11T17:00:54.000Z"   ],   "2": [     "2014-10-11T17:00:54.000Z",     "2015-10-11T17:00:54.000Z",     "2016-10-11T17:00:54.000Z"   ] }
For shows, it would have a top level key which is the show ID.
{   "1": {     "11": [       "2014-10-11T17:00:54.000Z",       "2015-10-11T17:00:54.000Z",       "2016-10-11T17:00:54.000Z"     ],     "12": [       "2014-10-11T17:00:54.000Z",       "2015-10-11T17:00:54.000Z",       "2016-10-11T17:00:54.000Z"     ]   } }
I am also not sure if this should be an entirely new method or the same method name with ?extended=min as a parameter. It might be confusing to use the same method name since the output is so different?

I think on the point of setting it as a parameter or not, adding a min option to the extended parameter is fine, as long as it is documented well inside the API docs and I personally wouldn't think any different of it.
Funnily enough, while writing an explanation on my applications database I've actually identified a much faster method of performing an initial sync with your servers than I'm currently employing so I believe I've ended up solving my own silly mistake.
In regards to moving forward with the minimal watched endpoints I think you are on the money though.
I'll close this issue off and try and look at my problems a little more closely in the future 😂

@nixgates nice, I'm curious what you're doing to optimize?

My application has three base functions for handling record insertion into the respective tables for items that are unseen.
The initial sync used these functions and it would simply insert the minimum info during a sync eg: Episode (episode_id, show_id, season, episode) per record when performing the initial sync. Unfortunately because the trakt_id wasn't being supplied to the episode function it needed to poll the trakt servers for that information.  This means the whole process was slowed through network requests and individual database transactions.
What I've decided to do now is process any syncs independent of these functions. So now it pulls the watched/collected episodes, then polls '/shows/?/seasons?extended=episodes' endpoint for the complete episode list for each show required. Then it compares the two sets of data per show and builds a single database transaction.


Discussion: package organization

This issue is just to have a place to plan out some code organization. We want everything to be installable for reuse, which means python packaging.
After thinking about it a little bit I think it'd be nice to create a namespace package named mdl and everything gets installed under that namespace. So for instance this package could be mdl.masseqviz and we could write some future package mdl.foo and maintain it in a separate repo.
I can open a PR for this, but the basics are something like the following structure. It's a little complicated to set up at first but it keeps things clean and easier to maintain in the long term.
- src/
  - mdl/
    - masseqviz/  # code is all under here
      - __init__.py
      - ...
- tests/  # we should write tests eventually
  - ...
- README.md
- LICENSE
- requirements.txt
- dev-requirements.txt
- pyproject.toml  # configures setuptools and various dev tools
- .pre-commit-config.yaml  # for running pre-commit hooks

pre-commit is a tool for running code checks before committing to the repo. I like to use black, isort, and flake8 to keep everything consistent and readable, and also minimize formatting issues in PRs.

I'll just tag everyone who might have an opinion: @yueyaog @jonn-smith @kvg @viq854 @brianjohnhaas @GeorgescuC

This looks great. I like the idea of separate repos where there are largely disjoint systems with distinct requirements.  We definitely wouldn't want to grow a single mega-package (dare I say like gatk... ) when we can keep certain parts nicely isolated.

I will admit that I partially just want to figure out how to do it this way.
On Fri, Jan 13, 2023, 15:13 Brian Haas @.***> wrote:

This looks great. I like the idea of separate repos where there are
largely disjoint systems with distinct requirements. We definitely wouldn't
want to grow a single mega-package (dare I say like gatk... ) when we can
keep certain parts nicely isolated.
—
Reply to this email directly, view it on GitHub
https://github.com/MethodsDev/MasSeqViz/issues/3#issuecomment-1382341339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHLIP3ACR22OYNMBOILXBLWSGZPJANCNFSM6AAAAAAT2T5BYM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Done in #4


detect/enable cluster capacity reporting

in the data hierarchy, set g_enable_cluster_capacity_reporting to True for any cluster that should have this reporting enabled

@twiest :+1: #602 in stg


Identify special field types in the ballerina records for UI generation

Description:
ballerina/http ballerinax/mysql clients initialization may require some sensitive data such as clientId, clientSecret, password, path, etc. The type of these fields defined as strings.
public type RefreshTokenGrantConfig record {|
    string refreshUrl;
    string refreshToken;
    string clientId;
    string clientSecret;

public type ClientSecureSocket record {|
    boolean enable = true;
    crypto:TrustStore|string cert?;
    crypto:KeyStore|CertKey key?;

public type KeyStore record {|
    string path;
    string password;
|};

Describe your problem(s)
When we want to generate UI controls for entering values for these fields, the possible control is a text box. Is it possible to introduce an annotation pattern to describe the data? For example, clientSecret should mask value, and the path should be a file upload, etc. @shafreenAnfar @daneshk thoughts?
Describe your solution(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

@shafreenAnfar @hasithaa @hevayo This improvement is essential to provide a secure deployment option in Choreo. Inability to detect which configurable is sensitive or not, causes us to ask it from the user which is sort of not optimal in Ballerina context but in non-ballerina apps. Can we get an update so that we can plan accordingly?

Can't we use @display annotation here, with additional meta data? Each stdlib module has to follow the same convention.

+1. We'll come up with additional metadata and discuss it here to finalize them.

@hasithaa, I checked the @display definition.
# Denotes general-purpose metadata to customize how Ballerina symbols are displayed in a UI environment.
public const annotation record {
    # label for the Ballerina construct
    string label;
    # icon path relative to module's resource directory
    string iconPath?;
} display on source type, source class,
      source function, source return, source parameter, source field, source listener,
      source var, source const, source annotation, source service;

It allows only label and iconPath as metadata. label is required. We cannot define anything custom. Would it require some change from the Ballerina?

@indikasampath2000 But the record is open, you can have additional metadata called, kind/type, etc.. e.g.:
type SomeConfig record {
    string username;
    @display {
        label: "auth token",
        kind: "password"
    }
    string token;
};

@shafreenAnfar @daneshk we have to use the same metadata across all the stdlib.
Also note that, with Update 2, we will introduce,  @constraint annotation. It describes constraints on the value, which also useful when generating UI forms.

Ok, my bad. I checked this in Ballerina 2201.0.3 (Swan Lake) and it gave me the following compilation error.
ERROR [main.bal:(44:9,44:13)] invalid key 'kind': identifiers cannot be used as rest field keys, expected a string literal or an expression
error: compilation contains errors

But no errors after updating to Ballerina 2201.1.1 (Swan Lake Update 1)

Display annotation syntax for Choreo UI elements rendering
Applied for:

Fields in records
Configurable variables (or generally any variable?)

Use Case 1: Masking sensitive fields
type Credentials record {
    string username;
    @display {
        label: "auth token",
        mask: true
        sensitive: true
    }
    string token;
};

Looking at “mask”, the UI will generate a password type text box which masks whatever typed there. If the display annotation is not there, it is considered mask=false.
Looking at “sensitive”, the value backend logic can treat this special (i.e store in Azure key vault).  If the display annotation is not there, it is considered sensitive=false.

Use Case 2: Identify file paths
type SSLConfig record {
    string username;
    @display {
        label: "client certificate path",
        kind: filePath
    }
    string clientCert;
};

Looking at “kind”, there will be different UI element renderings. There’s a defined set of kinds considered by Choreo UI.
Possible values for kind:

filePath (renders file upload button next to path text box)

(Note: for now we only have filePath, however in future there may be more kinds that is supported by UI rendering logic)

@hasithaa, @abeykoon  can we add these fields to the display annotation to reserve them. Otherwise people might use these for other use-cases. Also is the kind attribute an enum ?

@hevayo +1 to reserve those as optional fields.
IMO, we only need one attribute for both cases, and its values should be a subset of HTML input types.
@hevayo, Since display annotation defined in main symbol space, defining an enum for kind attribute will pollute the main symbol space. Hence I will define it something like, "text"|"date"|"password"|"time"|"file"|"url"|"tel"|"email" kind; There are other kinds we can support too.

+1 to use a union instead of enum.
Also since display annotation can be put to any constructs we should implement a validator to prevent using certain attributes in irrelevant places. ie Using mask attribute inside display annotation added to a service. But validator can come later.

We had a discussion on above proposal and decided on below

sensitive is not used for display purpose, so should not be a part of display annotation. A future platform annotation may support it
Introduce one field like kind with a defined set of types. @indikasampath2000 and @abeykoon  to come up with a list
Validation can come later. If we can agree to a list of words that can come for the value of kind, it is good enough to start

As @abeykoon mentioned, we decided to have single metadata under the @display annotation to solve this problem since the @display is intended for rendering purposes. The data sensitivity has to decide by the user. The relevant tooling rendering these configuration records needs to get that information from the user for the persistent.
The kind metadata would have the following three values by looking at the existing connector configurations.
"text"|"password"|"file" kind;

The default would be "text" when there is no @display annotation for the given field.

Connector
Configs
Kind

ballerinax/mysqlballerinax/mssqlballerinax/oracledbballerinax/postgresql
passwordcrypto:KeyStore#pathcrypto:KeyStore#passwordcrypto:TrustStore#pathcrypto:TrustStore#password
passwordfilepasswordfilepassword

ballerina/http
http:CredentialsConfig#passwordhttp:BearerTokenConfig#tokenhttp:OAuth2ClientCredentialsGrantConfig#clientSecrethttp:OAuth2PasswordGrantConfig#passwordhttp:OAuth2PasswordGrantConfig#clientSecrethttp:OAuth2RefreshTokenGrantConfig#clientSecrethttp:OAuth2RefreshTokenGrantConfig#refreshTokenhttp:OAuth2JwtBearerGrantConfig#clientSecretcrypto:KeyStore#pathcrypto:KeyStore#passwordcrypto:TrustStore#pathcrypto:TrustStore#password
passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordfilepasswordfilepassword

Ecosystem handwritten connectors
Same as ballerina/http

OpenAPI generated connectors
Same as ballerina/httpAPI Key
Password

@shafreenAnfar @daneshk, could you please verify the above list and add if I have missed something?

In HTML input type file means, file upload. But in our case, what we need is file-path, which is mapped to url in HTML input types.

No, here we want to give an option to upload the cert and key file. We'll generate a path after uploading the file and mount the file to the generated path at deployment.

@hasithaa @hevayo we met a scenario like this.
public type ClientSecureSocket record {|
    boolean enable = true;
    crypto:TrustStore|string cert?;
    crypto:KeyStore|CertKey key?;
    record {|
        Protocol name;
        string[] versions = [];
    |} protocol?;
    record {|
        CertValidationType 'type = OCSP_STAPLING;
        int cacheSize;
        int cacheValidityPeriod;
    |} certValidation?;
    string[] ciphers?;
    boolean verifyHostName = true;
    boolean shareSession = true;
    decimal handshakeTimeout?;
    decimal sessionTimeout?;
|};

If we take  crypto:TrustStore|string cert?; The UI functionality needs to be

if selected string type, a text box will be there and content needs to be masked.
if selected crypto:TrustStore type it should display following

public type TrustStore record {|
string path;          ----> Upload button
string password;   ----> Should be masked
|};
How can we define this functionality when we have an union of a record and a basic type?

I think it is UI Form generation's decision to how to render string or record filed. What we can do is we can put @display { kind : "password" } to the cert to indicate it is a sensitive value. So when users select string, the text box will be masked. But for record filling, masking doesn't make sense and it has to get what have mentioned in thecrypto:TrustStore and use that for rendering.
@hevayo @abeykoon thoughts.


OOM Error on A40 GPU

I was trying the following code sample (adapted from the discussion in https://github.com/sgl-project/sglang/issues/81) -
import sglang as sgl
from sglang import function, gen, set_default_backend, Runtime

@sgl.function
def tool_use(s, question):
    s += "To answer this question: " + question + ", "
    s += "I need to use a " + sgl.gen("tool", choices=["calculator", "web browser"]) + ". "
    if s["tool"] == "calculator":
        s += "The math expression is" + sgl.gen("expression")
    elif s["tool"] == "web browser":
        s += "The website url is" + sgl.gen("url")

runtime = Runtime(model_path='Model_Saves/teknium--OpenHermes-2.5-Mistral-7B')
set_default_backend(runtime)

driver_tool_use()

I firstly got the same error as described here: https://github.com/sgl-project/sglang/issues/41#issuecomment-1899347676
I then followed Solution 2 from this comment and the error disappeared but I now get an OOM error even though I have 46068 MiB of space on the GPU which is more than what a 7B model needs. On checking with nvidia-smi I see 41158MiB in use. I'm running this in a Jupyter notebook.
The error -
router init state: Traceback (most recent call last):
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/managers/router/manager.py", line 68, in start_router_process
    model_client = ModelRpcClient(server_args, port_args)
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/managers/router/model_rpc.py", line 480, in __init__
    self.model_server.exposed_init_model(0, server_args, port_args)
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/managers/router/model_rpc.py", line 53, in exposed_init_model
    self.model_runner = ModelRunner(
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/managers/router/model_runner.py", line 233, in __init__
    self.load_model()
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/managers/router/model_runner.py", line 278, in load_model
    model = model_class(
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/models/llama2.py", line 258, in __init__
    self.model = LlamaModel(config, linear_method)
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/models/llama2.py", line 218, in __init__
    [
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/models/llama2.py", line 219, in <listcomp>
    LlamaDecoderLayer(config, i, linear_method)
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/models/llama2.py", line 167, in __init__
    self.mlp = LlamaMLP(
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/sglang/srt/models/llama2.py", line 49, in __init__
    self.down_proj = RowParallelLinear(
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/vllm/model_executor/layers/linear.py", line 495, in __init__
    self.linear_weights = self.linear_method.create_weights(
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/vllm/model_executor/layers/linear.py", line 55, in create_weights
    weight = Parameter(torch.empty(output_size_per_partition,
  File "/NS/llm-1/nobackup/afkhan/anaconda3/envs/peft_mem/lib/python3.10/site-packages/torch/utils/_device.py", line 77, in __torch_function__
    return func(*args, **kwargs)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 112.00 MiB. GPU 0 has a total capacty of 44.39 GiB of which 77.62 MiB is free. Process 535546 has 40.19 GiB memory in use. Including non-PyTorch memory, this process has 4.11 GiB memory in use. Of the allocated memory 3.80 GiB is allocated by PyTorch, and 15.38 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

detoken init state: init ok

Thanks for sharing the script @merrymercy
However, when I start the run the GPU is empty so everything occupying GPU space (which is a single process) must be coming from the code in the script. Wouldn't running this just kill the notebook?

Did you use pytorch in the notebook before launching the sglang runtime?
If so, please try to launch the sglang runtime before you use any GPU library.
By default, sglang runtime will occupy all GPU memory. If you want to use GPU libraries later, you can use something like
runtime = Runtime(model_path="meta-llama/Llama-2-7b-chat-hf", mem_fraction_static=0.7)

Nope I did not use any other library apart from sglang in the notebook. The first cell I executed contained the code I shared. I'll try setting the mem_fraction_static. Maybe that would help!

Running it from the notebook did not work but running it on the terminal and making calls from a notebook does work. Not sure why though.


Install Problem

Amazing for this mod.
I am unable to install the mod.
Should I switch the BT on or turn it off. Or perhaps I forgot to do something important.
Thanks
Micke

The command is non install

Thanks for the answer but it doesn't work.
I am totally new to it.
Is it possible to have a detailed tutorial?

Please install everything mentioned here:
https://github.com/mplutka/tm-bt-led#prerequisites (Number 4)
In your case you are missing Git.

You could also try to download the precompiled version:
https://github.com/mplutka/tm-bt-led/suites/2037117068/artifacts/40963445
If all goes well just follow the video in the documentation.

I‘m really sorry that this happened to your device. I‘m pretty sure that this had nothing to do with my software and occurred due to an hiccup during the firmware update process. So I’m closing this issue now. Wish you good luck with the TM support and would love to hear back from you if you managed to get it working again. Take care.

Hi Micke60,
I think I found a way to revive your device.
Please follow these step precisely:

Turn OFF the TM BT Led
Fully charge the TM BT Led
UNPLUG the usb cable from the PC / charger
Launch the firmware update software on your PC
Turn ON the TM BT LED
HOLD the left top button (see screenshot)

PLUG USB cable into PC
Firmware software should show this under "Device" (note the [BOOT] prefix before the entry):

RELEASE the left top button
Press OK on the firmware screen to start the update
Screen should look like this afterwards:

Please let me know if that worked for you.

Thank you for your help, unfortunately despite the reset, the bluetooth does not work :(
I'll get the receipt to operate the warranty, I'll keep you posted;)


indy.error.IndyError: ErrorCode.CommonInvalidState

I am following the quick start guide (https://github.com/bcgov/TheOrgBook/blob/master/docker/README.md#running-a-complete-provisional-von-network). I am receiving the following error (indy.error.IndyError: ErrorCode.CommonInvalidState) while starting the permitify. Below is the output:

bc@FRA1000013983:~/blockchain/indy/bcgov/permitify/docker$ ./manage start seed=issuer_service_00000000000000000 TOB_INDY_SEED=the_org_book_0000000000000000000
WARNING: The RUST_BACKTRACE variable is not set. Defaulting to a blank string.
permitify_redis_1 is up-to-date
Creating permitify_bc_registries_1 ...
Creating permitify_bc_registries_1 ... done
Attaching to permitify_bc_registries_1
bc_registries_1                        | ==================================================================================
bc_registries_1                        | Initializing issuer service.
bc_registries_1                        | ----------------------------------------------------------------------------------
bc_registries_1                        |
bc_registries_1                        | TEMPLATE_NAME: bc_registries
bc_registries_1                        | INDY_WALLET_SEED: issuer_service_00000000000000001
bc_registries_1                        | INDY_WALLET_TYPE: virtual
bc_registries_1                        | WEB_CONCURRENCY: 1
bc_registries_1                        | DEBUG:
bc_registries_1                        | Cmd: /usr/libexec/s2i/s2i_run
bc_registries_1                        | ==================================================================================
bc_registries_1                        |
bc_registries_1                        | Copying template directory; /home/indy/site_templates/bc_registries ...
bc_registries_1                        |
bc_registries_1                        | Starting server ...
bc_registries_1                        |
bc_registries_1                        | ---> Serving application with gunicorn (wsgi) ...
bc_registries_1                        | [2018-09-17 13:40:39 +0000] [1] [INFO] Starting gunicorn 19.7.1
bc_registries_1                        | [2018-09-17 13:40:39 +0000] [1] [INFO] Listening at: http://<IP_ADDRESS>:8080 (1)
bc_registries_1                        | [2018-09-17 13:40:39 +0000] [1] [INFO] Using worker: sync
bc_registries_1                        | [2018-09-17 13:40:39 +0000] [78] [INFO] Booting worker with pid: 78
bc_registries_1                        | ERROR 2018-09-17 13:40:40,319 apps 78<PHONE_NUMBER>79520 startup code ...
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,323 apps 78<PHONE_NUMBER>79520 running ...
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,323 apps 78<PHONE_NUMBER>79520 running in run ...
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,323 agent 78<PHONE_NUMBER>79520 Issuer init>>>
bc_registries_1                        | INFO 2018-09-17 13:40:40,323 genesis 78<PHONE_NUMBER>79520 Using genesis transaction file from http://<IP_ADDRESS>:9000/genesis ...
bc_registries_1                        | INFO 2018-09-17 13:40:40,328 genesis 78<PHONE_NUMBER>79520 Writing genesis transaction file to, /home/indy/genesis ...
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,330 agent 78<PHONE_NUMBER>79520 Using virtual Cfg: {'freshness_time': 0} Creds: {'key': '', 'virtual_wallet': None}
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,330 agent 78<PHONE_NUMBER>79520 Issuer init>>> create wallet virtual {'freshness_time': 0} {'key': '', 'virtual_wallet': None}
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,330 agent 78<PHONE_NUMBER>79520 Issuer init>>> done virtual {'freshness_time': 0} {'key': '', 'virtual_wallet': None}
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,330 agent 78<PHONE_NUMBER>79520 Issuer init>>> created VonIssuer
bc_registries_1                        | DEBUG 2018-09-17 13:40:40,330 agent 78<PHONE_NUMBER>79520 Issuer aenter>>>
bc_registries_1                        | INFO 2018-09-17 13:40:40,330 agent 78<PHONE_NUMBER>79520
bc_registries_1                        |
bc_registries_1                        |
bc_registries_1                        | ==========await self.pool.open()==========
bc_registries_1                        |
bc_registries_1                        |
bc_registries_1                        |
bc_registries_1                        |  INFO|command_executor              |                src/commands/mod.rs:68  | Worker thread started
bc_registries_1                        |  INFO|indy::commands                |                src/commands/mod.rs:99  | PoolCommand command received
bc_registries_1                        |  INFO|pool_command_executor         |               src/commands/pool.rs:56  | Create command received
bc_registries_1                        |  INFO|indy::commands                |                src/commands/mod.rs:99  | PoolCommand command received
bc_registries_1                        |  INFO|pool_command_executor         |               src/commands/pool.rs:64  | Open command received
bc_registries_1                        | DEBUG|zmq                           |/home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/zmq-0.8.2/src/lib.rs:410 | context dropped
bc_registries_1                        | ERROR|indy::services::pool          |           src/services/pool/mod.rs:426 | Pool worker thread finished with error CommonError(InvalidState("MerkleTree contains invalid data Syntax("missing field data")"))
bc_registries_1                        |  INFO|indy::commands                |                src/commands/mod.rs:99  | PoolCommand command received
bc_registries_1                        | DEBUG|zmq                           |/home/indy/.cargo/registry/src/github.com-1ecc6299db9ec823/zmq-0.8.2/src/lib.rs:503 | socket dropped
bc_registries_1                        |  INFO|indy::commands::pool          |               src/commands/pool.rs:68  | OpenAck handle 1, pool_id 2, result Err(CommonError(InvalidState("MerkleTree contains invalid data Syntax("missing field data")")))
bc_registries_1                        | ERROR|indy::errors::indy            |                 src/errors/indy.rs:72  | Casting error to ErrorCode: Invalid library state: MerkleTree contains invalid data Syntax("missing field data")
bc_registries_1                        | ERROR|indy::errors::indy            |                 src/errors/indy.rs:74  | Backtrace: stack backtrace:
bc_registries_1                        |    0:     0x7f06071c1cec - backtrace::backtrace::trace::hc0a4868e3bd2cdd4
bc_registries_1                        |    1:     0x7f06071bea22 - backtrace::capture::Backtrace::new::he25e1ff8089ac60f
bc_registries_1                        |    2:     0x7f0606db889a - <indy::errors::indy::IndyError as indy::errors::ToErrorCode>::to_error_code::hd9d063cbf277f48c
bc_registries_1                        |    3:     0x7f0606dfe278 - indy::api::pool::indy_open_pool_ledger::{{closure}}::h7880ff50eecf7671
bc_registries_1                        |    4:     0x7f0606c3e724 - indy::commands::pool::PoolCommandExecutor::execute::hbb366030b2f70f96
bc_registries_1                        |    5:     0x7f0606dc5684 - std::sys_common::backtrace::__rust_begin_short_backtrace::h15a1dedfd882ab72
bc_registries_1                        |    6:     0x7f0606c320c2 - std::panicking::try::do_call::h0b12810d744f34f6
bc_registries_1                        |    7:     0x7f0607454c4e - __rust_maybe_catch_panic
bc_registries_1                        |                         at libpanic_unwind/lib.rs:102
bc_registries_1                        |    8:     0x7f0606dcf939 - <F as alloc::boxed::FnBox>::call_box::h8c0ad5d1fa7772ac
bc_registries_1                        |    9:     0x7f060744bd77 - <alloc::boxed::Box<alloc::boxed::FnBox<A, Output$u3d$R$GT$$u20$$u2b$$u20$$u27$a$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h3a46ab40d44ff8db
bc_registries_1                        |                         at /checkout/src/liballoc/boxed.rs:794
bc_registries_1                        |                          - std::sys_common::thread::start_thread::heca3dbba8ff4f46a
bc_registries_1                        |                         at libstd/sys_common/thread.rs:24
bc_registries_1                        |   10:     0x7f060741ae38 - std::sys::unix::thread::Thread::new::thread_start::ha1ecaaa6d3efa77d
bc_registries_1                        |                         at libstd/sys/unix/thread.rs:90
bc_registries_1                        |   11:     0x7f060f5e56b9 - start_thread
bc_registries_1                        |   12:     0x7f060ec0b41c - clone
bc_registries_1                        |   13:                0x0 -
bc_registries_1                        | WARNING 2018-09-17 13:40:40,363 libindy 78<PHONE_NUMBER>79520 _indy_loop_callback: Function returned error 112
bc_registries_1                        | [2018-09-17 13:40:40 +0000] [78] [ERROR] Exception in worker process
bc_registries_1                        | Traceback (most recent call last):
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/arbiter.py", line 578, in spawn_worker
bc_registries_1                        |     worker.init_process()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/workers/base.py", line 126, in init_process
bc_registries_1                        |     self.load_wsgi()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/workers/base.py", line 135, in load_wsgi
bc_registries_1                        |     self.wsgi = self.app.wsgi()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
bc_registries_1                        |     self.callable = self.load()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
bc_registries_1                        |     return self.load_wsgiapp()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
bc_registries_1                        |     return util.import_app(self.app_uri)
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/gunicorn/util.py", line 352, in import_app
bc_registries_1                        |     import(module)
bc_registries_1                        |   File "/home/indy/wsgi.py", line 16, in
bc_registries_1                        |     application = get_wsgi_application()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
bc_registries_1                        |     django.setup(set_prefix=False)
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/django/init.py", line 24, in setup
bc_registries_1                        |     apps.populate(settings.INSTALLED_APPS)
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/django/apps/registry.py", line 120, in populate
bc_registries_1                        |     app_config.ready()
bc_registries_1                        |   File "/home/indy/von_connector/apps.py", line 134, in ready
bc_registries_1                        |     issuer_service_id = eventloop.do(run())
bc_registries_1                        |   File "/home/indy/von_connector/eventloop.py", line 24, in do
bc_registries_1                        |     return event_loop.run_until_complete(coro)
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/asyncio/base_events.py", line 467, in run_until_complete
bc_registries_1                        |     return future.result()
bc_registries_1                        |   File "/home/indy/von_connector/apps.py", line 76, in run
bc_registries_1                        |     async with Issuer() as agent:
bc_registries_1                        |   File "/home/indy/von_connector/agent.py", line 86, in aenter
bc_registries_1                        |     await self.pool.open()
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/von_agent/nodepool.py", line 153, in open
bc_registries_1                        |     self._handle = await pool.open_pool_ledger(self.name, json.dumps(self.cfg))
bc_registries_1                        |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/indy/pool.py", line 82, in open_pool_ledger
bc_registries_1                        |     open_pool_ledger.cb)
bc_registries_1                        | indy.error.IndyError: ErrorCode.CommonInvalidState
bc_registries_1                        | [2018-09-17 13:40:40 +0000] [78] [INFO] Worker exiting (pid: 78)
bc_registries_1                        | [2018-09-17 13:40:40 +0000] [1] [INFO] Shutting down: Master
bc_registries_1                        | [2018-09-17 13:40:40 +0000] [1] [INFO] Reason: Worker failed to boot.
permitify_bc_registries_1 exited with code 3

Hi @mehmetaydar,
We recently made some significant changes to permitify.
Can you please ensure that you are running the very latest code from the master branch of https://github.com/bcgov/von-network, https://github.com/bcgov/TheOrgBook, and https://github.com/bcgov/permitify?
Once you have the latest code, run ./manage rm on all 3 of the environment to clean their state.
Once you've done this, you should be able to try running the environments again like you did previously.
Let me know if those steps work for you.

FYI - on the permitify instructions - there are two scripts "manage" and "manage.sh".  Use the one "manage.sh" for now - it's the right one.  We'll fix that shortly.

I checkout the latest versions from master branch for TheOrgBook, von-network, and permitify. I am receiving the following error while building permitify:

./manage.sh build
Building containers ...
docker-compose build
ERROR: Invalid interpolation format for "environment" option in service "liquor-control-agent": "${TOB_APP_URL:-}"

any idea?

I checkout the latest versions from master branch for TheOrgBook, von-network, and permitify. I was able to build them. The von-network (http://localhost:9000/ ) and TheOrgBook (http://<IP_ADDRESS>:8080) successfuly loads. However there is a confusion on how to start the permitify. @swcurran mentioned that we should use manage.sh under permitify/docker. I used manage.sh to build permitify. However manage.sh does not have registerDids argument. I am following the quick start guide (https://github.com/bcgov/TheOrgBook/blob/master/docker/README.md#running-a-complete-provisional-von-network ) I think the quick start guide needs to be updated.
I have run the following but I am still not able to run permitify:
From .../TheOrgBook/docker run ./manage registerDids seed=the_org_book_0000000000000000000
From .../permitify/docker run ./manage registerDids seed=issuer_service_00000000000000000
From .../permitify/docker ./manage.sh start seed=issuer_service_00000000000000000 TOB_INDY_SEED=the_org_book_0000000000000000000 ('start all' argument not working)
Now, when I run http://localhost:5000 on the browser I get: "404 Site <IP_ADDRESS>:5000 is not served on this interface." And the logs says:

caddy_1                   | 2018/09/21 13:06:43 [INFO] <IP_ADDRESS> - No such site at :80 (Remote: <IP_ADDRESS>, Referer: )

Any suggestion?

@mehmetaydar - try localhost:5000/demo - That should work.  There is no longer need to specify the seeds, so that's dropped from the script.  Sorry I forgot to mention that in the note earlier. Again - the caddyfile can be updated to address that issue, to that just localhost:5000 works.

@swcurran  localhost:5000/demo does not work. I am still getting

404 Site <IP_ADDRESS>:5000 is not served on this interface
and
caddy_1                   | 2018/09/24 05:38:28 [INFO] <IP_ADDRESS> - No such site at :80 (Remote: <IP_ADDRESS>, Referer: )

Is it possible that you can provide an updated instructions of the "Quick Start Guide?" I might be missing something. thanks.

/demo is still needed to get to the screens. Try that. And yes, I'll get
the getting started guide updated - hopefully today.
On Mon, Sep 24, 2018, 3:47 AM MEHMET AYDAR<EMAIL_ADDRESS>wrote:

@swcurran https://github.com/swcurran localhost:5000/demo does not
work. I am still getting
404 Site <IP_ADDRESS>:5000 is not served on this interface
and
caddy_1 | 2018/09/24 05:38:28 [INFO] <IP_ADDRESS> - No such site at :80
(Remote: <IP_ADDRESS>, Referer: )
Is it possible that you can provide an updated instructions of the "Quick
Start Guide?" I might be missing something. thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bcgov/permitify/issues/105#issuecomment-423936159,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-IwqdOaG1fT_NWeKbrFbiQFmCE_OfPks5ueLg4gaJpZM4Wr9FO
.

I have installed them on a server (Ubuntu based virtual machine, no graphical interface). I am accessing it from my windows machine using Chrome. So I don't use localhost:5000/demo. I use http://server-ip:5000/demo. Could that be a problem? The von-network (http://server-ip:9000) and TheOrgBook (http://server-ip:8080) work and they display a screen. However permitify (http://server-ip:5000/demo) does not work.

I run it on a Ubuntu server as well and that does work for me, so it's
odd.I ssh into the server as well, using port-forwarding and that works.
Also that when you didn't use the /demo part you got a 404 (Not Found) back
from the server.  I'm on my way to work, so will check when I get there.
On Mon, Sep 24, 2018 at 6:58 AM MEHMET AYDAR<EMAIL_ADDRESS>wrote:

I have installed them on a server (Ubuntu based virtual machine, no
graphical interface). I am accessing it from my windows machine using
Chrome. So I don't use localhost:5000/demo. I use
http://server-ip:5000/demo. Could that be a problem? The von-network (
http://server-ip:9000) and TheOrgBook (http://server-ip:8080) work and
they display a screen. However permitify (http://server-ip:5000/demo)
does not work.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bcgov/permitify/issues/105#issuecomment-423984233,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-IwtyTPMT4bJDUILFstUm0XNYJfk-nks5ueOUegaJpZM4Wr9FO
.

@swcurran On the Ubuntu server if I run:  wget http://server-ip:5000 I get  the error: "ERROR 404: Not Found." However, if I run wget http://localhost:5000 it downloads the page fine and the content of the page says that "If you see this page, Caddy container works." wget http://localhost:5000/demo also resolves to another page. So I am starting to think this is either a port forwarding or a proxy issue.

I think you are right. The 404 vs. the Caddy message suggests that you are
hitting two different web servers.  Very strange.  :-).
FYI - just started it all up again from scratch and all good.  I'm
portforwarding 9000, 8080 and 5000 for the session.
On Mon, Sep 24, 2018 at 7:36 AM MEHMET AYDAR<EMAIL_ADDRESS>wrote:

@swcurran https://github.com/swcurran On the Ubuntu server if I run: wget
http://server-ip:5000 I get the error: "ERROR 404: Not Found." However,
if I run wget http://localhost:5000 it downloads the page fine and the
content of the page says that "If you see this page, Caddy container
works." wget http://localhost:5000/demo also resolves to another page. So
I am starting to think this is either a port forwarding or a proxy issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bcgov/permitify/issues/105#issuecomment-423996813,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-IwhPENsdWmtpJQYUGKT-UknNAopeEks5ueO3_gaJpZM4Wr9FO
.

Made it work. I had to explicitly set the APPLICATION_URL and WEB_HOST_NAME to point to DOCKERHOST instead of localhost in permitify/docker/manage file at the end of the configureEnvironment function as below:
 export APPLICATION_URL=${APPLICATION_URL-http://$DOCKERHOST:${WEB_HTTP_PORT:-5000}}
export WEB_HOST_NAME=${DOCKERHOST}
 echo -e "DOCKERHOST: $DOCKERHOST"
echo -e  "COMPOSE_PROJECT_NAME: $COMPOSE_PROJECT_NAME"
echo -e  "LEDGER_URL: $LEDGER_URL"
 echo -e "APPLICATION_URL: $APPLICATION_URL"
echo -e "WEB_HOST_NAME: $WEB_HOST_NAME"
Now the permitify loads.

I am able to get to http://server-ip:5000/bcreg/incorporation. When I enter the information and click on the Submit button, it looks like to be working as I get the following output from the logs:

bcreg-agent_1             | 2018-09-25 07:27:47,209 INFO [vonx.indy.service]: Creating Indy credential offer for issuer bcreg, schema incorporation.permitify
bcreg-agent_1             | 2018-09-25 07:27:47,350 INFO [von_anchor.anchor.base]: _BaseAnchor.get_cred_def: got cred def for 6qnvgJtqwK44D8LFYnV5Yf:3:CL:44:tag from cache
bcreg-agent_1             | 2018-09-25 07:27:48,055 INFO [aiohttp.access]: <IP_ADDRESS> [25/Sep/2018:07:27:47 +0000] "POST /bcreg/incorporation HTTP/1.1" 200 224 "http://<IP_ADDRESS>:5000/bcreg/incorporation" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"

However, in my experience the demo is not self-explanatory. The instructions are not clear about how to proceed from there. We really need an updated quick-start quide for demo purposes.

@swcurran thanks for your inputs. I am able to run the demo, and able to get back to the list of credentials screen. However, I had to set TOB_APP_URL and THE_ORG_BOOK_APP_URL environment variables in permitify/docker/manage file at the end of the configureEnvironment function as below:
export THE_ORG_BOOK_APP_URL=${TOB_APP_URL}
export WEB_HOST_NAME=${DOCKERHOST}
The problem I face now is that solr is not working properly. I get the following error when I try to search the business I just registered via TheOrgBook:

tob-api_1     | Traceback (most recent call last):
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/haystack/backends/solr_backend.py", line 138, in search
tob-api_1     |     raw_results = self.conn.search(query_string, **search_kwargs)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/pysolr.py", line 730, in search
tob-api_1     |     response = self._select(params, handler=search_handler)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/pysolr.py", line 428, in _select
tob-api_1     |     return self._send_request('get', path)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/pysolr.py", line 403, in _send_request
tob-api_1     |     raise SolrError(error_message % (resp.status_code, solr_message))
tob-api_1     | pysolr.SolrError: Solr responded with an error (HTTP 403): [Reason: None]
tob-api_1     |  Corporate Proxy Notification

I believe that is a proxy error. Will try to fix it.

In TheOrgBook/docker/manage file I have set the following:
    ---#export SOLR_SERVICE_NAME="tob-solr"  export SOLR_SERVICE_NAME=${DOCKERHOST}  export SOLR_CORE_NAME=${CORE_NAME} export SOLR_URL=${http://$SOLR_SERVICE_NAME:8983/solr/$SOLR_CORE_NAME}`
Now I am getting the following error while trying to start TheOrgBook:

bc@FRA1000013983:~/blockchain/indy/bcgov/TheOrgBook/docker$ ./manage start tob-api seed=the_org_book_0000000000000000000
Creating tob_tob-solr_1  ... done
Creating tob_wallet-db_1 ... done
Creating tob_tob-db_1    ... done
Creating tob_tob-api_1   ... done
Attaching to tob_tob-api_1
tob-api_1     | waiting for solr ...
tob-api_1     | ---> Running application from Python script (app.py) ...
tob-api_1     | Enabling realtime indexing ...
tob-api_1     | Loading custom settings file: custom_settings_bcgov.py
tob-api_1     | INFO 2018-09-26 13:41:51,913 manager 8<PHONE_NUMBER>99968 Initializing Indy service
tob-api_1     |
tob-api_1     | Migrating database ...
tob-api_1     | Operations to perform:
tob-api_1     |   Apply all migrations: admin, api, api_v2, auth, contenttypes, sessions
tob-api_1     | Running migrations:
tob-api_1     |   No migrations to apply.
tob-api_1     |
tob-api_1     | Search indexing in progress ...
tob-api_1     | INFO 2018-09-26 13:41:52,167 suggest 8<PHONE_NUMBER>99968 Rebuilding Solr suggester...
tob-api_1     | Traceback (most recent call last):
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/requests/models.py", line 375, in prepare_url
tob-api_1     |     scheme, auth, host, port, path, query, fragment = parse_url(url)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/urllib3/util/url.py", line 199, in parse_url
tob-api_1     |     raise LocationParseError(url)
tob-api_1     | urllib3.exceptions.LocationParseError: Failed to parse: None:None
tob-api_1     |
tob-api_1     | During handling of the above exception, another exception occurred:
tob-api_1     |
tob-api_1     | Traceback (most recent call last):
tob-api_1     |   File "app.py", line 32, in
tob-api_1     |     run_migration()
tob-api_1     |   File "/home/indy/tob_anchor/boot.py", line 105, in run_migration
tob-api_1     |     call_command("migrate")
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/django/core/management/init.py", line 131, in call_command
tob-api_1     |     return command.execute(*args, **defaults)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
tob-api_1     |     output = self.handle(*args, **options)
tob-api_1     |   File "/home/indy/api/management/commands/migrate.py", line 22, in handle
tob-api_1     |     self.__update_search_indexes()
tob-api_1     |   File "/home/indy/api/management/commands/migrate.py", line 35, in __update_search_indexes
tob-api_1     |     SuggestManager().rebuild()
tob-api_1     |   File "/home/indy/api_v2/suggest.py", line 56, in rebuild
tob-api_1     |     'suggest.build': 'true',
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/pysolr.py", line 730, in search
tob-api_1     |     response = self._select(params, handler=search_handler)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/pysolr.py", line 428, in _select
tob-api_1     |     return self._send_request('get', path)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/pysolr.py", line 376, in _send_request
tob-api_1     |     timeout=self.timeout, auth=self.auth)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/requests/sessions.py", line 525, in get
tob-api_1     |     return self.request('GET', url, **kwargs)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/requests/sessions.py", line 498, in request
tob-api_1     |     prep = self.prepare_request(req)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/requests/sessions.py", line 441, in prepare_request
tob-api_1     |     hooks=merge_hooks(request.hooks, self.hooks),
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/requests/models.py", line 309, in prepare
tob-api_1     |     self.prepare_url(url, params)
tob-api_1     |   File "/home/indy/.pyenv/versions/3.6.3/lib/python3.6/site-packages/requests/models.py", line 377, in prepare_url
tob-api_1     |     raise InvalidURL(*e.args)
tob-api_1     | requests.exceptions.InvalidURL: Failed to parse: None:None
tob_tob-api_1 exited with code 1

Any suggestion? thanks.

It works now. In my case, I had to set the following:
export SOLR_SERVICE_NAME=${DOCKERHOST}
export SOLR_CORE_NAME=${CORE_NAME}
export SOLR_URL=${SOLR_URL-http://$SOLR_SERVICE_NAME:8983/solr/$SOLR_CORE_NAME}
in TheOrgBook/docker/manage. I also had to set
- NO_PROXY=${SOLR_SERVICE_NAME}
- no_proxy=${SOLR_SERVICE_NAME}
- SOLR_URL=${SOLR_URL}
in TheOrgBook/docker-compose.yml. I am facing a lot of problems during the installation. I think one of the bottlenecks is that I am working behind a corporate proxy.

Awesome.  Sorry I've been offline.  I'm at an identity conference.  We'll
push on this as soon as possible after I'm back.
On Thu, Sep 27, 2018 at 2:36 AM MEHMET AYDAR<EMAIL_ADDRESS>wrote:

It works now. In my case, I had to set the following:
export SOLR_SERVICE_NAME=${DOCKERHOST}
export SOLR_CORE_NAME=${CORE_NAME}
export SOLR_URL=${SOLR_URL-http://
$SOLR_SERVICE_NAME:8983/solr/$SOLR_CORE_NAME}
in TheOrgBook/docker/manage. I also had to set

NO_PROXY=${SOLR_SERVICE_NAME}
no_proxy=${SOLR_SERVICE_NAME}
SOLR_URL=${SOLR_URL}
in TheOrgBook/docker-compose.yml. I am facing a lot of problems during
the installation. I think one of the bottlenecks is that I am working
behind a corporate proxy.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bcgov/permitify/issues/105#issuecomment-424975285,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-IwqDCIcNJgI6amterwFKTkKEHNXJzks5ufHHegaJpZM4Wr9FO
.

Glad you got it working @mehmetaydar
I can't seem to reproduce this issue. I believe it is due to your network conditions.
I will close this issue for now but feel free to open a new one if you run into any issues.


Const folding reduce ops

Sum and Max const folding
#4016

between incorrectly changed the old test, not fully tested the behavior of the implementation, and overly complicated way to implement, don't think i will merge this


Assertion in z_add_timeout() fails in drivers.uart.uart_mix_poll_async_api test

Describe the bug
Execution of the tests/drivers/uart/uart_mix_fifo_poll/drivers.uart.uart_mix_poll_async_api test on the nrf52840dk_nrf52840 board usually ends up with an assertion failure reported for the z_add_timeout function (kernel/timeout.c:99).
While debugging, I figured out that this is caused by a race condition in the execution of the timer expiration handler. When a timer is restarted from a high priority interrupt, it may happen that the timer is re-added to the timeout list right after it is removed from that list prior to execution of its expiration handler but before that execution actually occurs. z_add_timeout(), called from z_timer_expiration_handler() for periodic timers, turns out then to be adding a timeout that is already added to the timeout list and the assertion fails.
This problem is also reported in #53613 but since it is not the only one there, I decided to create a separate issue for it.
To Reproduce
Steps to reproduce the behavior:

Execute west twister -p nrf52840dk_nrf52840 -s tests/drivers/uart/uart_mix_fifo_poll/drivers.uart.uart_mix_poll_async_api --device-testing --device-serial /dev/ttyACM0 --fixture gpio_loopback
See twister-out/nrf52840dk_nrf52840/tests/drivers/uart/uart_mix_fifo_poll/drivers.uart.uart_mix_poll_async_api/handler.log

Logs and console output
*** Booting Zephyr OS build v3.3.0-rc2-59-g36421f2efc8d ***
Running TESTSUITE uart_mix_fifo_poll
===================================================================
START - test_mixed_uart_access
ASSERTION FAIL [!sys_dnode_is_linked(&to->node)] @ WEST_TOPDIR/zephyr/kernel/timeout.c:99
E: r0/a1:  0x00000004  r1/a2:  0x00000063  r2/a3:  0x00000000
E: r3/a4:  0x00000021 r12/ip:  0x00000000 r14/lr:  0x0000aed3
E:  xpsr:  0x41000021
E: Faulting instruction address (r15/pc): 0x0000e22a
E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0
E: Fault during interrupt handling
E: Current thread: 0x200000d8 (unknown)
E: Halting system

Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK 0.15.1
Commit 36421f2efc8d18ba520287804f0cc9df5cf570d8

When a timer is restarted from a high priority interrupt, it may happen that the timer is re-added to the timeout list right after it is removed from that list prior to execution of its expiration handler but before that execution actually occurs.

I'm not sure I understand this?  Can you walk me through the sequence you're seeing?  Presumably you have a higher priority interrupt than the timer that has interrupted execution of a timeout handler?  What is it trying to do?

Oh... it's in k_timer, not the timeout subsystem?  I'll comment in the PR.

Unless I'm misunderstanding, I think this can be closed?  It's absolutely true (as you discovered with k_timer) that clients of the timeout subsystem need to be prepared for the case where the callback is called in a context where the object has already been requeued.  And maybe we should put a warning about that somewhere.   But I think that's mostly an "as-designed" thing, because we really don't want to have to hold a lock across the timeout callbacks for latency reasons.
Most clients can handle this as you did with k_timer, or via other means.  For thread timeouts (the other big user), we're OK as the behavior is idempotent (though it does show up as behavior: threads might wake up due to the race or not depending on how quickly you cancelled the timeout, but that's only because you were racing the wakeup in the first place!).


How are face models stored?

 Is the user location configurable? Would be nice to create a dedicated SELinux context for it perhaps.

They are stored in the models folder as an array of numbers, normally only readable by root. A SELinux context sounds like a good idea


Investigate [] attribute

Should improve C# accessibility, this would solve one of the two issues why a c# access layer is required!
A suggestion by Vladimir Shchur.
For the API compatibility issues, two points1) I'd avoid exposing tuples in API at all, they are less self-descriptive than records2) For optional parameters I'd rather used conditional compilation with [<Optional>] for C#, so C# users will never see FsharpOption<T> type— Vladimir Shchur (@Lanayx) June 5, 2024
Seems to run for Fable.
REPL

I tried it out and it works fine for c# with simple types such as integer and an existing default value.
Next i tried using Discrimate Union as parameter as replacement for f# option:
open Fable.Core

open System.Runtime.InteropServices

type ThatDiscriminatedUnion =
    | A of int
    | B of string

[<AttachMembersAttribute>]
type MyClass =
    static member Foo(req: int, [<Optional; DefaultParameterValue(null)>] opt1: ThatDiscriminatedUnion, [<Optional; DefaultParameterValue(null)>] opt2: ThatDiscriminatedUnion) =
        printfn $"{req} {opt1} {opt2}"
    static member Bar(args: struct(bool*string)[]) =
        for i in args do
            let struct (i1,i2) = i
            printfn $"{i1} {i2}"

module Test =

    MyClass.Foo(16, opt2=ThatDiscriminatedUnion.A) // does not compile
    MyClass.Foo(20)  // does not compile

    MyClass.Bar([| (true,"a"); (false,"b") |])

@Freymaurer as for second issue, I recommended to get rid of tuples in API like here. If you use records, there (like { label: string; value: float }, this can both eliminate compatibility issue and make API more clear.

For reference, this is why we introduced Optional<T> for the native C# layer in Plotly.NET.CSharp
Using that type for optional values in the C# API makes C# API only slightly worse in intellisense (e.g. Optional<string> instead of string`):

But you can remove all attributes from the F# function parameters, making them nice and legible again. This also supports both reference and value types therefore fixing both of your issues i think.
Note that you can just put the normal values in the C# call, no need to explicitly create Optional<T>:

Ok, i did more investigation and i must say, optional types can most likely be replaced by using only [<Optional>], without DefaultParameter.

This is the base setup for Foo. Intellisense for using looks fine, just hovering over the function is not perfectly native for f#, but okay:

C# on the other hand looks really good, as it does not require any more setup and works beautifully (as far as i tested it):

What do you think @kMutagene ?

IIRC the problems start with generics and type constraints. E.g. If you try an arg with seq<#IConvertible> on the F# side and an equal type constraint in the C# wrapper method.

I tried again using [<Optional>] #seq<int> and here C# shows incompatibility, which makes using the api annoying:


Search box shows last quick results after UX "X" button clear

do a search
do anything at all on the site
use the mouse to clear results from search
box opens and hints the previously searched value, instead of being empty

defocusing the box fixes this issue

Reproduced.


Device 9 failed to respond - retry attempt 1 of 5

my SDM is device 9, when starting the webserver i got this every second:
2018/04/04 19:51:15 Device 9 failed to respond - retry attempt 1 of 5
2018/04/04 19:51:15 Device 9 failed to respond - retry attempt 1 of 5
2018/04/04 19:51:16 Device 9 failed to respond - retry attempt 1 of 5
2018/04/04 19:51:16 Device 9 failed to respond - retry attempt 1 of 5
2018/04/04 19:51:17 Device 9 failed to respond - retry attempt 1 of 5
2018/04/04 19:51:18 Device 9 failed to respond - retry attempt 1 of 5
2018/04/04 19:51:18 Device 9 failed to respond - retry attempt 1 of 5

precompiled binary, release 0.5.1
./sdm630_httpd-linux-arm -s /dev/ttyAMA0  -d sdm:9
Any ideas?
regards M.

Looks similar to https://github.com/gonium/gosdm630/issues/18 - is this still a problem?

Closing as inactive.