Running more tests causes coverage to decrease

Describe the bug
I have a rather complicated setup (see #1318) where running a full suite of tests reports many lines in many files as not covered when I know for certain they are in fact executed during the tests. In trying to narrow the scope of the issue, I discovered that running a small set of tests causes the reported coverage in a single, sample, source file to be 80% while running the full set of tests causes the coverage of that file to decrease to 53%.
To Reproduce
Unfortunately, I cannot provide a repro, but I am certainly willing to hack the code at my end to try to progress the issue. To detail the test setup, if I run only the Django code with about 1 minute worth of tests like this:
touch .coveragerc.enabled                                 # Enable coverage using built-in calls to the coverage API.
./manage.py runserver --noreload <IP_ADDRESS>:8000             # Run Django
# In another window...
pytest -slv --durations=0 test/test_suite26_upload.py     # Run tests
pkill -INT -f runserver                                   # Stop Django; dumps results using built-in calls to the coverage API.
coverage combine                                          # Get results
coverage html                                             # etc.

then the coverage reported of generic_upload.py is 80%. But if I run the Django server AND all the Celery-based code, and a full set of tests (circa 80 minutes), the coverage of generic_upload.py drops to 53%.

What version of Python are you using? Python 3.10.6
What version of coverage.py shows the problem? coverage.py v6.4.4
The output of coverage debug sys is helpful.$ coverage debug sys
-- sys -------------------------------------------------------
          coverage_version: 6.4.4
           coverage_module: /usr/local/lib/python3.10/dist-packages/coverage/__init__.py
                    tracer: -none-
                   CTracer: available
      plugins.file_tracers: -none-
       plugins.configurers: -none-
 plugins.context_switchers: -none-
         configs_attempted: .coveragerc
              configs_read: /main/srhaque/bootstrap/source/.coveragerc
               config_file: /main/srhaque/bootstrap/source/.coveragerc
           config_contents: b'# .coveragerc to control coverage.py\n[run]\nbranch = True\nparallel = True\ninclude =\n    api\n    bin\n    paiyroll\n    project\n    test\n    *.py\nomit =\n    /tmp/*\n    /usr/*\n    */pycharm/*\n    */pydev/*\n    paiyroll/migrations/*\nconcurrency =\n    thread\n    multiprocessing\n'
                 data_file: -none-
                    python: 3.10.6 (main, Aug 10 2022, 11:40:04) [GCC 11.3.0]
                  platform: Linux-5.15.0-48-generic-x86_64-with-glibc2.35
            implementation: CPython
                executable: /usr/bin/python3
              def_encoding: utf-8
               fs_encoding: utf-8
                       pid: 3344013
                       cwd: /main/srhaque/bootstrap/source
                      path: /usr/local/bin
                            /usr/lib/python310.zip
                            /usr/lib/python3.10
                            /usr/lib/python3.10/lib-dynload
                            /usr/local/lib/python3.10/dist-packages
                            /usr/lib/python3/dist-packages
               environment: HOME = /main/srhaque
              command_line: /usr/local/bin/coverage debug sys
           sqlite3_version: 2.6.0
    sqlite3_sqlite_version: 3.37.2
        sqlite3_temp_store: 0
   sqlite3_compile_options: ATOMIC_INTRINSICS=1, COMPILER=gcc-11.2.0, DEFAULT_AUTOVACUUM,
                            DEFAULT_CACHE_SIZE=-2000, DEFAULT_FILE_FORMAT=4,
                            DEFAULT_JOURNAL_SIZE_LIMIT=-1, DEFAULT_MMAP_SIZE=0, DEFAULT_PAGE_SIZE=4096,
                            DEFAULT_PCACHE_INITSZ=20, DEFAULT_RECURSIVE_TRIGGERS,
                            DEFAULT_SECTOR_SIZE=4096, DEFAULT_SYNCHRONOUS=2,
                            DEFAULT_WAL_AUTOCHECKPOINT=1000, DEFAULT_WAL_SYNCHRONOUS=2,
                            DEFAULT_WORKER_THREADS=0, ENABLE_COLUMN_METADATA, ENABLE_DBSTAT_VTAB,
                            ENABLE_FTS3, ENABLE_FTS3_PARENTHESIS, ENABLE_FTS3_TOKENIZER, ENABLE_FTS4,
                            ENABLE_FTS5, ENABLE_JSON1, ENABLE_LOAD_EXTENSION, ENABLE_MATH_FUNCTIONS,
                            ENABLE_PREUPDATE_HOOK, ENABLE_RTREE, ENABLE_SESSION, ENABLE_STMTVTAB,
                            ENABLE_UNLOCK_NOTIFY, ENABLE_UPDATE_DELETE_LIMIT, HAVE_ISNAN,
                            LIKE_DOESNT_MATCH_BLOBS, MALLOC_SOFT_LIMIT=1024, MAX_ATTACHED=10,
                            MAX_COLUMN=2000, MAX_COMPOUND_SELECT=500, MAX_DEFAULT_PAGE_SIZE=32768,
                            MAX_EXPR_DEPTH=1000, MAX_FUNCTION_ARG=127, MAX_LENGTH=1000000000,
                            MAX_LIKE_PATTERN_LENGTH=50000, MAX_MMAP_SIZE=0x7fff0000,
                            MAX_PAGE_COUNT=1073741823, MAX_PAGE_SIZE=65536, MAX_SCHEMA_RETRY=25,
                            MAX_SQL_LENGTH=1000000000, MAX_TRIGGER_DEPTH=1000,
                            MAX_VARIABLE_NUMBER=250000, MAX_VDBE_OP=250000000, MAX_WORKER_THREADS=8,
                            MUTEX_PTHREADS, OMIT_LOOKASIDE, SECURE_DELETE, SOUNDEX, SYSTEM_MALLOC,
                            TEMP_STORE=1, THREADSAFE=1, USE_URI

Expected behavior
The coverage should NOT decrease when the full test set is run.
Additional context
The full test set requires the full breadths of the code to run. This includes Django and Celery based code. The Celery-based code is using subprocesses (not the default fork-n-exec). There is all sorts of other stuff going on including: direct invocations of subprocesses, calling out to Java from some of those subprocesses, async calls via carehare to rabbitmq, use of packages such as lxml which contain C-based code, and probably other gnarly stuff.

I'm not sure where to begin debugging this via issue discussion, which is always difficult.

Can you add --debug=config,sys to your coverage run, and show the output?
Can you explain this line? touch .coveragerc.enabled # Enable coverage using built-in calls to the coverage API. What are "built-in calls to the coverage API," and why?
What is .coveragerc.enabled compared to the config file that was read (/main/srhaque/bootstrap/source/.coveragerc)?

I'm not sure where to begin debugging this via issue discussion, which is always difficult.

Understood.

* Can you add `--debug=config,sys` to your coverage run, and show the output?

    $ export COVERAGE_DEBUG=config,sys
    $ ./manage.py runserver --noreload <IP_ADDRESS>:8000
    -- config ----------------------------------------------------
         attempted_config_files: /main/srhaque/bootstrap/source/.coveragerc
                         branch: True
                   command_line: None
                    concurrency: thread
                                 multiprocessing
                    config_file: /main/srhaque/bootstrap/source/.coveragerc
              config_files_read: /main/srhaque/bootstrap/source/.coveragerc
                        context: None
                    cover_pylib: False
                      data_file: .coverage
                          debug: config
                                 sys
               disable_warnings: -none-
                dynamic_context: None
                   exclude_list: #\s*(pragma|PRAGMA)[:\s]?\s*(no|NO)\s*(cover|COVER)
                      extra_css: None
                     fail_under: 0.0
                       html_dir: htmlcov
              html_skip_covered: None
                html_skip_empty: None
                     html_title: Coverage report
                  ignore_errors: False
                    json_output: coverage.json
              json_pretty_print: False
             json_show_contexts: False
                    lcov_output: coverage.lcov
                           note: None
                       parallel: True
            partial_always_list: while (True|1|False|0):
                                 if (True|1|False|0):
                   partial_list: #\s*(pragma|PRAGMA)[:\s]?\s*(no|NO)\s*(branch|BRANCH)
                          paths: OrderedDict()
                 plugin_options: {}
                        plugins: -none-
                      precision: 0
                 relative_files: False
                report_contexts: None
                 report_include: None
                    report_omit: None
                    run_include: api
                                 bin
                                 paiyroll
                                 project
                                 test
                                 *.py
                       run_omit: /tmp/*
                                 /usr/*
                                 */pycharm/*
                                 */pydev/*
                                 paiyroll/migrations/*
                  show_contexts: False
                   show_missing: False
                        sigterm: False
                   skip_covered: False
                     skip_empty: False
                           sort: None
                         source: None
                    source_pkgs: -none-
                          timid: False
                     xml_output: coverage.xml
              xml_package_depth: 99
    -- sys -------------------------------------------------------
               coverage_version: 6.4.4
                coverage_module: /usr/local/lib/python3.10/dist-packages/coverage/__init__.py
                         tracer: CTracer
                        CTracer: available
           plugins.file_tracers: -none-
            plugins.configurers: -none-
      plugins.context_switchers: -none-
              configs_attempted: /main/srhaque/bootstrap/source/.coveragerc
                   configs_read: /main/srhaque/bootstrap/source/.coveragerc
                    config_file: /main/srhaque/bootstrap/source/.coveragerc
                config_contents: b'# .coveragerc to control coverage.py\n[run]\nbranch = True\nparallel = True\ninclude =\n    api\n    bin\n    paiyroll\n    project\n    test\n    *.py\nomit =\n    /tmp/*\n    /usr/*\n    */pycharm/*\n    */pydev/*\n    paiyroll/migrations/*\nconcurrency =\n    thread\n    multiprocessing\n'
                      data_file: /main/srhaque/bootstrap/source/.coverage.freenas.2422515.324701
                         python: 3.10.6 (main, Aug 10 2022, 11:40:04) [GCC 11.3.0]
                       platform: Linux-5.15.0-48-generic-x86_64-with-glibc2.35
                 implementation: CPython
                     executable: /usr/bin/python3
                   def_encoding: utf-8
                    fs_encoding: utf-8
                            pid: 2422515
                            cwd: /main/srhaque/bootstrap/source
                           path: /main/srhaque/bootstrap/source
                                 /main/srhaque/bootstrap/source
                                 /usr/lib/python310.zip
                                 /usr/lib/python3.10
                                 /usr/lib/python3.10/lib-dynload
                                 /usr/local/lib/python3.10/dist-packages
                                 /usr/lib/python3/dist-packages
                    environment: COVERAGE_DEBUG = config,sys
                                 COVERAGE_RCFILE = /main/srhaque/bootstrap/source/.coveragerc
                                 HOME = /main/srhaque
                   command_line: ./manage.py runserver --noreload <IP_ADDRESS>:8000
                 coverage_paths: /usr/local/lib/python3.10/dist-packages/coverage
                   stdlib_paths: /usr/lib/python3.10
              third_party_paths: /usr/local/lib/python3.10/dist-packages
                                 /usr/lib/python
                                 /main/srhaque/.local/lib/python3.10/site-packages
                                 /usr/lib/python3.10/site-packages
                                 /main/srhaque/.local/bin
                                 /usr/local/bin
                                 /usr/bin
                   source_match: -none-
              source_pkgs_match: -none-
                  include_match: /main/srhaque/bootstrap/source/api
                                 /main/srhaque/bootstrap/source/bin
                                 /main/srhaque/bootstrap/source/paiyroll
                                 /main/srhaque/bootstrap/source/project
                                 /main/srhaque/bootstrap/source/test
                                 *.py
                     omit_match: /tmp/*
                                 /usr/*
                                 */pycharm/*
                                 */pydev/*
                                 /main/srhaque/bootstrap/source/paiyroll/migrations/*
                    cover_match: /usr/local/lib/python3.10/dist-packages/coverage
                    pylib_match: /usr/lib/python3.10
                    third_match: /main/srhaque/.local/bin
                                 /main/srhaque/.local/lib/python3.10/site-packages
                                 /usr/bin
                                 /usr/lib/python
                                 /usr/lib/python3.10/site-packages
                                 /usr/local/bin
                                 /usr/local/lib/python3.10/dist-packages
                sqlite3_version: 2.6.0
         sqlite3_sqlite_version: 3.37.2
             sqlite3_temp_store: 0
        sqlite3_compile_options: ATOMIC_INTRINSICS=1, COMPILER=gcc-11.2.0, DEFAULT_AUTOVACUUM,
                                 DEFAULT_CACHE_SIZE=-2000, DEFAULT_FILE_FORMAT=4,
                                 DEFAULT_JOURNAL_SIZE_LIMIT=-1, DEFAULT_MMAP_SIZE=0, DEFAULT_PAGE_SIZE=4096,
                                 DEFAULT_PCACHE_INITSZ=20, DEFAULT_RECURSIVE_TRIGGERS,
                                 DEFAULT_SECTOR_SIZE=4096, DEFAULT_SYNCHRONOUS=2,
                                 DEFAULT_WAL_AUTOCHECKPOINT=1000, DEFAULT_WAL_SYNCHRONOUS=2,
                                 DEFAULT_WORKER_THREADS=0, ENABLE_COLUMN_METADATA, ENABLE_DBSTAT_VTAB,
                                 ENABLE_FTS3, ENABLE_FTS3_PARENTHESIS, ENABLE_FTS3_TOKENIZER, ENABLE_FTS4,
                                 ENABLE_FTS5, ENABLE_JSON1, ENABLE_LOAD_EXTENSION, ENABLE_MATH_FUNCTIONS,
                                 ENABLE_PREUPDATE_HOOK, ENABLE_RTREE, ENABLE_SESSION, ENABLE_STMTVTAB,
                                 ENABLE_UNLOCK_NOTIFY, ENABLE_UPDATE_DELETE_LIMIT, HAVE_ISNAN,
                                 LIKE_DOESNT_MATCH_BLOBS, MALLOC_SOFT_LIMIT=1024, MAX_ATTACHED=10,
                                 MAX_COLUMN=2000, MAX_COMPOUND_SELECT=500, MAX_DEFAULT_PAGE_SIZE=32768,
                                 MAX_EXPR_DEPTH=1000, MAX_FUNCTION_ARG=127, MAX_LENGTH=1000000000,
                                 MAX_LIKE_PATTERN_LENGTH=50000, MAX_MMAP_SIZE=0x7fff0000,
                                 MAX_PAGE_COUNT=1073741823, MAX_PAGE_SIZE=65536, MAX_SCHEMA_RETRY=25,
                                 MAX_SQL_LENGTH=1000000000, MAX_TRIGGER_DEPTH=1000,
                                 MAX_VARIABLE_NUMBER=250000, MAX_VDBE_OP=250000000, MAX_WORKER_THREADS=8,
                                 MUTEX_PTHREADS, OMIT_LOOKASIDE, SECURE_DELETE, SOUNDEX, SYSTEM_MALLOC,
                                 TEMP_STORE=1, THREADSAFE=1, USE_URI
    -- end -------------------------------------------------------

* Can you explain this line? `touch .coveragerc.enabled # Enable coverage using built-in calls to the coverage API.` What are "built-in calls to the coverage API," and why?
* What is `.coveragerc.enabled` compared to the config file that was read (`/main/srhaque/bootstrap/source/.coveragerc`)?

I should have explained. Since Django is a server process and is launched indirectly in several different ways (e.g. via Celery or the local equivalent of systemd), I wanted to be sure that coverage is invoked uniformly in all cases. So, I include calls to the coverage API to start/stop the instrumentation and use the presence of the .coveragerc.enabled as a "boolean" to enable this logic. (There is no actual content in the file).
For the short test, I run Django directly as indicated, but for the "full" test pass, several indirect methods are used.

It occurred to me that since the "missing" coverage data is definitely captured (in at least some cases), the problem might be in the gather of the multiple coverage data files. So, I thought I might try to dump the content of the data files to investigate further, using SQL access.
I am able to dump the file table using something like this:
c.execute("select * from file")
for row in c.fetchall():
    print(row)

However, I'm having trouble "join"ing the file table to the line_bits table. In trying to diagnose this, I backed off to try to dump the line_bits like this:
c.execute("select * from line_bits")
for row in c.fetchall():
    print(row)

But try as I might, this query never returns any rows, even for a coverage file with plenty of data. What am I doing wrong? Is there an example of the SQL needed to dump the join of the file and line_bits tables?

Silly me: I finally worked out that the "line_bits" and "arc" tables are alternatives.

Answering my own question: https://stackoverflow.com/a/37312317/6332554 explains the negative line numbers.

At least part of the problem, at its root, is that Celery workers do not honour atexit() handlers, see https://github.com/celery/celery/discussions/8923.

I finally ran this to ground. It turns out that Django does not reliably honour atexit() handlers. So in this case, in small-scale test runs, Coverage was being collected, but in full-scale test runs, they were not.
FWIW, to track this down:

To my Coverage start logic, I added recording of the process PID and sys.argv.
I added intermittent Coverage dump stats and restart collection, organised by PID-named files.
After the run, I was able to see that some PIDs did not (always) have dumps files. Since I knew what the sys.argv was by PID, I was able to see the failing processes.

Many thanks for the kind support.


Proposal: add engines to package.json

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[ ] I have tried the npm run clear or yarn clear command.
[ ] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io.
[ ] I have read the console error message carefully (if applicable).

Description
Hey all,
Sorry, not a bug but so minor I couldn't call it a feature.
Upgrading to beta 21 introduced a minimum node.js version of 16. This broke my build which was using 14. I was able to resolve this by adding:
  "engines": {
    "node": ">=16"
  }

To my package.json which I wrote about here:
https://blog.johnnyreilly.com/2022/05/28/azure-static-web-apps-node-16-oryx
And you can see the PR here: https://github.com/johnnyreilly/blog.johnnyreilly.com/pull/228
Would it be good to add this engines property to the create templates? This would fix the issue for folk using Oryx based builds and would give an explicit steer as to what node version Docusaurus requires to build.
https://github.com/facebook/docusaurus/blob/main/packages/create-docusaurus/templates/classic/package.json
Reproducible demo
No response
Steps to reproduce
Run a build with node 14 installed
Expected behavior
See description
Actual behavior
See description
Your environment

Public source code:
Public site URL:
Docusaurus version used:
Environment name and version (e.g. Chrome 89, Node.js 16.4): node 14
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

[X] I'd be willing to fix this bug myself.

I'm open to adding this. This is the last time we bump our Node version before the official release, so we shouldn't worry about users having outdated engines field in their package.json anymore.


Added new section in the cookbook note: launching dendron on a separate Code instance

This is great. Thanks!


Building wheels with a - produces wheels with _.

I think #4159 might have changed wheel building for projects with a - in the project name (from the project's pyproject.toml). Now the wheel filename for a project like scipy-openblas64 will become scipy_openblas64-0.3.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl. When using twine to upload to PyPI the name is converted back to scipy-openblas64, but the anaconda uploader will respect the _ and try to upload to scipy_openblas64. See https://github.com/scientific-python/upload-nightly-action/issues/61
Originally posted by @mattip in https://github.com/pypa/setuptools/issues/4159#issuecomment-1928850518

The wheel name scipy_openblas64 is correct according to the spec:

Each component of the filename is escaped by replacing runs of non-alphanumeric characters with an underscore _

That expectation matches with the fact that the wheels have underscores in the names of releases going back to September.

@mattip Can you possibly distill the scipy-openblas64 build instructions into something I can replicate or even better provide a minimal reproducer (ideally something that doesn't rely on a compiler)? I'm struggling to see when/how the naming is no longer meeting expectations.
Could it be that the problem is that the uploader is assuming that the name in the wheel is correct when it in fact is not, and it should instead be extracted from the wheel metadata (where the dash is present)?

Could it be that the problem is that the uploader is assuming that the name in the wheel is correct when it in fact is not, and it should instead be extracted from the wheel metadata (where the dash is present)?

That makes sense. The wheel created has the _ in the filename and - in the metadata. Renaming the wheel file before invoking the uploader makes the upload succeed. So the problem lies with the uploader https://github.com/Anaconda-Platform/anaconda-client/issues

Feel free to close this, sorry for the noise.

I opened https://github.com/Anaconda-Platform/anaconda-client/issues/704


Something between Compact and Full?

Hey,
Is there a way to download daily data of 2-3 years.
I am downloading data for around 270 Healthcare stock in python and I want it for atleast 3 years.
outputsize='full', takes a lot of time, even compact mode took 20 mins
Is there any other way to do it

Hey @techietrader
Sadly not, that's just what the people from the alpha vantage API offer. Maybe you can contact them and ask if they would like to implement that differently. If they do I would change the library to reflect the change.
Best Regards,
Romel

😥😣
Okay. Will contact them
On Sun, Oct 8, 2017 at 4:50 PM, Romel Torres<EMAIL_ADDRESS>wrote:

Hey @techietrader https://github.com/techietrader
Sadly not, that's just what the people from the alpha vantage API offer.
Maybe you can contact them and ask if they would like to implement that
differently. If they do I would change the library to reflect the change.
Best Regards,
Romel
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RomelTorres/alpha_vantage/issues/19#issuecomment-334999785,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcLhhzYhn0lFZXGtASnbc2DfL0PS5-SXks5sqLAYgaJpZM4Pxhr3
.


Data Import: If user does not have Customize Application permission, they should be able to see  configuration options

Note that they are able to successfully process records, provided they have proper other access to objects.

**lurch: add

Tracking W-020694

W-7781142

Please follow this Known Issue in the Trailblazer Community for updates.


License?

Hi @shuai132 , thank you for sharing your RPC Core library, it is very helpful.
Can you please clarify what license it is released under? I do not see a LICENSE file or anything similar, but maybe I have missed it somewhere.
--David

MIT License already added.

Thank you very much, @shuai132 !


remove legacy code

Related issue: #157

133 files changed 😆 CI is passing, so I guess +1?

Code instrumentation helped to know which code is never imported/used :sparkles:


Svg icon update management

This change allow icon dom update when  symbol binding value changes.
It may be conditionnaly computed, but I don't know at the moment how to define an option to a directive that the update methode would take in account.

Hi,
Thanks for pointing this out. 👍
I've fixed this issue in the latest version (v1.2.2).
I also added some test suite and CI for code coverage for the future…
Again, thanks for your contribution!


Need OWNERS for shortcodes

Given the lack of individual OWNERS for shortcodes, it has been unclear which can be updated right at the outset of a new release, and which can not.
Platform and WG leads should be the OWNERs of the shortcodes, so they can tell us when these can be updated and approve such change, not requiring root approvers for it.
See issue
cc @Bobgy @8bitmp3

For Azure there is a separate folder with our short codes. Please add an OWNER file there and add myself @berndverst and @aronchick to it as approvers.

For Azure there is a separate folder with our short codes. Please add an OWNER file there and add myself @berndverst and @aronchick to it as approvers.

@RFMVasconcelos ping me if you need assistance and if you've created a PR already, let's link this Issue in it https://github.com/kubeflow/website/issues/2436


[ENH] arithmetic combination (addition, multiplication, etc) of sequences

Fixes https://github.com/VascoSch92/sequentium/issues/21, implements a class Arith which allows to create symbolic arithmetic combinations of sequences. Evaluation methods carry out the eager computation.
Also implements dunders __add__, __mul__ in the base class.
Does not implement __len__, or other sub-class specific methods for now - my intuition would be to make some of the subclasses property tags instead (using scikit-base, see https://github.com/VascoSch92/sequentium/issues/45).
I'm also a bit puzzled about the test framework, so I did not add any tests, but I reckon the class has to be added to a config somewhere. Advice appreciated.

Related: https://github.com/sktime/sktime/blob/main/sktime/dists_kernels/algebra.py - in case you are interested, there are some work items around symbolic combinations of distances.

One question might be how you would like to handle the numpy dependency, I realize it is currently not a dep of the package.
Should that not be a dependency, given that your scope seems to involve sequence calculations as well, rather than just pre-defined sequences?

One question might be how you would like to handle the numpy dependency, I realize it is currently not a dep of the package.
Should that not be a dependency, given that your scope seems to involve sequence calculations as well, rather than just pre-defined sequences?

For instance, I was just giving a set of finite sequence already coded that the final users could use. But it was an idea to create a method which the final user can use to create its own sequence. Something like, instantiate_sequence(type="explicit", formula="...") and it returns a Sequence object as wished.
I didn't want to use external libraries for this project, but Numpy seems really interesting to solve the problem of arithmetic operation between sequences.
I will probably add it

Hey @fkiraly
thank you very much for your time. It is really appreciated.
We have some thing to discuss about, but it seems really interesting how it is going ;-)

but Numpy seems really interesting to solve the problem of arithmetic operation between sequences.

The two dependencies I'd find plausible for this project are numpy and, possibly, scipy. Of course, dependency minimization is a good goal to have in mind, so I think it's worth thinking about whether we really need numpy. The case for it, above onboard min, max, etc is whether one would expect users handle larger sequences, or whether users would prefer numpy output above lists or generators.

but Numpy seems really interesting to solve the problem of arithmetic operation between sequences.

The two dependencies I'd find plausible for this project are numpy and, possibly, scipy. Of course, dependency minimization is a good goal to have in mind, so I think it's worth thinking about whether we really need numpy. The case for it, above onboard min, max, etc is whether one would expect users handle larger sequences, or whether users would prefer numpy output above lists or generators.

Yes exact. I think it is possible to rewrite your class using the math operation of the math module of Python. As you mentioned, for a small sets of sequences we should not see a difference but for big ones yes

ok!
Could you list the changes you'd like me to make? We've discussed a lot but should align on the end state of this PR.

?

ok!
Could you list the changes you'd like me to make? We've discussed a lot but should align on the end state of this PR.

Yes, sorry. With work I don't have so much time. I will take the time to list the changes this weekend for sure

no worries, take your time. Just wanted to make sure this didn't get buried in an inbox or similar.

Summary:

for instance, the package support just integer sequence. To support other type of sequences we will need some structural work. But this is a project for the future :-)
for the moment we don't use numpy and the operation supported are just *, and + (in this way we are sure we are not going out from the integer world)
finite sequences are the ones of finite length. Therefore, your code should be correct.
I saw now that you are targeting main. Could you close the PR and open one that target staging? the development is made on staging and when we have enough changes I open a PR to main and when the PR is closed the package is automatically released. I don't like this way of working. It was just an idea but it is not working as expected and create just confusion (as in this case). After your PR is closed I'm planning to make possible to develop and release directly from main. Sorry for th inconvenience
about the tests: you can merge in staging without tests. I will take care of adding tests for your code ;-). Same for the linting and the formatting, I should explain better how to lint and to format the code before opening a PR and add a pre-commit-hook (this is also planned).
update the changelog ;-)

In general, I'm not happy about the CI/CD of the package. Until I work alone it is working fine, but just because I know perfectly how it is made. After your changed are released (in version 0.1.0 probably) I will take time to improve the whole system. Also planning to add a clear documentation.
Finally, thank you very much for the contribution, the effort and, overall, the ideas that this PR created :-)

Addressed changes:

for the moment we don't use numpy and the operation supported are just *, and +

I removed numpy and operations that leave the integers. However, I've added other interesting associative operations that stay in the integers - gcd, lcm.

finite sequences are the ones of finite length.

Ok, also added a length dunder.

Could you close the PR and open one that target staging?

No need to close for that. You can change the target with "edit" (top of GitHub GUI)

the development is made on staging and when we have enough changes I open a PR to main and when the PR is closed the package is automatically released. I don't like this way of working.

My preference is merge to main, and manual release trigger. GitHub allows creating releases manually, and GHA allows to set these as release action trigger, see sktime.

about the tests: you can merge in staging without tests.

I think that isn't good practice - should the tests not run still even if in staging? It is good that they run on the PR as well, to check whether anything gets broken.

update the changelog ;-)

Sure - you know you can also have tihs auto-generated from the commits?
If you (a) squash PRs, and (b) in settings, ensure the commit name defaults to PR title, and commit text to PR first post, the GitHub release interface creates a very readable changelog for you.

After your changes are released (in version 0.1.0 probably) I will take time to improve the whole system. Also planning to add a clear documentation.

I would recommend to open an issue to discuss end stage of CI and testing framework?
I would suggest sth like "collect all sequences and run the same set of interface tests on all of them".


[Bug Report] el-table component, data gives dynamic data, and then selects one of them to become fully elected.

Element UI version
2.4.6
OS/Browsers version
Google Chrome/69.0.3497.92
Vue version
2.5.2
Reproduction Link
https://jsfiddle.net/t35a1wox/
Steps to reproduce
选中其中某一项，就变为全选了

What is Expected?
只选中我选中的那一项
What is actually happening?
全选了

https://jsfiddle.net/t35a1wox/8/
// arr.push(this.test))
arr.push(Object.assign({}, this.test))


Tweak pseudo-builder in user guide

Minor fiddling - example format, headers, wording tweaks.
Doc-only change - this is minor enough it doesn't even seem worth mentioning in RELEASE.
Signed-off-by: Mats Wichmann<EMAIL_ADDRESS>Contributor Checklist:

[ ] I have created a new test or updated the unit tests to cover the new/changed functionality.
[ ] I have updated CHANGES.txt (and read the README.rst)
[X] I have updated the appropriate documentation

Weird. I can't get this to rebuild
Running Sphinx v4.5.0
loading translations [en]... done

Extension error:
Could not import extension rst2pdf.pdfbuilder (exception: dlopen(/Users/bdbaddog/.virtualenvs/scons37/lib/python3.7/site-packages/PIL/_imaging.cpython-37m-darwin.so, 0x0002): Library not loaded: '/opt/local/lib/libtiff.5.dylib'
  Referenced from: '/Users/bdbaddog/.virtualenvs/scons37/lib/python3.7/site-packages/PIL/_imaging.cpython-37m-darwin.so'
  Reason: tried: '/opt/local/lib/libtiff.5.dylib' (no such file), '/usr/local/lib/libtiff.5.dylib' (no such file), '/usr/lib/libtiff.5.dylib' (no such file))
make: *** [pdf] Error 2
scons: *** [build/doc/api/scons-api.pdf] Error 2
scons: building terminated because of errors.

Heh: snarky comment: don't use a five-year-old Python :)    Sphinx comes with problems, but shouldn't be triggerable by a bit of xml in the user guide (which, in fact, should have built by the time you hit that problem, whatever it is)

So I admit this is nitpicking, but the markup for builder is as follows:
<!ENTITY Builder "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>Builder</classname>">

It's not a class... really.  Builder() itself is a factory function and appears as an environment method, but we were talking about builder-the-concept rather than Builder-the-OOP-thing.  And for the OOP thing I can use &f-link-Builder;. Is there a better way to mark this up? The same is true of Scanner, of course.
Docbook doesn't really have markup for concepts, except as terms in a definition list (<term> can't be used standalone).

IMHO, while it's not perfect, the current formatting indicates to the reader that it's not just builder the verb which is being discussed, but builder as it relates to SCons, which I think is sufficient, since we don't have two distinct terms to differentiate (at least not two terms which wouldn't be painful to use again and again)

Okay, proposal.  My complaint about markup actually applies to many things in scons.mod, but I'm not going there.
How about <glossterm>term</glossterm> for concepts (I'll only change Builder and Scanner at this time if so)?  These are things that we might actually have definitions of in a Glossary someday, if only we were producing a glossary, and at that point they would turn up as links to the glossary entry; for now it just renders in italics (rather than "code").

I like that. Will the formatting of the produced text be different from the entity we have now?

I like that. Will the formatting of the produced text be different from the entity we have now?

yes. Italics now.

Wrong button, sorry


fltrdr: init at 0.1.0

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg eval

Why gcc8 as buildInputs? Should this use a gcc8Stdenv or ...?

And probably want to bump to 0.1.1: https://github.com/octobanana/fltrdr/releases/tag/0.1.1

So I fixed what you said, but then recognized that result was empty somehow - with this phases it works, but I'm pretty sure that this is not what it is supposed to look like... suggestions welcome! :smile:

https://github.com/dtzWill/nixpkgs/blob/1a32862ba887ebf31f6a95d812d923b9e36f1942/pkgs/tools/misc/fltrdr/default.nix <--- what I ended up with, seems to work for me! :)
In pkgs/top-level/all-packages.nix, the callPackages for fltrdr (since it needs to have something supporting C++17) should specify stdenv = gcc8Stdenv;.
This includes the version bump, FWIW, hope it helps!

latest patch takes the changes from @dtzWill .
Please note that I'm moving this weekend and cannot continue this PR until next week... I'm still interested in this package and will continue packaging and maintaining of course, but I might be offline for a few days.

@GrahamcOfBorg build fltrdr

Don't suppose github's UI will handle the fixup!s and autosquash things? :innocent:

Don't suppose github's UI will handle the fixup!s and autosquash things? :innocent:

I wish I knew. I've been meaning to try it out in a private repo at some point. But iirc there's a button for squash and merge that should squash all the things regardless of fixup's.
And since there's only one commit, the latter one should work.

FWIW: Fixups made it into commit message, but I was given opportunity to edit (left them this once, since minor and seems worth the experimental value of seeing and showing the default behavior).
Anyway thanks for the package! \o/


TER above 100?

Dear all,
I am getting TER scores above 100 for some MT-Ref pairs. Shouldn't the scores be given between 0 and 100? Is any new update included in the sacreblue that modifies the range? Any idea on that?
Examples:

Panna   Crema per latticini  300.0
3,4-dimetossibenzaldeide        Benzaldeide, 3,4-dimetossi-     200.0
Beta-metil-naftilchetone        Metil beta-naftil chetone   300.0
BSA-minore di-1,71-PET-BASSA    BSA-Inferiore A 1,71-PET-LOW    150.0
Dove:   In cui:  200.0

What dataset is this?

Chemical patent data – not publicly available! Does this matter?

Well, the best way to diagnose this is if I can run your exact command.
Can you share the invocation you're using, and maybe some sample data? How many references are you using?

@JoyeBright you would need to show a reproducible example that demonstrates how to get a TER score above 100.  Here is some advice: https://stackoverflow.com/help/minimal-reproducible-example
Either include code here or perhaps a link to a Colab. Make sure to mention the exact version of SacreBLEU or include a pip install command.

@mjpost, @bricksdont Below is the link to the Colab; you can see three examples that achieved TER above 100! https://colab.research.google.com/drive/13K16f9znwH_xYhVg9RoT0I0UiJADUuTA?usp=sharing
Any idea? Thank you!

Thank you @JoyeBright,
This is a score scaling issue. If you install an earlier version the resulting scores are the same, except a 100 times smaller. Example:
from sacrebleu import TER
from argparse import Namespace

args = Namespace(
        normalized=False, no_punct=False,
        asian_support=False, case_sensitive=False)

ter = TER(args)

sentences_2 = "Inoltre, a meno che altrimenti indicato, i disegni non sono in scala."
ref_2 = "Tabella 16:"

# newest version
print(ter.sentence_score(sentences_1, [ref_1]).score)
600.0

# sacrebleu==1.5.0
print(ter.sentence_score(sentences_1, [ref_1]).score)
6.0

as a quick workaround you can just divide scores by 100. But still this is an issue that should be fixed.

Dear @bricksdont, thanks for spotting the problem!

Dear @bricksdont, thanks for spotting the problem!

@JoyeBright maybe leave this issue open, I think it needs to be addressed

I am reopening this issue as it seems quite serious problem if all TER scores are reported 100 times higher then they should be.

It looks like this was added then for the 2.0 release: https://github.com/mjpost/sacrebleu/blob/master/sacrebleu/metrics/ter.py#L129
I can revert that and do a 2.3.2 release.


When calculating geometry bounds take into account parameters that affect geometry bounds

No, only using stroke width is not enough.

You can test this PR using the following package version. 11.0.999-cibuild0038625-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

shouldn't this close some issues probably?
https://github.com/AvaloniaUI/Avalonia/issues/10873
https://github.com/AvaloniaUI/Avalonia/issues/2302


gpu_hist integer overflows and OOM issues

This issue tracks gpu_hist bugs relating to large workloads, uncovered in recent experiments on the mortgage dataset.

Thrust copy_if has an integer overflow when n_rows*n_cols > 2^31. #6201 implements a workaround by iterating over batches.

Memory usage has possibly increased since version 1.0-1.1, leading to OOM on 32gb devices even with the above fix. We should do some analysis of peak memory usage over versions on a large synthetic workload, checking for regressions.

DaskDeviceQuantileDMatrix has integer overflow bugs related to thrust::inclusive_scan, occurring when dask chunk sizes exceed 2^31.

To prevent this occurring in future we can try unit tests on large sizes, checking for overflow or memory issues. These tests need to be carefully designed to not be flaky (e.g. only run on a machine with sufficient memory) and to run quickly (<1-2 seconds).

@RAMitchell Can we close this now?

Sorry, just to confirm, does the 2^31-1 limitation also occur in DeviceQuantileDMatrix or only in DaskDeviceQuantileDMatrix?

Both.  For Dask version, the limitation is for each partition.

It's fixed in latest master, the fix should go in next release.


[SPARK-9261] [streaming] Avoid calling APIs that expose shaded classes.

Doing this may cause weird errors when tests are run on maven, depending
on the flags used. Instead, expose the needed functionality through methods
that do not expose shaded classes.

/cc @tdas

Merged build triggered.

Merged build started.

Test build #38113 has started for   PR 7601 at commit 4f64a16.

Test build #38113 has finished for   PR 7601 at commit 4f64a16.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class CreateArray(children: Seq[Expression]) extends Expression
case class CreateStruct(children: Seq[Expression]) extends Expression
case class CreateNamedStruct(children: Seq[Expression]) extends Expression

Merged build finished. Test FAILed.

Jenkins retest this please.

Merged build triggered.

Merged build started.

Test build #69 has started for   PR 7601 at commit 4f64a16.

Merged build triggered.

Merged build started.

Test build #38147 has started for   PR 7601 at commit 4f64a16.

cc @zsxwing you have a better idea of this code.

Test build #38147 has finished for   PR 7601 at commit 4f64a16.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test build #69 timed out     for PR 7601 at commit 4f64a16     after a configured wait of 175m.

Merged build finished. Test FAILed.

retest this please.

LGTM

Merged build triggered.

Merged build started.

Test build #83 has started for   PR 7601 at commit 4f64a16.

Merged build triggered.

Merged build started.

Test build #83 has finished for   PR 7601 at commit 4f64a16.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test build #38245 has started for   PR 7601 at commit 4f64a16.

Test build #38245 has finished for   PR 7601 at commit 4f64a16.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Lots of test flakiness lately.

retest this please

Merged build triggered.

Merged build started.

Test build #84 has started for   PR 7601 at commit 4f64a16.

Merged build triggered.

Merged build started.

Test build #38278 has started for   PR 7601 at commit 4f64a16.

Test build #38278 has finished for   PR 7601 at commit 4f64a16.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test build #84 has finished for   PR 7601 at commit 4f64a16.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merged to master.


AttributeError: 'Series' object has no attribute 'sort'

Hi Nick,
When i upload this text file, i get "AttributeError: 'Series' object has no attribute 'sort'".
Can you pls tell me what am i missing here!!?
HeatMap.txt
Thanks in advance.

Hi Nick,
I using latest version of Clustergrammer-PY only, still i get the same error.
Also i m using Python 3.6.5 version, do i need to downgrade to Python 2,7. Will that work?
Thanks in advance.

Hi,
That might be the problem (see stackoverflow link). I've only used up to Python 3.5 and I'm using Pandas 0.19.2. You can try downgrading to a previous version of Pandas to fix the issue. I'll update Clustergrammer-PY to take care of this soon.
Best,
Nick

I tested clustering your file on Python 3.6.6 and Pandas 0.22.0 (see requirements.txt) and it ran without error.
I also made a mybinder example notebook that you can try out here: mybinder notebook. And the corresponding small github repo can be found here.
Please let us know if you have any other questions.


Flag for showing hidden field in summary

Description
Sometimes we need to show a computed value/label for a field in the summary page instead of its data model value. The computed field can be implemented as a hidden field, but then it will not show in the summary page.
It should be possible to set a flag in the layout file so that a hidden field is shown in the summary page. This should work also for groups so it needs to be set in the page layout.
Something like this:
      {
        "id": "someComputedFieldWhichMayBePartOfAGroup",
        "type": "Input",
        "textResourceBindings": {
          "title": "Title"
        },
        "dataModelBindings": {
          "simpleBinding": "ComputedField"
        },
        "hidden": true,
        "showInSummary": true
      }

Additional Information
No response

It should be noted that the use-case here revolves around a custom component that uses options. Since custom components have a simple generic summary renderer that just shows the data model value, that isn't useful for the user. The solution here has been to refer to a hidden field (using the same options) when rendering the summary, but that does not work when the summary component hides itself when the source field is hidden.
I think the solution might be to put this property on the Summary component instead, such as a "renderEvenWhenSourceIsHidden": true (exaggerated property name, please think of a better one! 😬)

@olemartinorg Will that work when the field in question is part of a group? The Summary layout we use currently looks like this:
      {
        "id": "productsInvolved-group",
        "type": "Group",
        "textResourceBindings": {
          "title": "productsInvolvedHeader"
        },
        "children": [
          "productsInvolvedGroup-summary"
        ]
      },
      {
        "id": "productsInvolvedGroup-summary",
        "type": "Summary",
        "componentRef": "productsInvolvedGroup",
        "pageRef": "09ProductsInvolved"
      },

where productsInvolvedGroup contains the field in question.

Since the group could contain several hidden fields and we may not always want to show all hidden fields, I suggested to put this flag on the "main layout" rather than the summary layout.

You're showing the summary and source components inside the same group? 🤔 Yup, that's an important note. I would have preferred it to keep the properties relevant to the summary on the summary compoenent, but you're right that it would only make sense when the summary points to a single component (not a group). A more global property for all components might be in order, then.

Needs further specifications and acceptance criterias before we can implement a solution.


Questions about using fmodel' weights as model's weight

Thanks for the awesome work of higher!
I am trying to implement this paper. The goal here is to jointly learn a set of hyperparameters as well as a base_model such that base_model trained on the given hyperparameters can perform well on the validation set.
A snippet code looks like this:
import higher

base_model = Model()
ft_model = FTModel()  # a network to predict hyperparameters
base_opt = torch.optim.SGD(base_model.parameters(), lr=...)
ft_opt = torch.optim.SGD(ft_model.parameters(), lr=...)

for x_train, y_train, x_test, y_test in loader:
    with higher.innerloop_ctx(base_model, base_opt) as (fmodel, diffopt):
        hyper = ft_model(x_train)  # predict hyperparameters

        # update base_model given the hyperparameters
        train_loss = fmodel(x_train, y_train, hyper)
        diffopt.step(train_loss)

        test_loss = fmodel(x_test, y_test)
    # use test_loss to update ft_model
    test_loss.backward()
    ft_opt.step()

My questions are:

Is it possible to directly assign fmodel's weight to base_model? This is the update rule for base_model in the paper.
Does diffopt.step(train_loss) also computes gradients w.r.t. hyper? We want the gradient of hyper to only come from test_loss's gradient w.r.t. base_model's initial weights.

After looking at the source code, I found diffopt.step(train_loss) only computes gradients w.r.t. parameters at diffopt, so it won't compute gradients w.r.t. hyper.
I am still not clear how to do fast weight assignment. Appreciate for any hints.

Is it possible to directly assign fmodel's weight to base_model? This is the update rule for base_model in the paper.

Have you tried simply using state_dict/load_state_dict methods? See the pattern in this comment of #10 for reference.
Let me know how you get on and if this works in your case (or doesn't), please.

Does diffopt.step(train_loss) also computes gradients w.r.t. hyper? We want the gradient of hyper to only come from test_loss's gradient w.r.t. base_model's initial weights.

It shouldn't. diffopt branches from base_opt which only has a view on base_model.parameters(). When you call test_loss = fmodel(x_test, y_test) you compute the meta-loss as a function of the (implicit) updated weights of fmodel, but also creates an implicit backward graph spanning back to the original weights (with hyper as a node). Therefore, when you call test_loss.backward(), hyper receives gradient, which is then applied in ft_opt.step().

After looking at the source code, I found diffopt.step(train_loss) only computes gradients w.r.t. parameters at diffopt, so it won't compute gradients w.r.t. hyper.

That's right.

I am still not clear how to do fast weight assignment. Appreciate for any hints.

See first point in this reply.
In the meantime, I'm closing this issue, but please re-open if you are still having trouble with the weight setting (or better yet, open a new issue with a minimal repro, stack trace, and any other comments).


[falco/falco-exporter] Add Drop All Capabilities by Default

Motivation
Currently it seems that the security context in falco-exporter is commented it out.
securityContext:
  {}
  # capabilities:
  #   drop:
  #   - ALL
  # readOnlyRootFilesystem: true
  # runAsNonRoot: true
  # runAsUser: 1000

I would like to see them be used by default especially the drop all capabilities if possible or be given an explanation of why they are currently disabled.

Feature

The solution would be to have drop all capabilities be used in the security context as it would improve the security posture of clusters that are using it.
Alternatives

The alternative is for users that use this extension would be to specify it in their deployment of the chart.
Additional context

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

/help

@leogr:
This request has been marked as needing help from a contributor.
Please ensure the request meets the requirements listed here.
If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/help

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Cannot send over vps web server

Hi @yingshaoxo
I am running general_client.py and Tim_asyncio_main.py using my VPS ip but the sending of the message fails. I am using port 80 which my host confirmed is open. It connects but does not send the message. Is there anything i am doing wrong?
Edit: I am running general_client.py on the web server using CGI. I also tried using cron jobs.

Do you run the asyncio_server.py first?

@yingshaoxo the asyncio_server.py does not seem to take the VPS ip, it gives the following error: \n ```
Traceback (most recent call last):
File "C:\Python34\lib\asyncio\base_events.py", line 905, in create_server
sock.bind(sa)
OSError: [WinError 10049] The requested address is not valid in its context
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Jeffrey/PycharmProjects/untitled3/kivy-chat-master/kivy-chat-master/server.py", line 43, in
server = loop.run_until_complete(coro)
File "C:\Python34\lib\asyncio\base_events.py", line 337, in run_until_complete
return future.result()
File "C:\Python34\lib\asyncio\futures.py", line 274, in result
raise self._exception
File "C:\Python34\lib\asyncio\tasks.py", line 239, in _step
result = coro.send(None)
File "C:\Python34\lib\asyncio\base_events.py", line 909, in create_server
% (sa, err.strerror.lower()))
OSError: [Errno 10049] error while attempting to bind on address ('41.185...', 80): the requested address is not valid in its context

Yes. Anyway, I runs well on my ubuntu server.
You could change the ip address manully by change asyncio_server.py(42 line).
And I recommend you use 5920 as port rather than 80 actually.

Just saw your edited message, when i run it in the VPS it connects but does not send. Just to be clear. I first run the asyncio_server.py in my cron jobs, then the general_client.py followed by Tim_asyncio_main.py right?
I have linux server, i will ask my host to open 5920

To be honest, I did set the default client port to 5920. So it won't work unless you change the server port to 5920.
And I think you misunderstood what I did. Actually Tim_asyncio_main.py and all name contains 'main.py' just are clients.
And the genetal_client.py just another client without UI.

Thanks for the clarity. I have tried port 5920 but still have no success. How are you running your script on your VPS? Maybe that is what i am doing wrong by using cron jobs

Start it manually : nohup python3 asyncio_server.py
Can we talk on Telegram? @EasyProgrammingLanguage

Ok, i'm heading out now, will let you know if it works once i'm back. Don't have a telegram account but will make one. Thanks

How do we connect on Telegram, I am afraid it is not popular this side of the world in South Africa, I downloaded it but it only uses cellphone numbers so cannot add @easyprogramminglanguage
Do you have Skype or an email?

Send msg to yourself, and click the blue text.
On Aug 2, 2017 2:50 AM, "jlong"<EMAIL_ADDRESS>wrote:

How do we connect on Telegram, I am afraid it is not popular this side of
the world in South Africa, I downloaded it but it only uses cellphone
numbers so cannot add @easyprogramminglanguage
Do you have Skype or an email?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/yingshaoxo/kivy-chat/issues/1#issuecomment-319462306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQZPrfuFrSSuFJ-vLHAwn2ceyZH5_XMkks5sT3NogaJpZM4OmUyb
.

It's too long since this issue was opened.


Drop impl for Transaction has silent side effects

In number #58  we eliminated all but one path toward executing the Drop::drop impl of Transaction
While working on that PR i was thinking about whether there really should be side effects in a Drop impl at all (for example rolling back)
Was a conscious decision made when Drop was implemented at first?
I actually don't know what the idiomatic way is in Rust here, but it seems like it could be a silent source of bugs or unintended behavior, for example if the transaction handle was already invalidated by some other means (maybe even not implemented yet- every new mut self method will have to be on guard for such behavior)
Alternative ideas-

Panic to loudly let the user know they forgot to deal with it?

Maybe TransactionData should actually be managed by Connection and not Transaction? I wonder if there could be a trick here using lifetimes (~say if TransactionData is borrowed by Transaction~ I think it would be the other way around. If TransactionData<'a> held a &mut 'a Transaction then it would mean we had to drop TransactionData before the Transaction)
Maybe Transaction as it is, isn't the right abstraction to leverage Rust safety. Maybe it should really be TransactionBuilder<InconsistentState> (needs commit/rollback) and TransactionBuilder<ConsistentState> (no pending writes) and you can only pass the ConsistentState one to a Connection to execute. These could potentially be implemented as Futures` (but we just run them in a single thread because of Firebird limitations). I'm not sure if that would mean having to use a bunch of complicated async/await machinery or not.

relates to #56
Thoughts?

I don't like this idea, as it is really easy to not destroy the transaction this way

* `set_drop_behavior`  like rusqlite, but where the user is forced to make an initial choice in `Transaction::new()` ? that way they can't manually construct a Transaction without being made aware of the behavior.

This one seems ok to me

* Maybe `TransactionData` should actually be managed by `Connection` and not `Transaction`? I wonder if there could be a trick here using lifetimes (~say if `TransactionData` is borrowed by `Transaction`~ I think it would be the other way around. If `TransactionData<'a>` held a `&mut 'a Transaction` then it would mean we had to drop `TransactionData` _before_ the `Transaction`)

I though of creating a "default transaction" that is managed by the connection and is reused for the lifetime of it, but did not find a good way to implement this yet

* Maybe `Transaction` as it is, isn't the right abstraction to leverage Rust safety. Maybe it should really be `TransactionBuilder<InconsistentState>` (needs commit/rollback) and `TransactionBuilder<ConsistentState>` (no pending writes) and you can only pass the `ConsistentState` one to a `Connection` to execute. These could potentially be implemented as `Future`s` (but we just run them in a single thread because of Firebird limitations). I'm not sure if that would mean having to use a bunch of complicated async/await machinery or not.

I did not really understand this one, why would TransactionBuilder<InconsistentState> not be able to execute statements? It is not that rare to use a transaction to make more than one inserts / updates and have them all rolled back in case any of them fails


Widevine changes in Chrome 59

With the changes to the widevine changes in Chrome 59, how will this affect shaka player? Do we need to always set a server certificate, and if not, what are the uses where it is required?
https://www.widevine.com/product_news.html

You will never be required to set a certificate.  If you do not set one, the Widevine CDM will provision one automatically.  Setting one explicitly is an optimization to save you the extra round trip and the extra server traffic.

Thanks for the clarification!


Add ability to upload videos only when test fails

Currently, all videos are uploaded to S3 storage. If the suite contains 1k+ tests, you won't likely be interested in all the tests but the ones who fail.
This feature would enable us to be more efficient with our S3 storage overall.
I think that maybe we can achieve it by communicating the test status from the container to the video container to make the choice to upload it or not.

@facusantillo This is not possible, because Moon is just an API to start browsers. Moon even does not know that you are running tests. Our recommended approach is running all tests without video recording and then rerun failed test cases with video recording enabled. Otherwise every parallel browser session with video recording consumes +1 CPU and +1 GB RAM and this is too expensive.


[Event Request] Report 4 Detail Trial Balance - OnPreReportGetEntryNoFilter

Hi Team,
In Report 4 we need possibility to have our additional checks . Having event in the trigger OnPreReport, would be a perfect solution :

[IntegrationEvent(false, false)]
local procedure OnPreReportGetEntryNoFilter("G/L Account": Record "G/L Account")

Hi @MantasGurinas . The question is the same, what is the GLEntryNoFilter variable?

Hi @RomanZanizdra , i made adjustments, GLEntryNoFilter is removed.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Dependency with numeric GitHub owner produces invalid JavaScript variable name

Example: https://ellie-app.com/48NmnW2HchVa1
When a dependency has a GitHub owner that starts with a number, e.g. 1602/json-value:
"dependencies": {
        "direct": {
            "1602/json-value": "3.0.1",
…

Then the produced JavaScript variable that is based on that GitHub owner name starts with a number too, which is not valid for JavaScript.
…

var 1602$json_value$Json$Value$BoolValue = function (a) {
	return {$: 'BoolValue', a: a};
};

…

Related: #1763

Using the development version of the compiler, the names are now getting generated in a format that'll work for user names that start with numbers: $1602$json_value$Json$Value$BoolValue. So when I compile your SSCCE, it shows up and runs.
So the fix should become available with the upcoming 0.19.1 release of Elm.


Show network in transaction confirmation dialog

Story
As a trader
I want to clearly see what network I am on when sending transactions
So that I don't send transactions to the wrong network
Acceptance Criteria

[ ] I can see what network the tx is being sent to when prompted to confirm my transaction

E.g.


After face verification,Claim page,Splash screen,Signup Welcome screen

Description
After face verification - Set 1/Face_Verification_Smiley (2)
Claim page - Set 1/Jumping_People (2)
Splash screen - Set 1/Logo (2)
Signup Welcome screen - Set 1/People_Flying (2)
About #1237
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist:

[ ] PR title matches follow: (Feature|Bug|Chore) Task Name
[ ] My code follows the style guidelines of this project
[ ] I have followed all the instructions described in the initial task (check Definitions of Done)
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have added reference to a related issue in the repository
[ ] I have added a detailed description of the changes proposed in the pull request. I am as descriptive as possible, assisting reviewers as much as possible.
[ ] I have added screenshots related to my pull request ( for frontend tasks)
[ ] I have pasted a gif showing the feature.
[ ] @mentions of the person or team responsible for reviewing proposed changes

@StanislavShevchenko please add video/animated gifs
all these svg files that's the original animation files?
logo animation should spin until ready then finish
@LiavGut we'll probably need the start/end for the logo spin

@StanislavShevchenko
FV - OK
Claim - The visual should be lower, as per design:

Splash screen -  The user should see on first-time use (and in every time coming back to the app) the full logo animation. Only when the splash screen is during an on-going session then it will be shortened only to the last part of the animation.
Flying people - OK

@StanislavShevchenko please make changes which asked @LiavGut

@LiavGut @AlexeyKosinski

done Splash screen
done Claim

@StanislavShevchenko

The visual (jumping people) should be seen from the beginning (and why are the shadows of the people are shown before??)
the text on the claim button is not aligned to the center.

@StanislavShevchenko

The visual (jumping people) should be seen from the beginning (and why are the shadows of the people are shown before??)
the text on the claim button is not aligned to the center.

this is a web. animation has 100+ images. they load slowly. that's why we see delay
claim button does not regard this issue. there are a lot of UI issues in react-native branch now

@StanislavShevchenko

The visual (jumping people) should be seen from the beginning (and why are the shadows of the people are shown before??)
the text on the claim button is not aligned to the center.
@LiavGut

this is a web. animation has 100+ images. they load slowly. that's why we see delay
claim button does not regard this issue. there are a lot of UI issues in react-native branch now

Even if it's web, there isn't a reason why only the shadow appears before all of the other images


Exercise 80: Correctly solved exercise produces incorrect output on latest Zig version

Compiled with zig version 0.10.0-dev.3672+cd5a9ba1f gives this output:
----------- Expected this output -----------
[Circle(i32): 25,70,15] [Circle(f32): 25.2,71.0,15.7]
----------- but found -----------
[080_anonymous_structs.Circle(i32): 25,70,15] [080_anonymous_structs.Circle(f32): 25.2,71.0,15.7]

That seems the same failure in printing the type like #128

Seems like it would be valuable to learn how to use it, but the design for typeName specifically may have to update what it's expected to look like, and if there's a way to get just the name without the containing path then that would be preferable for some of these exercises' designs.

@ScottFreeCode Agreed. Obviously, the string could be manipulated, but that feels fragile and I hate to add the distracting extra complexity if it can be helped.

I wonder what the reason for this new function is. Because with types like u32 it works as expected. Only not with struct. I'm trying to find a hint in the developer group, unfortunately unsuccessful so far. :neutral_face:

Ah, docu was updatet:
old
@typeName
This function returns the string representation of a type, as an array. It is equivalent to a string literal of the type name.

new
@typeName
This function returns the string representation of a type, as an array. It is equivalent to a string literal of the type name.
The returned type name is fully qualified with the parent namespace included as part of the type name with a series of dots.

That means  filename is the parent name space.

One suggestion for this problem could be:
    if (T == Narcissus) {
        print("That's right, T = Narcissus\n", .{});
    } else {
        print("No, this type isn't correct\n", .{});
    }

It's just not as elegant anymore. :no_mouth:

If the API is that dots separate the namespace, it feels fairly safe to me to take the last name after the dots when that's what's wanted. They could change the format, but… well they already did, so it's not like it was "safe" without string logic. :)
I guess the more philosophical question is, what is the intended use of typeName. If it's for metaprogramming then I'd want to learn the way it's "supposed" to be used. If it's purely informative, maybe exercises should frame it as such and avoid it for programmatic checking of things (except, of course, checking exercises that are merely about informative output), even if that's a little more awkward.
I might be either stating the obvious or overthinking the whole thing, of course.

 (Just like: https://github.com/ratfactor/ziglings/issues/120)
// Perhaps you remember the "narcissistic fix" for the type name
// in Ex. 065? We're going to do the same thing here: use a hard-
// coded slice to return the type name. That's just so our output
// look prettier. Indulge your vanity. Programmers are beautiful.
fn stripFname(mytype: []const u8) []const u8 {
    return mytype[22..];
}
// The above would be an instant red flag in a "real" program.


Update installation options for Runtime Instances

Description
Updated the image and the text to reflect the latest iteration of Konnect's UI for installation options. Added ARM and Intel options for macOS as well, and separated by Standard & Advanced setup options based on Konnect's UI.
I believe these changes to the Konnect UI took place a week ago, shortly after the last update I made, so just keeping this in-line with the latest updates. :-)
Checklist

[x] Review label added
[x] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

I wonder - do we need the screenshot here anymore? I don't know that it's adding value now. Honestly, it might just cause more confusion, since this is the expanded menu and not the default view you get.

Please don't merge this yet. This isn't live on prod for external users, only for konghq.com accounts.

@lena-larionova , good catch - thank you! This is first milestone of redesign that won't launch until Sept.

@d19dotca I'm pulling this one into our Konnect Rename branch, as this change is planned to go live at the same time as the rename. Did a bit of housekeeping on the PR to make that happen.


Add Visual TDD to Hack & Tell 51

Thanks for this great meetup and place!

:+1: Thanks for your talk and the PR!


u'search_phase_execution_exception', u"Can't get text on a START_ARRAY

hi ,
I have set a rule part of as below,it's will alert when id is 1.5.3 and user is bobo or user is guestBobo ,
but when run the rule ,got the error
     u'search_phase_execution_exception', u"Can't get text on a START_ARRAY

it's looks like the array for wildcard , can't use array for wildcard ?
filter:
 - and:
   - term:
        id: "1.5.3"
   - query:
       wildcard:
          user: ["*bo*","*guest*"]

filter:
- term:
     id: "1.5.3"
- or:
    - query:
         wildcard:
           user: "*bo*"
    - query:
         wildcard:
           user: "*guest*"

hi Qmando,
thanks for you reply ,
but you filter will be alert when id is 1.5.3 and user is admin ,
for example 1.
I want to alert when id is 1.5.3 and user is bobo
for example ,
id is 1.5.3 and user is guest will be alert,
for example,
id is 1.5.3 and user is abc won't alert


TOC section headings in the documentation should provide a link to that section

The recent improvements to the Elvish web pages reminded me of a missing feature I fervently wish were implemented. To wit: Each section heading that appears in the TOC (table of contents) should provide a way to copy the relative link to that section heading. For example, hovering over the section heading for the definition of exceptions should provide a way to see/copy the URL to that section. This would make it significantly easier to figure out the appropriate link to use in documentation I'm writing.
Hopefully this is something that is easy to implement because the Pandoc tool used to generate the Elvish documentation already provides a mechanism for that behavior.

Hopefully this is something that is easy to implement because the Pandoc tool used to generate the Elvish documentation already provides a mechanism for that behavior.

I can't find that in Pandoc's documentation, do you mind pointing out what that mechanism is?

Sorry, that was meant as a statement of hope -- not that I know Pandoc can do it. I skimmed the Pandoc dos and didn't see an obvious knob to generate such links. It may be necessary to manually add CSS and Javascript. I tried googling what I thought were likely terms but didn't find an answer but that likely just reflects my relative lack of advanced HTML/CSS knowledge.

I see. Since pandoc's own website has those anchor links I did some digging and this is how it is done: https://github.com/jgm/pandoc-website/pull/50

The licensing of the entire pandoc-website is unclear though. Pandoc is covered by GPLv2, so it's better to assume that the website code is also GPLv2. It's safer for me to reimplement this.

LGTM. Much thanks for implementing this.


Only exit early in case of larger size image if of same image type

If original image is less wide than the target width, but there's a file type conversion, the result may still be smaller than the original (e.g. jpg -> webp). This PR just modifies the size check to only apply if there's no file type change.

Thanks for the PR. Had to modify some more to prevent scaling images up when fileTypeConversion picks small images.

Thanks for merging. Is this going to be deployed on npm soon?

nevermind, I see it


Can't open Context Menu in control position - Accidental breaking change in 11.0.7

Hi!
I updated today from version 11.0.6 to 11.0.7 (a patch release), but it seems like a breaking change was introduced while fixing issue #12504 in this PR
ContextMenu.Open() now shows the context menu near the pointer instead of the bottom of the control, which breaks accessibility keybindings which show a context menu via the keyboard (e.g. simulating clicking the ⋮ button)
It seems like there is now no public API to opening a context menu in the bottom of the control programmatically.
What is the solution for users migrating from 11.0.6 to 11.0.7?

You still should be able to set ContextMenu.Placement property before showing.
Also, general recommendation is migration to ContextFlyout control instead.

Alright, thank you!


STARsolo Died with Signals.SIGSEGV: 11

Hello,
I was attempting to align samples with the latest version of STARsolo (V. master through the Dockstore), and my run errored out with the attached log file, which contained an error message "died with <Signals.SIGSEGV: 11>." Would you be able to help me resolve this? Quick googling indicated potential issues with differences between compilers/packages, but if this is something you've seen that is caused by input files, please let me know and I'd be happy to tweak my run.
Many thanks!
Sincerely,
Constantine Tzouanas
3142d24d-fe16-48d0-ad92-f7ce2d4ca769_starsolo_workflow_ee6529f3-ad10-4d29-b765-bd557bb11dd5_call-starsolo_count_shard-1_starsolo_count_cdad5584-91bc-481f-98c9-807b5436f24f_call-run_starsolo_run_starsolo.txt

Hi @ctzouanas ,
Please check out my response email sent to you just now to see if the issue could be fixed under my suggestions.
And in addition, FYI, we've updated our STARsolo workflow (in "master" version) by adding STAR's log file ("Log.out") into its output section, so that you can know more than just "<Signals.SIGSEGV: 11>" (namely the C++ segmentation fault) error which is lack of information.
Sincerely,
Yiming


Install headers & plugInfo.json ?

Hi,
We're patching the CMakeLists.txt files to install headers and plugInfo.json alongside with the libs. I don't think everyone needs this but it would be nice to have a cmake option to install these files if required.
@marktucker  what do you think?
Alex

The COPY_HOUDINI_USD_PLUGINS option causes the usd_plugins diretory from $HFS/houdini/dso to be copied to the installation directory. Is this what you're looking for? Or perhaps this has just faded to obscurity in the past two years...


FOCUS 1.0r2 export not being processed.

I set up a new export and didn't watch closely at the FOCUS version only to realize there is a new default "1.0r2" that cannot be processed by the FinOps toolkit.

So for those setting up a new export, be sure to stick with the 1.0 release for now.

See #1112
Refer to option 3 in the additional context section for a simple workaround you can use today.


remaking couch user whenever config changes

@kaapstorm @emord @benrudolph
couch stores admin users by appending their name and password hash to the config file. every time we update the couch config the users gets deleted. this ensures that we remake the user each time we change the config.

@javierwilson

Time to relax!


Generate certs for horizon in qa scenarios

+1 change seems good

:+1: (assuming that it creates self-signed certificates and does not need any other magic or integration)

@jdsn The magic was implemented here by dirk: https://github.com/crowbar/crowbar-openstack/pull/157.

+1


[FRONTEND] Fix binary compare op on constexprs

Example:
if static_a == 0 and static_b == 1:
    ...

The return value of static_a == 0 should be constexpr(True) but not True, otherwise the bool object (True/False) doesn't have the logical_and method.

Internal tests also passed


feat: Include white and black in color

Is there any alternative to select black and white color in the color picker? Or if possible, can you implement a solution that allows you to change the picker image to include these colors?
This is one of the few libraries that has worked for me with react native
Thanks, regards

This is a good feature request. Let me think how to achieve this function.

This is a good feature request. Let me think how to achieve this function.

1

The main problem of this feature request is about UI design.
I don't have any good idea now.
If you could provide a UI suggestion, it will be very helpful for me.


Deadlock when stopping daemon while syncing

When a syncing daemon with block creator module is stopped using the SIGINT signal (ctrl+c) while its syncing, it enters a deadlock.

Also occurs without the blockcreator module

goroutine 1 lock 0xc4201e0d58
~/go/src/github.com/rivine/rivine/sync/threadgroup.go:127 sync.(*ThreadGroup).Stop { tg.bmu.Lock() } <<<<<
~/go/src/github.com/rivine/rivine/modules/consensus/consensusset.go:253 consensus.(*ConsensusSet).Close { return cs.tg.Stop() }
~/go/src/github.com/rivine/rivine/rivined/daemon.go:211 rivined.startDaemon.func3 { err := cs.Close() }
~/go/src/github.com/rivine/rivine/rivined/daemon.go:318 rivined.startDaemon { return nil }
~/go/src/github.com/rivine/rivine/rivined/commands.go:40 rivined.startDaemonCmd { err := startDaemon(globalConfig) }
~/go/src/github.com/rivine/rivine/vendor/github.com/spf13/cobra/command.go:575 cobra.(*Command).execute { c.Run(c, argWoFlags) }
~/go/src/github.com/rivine/rivine/vendor/github.com/spf13/cobra/command.go:661 cobra.(*Command).ExecuteC { err = cmd.execute(flags) }
~/go/src/github.com/rivine/rivine/vendor/github.com/spf13/cobra/command.go:620 cobra.(*Command).Execute { _, err := c.ExecuteC() }
~/go/src/github.com/rivine/rivine/rivined/commands.go:149 rivined.SetupDefaultDaemon { if err := root.Execute(); err != nil { }
~/go/src/github.com/rivine/rivine/cmd/rivined/main.go:10 main.main { rivined.SetupDefaultDaemon(cfg) }
/usr/lib/go/src/runtime/proc.go:198 runtime.main { fn() }

goroutine 127 lock 0xc4201e0d58
~/go/src/github.com/rivine/rivine/sync/threadgroup.go:55 sync.(*ThreadGroup).Add { tg.bmu.Lock() } <<<<<
~/go/src/github.com/rivine/rivine/modules/consensus/consensusset.go:296 consensus.(*ConsensusSet).Height { err := cs.tg.Add() }
~/go/src/github.com/rivine/rivine/modules/consensus/block_validation.go:66 consensus.checkTarget { stakemodifier := cs.CalculateStakeModifier(cs.Height() + 1) }
~/go/src/github.com/rivine/rivine/modules/consensus/block_validation.go:114 consensus.stdBlockValidator.ValidateBlock { if !checkTarget(b, target, valueofblockstakeoutput, bv.cs) { }
<autogenerated>:1 consensus.(*stdBlockValidator).ValidateBlock ???
~/go/src/github.com/rivine/rivine/modules/consensus/accept.go:62 consensus.(*ConsensusSet).validateHeaderAndBlock { return cs.blockValidator.ValidateBlock(b, minTimestamp, parent.ChildTarget, parent.Height+1) }
~/go/src/github.com/rivine/rivine/modules/consensus/accept.go:211 consensus.(*ConsensusSet).managedAcceptBlock.func1 { err := cs.validateHeaderAndBlock(boltTxWrapper{tx}, b) }
~/go/src/github.com/rivine/rivine/vendor/github.com/coreos/bbolt/db.go:626 bbolt.(*DB).View { err = fn(t) }
~/go/src/github.com/rivine/rivine/modules/consensus/accept.go:203 consensus.(*ConsensusSet).managedAcceptBlock { err := cs.db.View(func(tx *bolt.Tx) error { }
~/go/src/github.com/rivine/rivine/modules/consensus/synchronize.go:220 consensus.(*ConsensusSet).managedReceiveBlocks { acceptErr := cs.managedAcceptBlock(block) }
~/go/src/github.com/rivine/rivine/modules/consensus/synchronize.go:246 consensus.(*ConsensusSet).threadedReceiveBlocks { return cs.managedReceiveBlocks(conn) }
~/go/src/github.com/rivine/rivine/modules/consensus/consensusset.go:181 consensus.threadedReceiveBlocks)-fm { gateway.RegisterConnectCall("SendBlocks", cs.threadedReceiveBlocks) }
~/go/src/github.com/rivine/rivine/modules/gateway/rpc.go:57 gateway.(*Gateway).managedRPC { return fn(conn) }
~/go/src/github.com/rivine/rivine/modules/gateway/peers.go:455 gateway.(*Gateway).managedConnect.func1 { err := g.managedRPC(addr, name, fn) }

Problem here is that while we are syncing, every block is validated, which locks the thread group. But the thread group is already locked because it is stopping.

I've reviewed some of the code, and there are things that I don't like in the ThreadGroup code, or

Why using a channel as a flag to stop the ThreadGroup ? As I see from the code, is a channel that is used once, so his work can be rightly done by a boolean, this will add persistent to the stopped state, which currently there are none

isStopped function, stops to work, after the 1st call as we are using a channel, the channel is consumed after we call isStopped(), any subsequent calls to it will return false

func (tg *ThreadGroup) isStopped() bool {
	tg.once.Do(tg.init)
	select {
	case <-tg.stopChan:
		tg.stopChan <- struct{} // Re-entry of the stopChannel, this makes isStopped persistent
                                                    // Only works if stopChan is operated from inside ThreadGroup
		return true
	default:
		return false
	}
}

There are another thing I just don't really understand about stopChan, as its read from other modules, and if the mission is to stop ThreadGroup, as soon as "peer.go:110"  reads it , then it will not stop ThreadGroup from working, as the channel will be consumed and isStopped will return false.

Problem here is that while we are syncing, every block is validated, which locks the thread group. But the thread group is already locked because it is stopping.
Not sure this is what causes the issue, as the lock (no matter who asked for it first) should prevent the other code from executing.

I see that the stopGroup channel is used outside ThreadGroup, "gateway/peers.go:110" that means that the channel data is consumed, and subsequent calls to "isStopped" are going to return false, until the channel is closed, from that moment it will return true. Not sure if this is the intended behaviour

I see that the stopGroup channel is used outside ThreadGroup, "gateway/peers.go:110" that means that the channel data is consumed, and subsequent calls to "isStopped" are going to return false, until the channel is closed, from that moment it will return true. Not sure if this is the intended behaviour

Channel data can't be consumed since nothing is ever written on it. These methods will continue to return true after the Tg is stopped. I suggest reviewing the go docs for the behavior of (closed) channels , and selects with blocking functions to get a better idea about what is happening

Fairly sure the entire thread group implementation is pretty flawed as it is. Not sure if we want to keep it. But if we do, I don't think it makes sense to protect the Add function (together with some others) behind a mutex, while Done is not protected at all, as that could lead to a negative-counter panic due to a delayed Add.
Then again, the proposed solution of @lafont-e in PR #107 is not the right threadgroup-keep approach either.

I think the goal and motivation behind Threadgroup is sufficient enough that we probably do want to keep it, but its implementation raises question marks imno.

disregarding the discussion of whether the design and / or implementation of the threadgroup is up to standard, it just feels wrong to change the synchronization structure because 1 thing is giving syncing issues even if the other work fine. Just my opinion.
P.S.: as seen in the PR, changing the logic in the threadgroup can easily open up new bugs in the form of race conditions, so care should be taken if we do move in that direction

You are right, if we'll make a drastic change to that sync code, we'll have to be very carefully and sure for sure, especially as our testing is still of very poor quality. So it's going to be very hard to avoid bugs. But perhaps that's unavoidable given the current state. Even so, we're still prior to production, so if there is any time to do so, it is definitely now, rather than in a couple of months.

I've added some code to threadgroup.go so I can know when a lock is asked, when it's released, who asked for it and what threadgroup is processing it
The test is done on an unsynced rivined so as soon as the connections are made, the daemon starts to ask for blocks so he can reach the full blockchain
Once the daemon is up and syncinc then I send the SIGINT signal to the process and the daemon starts to shutdown
Caught stop signal, quitting...
Closing block creator...
			Stop: (0xc420302778) caller modules/blockcreator/blockcreator.go#137	...locked...
				Stop mu1: (0xc420302778) caller modules/blockcreator/blockcreator.go#137	...locked mu1...

			Stop: (0xc4203061c0) caller modules/wallet/wallet.go#148	...locked...

			Add: (0xc4202b61d0) caller modules/consensus/subscribe.go#175	...locked...Unlocked
Closing consensus set...
			Stop: (0xc4202b61d0) caller modules/consensus/consensusset.go#253	...locked...
				Stop mu1: (0xc4202b61d0) caller modules/consensus/consensusset.go#253	...locked mu1......unlocked mu1
			Add: (0xc4202b61d0) caller modules/consensus/consensusset.go#296
			Add: (0xc4202860e8) caller modules/gateway/peers.go#118	...locked...Unlocked
			Add: (0xc4202860e8) caller modules/gateway/peers.go#118	...locked...Unlocked
			Add: (0xc4202860e8) caller modules/gateway/rpc.go#188	...locked...Unlocked

From the last lines we can see that consensusset.go#253 aquires a lock, it advances until the mu lock is released, and the next  instruction in the code is "tg.wg.Wait()" the next line consensusset.go#296, tries to adquire the bmu lock again in the Add method but is already locked by the previous call to Stop.
The program does not stop as module/gateway is already working and consensus is locked.
The solution is to refactor Stop, so this race condition does not appear, or advance the isStopped check, or change the closing order so gateway is stopped (this will generate a panic, but at least will stop) , or any other option I don't know enough the code to be able to make a proposition.
From my understanding of the code (rather limited) advancing the check is the safe one to do. Or refactor ThreadGroup and risk adding other bugs, dead locks, etc ....

If this channel is not sending/receiving tokens, then as I see it we are using the channel just to do the work of a boolean.
Maybe there can be other reasons to use a channel, but I'm not aware of which ones could they be

A bool would require a lock, whereas an unbuffered channel with select statements doesn't. There is some info about this in the official go doc (about channels in general as well as select statements and their behavior with (un)buffered channels), I suggest reading up on that

After fixing this, #384 was introduced, though I will track it in a separate issue since I don't really see how this can be related


Updated call method in base layer

Added a description about enabling eager mode for debugging purpose.
Fixes https://github.com/tensorflow/tensorflow/issues/36757

Please send this to keras-team/keras, which is the source of truth now.


Fix missing apt packages

Execute apt-get update before packages are going to be installed.
Fixes #7

Thanks, I think we can merge this now.


Add Gradle instructions

Coverage remained the same at 92.0% when pulling 3e75a793ed12cd5cca2858cb59adc51ff324893f on Kisty:patch-3 into 26e08ea83e38d09c0114c5773d8aef33cd017aba on cbismuth:master.

Thank you @Kisty :+1:


Ability to run in profile / release mode

Hi! Thank you for the package!
I would like to run the test suite via Patrol in profile / release mode on a connected physical device,
Is there currently a way to do this via the CLI?

Hi @borjandev!
Currently there's no such possibility, but if you feel like hacking a bit, you can edit these lines in the FlutterDriver class to add the options you need. After making the changed, you need to recompile patrol_cli with dart pub global activate --source path .. Let me know how it went!
This is definitely a useful feature and should be cheap to do. Thanks for creating the issue!

@borjandev I'm curios, what's your use case of running integration tests in profile or release mode?

@bartekpacia It’s mainly for benchmarking performance, as well as identifying regressions across different flutter channels like master / stable
https://docs.flutter.dev/cookbook/testing/integration/profiling
In the official example above they run the test in profile mode to get a rather accurate benchmark
flutter drive \
  --driver=test_driver/perf_driver.dart \
  --target=integration_test/scrolling_test.dart \
  --profile

Release mode would be even better, as before actually releasing the app, running all of the integration tests on real target devices would increase confidence dramatically on the performance that can be expected, especially with the new Impeller rendering backend which only runs on real devices as of this moment as far as I am aware


No Smooth Scrolling via Touchpad

VSCode Version:1.20.0
OS Version:Windows 1709

Steps to Reproduce:
1.Scroll via TouchPad

Does this issue occur when all extensions are disabled?: Yes

/duplicate https://github.com/Microsoft/vscode/issues/13612


disable-ksm and enable-tsx are provoking unnecessary reboots

See also https://github.com/linux-system-roles/sap-hana-preconfigure/pull/214.

Closing after copying over to https://github.com/sap-linuxlab/community.sap_install/issues/20


Adding error to protocol result if not 200 status code

Adding the error message to the protocol result so it can be retrieved when there are non 200 status codes.
Signed-off-by: Daniel Grist<EMAIL_ADDRESS>

@n3wscott could you take a look at this one?


Max Profit Algorithm Implementation

Added JavaScript function to calculate maximum possible profit from buying and selling stocks once.
Hacktoberfest! 🎊🎈
🎉 Have you read the Contributing Guidelines? 🤔
Yes
📝 Description
This pull request adds a JavaScript function maxProfit that calculates the maximum possible profit from buying and selling stocks once. The function iterates through an array of stock prices to find the optimal buying and selling points.
✅ Checklist

[x] I've read the contribution guidelines. 📚
[x] I've checked the issue list before deciding what to submit. 🔍
[x] I've edited the README.md and linked to my code. 📄

Hi there!
I am the Mentor of this project .
Although this repo is not part of Hacktoberfest 2024, we have some great alternatives for you. Welcome to SkillShow, a repository focused on skill enhancement!
Guidelines:
Please adhere to the existing guidelines.
No additional rules, thanks!
Check it out here: SkillShow.
Note: Start by creating an issue. Once it’s assigned to you, feel free to open a pull request (PR). Directly opening a PR will lead to an invalid label.
Looking forward to your contributions!


fix #2209

Decided to fix this with JS as it made the more sense to me. New graphical display is as follows:

Note how the "Add All" button, actually adds one by one so user can keep track of how many have been added and how many it has added.

Codecov Report

Merging #2329 into dev will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##             dev   #2329   +/-   ##
=====================================
  Coverage   93.8%   93.8%
=====================================
  Files        163     163
  Lines      18582   18582
=====================================
  Hits       17431   17431
  Misses      1151    1151

Continue to review full report at Codecov.

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

Cool that makes sense 👍
On Tue, Oct 10, 2017 at 9:10 PM Antonio Gonzalez<EMAIL_ADDRESS>wrote:

@antgonza commented on this pull request.
In qiita_pet/static/js/qiita.js
https://github.com/biocore/qiita/pull/2329#discussion_r143891307:

 }

});

// creating rows
$.each(processing_method, function (pm, data_types) {
$.each(data_types, function (dt, parameters) {

 $.each(parameters, function (params, artifacts) {

   proc_data_table += '<tr>';

That's correct but just to be clear, it's gonna group by processing method
(cr, deblur, etc), data type (16S, 18S, etc) and parameters (cr against gg,
silva, etc)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/biocore/qiita/pull/2329#discussion_r143891307, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH6JANU11gJVaS9y39RHkXxO4mgQd1huks5srBWNgaJpZM4P0nv0
.


Chained including not supported

If top.cpp includes "a.hpp", and "a.hpp" include another "b.hpp" from another folder, it seems that b.hpp will not be found even if we set that path to it in "--include [b.hpp's path]".

Hello @RipperJ. Thank you for reporting the issue. Unfortunately, I couldn't reproduce the problem. I've added a new unit test for your scenario and I've found a minor bug which I've fixed. Could you please verify if files located in test/data/headerIncludeHeaderInSubdirectory (https://github.com/FastAlien/cpp-merge/tree/master/test/data/headerIncludeHeaderInSubdirectory) are matching your scenario? Changes have been merged into the master branch.

Same problem here...
I'm trying to use multiple include paths with no success.
Unfortunately I can't show output of my "include" paths because of NDA.


IllegalModelException: Namespace is not defined for type<EMAIL_ADDRESS>

import commands in .cto file not resolving using versioned namespaces

Trying to programmatically verify my model file in javascript. Unable to load the model file despite copying the online example.
Expected Behavior
Should be able to load the cto model and verify.
Current Behavior
Namespace error:
  component: '@accordproject/concerto-util',
  errorType: 'DefaultBaseException',
  fileLocation: undefined,
  shortMessage: 'Namespace is not defined for type<EMAIL_ADDRESS>  fileName: null
}

Possible Solution

Steps to Reproduce
CTO file extract:
namespace<EMAIL_ADDRESS>
import<EMAIL_ADDRESS>from<EMAIL_ADDRESS>import<EMAIL_ADDRESS>from<EMAIL_ADDRESS>import<EMAIL_ADDRESS>from<EMAIL_ADDRESS>import<EMAIL_ADDRESS>Duration} from<EMAIL_ADDRESS>
transaction MyRequest extends Request {
  o String input
}

transaction MyResponse extends Response {
  o String output
}

etc...

code:
async function checkTypes(dataFile, ctoFile){
  const { ModelManager, Concerto } = require("@accordproject/concerto-core");

  try {
    const mm = new ModelManager();
    mm.addModel(ctoFile);
    const concerto = new Concerto(mm);
    concerto.validate(JSON.parse(dataFile));
    console.log('Types validated successfully');
  }
  catch (err) {
    console.log(err)
  }
}

module.exports = { checkTypes };

Context (Environment)

Basic validation of model file

Desktop

OS: MacOS
Version: 3.20.2

Detailed Description

Possible Implementation

Realised the problem was in my data file. Please add more code snippets to your documentation to cover the move to explicit versioning 🙏


IDVA6-1837 Fix for SonarQube

Link to Jira:
https://companieshouse.atlassian.net/browse/IDVA6-1837
Changes:

Coverage script name changed

CI: No security warnings found


fix(deps): update icr.io/ext/logdna-agent docker tag to v3.9.0-20231211.fe6d770d2b194a59

This PR contains the following updates:

Package
Update
Change

icr.io/ext/logdna-agent
patch
3.9.0-20231204.f89f0d6c94267329 -> 3.9.0-20231211.fe6d770d2b194a59

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 1.15.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


feat: Enhancements to LedgerIdentity.

This PR contains a number of updates to LedgerIdentity that were
necessary for the integration with the NNS dapp.

Calls to the identity automatically open and close the connection to
the device. Previously, the connection remained open, and there was no
way to manage it from outside the identity class.

LedgerIdentity now verifies that the public key of the wallet is the
public key of the identity. That way, a LedgerIdentity can only
be used with the wallet that it was instantiated with.

Additional error-handling has been added.

closing due to ledger identity no longer being supported in this project


Python: Add highlighting to functions with space between name and ()

Add highlighting to functions with space between name and parentheses.

@erinwild Can you also add tests and minified version for this PR, please?

@Golmote Sure thing, I've added those changes now.