text:
Arc Browser Support

Hi, Is that possible to support Arc ?

@epilande I'd be happy to take a stab at this based on the Edge support PR but I'm not sure where you're generating those UUIDs. Is there a specific dev environment I should use?

I also need support for arc, and it would be perfect to add the ability to display tab results from all browsers at the same time. XD

I saw this posted as an update on the most recent Arc release.
We've updated our AppleScript API, which allows native apps to better integrate with Arc! You can now query for spaces and tabs, and create new tabs and windows.

Edit: it can list the tabs but doesn't do anything when hitting enter :(

Yes, it seems that the scripting dictionary for Arc is a bit different. I guess because it needs to contend with spaces.

+1 for Arc - the listing of tabs works, but the focus-tab.js script seems to need adapting.

@epilande I'd be happy to take a stab at this based on the Edge support PR but I'm not sure where you're generating those UUIDs. Is there a specific dev environment I should use?

I think when you modify the workflow, the info.plist file gets changed. Then you can just create a PR off from that change.
I updated this argument and it works like a charm!

Edit: it can list the tabs but doesn't do anything when hitting enter :(

Works

🚀 This has been released with 🔖 v1.0.7

authors: LeokuJessica alanmoo aljustiet christianmagill epilande tkafka wickkk119

repo: epilande/alfred-browser-tabs


text:
NFS Storage for Epiphany

Verify feature/nfs-storage branch if it is implementing complete solution
AWS: EFS
Azure: NFS server
On-premise: Linux VM with NFS server

We also need a shared file system to make backup of clustered ES:
https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#snapshots-filesystem-repository
https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html

@to-bar @rafzei @toszo I just added it to Cloud Native Storage epic, but I would like to know from you if that should even be left here. Are we going to use NFS? That is not what current approach with Rook Operator defined but I might not be aware of something.

The solution with Kerberos has failed due to permissions issue (manual ownership mapping or LDAP required).
The new approach is to use Stunnel. PoC succeded.

source: gharchive/issue

authors: baurbaniak mkyc to-bar

repo: epiphany-platform/epiphany

license_type: permissive

license_source: github-api


text:
[FEATURE REQUEST] Add posibility to provide custom hostnames

Is your feature request related to a problem? Please describe.
Currently, there is no option to provide a custom VM hostname via epicli.
The hostname is set up referencing inventory hostname.
Describe the solution you'd like
Current: [prefix][clustername]-kubernetes[master/node]vm[x]
Needed: [prefix][clustername]-kubernetes[master/node]vm[x].[domain.name]
but it should allow to set up anything you can imagine :space_invader:
Additional context
Internal team request, if possible prepare a workaround they could apply to their LTS deployment.
Please check kind: infrastructure/virtual-machine. Maybe specification.name should be the right place for that? Right now it's overwritten after manifests merge.

DoD checklist

[ ] Changelog updated
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Schema updated / doesn't need to be updated
[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Idempotency tested
[ ] Documentation added / updated / doesn't need to be updated
[ ] All conversations in PR resolved
[ ] Solution meets requirements and is done according to design doc
[ ] Usage compliant with license
[ ] Backport tasks created / doesn't need to be backported

So this is only for Azure? Or we want this also on AWS?

The fr/fix was requested for Azure but afaik the team also uses AWS.

After some more research I found several issues with the task described above:

For both AWS and Azure the infrastructure/virtual-machine document type represents a template for a group of VM`s of a certain component . This template is then being used to generate the Terraform VM definitions on Azure and auto-scaling groups on AWS.  Any VM specific config is generated by the providers:

Adding a mechanism to specify something like a hostname per VM would require some massive changes which might not be backwards compatible.
While the hostname Azure is generated and explicitly set on AWS the hostnames are provided automatically by the auto-scaling groups. This makes it impossible without reworking a large part of the Terraform to set the hostnames easily. Probably it requires the removal of the auto-scaling groups in favor of a similar approach we have with Azure now. I think there already is an issue to do this as the auto-scaling groups are responsible for more issues regarding scaling components anyway.
A work around to change hostnames on older clusters will be expensive to provide as we need to check every component that might have configuration that uses said hostname. It will be similar as some of the outdated scripts we have now for changing IPs for certain components: https://github.com/epiphany-platform/epiphany/tree/develop/tools/ip_change

Because of these above issues I propose an easier approach to provide the team the ability to add the domain at the end of the hostname and only for Azure in the form as an additional cloud parameter in the root cluster-config document:
kind: epiphany-cluster
name: default
provider: azure
title: Epiphany cluster Config
specification:
 ...
  cloud:
    hostname_domain_extension: **domain**
 ....

This hostname_domain_extension field, if defined will be added to each machine hostname separated by a .. The same as machine VM image definitions it will be retained across Epicli versions and re-applies as changing this will cause the re-creation of the VM as changing VM images would do before.

Tested by @rafzei https://github.com/epiphany-platform/epiphany/pull/2790#issuecomment-1002068421.
Thanks man :heart:

@seriva what about adding extra validation for the hostname?
ERROR cli.engine.terraform.TerraformCommand - Error: compute.VirtualMachinesClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="InvalidParameter" Message="Linux host name cannot exceed 64 characters in length or contain the following characters: ` ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \\ | ; : ' \" , < > / ?." Target="computerName"

authors: przemyslavic rafzei seriva


text:
Sir... please help me. No matter what I try, I get an error...

I  make 'lib' directory  to ' C:\Users\USER\spycer-master\spycer-master' . and  in it,  placed  'planes_file.txt'  and  goosli bin  file  and data directory of goosli folder....
and then   clicked  '5D  generator  button'   but   i  get  error....
start slicing
Error: (<class 'subprocess.CalledProcessError'>, CalledProcessError(1, ['./lib/goosli', '--cmd=slice', '--settings=settings.yaml']), <traceback object at 0x0000016D33C28680>)
Error2: b"2023/05/04 23:22:55 yamlFile.Get err: open data/config.yaml: The system cannot find the path specified. \ngoosli: error: unknown long flag '--cmd', try --help\n"
what is  this.... what can  i do ...... help me  ser............please.........plese....

Hello! We have stopped support of goosli slicer with spycer. To use it with latest goosli you may try to downgrade spycer branch to about Oct 24, 2020.
Master branch of this repository is mostly for acquaintance with our possibilities.

Thank you for your kind reply.

As you told me, I ran the spycer version with the 2020-10-24 version. It works. But one problem arose. If  I open the goosli-out.gcode file created by clicking the 'vip slicing' button,  X, Y, Z values appear, but A-axis and B-axis values do not appear. You must be busy, but your help would be greatly appreciated.
For reference, my compiler debug window shows the following message:
C:\Users\USER\Go\src\github.com\l1va\goosli\slicers\test_models\odnzak.stl
['./goosli', '--stl=C:/Users/USER/Go/src/github.com/l1va/goosli/slicers/test_models/odnzak.stl', '--gcode=goosli_out.gcode', '--layer_height=0.2', '--originx=-32.50090503692627', '--originy=0.03284502029418945', '--originz=-0.0', '--rotcx=0', '--rotcy=0', '--rotcz=50', '--wall_thickness=0.8', '--fill_density=20', '--bed_temperature=60', '--extruder_temperature=200', '--print_speed=50', '--line_width=0.4', '--slicing_type=vip', '--planes_file=planes_file.txt', '--print_speed_layer1=50', '--print_speed_wall=50', '--filling_type=Lines', '--angle=30', '--retraction_speed=0', '--retraction_distance=0', '--support_offset=1.0', '--skirt_line_count=3']
cut mesh, init and joined 68 2
A OR B ZERO 0.000 0.000 0.475 3.705 4.181
A OR B ZERO 0.000 0.000 1.363 3.922 5.285
A OR B ZERO 0.000 0.000 0.831 4.454 5.285
A OR B ZERO 0.000 0.000 1.167 3.761 4.928
A OR B ZERO 0.000 0.000 0.453 4.727 5.180
A OR B ZERO 0.000 0.000 0.432 4.747 5.179
A OR B ZERO 0.000 0.000 0.065 5.077 5.142
not closed  0.000
A OR B ZERO 0.000 0.000 2.030 3.401 5.431
not closed  0.000
.......
not closed  0.303
not closed  2.537
A OR B ZERO 0.000 0.000 2.873 0.000 2.839
not closed  2.537
not closed  4.771
A OR B ZERO 0.000 0.000 1.788 0.000 1.819
not closed  4.771
not closed  6.821
not closed  6.821
MORE 5 2.195 2.195
not closed  8.009
.......
not closed  10.226
not closed  10.226
A OR B ZERO 0.000 0.000 0.443 5.009 5.451
not closed  10.847
not closed  10.847
not closed  11.468
....
not closed  13.950
not closed  14.373
not closed  14.373
A OR B ZERO 0.000 0.000 0.581 2.969 3.550
not closed  14.795
not closed  14.795
not closed  15.218
.........
not closed  16.302
not closed  16.562
not closed  16.562
A OR B ZERO 0.000 0.000 0.570 4.580 5.150
not closed  16.821
not closed  16.821
not closed  17.081
not closed  17.081
not closed  17.340
A OR B ZERO 0.000 0.000 0.548 4.601 5.148
not closed  17.340
not closed  17.599
........
not closed  18.118
not closed  18.378
....
......
not closed  19.506
not closed  19.553
not closed  19.553
A OR B ZERO 0.000 0.000 3.759 1.406 5.166
not closed  19.600
not closed  19.600
not closed  19.648
not closed  5.443
not closed  5.443
not closed  3.349
not closed  3.349
MORE 5 2.113 1.315
MORE 5 2.533 2.533
.......
MORE 5 2.533 2.533
MORE 5 2.533 2.533
A OR B ZERO 0.000 0.028 0.289 0.411 0.000
A OR B ZERO 0.000 0.000 4.423 0.834 5.257
......
A OR B ZERO 0.000 0.000 0.154 5.161 5.315
A OR B ZERO 0.000 0.000 0.000 5.285 5.285
MORE 5 2.089 2.089
......
MORE 5 2.481 2.481
MORE 5 6.538 5.454
MORE 5 10.014 10.014
A OR B ZERO 0.000 0.840 2.110 2.801 0.000

authors: kwon-wonbai lvjonok

license: MIT


text:
Bug: oneOf doesn't work properly when coerceTypes is true

ajv version: 4.3.0
config:
{"coerceTypes": true}

schema:
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "username": {
      "oneOf": [
        {"type": "string"},
        {"type": "null"}
      ]
    }
  }
}

data:
{"username": null}

error:
[{"keyword":"oneOf","dataPath":".username","schemaPath":"#/properties/username/oneOf","params":{},"message":"should match exactly one schema in oneOf"}]

It pass when {coerceTypes: false}, so I guess it is a bug

Instead of oneOf you probably need to use "type": ["string", "null"].
In your case it works as expected. null can be coerced to "null" and it also passes {"type": "null"}, while oneOf requires only one schema to pass.
In general, coercion increases the probability of passing, so in cases your schema requires that some subschema fails (e.g. inside oneOf or not) coercion would increase the chances of parent schema failing.

it works!!!! Thanks, it is awesome for making API with
{
  "coerceTypes": true,
  "removeAdditional": true
}

Saved me a lot of work!!!

Thank you, that was the use case, also form submissions.

repo: epoberezkin/ajv


text:
Make LIFO/HIFO accounting methods O(n*log(m))

The LIFO and HIFO methods are unfortunately quadratic time (first test is trivial for LIFO):
One In, One Out
          FIFO      LIFO      HIFO
1     0.000268  0.000233  0.000233
10    0.001612  0.001335  0.001329
100   0.011682  0.012137  0.020656
1000  0.125671  0.126606  1.090273

Buys, then Sells
          FIFO      LIFO      HIFO
1     0.000235  0.000238  0.000233
10    0.001277  0.001378  0.001477
100   0.012547  0.021762  0.029432
1000  0.123024  1.113870  1.903485

The cases are the same as in https://github.com/eprbell/rp2/pull/115 and assume the FIFO improvements there are merged.
The overall approach is to filter out exhausted lots early, so they do not need to be considered in each pass. In FIFO, this can be done by keeping track of another index. In LIFO and HIFO we introduce a heap where "active" lots are kept. The general for loop structure is kept to remove exhausted lots (as may occur when switching accounting methods across years), with the first non-exhausted lot guaranteed to be the one we are searching for. The use of heaps improves each loop to O(log m).
We translate the search criteria into a heap_key as Python only natively supports min heaps. It is likely that this key will need to be refined to guarantee deterministic behavior.
Due to test failures, this is not ready to merge but posting to start getting feedback.
And the results with this PR:
One In, One Out
          FIFO      LIFO      HIFO
1     0.000247  0.000250  0.000241
10    0.001286  0.001341  0.001632
100   0.011826  0.012560  0.012876
1000  0.123382  0.131119  0.133895

Buys, then Sells
          FIFO      LIFO      HIFO
1     0.000239  0.000262  0.000243
10    0.001301  0.001400  0.001477
100   0.012038  0.013003  0.015297
1000  0.125055  0.137297  0.171604

Unit tests are now passing (other than a new false alarm on an external link)

Unit tests are now passing (other than a new false alarm on an external link)

Oh, fantastic! Let me take another look.

@eprbell Refactor is complete and all tests are passing, but I'm guessing we'll need a round of cleanup or two. I didn't see your suggestion on row until just now but I'll implement that this week with any cleanup you suggest.

@eprbell Refactor is complete and all tests are passing, but I'm guessing we'll need a round of cleanup or two. I didn't see your suggestion on row until just now but I'll implement that this week with any cleanup you suggest.

Great! I'll review.

source: gharchive/pull-request

authors: eprbell qwhelan


text:
Update Build Process and README.md for Java SDK

Added IDE files and example Java files to .gitignore
Updated README.md to explain Build process with Makefile
Organized Makefile to match flow of make all

@ctreatma , this is ready for another review 👍

repo: equinix-labs/fabric-java


text:
Wording

In the Editor view, the "inherited-properties" item should be changed to "available-properties". This will clarify the functionality of the properties listed.

Verified

repo: equinix/amphibia

license: mit

license_source: bigquery


text:
Focus state in Figma

Reference to #1415
We see a need to delete the focus state in Figma.
This will help the maintenance of all components will make it possible to implement auto-layout.
This will be a breaking change for the few teams that uses the focus state.

Will not include focus state in Figma 2.0.
Close issue.

authors: akvam lucasveil

repo: equinor/design-system


text:
🔧 Update React imports

This pr started out as an attempt to remove allowSyntheticDefaultImports and esModuleInterop from the config – but we already consume modules ourselves which require us to keep these settings.
For example, if we remove these, we have to change the lodash/uniqueId import to import createId = require('lodash/uniqueId') – which then results in eslint errors because eslint-plugin-import does not yet support this syntax.
See https://github.com/benmosher/eslint-plugin-import/issues/1244 for details.
However, since the React imports are all now on separate lines, it will be easier for us to remove these once we upgrade to React 17, so I propose we still merge this pr as it is.
I also updated all the lock-files, allthough strictly not part of this issue.
resolves #826

I ran to some edge-cases with tree-shaking and lodash aswell. Saw some people recommend using lodash-es instead. Maybe this would also help you. Suggest we make a separate spike changing lodash with lodash-es

If I understood correctly import * as React from 'react' will be removed with a script for React v17?

Yes there are scripts but a simple search and replace will do the job as well.

why don't we make our own uniqueId function

well that’s both the beauty and the curse of npm 😉 lodash is the swiss army knife of single purpose modules, so as long as they work, I don’t see why we should re-invent them, but in this case if it’s the only module holding us back then I agree.

authors: mimarz vnys


text:
Dashboards MVP

Create a minimal CSS based layout where:

Every widget is one mobile screen width square.
On mobile layout as a list.
On desktop layout as horizontal wrapping list.

We are archiving this repo.

repo: equinor/eit-hub-experiments


text:
Setup cloud access needed for Authentication story.

I need to make some changes to roles to for this first version.

Need to give core developers more access to dev subscription than they have.
Create a dev-tools resource group in staging to host devtools.
Create a sepes-core resource group to host the core application both client and server.

Have created the devtools and sepes-core resource group. Will need to have a talk with the team on how to solve the roles for dev.

Have had the talk with the team. They will ask me when they need owner access.

repo: equinor/sepes


text:
refactor: rename module and all references from azure to eraser-dev

What this PR does / why we need it:
Full module rename
Which issue(s) this PR fixes (optional, using fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged):
Fixes #
Special notes for your reviewer:

@salaxander please make sure to run make generate manifests

authors: salaxander sozercan

repo: eraser-dev/eraser


text:
fix: fix table operation

table operation : pageNo pageSize

/approve

authors: innerpeacez sfwn

repo: erda-project/erda-infra


text:
Comment confirmation styling

Resolves many of the things in eregs/notice-and-comment#342.
Still investigating what it takes to make the "if this is taking long to load" thing that would appear after 10 seconds of not having a tracking number but wanted to give people a chance to look at this now.

Works well locally, nice job

repo: eregs/regulations-site


text:
Error while running a GPT2 model

An exception is generated while running a gpt2 format model as show below
To Reproduce
Prepare to serve a model
run examples/serving/causal-lm/artgpt2tox-chat.py --pretrained_model_name_or_path="leondz/artgpt2tox" --max_length=2048   --max_new_tokens=256 --max_compile_tokens=32 --temperature=0.6   --top_p=0.95 --top_k=50   --dtype="fp16" --use_prefix_tokenizer --mesh_axes_shape 1 -1 1 1

Getting following exception
File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/EasyDel/serve/jax_serve.py:428, in JAXServer.from_torch_pretrained(cls, server_config, pretrained_model_name_or_path, device, dtype, param_dtype, precision, sharding_axis_dims, sharding_axis_names, q_ps, k_ps, v_ps, b_ps, a_ps, use_shard_map, input_shape, shard_fns, backend, add_params_field, do_memory_log, verbose, **kwargs)
    382 @classmethod
    383 def from_torch_pretrained(
    384         cls,
   (...)
    405         **kwargs
    406 ):
    408     model, params = AutoEasyDelModelForCausalLM.from_pretrained(
    409         pretrained_model_name_or_path=pretrained_model_name_or_path,
    410         device=device,
   (...)
    425         **kwargs
    426     )
--> 428     return cls.from_parameters(
    429         model=model,
    430         config_model=model.config,
    431         tokenizer=transformers.AutoTokenizer.from_pretrained(pretrained_model_name_or_path),
    432         params=params,
    433         config=server_config,
    434         verbose=verbose,
    435         do_memory_log=do_memory_log,
    436         add_params_field=add_params_field
    437     )

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/EasyDel/serve/jax_serve.py:486, in JAXServer.from_parameters(cls, model, config_model, tokenizer, params, config, add_params_field, do_memory_log, verbose)
    482 logging.info(
    483     "matching partition rules"
    484 )
    485 rules = match_partition_rules(params=params, rules=config_model.get_partition_rules(True))
--> 486 shard_fns, _ = make_shard_and_gather_fns(rules, get_dtype(server.config.dtype))
    487 logging.info(
    488     "sharding parameters across all of the chosen backend(tpu/gpu/cpu)s"
    489 )
    490 params = flax.traverse_util.flatten_dict(params)

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/fjformer/partition_utils/mesh_utils.py:66, in make_shard_and_gather_fns(partition_specs, dtype_specs)
     63     return gather_fn
     65 if dtype_specs is None or dtype_specs in float_dtypes:
---> 66     shard_fns = jax.tree_util.tree_map(make_shard_fn, partition_specs)
     67     gather_fns = jax.tree_util.tree_map(make_gather_fn, partition_specs)
     68 else:

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/jax/_src/tree_util.py:244, in tree_map(f, tree, is_leaf, *rest)
    242 leaves, treedef = tree_flatten(tree, is_leaf)
    243 all_leaves = [leaves] + [treedef.flatten_up_to(r) for r in rest]
--> 244 return treedef.unflatten(f(*xs) for xs in zip(*all_leaves))

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/jax/_src/tree_util.py:244, in <genexpr>(.0)
    242 leaves, treedef = tree_flatten(tree, is_leaf)
    243 all_leaves = [leaves] + [treedef.flatten_up_to(r) for r in rest]
--> 244 return treedef.unflatten(f(*xs) for xs in zip(*all_leaves))

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/fjformer/partition_utils/mesh_utils.py:42, in make_shard_and_gather_fns.<locals>.make_shard_fn(partition_spec, dtype_spec)
     41 def make_shard_fn(partition_spec, dtype_spec=None):
---> 42     jax_shard_function = pjit(
     43         make_to_dtype_fn(dtype_spec),
     44         in_shardings=None,
     45         out_shardings=partition_spec
     46     )
     48     def shard_fn(tensor):
     49         return jax_shard_function(tensor).block_until_ready()

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/jax/_src/pjit.py:762, in pjit(fun, in_shardings, out_shardings, static_argnums, static_argnames, donate_argnums, donate_argnames, keep_unused, device, backend, inline, abstracted_axes)
    570 def pjit(
    571     fun: Callable,
    572     in_shardings=UNSPECIFIED,
   (...)
    582     abstracted_axes: Any | None = None,
    583 ) -> stages.Wrapped:
    584   """Makes ``fun`` compiled and automatically partitioned across multiple devices.
    585
    586   NOTE: This function is now equivalent to jax.jit please use that instead.
   (...)
    759   [ 0.5  2.   4.   6.   8.  10.  12.  10. ]
    760   """
    761   (in_shardings, out_shardings, donate_argnums, donate_argnames, static_argnums,
--> 762    static_argnames) = pre_infer_params(
    763        fun, in_shardings, out_shardings, donate_argnums, donate_argnames,
    764        static_argnums, static_argnames, device, backend, abstracted_axes)
    766   def infer_params(*args, **kwargs):
    767     # Putting this outside of wrapped would make resources lexically scoped
    768     resource_env = mesh_lib.thread_resources.env

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/jax/_src/pjit.py:310, in pre_infer_params(fun, in_shardings, out_shardings, donate_argnums, donate_argnames, static_argnums, static_argnames, device, backend, abstracted_axes)
    307   in_shardings = tuple(in_shardings)
    309 in_shardings, _, _ = prepare_axis_resources(in_shardings, 'in_shardings')
--> 310 out_shardings, _, _ = prepare_axis_resources(out_shardings, 'out_shardings')
    312 donate_argnums, donate_argnames, static_argnums, static_argnames = resolve_argnums(
    313     fun, donate_argnums, donate_argnames, static_argnums, static_argnames)
    315 return (in_shardings, out_shardings, donate_argnums, donate_argnames,
    316         static_argnums, static_argnames)

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/jax/_src/sharding_impls.py:1093, in prepare_axis_resources(axis_resources, arg_name, allow_unconstrained_dims)
   1091     new_entries.append(entry)
   1092   else:
-> 1093     new_entries.append(ParsedPartitionSpec.from_user_input(
   1094         entry, what, allow_unconstrained_dims=allow_unconstrained_dims))
   1096 _check_unique_resources(new_entries, arg_name)
   1097 return tree_util.tree_unflatten(treedef, new_entries), new_entries, treedef

File ~/research/EasyDeL/.venv/lib/python3.10/site-packages/jax/_src/sharding_impls.py:985, in ParsedPartitionSpec.from_user_input(cls, entry, arg_name, allow_unconstrained_dims)
    983   return cls(entry, ())
    984 if not isinstance(entry, PartitionSpec):
--> 985   raise TypeError(f"{arg_name} are expected to be "
    986                   f"PartitionSpec instances or None, but got {entry}")
    987 axis_specs = []
    988 for axis_spec in entry:

TypeError: out_shardings leaf specifications are expected to be PartitionSpec instances or None, but got *

artgpt code
import typing

import termcolor

import EasyDel
import jax.lax
from EasyDel.serve import JAXServer, JAXServerConfig
from fjformer.checkpoint import get_dtype
from transformers import AutoTokenizer
import argparse

DEFAULT_SYSTEM_PROMPT = ""

def get_prompt_llama2_format(message: str, chat_history,
                             system_prompt: str) -> str:
    texts = [f'<|input|>{message}<|response|>']
    return "".join(texts)

class Attack2Host(JAXServer):
    def __init__(self, config=None):
        super().__init__(config=config)

    @staticmethod
    def format_instruct(system: str, instruction: str) -> str:
        return get_prompt_llama2_format(instruction, [], system)

    @staticmethod
    def format_chat(history: typing.List[str], prompt: str, system: typing.Union[str, None]) -> str:
        return get_prompt_llama2_format(prompt, history, system)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Argument parser for Llama2.")
    parser.add_argument(
        '--pretrained_model_name_or_path',
        default='meta-llama/Llama-2-7b-chat-hf',
        help='HuggingFace Repo to load model From'
    )
    parser.add_argument(
        "--contains_auto_format",
        default=False,
        action="store_true",
        help="Whether the input text contains auto-format tokens.",
    )
    parser.add_argument(
        "--max_length",
        default=4096,
        type=int,
        help="The maximum length of the input text.",
    )
    parser.add_argument(
        "--max_new_tokens",
        default=2048,
        type=int,
        help="The maximum number of new tokens to generate.",
    )
    parser.add_argument(
        "--max_compile_tokens",
        default=32,
        type=int,
        help="The maximum number of tokens to generate per stream.",
    )
    parser.add_argument(
        "--temperature",
        default=0.6,
        type=float,
        help="The temperature of the sampling distribution.",
    )
    parser.add_argument(
        "--top_p",
        default=0.95,
        type=float,
        help="The top-p probability cutoff for the sampling distribution.",
    )
    parser.add_argument(
        "--top_k",
        default=50,
        type=int,
        help="The top-k number of tokens to keep for the sampling distribution.",
    )
    parser.add_argument(
        "--logging",
        default=False,
        action="store_true",
        help="Whether to log the generation process.",
    )
    parser.add_argument(
        "--mesh_axes_names",
        default=["dp", "fsdp", "tp", "sp"],
        nargs="+",
        help="The names of the mesh axes.",
    )
    parser.add_argument(
        "--mesh_axes_shape",
        default=[1, -1, 1, 1],
        nargs="+",
        type=int,
        help="The shapes of the mesh axes.",
    )
    parser.add_argument(
        "--dtype",
        default="fp16",
        help="The data type to use for the generation.",
    )
    parser.add_argument(
        "--use_prefix_tokenizer",
        default=False,
        action="store_true",
        help="Whether to use a prefix tokenizer.",
    )
    args = parser.parse_args()
    configs = JAXServerConfig(
        contains_auto_format=args.contains_auto_format,
        max_length=args.max_length,
        max_new_tokens=args.max_new_tokens,
        max_compile_tokens=args.max_compile_tokens,
        temperature=args.temperature,
        top_p=args.top_p,
        top_k=args.top_k,
        logging=args.logging,
        mesh_axes_names=args.mesh_axes_names,
        mesh_axes_shape=args.mesh_axes_shape,
        dtype=args.dtype,
        use_prefix_tokenizer=args.use_prefix_tokenizer
    )

    server = Attack2Host.from_torch_pretrained(
        pretrained_model_name_or_path=args.pretrained_model_name_or_path,
        server_config=configs
    )
    try:
        termcolor.cprint(
            'Launching App ...',
            color="cyan",
            force_color=True
        )
        server.gradio_inference().launch(share=True)
        termcolor.cprint(
            'Launching Server APIS (Fire) ...',
            color="cyan",
            force_color=True
        )
        server.fire()
    except KeyboardInterrupt:
        print('Exiting ...')
        server.end()
        exit(0)

let me check

it's been fixed you can check again
Code
import typing
import termcolor
from lib.python.EasyDel.serve import JAXServer, JAXServerConfig
import argparse

DEFAULT_SYSTEM_PROMPT = ""

def get_prompt_llama2_format(
        message: str,
        chat_history,
        system_prompt: str
) -> str:
    texts = [f'<|input|>{message}<|response|>']
    return "".join(texts)

class Attack2Host(JAXServer):
    def __init__(self, config=None):
        super().__init__(config=config)

    @staticmethod
    def format_instruct(system: str, instruction: str) -> str:
        return get_prompt_llama2_format(instruction, [], system)

    @staticmethod
    def format_chat(history: typing.List[str], prompt: str, system: typing.Union[str, None]) -> str:
        return get_prompt_llama2_format(prompt, history, system)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Argument parser for Llama2.")
    parser.add_argument(
        '--pretrained_model_name_or_path',
        default='leondz/artgpt2tox',
        help='HuggingFace Repo to load model From'
    )
    parser.add_argument(
        "--contains_auto_format",
        default=False,
        action="store_true",
        help="Whether the input text contains auto-format tokens.",
    )
    parser.add_argument(
        "--max_length",
        default=4096,
        type=int,
        help="The maximum length of the input text.",
    )
    parser.add_argument(
        "--max_new_tokens",
        default=2048,
        type=int,
        help="The maximum number of new tokens to generate.",
    )
    parser.add_argument(
        "--max_compile_tokens",
        default=32,
        type=int,
        help="The maximum number of tokens to generate per stream.",
    )
    parser.add_argument(
        "--temperature",
        default=0.6,
        type=float,
        help="The temperature of the sampling distribution.",
    )
    parser.add_argument(
        "--top_p",
        default=0.95,
        type=float,
        help="The top-p probability cutoff for the sampling distribution.",
    )
    parser.add_argument(
        "--top_k",
        default=50,
        type=int,
        help="The top-k number of tokens to keep for the sampling distribution.",
    )
    parser.add_argument(
        "--logging",
        default=False,
        action="store_true",
        help="Whether to log the generation process.",
    )
    parser.add_argument(
        "--mesh_axes_names",
        default=["dp", "fsdp", "tp", "sp"],
        nargs="+",
        help="The names of the mesh axes.",
    )
    parser.add_argument(
        "--mesh_axes_shape",
        default=[1, -1, 1, 1],
        nargs="+",
        type=int,
        help="The shapes of the mesh axes.",
    )
    parser.add_argument(
        "--dtype",
        default="fp16",
        help="The data type to use for the generation.",
    )
    parser.add_argument(
        "--use_prefix_tokenizer",
        default=False,
        action="store_true",
        help="Whether to use a prefix tokenizer.",
    )
    args = parser.parse_args()
    configs = JAXServerConfig(
        contains_auto_format=args.contains_auto_format,
        max_length=args.max_length,
        max_new_tokens=args.max_new_tokens,
        max_compile_tokens=args.max_compile_tokens,
        temperature=args.temperature,
        top_p=args.top_p,
        top_k=args.top_k,
        logging=args.logging,
        mesh_axes_names=args.mesh_axes_names,
        mesh_axes_shape=args.mesh_axes_shape,
        dtype=args.dtype,
        use_prefix_tokenizer=args.use_prefix_tokenizer
    )

    server = Attack2Host.from_torch_pretrained(
        pretrained_model_name_or_path=args.pretrained_model_name_or_path,
        server_config=configs
    )
    try:
        termcolor.cprint(
            'Launching App ...',
            color="cyan",
            force_color=True
        )
        server.gradio_inference().launch(share=True)
        termcolor.cprint(
            'Launching Server APIS (Fire) ...',
            color="cyan",
            force_color=True
        )
        server.fire()
    except KeyboardInterrupt:
        print('Exiting ...')
        server.end()
        exit(0)

Launch Args
 --pretrained_model_name_or_path="leondz/artgpt2tox" --max_length=1024  --max_new_tokens=256 --max_compile_tokens=32 --temperature=0.6   --top_p=0.95 --top_k=50   --dtype="fp16" --use_prefix_tokenizer --mesh_axes_shape 1 -1 1 1

this issue is being closed due to no response has been given

authors: erfanzar jchauhan

repo: erfanzar/EasyDeL


text:
Producer is coupled to consumer ?

https://github.com/ergo-services/examples/blob/master/cloud/producer/go.mod Is correct ?
Is this because the type is on the consumers side and you want the producer to send the consumer well known types ?
Also this begs the question , do producers and consumers know about each other at compile time ?

https://github.com/ergo-services/examples/blob/master/cloud/producer/go.mod Is correct ?

Yeah, this is correct, but it has an artifact :). The last line must be removed for sure (forgot to do that).

Is this because the type is on the consumers side and you want the producer to send the consumer well known types ?

producer imports consumer to be known of the consumer's message type

Also this begs the question , do producers and consumers know about each other at compile time ?

Ergo implements Erlang technologies, including EPMD. In Ergo this feature is embedded into the node, so you don't have to worry about that. It's like a local registrar of the running nodes keeping the node name and port number. Before making a TCP-connection, say to "abc@localhost", your node automatically resolves the port number requesting EMPD for the information where node "abc@localhsot" serves incoming connections.

In this example, for regular network connection - the producer makes a connection to the consumer resolving the port number using EPMD.
for the cloud connection - once a node is connected to the cloud, it becomes a member of the cluster with a single virtual "namespace". All connections made to the *@"namespace" are routed through the cloud connection.

Yeah, this is correct, but it has an artifact :). The last line must be removed for sure (forgot to do that).

cool. thanks for letting me know.

I am still new to this to even comment on how Types / protos work.
I am used to using NATS, which you probably know.
If there a concept of a Registry with Ergo ? SO that a producer can ask the registry for the type at runtime ?

I am used to using NATS, which you probably know.

Sure, I know it.

SO that a producer can ask the registry for the type at runtime ?

Golang is a strongly typed language. So you just can't do that. In order to marshal/unmarshal messages from/to the specific type golang's runtime should be known the type of sending/receiving messages on the compile time. That's the reason for the existing etf.RegisterType() function.

right. i need to learn more about how this works.  thanks for the explanation....

repo: ergo-services/examples


text:
TypeError: _GameBoard.default.createGameBoard is not a function. (In '_GameBoard.default.createGameBoard(gameGrid, _setup.LEVEL)', '_GameBoard.default.createGameBoard' is undefined)

This error occurs when starting game:
TypeError: _GameBoard.default.createGameBoard is not a function. (In '_GameBoard.default.createGameBoard(gameGrid, _setup.LEVEL)', '_GameBoard.default.createGameBoard' is undefined)

Fixed with commit 7c4b863.
Just two misspelling errors haha


text:
proxy und https, wss

I have expanded your code. socket-tunnel can use over proxy and with https now.
Should I make a pull request? Or should I send you here the lines of codes?
I haven´t use github so often. :-)

'use strict';
const IDLE_SOCKET_TIMEOUT_MILLISECONDS = 1000 * 30;
module.exports = (options) => {
return new Promise((resolve, reject) => {
// require the things we need
const perf = require('execution-time')();
const net = require('net');
const Debug = require('debug');
const debug = Debug('client:debug');
const info = Debug('client:info');
const ss = require('socket.io-stream');
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
const HttpProxyAgent = require("https-proxy-agent");
const agent = new HttpProxyAgent('http://134.168.1.43:3128');
let socket = require('socket.io-client')(options['server'], {secure: true, reconnection: true, rejectUnauthorized: false, upgrade: false});
......

@penguine
According to the code you posted you initiate an agent, then don't use it. Doesn't seem to be using the proxy at all.
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;

Why would you try to set an environment variable?
If you want to actually use a proxy agent you need to pass it to the socket.io-client
const ss = require('socket.io-stream');
const HttpProxyAgent = require("https-proxy-agent");
const agent = new HttpProxyAgent('http://134.168.1.43:3128');
let socket = require('socket.io-client')(options['server'], {agent: agent, secure: true, reconnection: true, rejectUnauthorized: false, upgrade: false});

like so, but this has nothing at all to do with socket.io-stream
I'm also not quite sure why you would ever do that as in order for it to work as you've shown the server has to be public facing so you are just insecurely proxying to an untrusted server just to redirect to your encrypted server.
socket.io-stream work directly with https with no modifications and no need for a proxy.
Please close the issue

the stream is secure. In some cases you have to go over a proxy. Then you need this config.

Based on the config you sent it would be exposing the stream in an insecure manner unless you were just including this insecure proxy as an example 'http://134.168.1.43:3128', either way the code you provided doesn't actually use the agent so therefore doesn't use the proxy at all and would remain secure as long as the socket-tunnel server was encrpyted.
I'm still not quite sure why you would ever use a proxy. The entire idea of this project is to not need to do that. The server needs to be public facing, thats it.
If you had a valid use case for a proxy, it would be better to set it up in your project code so it doesn't break anything with socket-tunnel and is truly optional.
module.exports = (options) => {
  return new Promise((resolve, reject) => {
    // require the things we need
    const net = require('net');
    const ss = require('socket.io-stream');
    const additionalOptions = options.socketOptions  || null;
    let socket = require('socket.io-client')(options['server'], additionalOptions);

This way you can pass in any of the options that sockt.io-client support including the agent.
Very curious tho where and when you could need a proxy agent

authors: Craigzyc penguine

repo: ericbarch/socket-tunnel


text:
_zsh_cwd_history_histfile_for_cwd:1: command not found: md5

Hi,
I do have md5sum but not md5, where should I get it ?

Exactly! Was just going to submit this issue myself. OpenSUSE 42.1 neither has md5.
The only place that offered md5 was
https://www.fourmilab.ch/md5/
where the file had to be untared, unzipped, compiled and put into $PATH.

@Konfekt it is still not the same md5 the author has used (it doesn't have -q).
Sadly this plugin isn't operable for me either because of this issue (ubuntu).

@ericfreese Please, can you approve mikea PR?

authors: AntoineD Konfekt mikea nickmetal

repo: ericfreese/zsh-cwd-history


text:
deepSleep for ARM implementations

implement deepsleep() for ONETIME implementations using an ARM MCU

Required for #define RJ45 to work in the refactor code branch, which will be promoted to master when stable for #define WiFi

Closing this issue. All future hardware work is expected to remain on ESP32 MCU


text:
Cleaning key-value stores?

A thought came to my mind: how do we clean key-value stores? Do we have to implicitly assume that there are regularly repeating key-value pairs? Or do we define data types and provide easy commands to clean them?
One low-hanging fruit is possibly changing all key names to lowercase + underscore-separated.

This is out of scope of pyjanitor at the moment.

repo: ericmjl/pyjanitor


text:
Add New Language: Crystal

Description
Crystal is a programming language with the following goals:

Have a syntax similar to Ruby (but compatibility with it is not a goal)
Statically type-checked but without having to specify the type of variables or method arguments.
Be able to call C code by writing bindings to it in Crystal.
Have compile-time evaluation and generation of code, to avoid boilerplate code.
Compile to efficient native code.

I'll work on this

authors: devarshishimpi drakmail


text:
Error: ImagineApi failed with status 401

Some examples of http status 401

https://github.com/erictik/midjourney-api/commit/dad12fc88eb18b9eb559bc813664e9b37aea4ab9

repo: erictik/midjourney-api


text:
Style-swap function?

any plans include the Style-swap function in this algorithm as per the torch implementation?

Yes, I'll be working on that over the next few weeks.

Done. See https://github.com/eridgd/WCT-TF#style-swap

authors: Sugarbank eridgd

repo: eridgd/WCT-TF


text:
Contract code lifetime

First of all, an account code is almost exclusively used for execution. It may be used as data source via EXTCODECOPY but this instruction is rarely used in practice (see example stats).
When a deployed code is loaded from mdbx it is kept by reference (e.g. in IntraBlockState::existing_code_). This is because the db maps its storage to memory and accessing such code is valid until next commit (?). This works as a cache layer and saves a copy.
However, there are some problems related to the maintaining the code this way.
The existing_code_ lives only for a single block because it's lifetime is bounded by ExecutionProcessor in Blockchain::execute_block(). Maybe this should be extended until the next commit?
The evmone cannot use the code in this form. It needs additional preprocessing of the code: padding (for more efficient interpreter loop) and jumpdest analysis.
Silkworm has a LRU cache of size 5000 of such preprocessed code in EVM::analysis_cache used in EVM::execute_with_baseline_interpreter.
Potential improvement: drop LRU cache
After preprocessing the original code is useless. We can do the preprocessing when loading from db and keep the preprocessed form in the existing_code_. This removes the need for LRU cache. However, to my knowledge there is no way to inform mdbx that the value is not needed any more and can be unloaded from memory.
Potential improvement: preprocess code on deployment
More advanced approach is to preprocess the code when it is being deployed (contract creation) and store the preprocessed version in mdbx. Here we can some sub-options:

Just pad the code with 33 null bytes. evmone would need to allocate another buffer for jumpdest analysis.
Combine padded code and jumpdest analysis into a single buffer and store it in db as the preprocessed code. This increases the code size by ~13%.
Modify the option 2 by using more compressed form of jumpdest analysis taken from the Verkle Tree proposal. Here the size overhead is ~3% but this is untested and the performance of executing jump instructions is unknown.

The conclusion from the Mainnet execution sync benchmark and manual profiling is the Code Analysis cache is effective. The cache can be also used for code, see https://github.com/erigontech/silkworm/issues/2382.

repo: erigontech/silkworm


text:
fix(webpack): convert webpack-dev-server port to number

Applying recently merged commit 3ec5ecb revealed this bug. When webpack-dev-server has a environment variable, say 3000, it will serve on port 30001 rather than 3001.
https://github.com/erikras/react-redux-universal-hot-example/pull/979#discussion_r54746146 gave this solution to replace the original one #979.

Sweet!

authors: YuMS quicksnap


text:
[v5] Intermittently User is unable to type into input field in IOS Safari browser

Are you submitting a bug report or a feature request?

bug report
Description
In our Org, we are using Redux Form[5.0.0] and observed in tealeaf sessions that sometimes user is unable to typein anything into the Input field.
We have Primary Person Form [firstName, lastName, email] and Secondary Person [firstName, lastName, email] fields and we use redux deep forms as mentioned in this doc [https://redux-form.com/5.3.0/#/examples/deep?_k=wl11ai]
Our form configuration objects looks like below.
const formConfig = {
 form: "FORM_NAME",
fields: [
"person[].firstName",
    "person[].lastName",
    "person[].email"
],
validate: () => {}
}

export default reduxForm(formConfig)(PersonForm);

Inside PersonForm, we have field component, which receive props from redux form
<Field   {...person.email} />

When closely inspected the {...person.email} in splung logs, we observed name attribute malformed whenever user had hard time entering anything into the field.
The malformed attribute look like below:
{...person.email} ====> {
 ...
name: "person[0].ema" // instead of person[0].email
}

What is the current behavior?

User is not able to enter anything into the field intermittently for IOS Safari browser.
What is the expected behavior?
User should be able to enter anything into the field without any difficulty for IOS safari browser all the time.
Sandbox Link

As this issue intermittent, we don't have steps to reproduce, issue is clearly observed in tealeaf sessions.
What's your environment?

redux-form: 5.0.0
OS: IOS,
browser: Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1
Other information

@gustavohenke Thanks for the response. does this library community support bug fixes on v5? If not, I may need to discuss with our team to address this bug.
If you could suggest, how could this attribute be malformed for IOS Safari Browser, it would help us debug it further and put hack kind of solution for now.

does this library community support bug fixes on v5? If not, I may need to discuss with our team to address this bug.

There were a few improvements to v5 since v6 was released; most recent one is #4003, back in May 2018.
It may take some time for the PR to get merged though, and even more time for a release to come out, in which case I suggest you to simply fork the v5 branch and update it/build it on your own.

how could this attribute be malformed for IOS Safari Browser, it would help us debug it further and put hack kind of solution for now.

v5 used to re-render the whole form every time a change happened.
Maybe this is the reason? I haven't done much redux-form v5 debugging (when I started using/contributing to it, v6 was out already), so I can't really help beyond this, I'm afraid.

Thanks for the help. let me take a look.

repo: erikras/redux-form


text:
Using Economy GUI bug

Describe the bug
All is good but whenever we tryna add vault/essential money into the trade by clicking the Golden Nugget it makes the GUI disappear somehow. And whenever i try to make a new custom layout when i try to select two custom blocks for the economy icon it just wont let me select two, it just switches the to the recent next block i select.
To Reproduce
Download 2.6.2 or 2.6.1 version of plugin and Minecraft server was on 1.20.1 ver. Trade with a buddy with the custom layout of essential/vault. Select the golden nugget then poof GUI is gone.
The other one,
Go and make a custom layout try to put blocks u chose to be the icon for the vault/essential icon and try to select two of them
and see for yourself if you can actually try to. For me it doesn't work it just switches from block a to block b.
Expected behavior
Be able to add money into the trade with the custom lay out and the default layout without the GUI closing
Be able to finish the layout by selecting the two chosen blocks for the economy icons.
Discord contact: hiteroza11

I've been on searching this is the same issue with #530

repo: erikzimmermann/TradeSystem


text:
mac os crash fix

mac os crash fix

mac os crash fix

Please read here about running in xcode:
https://github.com/erincatto/Box2D/blob/master/Building.md

yes , i use 'premake5 xcode4'
Can you tag the new version and support the latest podfile

Did you follow these steps:
"Edit the Testbed Scheme, in the Run Options, use a custom working directory
Set the Testbed directory as the working directory"

sorry, Forget to set options

Can you tag the new version and support the latest podfile?

Now the Xcode version is 10.1. You use 4. Do you want to change this piece?


text:
Update configmaps of dashboards

Update configmaps of dashboards
Update configmaps of dashboards

Pull Request Test Coverage Report for Build 1000698046

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.404%

Totals

Change from base Build 1000696103:
0.0%

Covered Lines:
3033

Relevant Lines:
4308

💛  - Coveralls

authors: coveralls erkanerol


text:
「评论」brpc的基本介绍

页面：https://erlangtui.top/pages/cacbc3/

good

repo: erlangtui/my-blogs


text:
How to run vmq_mzbench ?

I have installed mzbench and vmq_mzbench , I start mzbench first ,then I just copy vmq_mzbench/sample.scenario to mzbench/examples/mqtt.erl  , Then I excute command ' ./bin/mzbench run examples/mqtt.erl  ' , but nothing happened , I got the log: 06:16:24.919 [info] [ API ] <0.253.0> Node repo: {git_install_spec,
"https://github.com/machinezone/mzbench.git",
"c5705ba5b73cec07522faa77a2f45d8d50ae7171",
"node",[]}
06:16:24.920 [info] [ API ] <0.253.0> Stage 'pipeline - init': started
06:16:24.921 [info] [ API ] <0.257.0> Starting benchmark at 1461305784 #{benchmark_name => "mqtt.erl",
cloud => undefined,
deallocate_after_bench => true,
director_host => undefined,
emulate_bench_crash => false,
env => [{<<"mzb_script_name">>,
<<"mqtt.erl">>}],
exclusive_node_usage => true,
id => 0,
initial_user => "root",
log_compression => deflate,
log_file => "log.txt",
metric_update_interval_ms => 10000,
metrics_compression => none,
metrics_file => "metrics_~s.txt",
node_install_spec => {git_install_spec,"https://github.com/machinezone/mzbench.git",
"c5705ba5b73cec07522faa77a2f45d8d50ae7171",
"node",
[]},
node_log_port => 4801,
node_management_port => 4802,
nodes_arg => 1,
provision_nodes => true,
purpose => "bench-0-1461305784",
req_host => <<"localhost:4800">>,
script => #{body => <<"%% Here's a stupid, quick example to give you an idea.\n%% Paste this to the scenario field in MZBench web frontend and\n%% run it.\n\n[\n{make_install, [{rsync, "/root/vernemq/vmq_mzbench"},\n{exclude, "deps"}]},\n\n{pool, [{size, {numvar, "publisher-number", 10000}},\n    {worker_type, mqtt_worker},\n    {worker_start, {linear, {{numvar, "publisher-rps", 20}, rps}}}\n], \n[\n     {connect, [{t, host, "172.16.38.164"},\n                {t, port, 1883},\n                {t, client, {random_client_id, 18}},\n                {t, clean_session, false},\n                {t, keepalive_interval, 60}]},\n{wait, {5, sec}},\n\n{loop, [\n       {time, {30, sec}},\n       {rate, {2, rps}}\n],\n[\n{publish, "testtopic", <<"hello from vmq_mzbench">>, 0}\n]}]},\n\n{pool, [{size, 1},\n{worker_type, mqtt_worker}], [\n{connect, [{t, host, "172.16.38.164"},\n\t{t, port, 1883},\n\t{t, client, "sub2"},\n\t{t, clean_session, true},\n\t{t, keepalive_interval, 60}\n]},\n{wait, {1, sec}},\n{subscribe, "testtopic", 0}\n]}\n].\n">>,
filename => "E365C8742D2375E3CB10AE7B78DD4362F1D6499.erl",
name => "mqtt.erl"},
vm_args => [],
worker_hosts => []}
06:16:24.925 [info] [ API ] <0.253.0> Stage 'pipeline - init': finished
06:16:24.925 [info] [ API ] <0.253.0> Stage 'pipeline - checking_script': started
06:16:24.967 [info] [ API ] <0.253.0> Stage 'pipeline - checking_script': finished
06:16:24.967 [info] [ API ] <0.253.0> Stage 'pipeline - allocating_hosts': started
06:16:24.968 [info] [ API ] <0.261.0> Allocating 2 hosts in undefined cloud...
06:16:24.968 [info] [ API ] <0.261.0> Allocated hosts: [undefined] @ ["localhost"]
06:16:24.969 [info] [ API ] <0.253.0> Stage 'pipeline - allocating_hosts': finished
06:16:24.969 [info] [ API ] <0.253.0> Stage 'pipeline - provisioning': started
06:16:24.978 [info] [ API ] <0.262.0> Provisioning nodes: ["localhost"]
With config: #{benchmark_name => "mqtt.erl",
cloud => undefined,
deallocate_after_bench => true,
director_host => "localhost",
emulate_bench_crash => false,
env => [{<<"mzb_script_name">>,<<"mqtt.erl">>}],
exclusive_node_usage => true,
id => 0,
initial_user => "root",
log_compression => deflate,
log_file => "log.txt",
metric_update_interval_ms => 10000,
metrics_compression => none,
metrics_file => "metrics_~s.txt",
node_install_spec => {git_install_spec,"https://github.com/machinezone/mzbench.git",
"c5705ba5b73cec07522faa77a2f45d8d50ae7171",
"node",[]},
node_log_port => 4801,
node_management_port => 4802,
nodes_arg => 1,
provision_nodes => true,
purpose => "bench-0-1461305784",
req_host => <<"localhost:4800">>,
script => #{body => <<"%% Here's a stupid, quick example to give you an idea.\n%% Paste this to the scenario field in MZBench web frontend and\n%% run it.\n\n[\n{make_install, [{rsync, "/root/vernemq/vmq_mzbench"},\n{exclude, "deps"}]},\n\n{pool, [{size, {numvar, "publisher-number", 10000}},\n    {worker_type, mqtt_worker},\n    {worker_start, {linear, {{numvar, "publisher-rps", 20}, rps}}}\n], \n[\n     {connect, [{t, host, "172.16.38.164"},\n                {t, port, 1883},\n                {t, client, {random_client_id, 18}},\n                {t, clean_session, false},\n                {t, keepalive_interval, 60}]},\n{wait, {5, sec}},\n\n{loop, [\n       {time, {30, sec}},\n       {rate, {2, rps}}\n],\n[\n{publish, "testtopic", <<"hello from vmq_mzbench">>, 0}\n]}]},\n\n{pool, [{size, 1},\n{worker_type, mqtt_worker}], [\n{connect, [{t, host, "172.16.38.164"},\n\t{t, port, 1883},\n\t{t, client, "sub2"},\n\t{t, clean_session, true},\n\t{t, keepalive_interval, 60}\n]},\n{wait, {1, sec}},\n{subscribe, "testtopic", 0}\n]}\n].\n">>,
filename => "E365C8742D2375E3CB10AE7B78DD4362F1D6499.erl",
name => "mqtt.erl"},
user_name => undefined,
vm_args => [],
worker_hosts => []}
06:16:24.979 [info] [ API ] <0.262.0> [ MKDIR ] /tmp/mz/bench-0-1461305784
06:16:24.980 [info] [ API ] <0.262.0> There's only one host, no need to make ntp check
06:16:24.980 [info] [ API ] <0.262.0> NTP check result: ok
06:16:24.988 [info] [ API ] <0.263.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;ps -ef | grep beam | grep -v grep | grep -v mzbench_api && ~/.local/share/mzbench/bin/mzbench stop; true " (<0.263.0>)
06:16:25.262 [info] [ API ] <0.263.0> [ EXEC ] OK in 273.912 ms (<0.263.0>)
06:16:25.266 [info] [ API ] <0.265.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;uname -sr " (<0.265.0>)
06:16:25.520 [info] [ API ] <0.265.0> [ EXEC ] OK in 253.692 ms (<0.265.0>)
06:16:25.521 [info] [ API ] <0.266.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;erl -noshell -eval 'io:fwrite("~s", [erlang:system_info(version)]).' -s erlang halt " (<0.266.0>)
06:16:26.391 [info] [ API ] <0.266.0> [ EXEC ] OK in 870.795 ms (<0.266.0>)
06:16:26.395 [info] [ API ] <0.262.0> Missing tarballs: [{"linux-3.10.0-229.el7.x86_64_erts-7.3",
"/root/.local/cache/mzbench_api/packages/node-c5705ba5b73cec07522faa77a2f45d8d50ae7171-linux-3.10.0-229.el7.x86_64_erts-7.3.tgz"}]
06:16:26.395 [info] [ API ] <0.267.0> Building package node on localhost
06:16:26.396 [info] [ API ] <0.268.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395878 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395878 && git clone https://github.com/machinezone/mzbench.git deployment_code && cd deployment_code && git checkout c5705ba5b73cec07522faa77a2f45d8d50ae7171 && cd ./node && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395511.tgz " (<0.268.0>)
06:24:29.905 [info] [ API ] <0.268.0> [ EXEC ] OK in 483509.609 ms (<0.268.0>)
06:24:29.907 [info] [ API ] <0.267.0> Downloading package node from localhost
06:24:29.907 [info] [ API ] <0.267.0> [ COPY ] /root/.local/cache/mzbench_api/packages/node-c5705ba5b73cec07522faa77a2f45d8d50ae7171-linux-3.10.0-229.el7.x86_64_erts-7.3.tgz <- /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395511.tgz
06:24:29.937 [info] [ API ] <0.445.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395576 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395576 && tar xzf /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395511.tgz " (<0.445.0>)
06:24:30.455 [info] [ API ] <0.445.0> [ EXEC ] OK in 517.022 ms (<0.445.0>)
06:24:30.455 [info] [ API ] <0.446.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p ~/.local/share && rsync -aW /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395576/ ~/.local/share " (<0.446.0>)
06:24:31.559 [info] [ API ] <0.446.0> [ EXEC ] OK in 1103.804 ms (<0.446.0>)
06:24:31.560 [info] [ API ] <0.447.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395511.tgz; rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_305786_395576; true " (<0.447.0>)
06:24:31.876 [info] [ API ] <0.447.0> [ EXEC ] OK in 316.419 ms (<0.447.0>)
06:24:31.883 [info] [ API ] <0.449.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;uname -sr " (<0.449.0>)
06:24:32.136 [info] [ API ] <0.449.0> [ EXEC ] OK in 252.766 ms (<0.449.0>)
06:24:32.136 [info] [ API ] <0.450.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;erl -noshell -eval 'io:fwrite("~s", [erlang:system_info(version)]).' -s erlang halt " (<0.450.0>)
06:24:33.006 [info] [ API ] <0.450.0> [ EXEC ] OK in 869.997 ms (<0.450.0>)
06:24:33.007 [info] [ API ] <0.262.0> Missing tarballs: [{"linux-3.10.0-229.el7.x86_64_erts-7.3",
"/root/.local/cache/mzbench_api/packages/vmq_mzbench-1461.306271.883036-linux-3.10.0-229.el7.x86_64_erts-7.3.tgz"}]
06:24:33.008 [info] [ API ] <0.452.0> Building package vmq_mzbench on localhost
06:24:33.008 [info] [ API ] <0.453.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8274 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8274 && rsync -aW  /root/vernemq/vmq_mzbench deployment_code && cd deployment_code/ && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_7947.tgz " (<0.453.0>)
06:24:33.412 [error] [ API ] <0.453.0> [ EXEC ] Command execution failed in 403.987 ms
Cmd: bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8274 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8274 && rsync -aW  /root/vernemq/vmq_mzbench deployment_code && cd deployment_code/ && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_7947.tgz "
Exit code: 2
Output: make: *** No rule to make target `generate_tgz'.  Stop.
06:24:33.413 [info] [ API ] <0.454.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_7947.tgz; rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8011; true " (<0.454.0>)
06:24:33.670 [info] [ API ] <0.454.0> [ EXEC ] OK in 257.413 ms (<0.454.0>)
06:24:33.671 [error] [ API ] <0.253.0> Stage 'pipeline - provisioning': failed
Command returned 2:
bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8274 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_8274 && rsync -aW  /root/vernemq/vmq_mzbench deployment_code && cd deployment_code/ && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_306273_7947.tgz "
Command output: make: *** No rule to make target `generate_tgz'.  Stop.
06:24:33.672 [info] [ API ] <0.253.0> Bench final: failed
06:24:33.672 [info] [ API ] <0.253.0> Stage 'finalize - saving_bench_results': started
06:24:33.673 [info] [ API ] <0.253.0> Stage 'finalize - saving_bench_results': finished
06:24:33.673 [info] [ API ] <0.253.0> Stage 'finalize - sending_email_report': started
06:24:33.688 [info] [ API ] <0.253.0> Stage 'finalize - sending_email_report': finished
06:24:33.688 [info] [ API ] <0.253.0> Stage 'finalize - stopping_collectors': started
06:24:33.688 [info] [ API ] <0.253.0> Stage 'finalize - stopping_collectors': finished
06:24:33.688 [info] [ API ] <0.253.0> Stage 'finalize - cleaning_nodes': started
06:24:33.689 [info] [ API ] <0.459.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;cd /tmp/mz/bench-0-1461305784; ~/.local/share/mzbench/bin/mzbench stop; true " (<0.459.0>)
06:24:35.269 [info] [ API ] <0.459.0> [ EXEC ] OK in 1579.866 ms (<0.459.0>)
06:24:35.269 [info] [ API ] <0.460.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;rm -rf /tmp/mz/bench-0-1461305784 " (<0.460.0>)
06:24:35.524 [info] [ API ] <0.460.0> [ EXEC ] OK in 255.056 ms (<0.460.0>)
06:24:35.525 [info] [ API ] <0.253.0> Stage 'finalize - cleaning_nodes': finished
06:24:35.525 [info] [ API ] <0.253.0> Stage 'finalize - deallocating_hosts': started
06:24:35.525 [info] [ API ] <0.461.0> Deallocator has started
06:24:35.525 [info] [ API ] <0.253.0> Stage 'finalize - deallocating_hosts': finished
how should I do to run the vmq_mzbench？

Hi there :) thanks...can you try adding a trailing slash to the rsync path in the scenario file? in your case, the path should probably be /root/vernemq/vmq_mzbench/

Thank you for reply ! yes, I save the vmq_mzbench and mzbench in the same path /root/vernemq ,

%% Here's a stupid, quick example to give you an idea.
%% Paste this to the scenario field in MZBench web frontend and
%% run it.
[
{make_install, [{rsync, "/root/vernemq/vmq_mzbench"},
{exclude, "deps"}]},
{pool, [{size, {numvar, "publisher-number", 100}},
{worker_type, mqtt_worker},
{worker_start, {linear, {{numvar, "publisher-rps", 20}, rps}}}
],
[
{connect, [{t, host, "172.16.38.164"},
{t, port, 1883},
{t, client, {random_client_id, 18}},
{t, clean_session, false},
{t, keepalive_interval, 60}]},
{wait, {5, sec}},
{loop, [
{time, {30, sec}},
{rate, {2, rps}}
.....

Oh ,I just notice the comment ,I paste this to the scenario field in MZBench web frontend and run it ,It is Ok;

Graphs
Oh snap! This bench has not recordered any metrics. See Logs for the additional information.
%% Here's a stupid, quick example to give you an idea.
%% Paste this to the scenario field in MZBench web frontend and
%% run it.
[
{make_install, [{rsync, "/root/vernemq/vmq_mzbench"},
{exclude, "deps"}]},
{pool, [{size, {numvar, "publisher-number", 100}},
{worker_type, mqtt_worker},
{worker_start, {linear, {{numvar, "publisher-rps", 20}, rps}}}
],
[
{connect, [{t, host, "172.16.38.166"},
{t, port, 1883},
{t, client, {random_client_id, 18}},
{t, clean_session, false},
{t, keepalive_interval, 60}]},
{wait, {5, sec}},
{loop, [
{time, {30, sec}},
{rate, {2, rps}}
],
[
{publish, "testtopic", <<"hello from vmq_mzbench">>, 0}
]}]},
{pool, [{size, 1},
{worker_type, mqtt_worker}], [
{connect, [{t, host, "172.16.38.166"},
{t, port, 1883},
{t, client, "sub2"},
{t, clean_session, true},
{t, keepalive_interval, 60}
]},
{wait, {1, sec}},
{subscribe, "testtopic", 0}
]}
].
07:33:02.439 [info] [ API ] <0.1215.0> Node repo: {git_install_spec,
"https://github.com/machinezone/mzbench.git",
"c5705ba5b73cec07522faa77a2f45d8d50ae7171",
"node",[]}
07:33:02.440 [info] [ API ] <0.1215.0> Stage 'pipeline - init': started
07:33:02.441 [info] [ API ] <0.1218.0> Starting benchmark at 1461310382 #{benchmark_name => "Something",
cloud => local,
deallocate_after_bench => true,
director_host => undefined,
emulate_bench_crash => false,
env => [{<<"mzb_script_name">>,
<<"generic.erl">>}],
exclusive_node_usage => true,
id => 6,
initial_user => "root",
log_compression => deflate,
log_file => "log.txt",
metric_update_interval_ms => 10000,
metrics_compression => none,
metrics_file => "metrics_~s.txt",
node_install_spec => {git_install_spec,"https://github.com/machinezone/mzbench.git",
"c5705ba5b73cec07522faa77a2f45d8d50ae7171",
"node",
[]},
node_log_port => 4801,
node_management_port => 4802,
nodes_arg => 1,
provision_nodes => true,
purpose => "bench-6-1461310382",
req_host => <<"172.16.38.170:4800">>,
script => #{body => <<"%% Here's a stupid, quick example to give you an idea.\n%% Paste this to the scenario field in MZBench web frontend and\n%% run it.\n\n[\n{make_install, [{rsync, "/root/vernemq/vmq_mzbench"},\n{exclude, "deps"}]},\n\n{pool, [{size, {numvar, "publisher-number", 100}},\n    {worker_type, mqtt_worker},\n    {worker_start, {linear, {{numvar, "publisher-rps", 20}, rps}}}\n],\n[\n     {connect, [{t, host, "172.16.38.166"},\n                {t, port, 1883},\n                {t, client, {random_client_id, 18}},\n                {t, clean_session, false},\n                {t, keepalive_interval, 60}]},\n{wait, {5, sec}},\n\n{loop, [\n       {time, {30, sec}},\n       {rate, {2, rps}}\n],\n[\n{publish, "testtopic", <<"hello from vmq_mzbench">>, 0}\n]}]},\n\n{pool, [{size, 1},\n{worker_type, mqtt_worker}], [\n{connect, [{t, host, "172.16.38.166"},\n        {t, port, 1883},\n        {t, client, "sub2"},\n        {t, clean_session, true},\n        {t, keepalive_interval, 60}\n]},\n{wait, {1, sec}},\n{subscribe, "testtopic", 0}\n]}\n].">>,
filename => "E2A560EC94CE21C9E0C12C38A5BFD16CE52D5133.erl",
name => "generic.erl"},
vm_args => [],
worker_hosts => []}
07:33:02.442 [info] [ API ] <0.1215.0> Stage 'pipeline - init': finished
07:33:02.443 [info] [ API ] <0.1215.0> Stage 'pipeline - checking_script': started
07:33:02.444 [info] [ API ] <0.1215.0> Stage 'pipeline - checking_script': finished
07:33:02.444 [info] [ API ] <0.1215.0> Stage 'pipeline - allocating_hosts': started
07:33:02.445 [info] [ API ] <0.1220.0> Allocating 2 hosts in local cloud...
07:33:02.445 [info] [ API ] <0.1220.0> Allocated hosts: [undefined] @ ["localhost"]
07:33:02.446 [info] [ API ] <0.1215.0> Stage 'pipeline - allocating_hosts': finished
07:33:02.446 [info] [ API ] <0.1215.0> Stage 'pipeline - provisioning': started
07:33:02.447 [info] [ API ] <0.1221.0> Provisioning nodes: ["localhost"]
With config: #{benchmark_name => "Something",
cloud => local,
deallocate_after_bench => true,
director_host => "localhost",
emulate_bench_crash => false,
env => [{<<"mzb_script_name">>,<<"generic.erl">>}],
exclusive_node_usage => true,
id => 6,
initial_user => "root",
log_compression => deflate,
log_file => "log.txt",
metric_update_interval_ms => 10000,
metrics_compression => none,
metrics_file => "metrics_~s.txt",
node_install_spec => {git_install_spec,"https://github.com/machinezone/mzbench.git",
"c5705ba5b73cec07522faa77a2f45d8d50ae7171",
"node",[]},
node_log_port => 4801,
node_management_port => 4802,
nodes_arg => 1,
provision_nodes => true,
purpose => "bench-6-1461310382",
req_host => <<"172.16.38.170:4800">>,
script => #{body => <<"%% Here's a stupid, quick example to give you an idea.\n%% Paste this to the scenario field in MZBench web frontend and\n%% run it.\n\n[\n{make_install, [{rsync, "/root/vernemq/vmq_mzbench"},\n{exclude, "deps"}]},\n\n{pool, [{size, {numvar, "publisher-number", 100}},\n    {worker_type, mqtt_worker},\n    {worker_start, {linear, {{numvar, "publisher-rps", 20}, rps}}}\n],\n[\n     {connect, [{t, host, "172.16.38.166"},\n                {t, port, 1883},\n                {t, client, {random_client_id, 18}},\n                {t, clean_session, false},\n                {t, keepalive_interval, 60}]},\n{wait, {5, sec}},\n\n{loop, [\n       {time, {30, sec}},\n       {rate, {2, rps}}\n],\n[\n{publish, "testtopic", <<"hello from vmq_mzbench">>, 0}\n]}]},\n\n{pool, [{size, 1},\n{worker_type, mqtt_worker}], [\n{connect, [{t, host, "172.16.38.166"},\n        {t, port, 1883},\n        {t, client, "sub2"},\n        {t, clean_session, true},\n        {t, keepalive_interval, 60}\n]},\n{wait, {1, sec}},\n{subscribe, "testtopic", 0}\n]}\n].">>,
filename => "E2A560EC94CE21C9E0C12C38A5BFD16CE52D5133.erl",
name => "generic.erl"},
user_name => undefined,
vm_args => [],
worker_hosts => []}
07:33:02.448 [info] [ API ] <0.1221.0> [ MKDIR ] /tmp/mz/bench-6-1461310382
07:33:02.449 [info] [ API ] <0.1221.0> There's only one host, no need to make ntp check
07:33:02.449 [info] [ API ] <0.1221.0> NTP check result: ok
07:33:02.449 [info] [ API ] <0.1222.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;ps -ef | grep beam | grep -v grep | grep -v mzbench_api && ~/.local/share/mzbench/bin/mzbench stop; true " (<0.1222.0>)
07:33:02.721 [info] [ API ] <0.1222.0> [ EXEC ] OK in 271.681 ms (<0.1222.0>)
07:33:02.722 [info] [ API ] <0.1224.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;uname -sr " (<0.1224.0>)
07:33:02.969 [info] [ API ] <0.1224.0> [ EXEC ] OK in 247.376 ms (<0.1224.0>)
07:33:02.969 [info] [ API ] <0.1225.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;erl -noshell -eval 'io:fwrite("~s", [erlang:system_info(version)]).' -s erlang halt " (<0.1225.0>)
07:33:03.832 [info] [ API ] <0.1225.0> [ EXEC ] OK in 862.838 ms (<0.1225.0>)
07:33:03.833 [info] [ API ] <0.1221.0> Missing tarballs: []
07:33:03.833 [info] [ API ] <0.1226.0> Uploading package node to localhost
07:33:03.834 [info] [ API ] <0.1227.0> [ COPY ] /root/.local/cache/mzbench_api/packages/node-c5705ba5b73cec07522faa77a2f45d8d50ae7171-linux-3.10.0-229.el7.x86_64_erts-7.3.tgz -> /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833668.tgz
07:33:03.904 [info] [ API ] <0.1228.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833738 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833738 && tar xzf /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833668.tgz " (<0.1228.0>)
07:33:04.865 [info] [ API ] <0.1228.0> [ EXEC ] OK in 961.092 ms (<0.1228.0>)
07:33:04.865 [info] [ API ] <0.1229.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p ~/.local/share && rsync -aW /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833738/ ~/.local/share " (<0.1229.0>)
07:33:05.153 [info] [ API ] <0.1229.0> [ EXEC ] OK in 288.05 ms (<0.1229.0>)
07:33:05.154 [info] [ API ] <0.1230.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833668.tgz; rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_310383_833738; true " (<0.1230.0>)
07:33:05.468 [info] [ API ] <0.1230.0> [ EXEC ] OK in 314.075 ms (<0.1230.0>)
07:33:05.470 [info] [ API ] <0.1232.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;uname -sr " (<0.1232.0>)
07:33:05.713 [info] [ API ] <0.1232.0> [ EXEC ] OK in 243.207 ms (<0.1232.0>)
07:33:05.714 [info] [ API ] <0.1233.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;erl -noshell -eval 'io:fwrite("~s", [erlang:system_info(version)]).' -s erlang halt " (<0.1233.0>)
07:33:06.552 [info] [ API ] <0.1233.0> [ EXEC ] OK in 838.396 ms (<0.1233.0>)
07:33:06.553 [info] [ API ] <0.1221.0> Missing tarballs: [{"linux-3.10.0-229.el7.x86_64_erts-7.3",
"/root/.local/cache/mzbench_api/packages/vmq_mzbench-1461.310385.469955-linux-3.10.0-229.el7.x86_64_erts-7.3.tgz"}]
07:33:06.554 [info] [ API ] <0.1234.0> Building package vmq_mzbench on localhost
07:33:06.554 [info] [ API ] <0.1235.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554465 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554465 && rsync -aW  /root/vernemq/vmq_mzbench deployment_code && cd deployment_code/ && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554045.tgz " (<0.1235.0>)
07:33:06.967 [error] [ API ] <0.1235.0> [ EXEC ] Command execution failed in 412.88 ms
Cmd: bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554465 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554465 && rsync -aW  /root/vernemq/vmq_mzbench deployment_code && cd deployment_code/ && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554045.tgz "
Exit code: 2
Output: make: *** No rule to make target `generate_tgz'.  Stop.
07:33:06.968 [info] [ API ] <0.1236.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554045.tgz; rm -rf /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554112; true " (<0.1236.0>)
07:33:07.218 [info] [ API ] <0.1236.0> [ EXEC ] OK in 249.947 ms (<0.1236.0>)
07:33:07.219 [error] [ API ] <0.1215.0> Stage 'pipeline - provisioning': failed
Command returned 2:
bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;mkdir -p /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554465 && cd /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554465 && rsync -aW  /root/vernemq/vmq_mzbench deployment_code && cd deployment_code/ && make generate_tgz && mv *.tgz /tmp/bench_mzbench_api_cs_ytch-web2_1461_310386_554045.tgz "
Command output: make: *** No rule to make target `generate_tgz'.  Stop.
07:33:07.219 [info] [ API ] <0.1215.0> Bench final: failed
07:33:07.220 [info] [ API ] <0.1215.0> Stage 'finalize - saving_bench_results': started
07:33:07.220 [info] [ API ] <0.1215.0> Stage 'finalize - saving_bench_results': finished
07:33:07.220 [info] [ API ] <0.1215.0> Stage 'finalize - sending_email_report': started
07:33:07.221 [info] [ API ] <0.1215.0> Stage 'finalize - sending_email_report': finished
07:33:07.222 [info] [ API ] <0.1215.0> Stage 'finalize - stopping_collectors': started
07:33:07.222 [info] [ API ] <0.1215.0> Stage 'finalize - stopping_collectors': finished
07:33:07.222 [info] [ API ] <0.1215.0> Stage 'finalize - cleaning_nodes': started
07:33:07.223 [info] [ API ] <0.1241.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;cd /tmp/mz/bench-6-1461310382; ~/.local/share/mzbench/bin/mzbench stop; true " (<0.1241.0>)
07:33:08.781 [info] [ API ] <0.1241.0> [ EXEC ] OK in 1558.375 ms (<0.1241.0>)
07:33:08.782 [info] [ API ] <0.1242.0> [ EXEC ] bash -c "export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'; source /etc/profile;rm -rf /tmp/mz/bench-6-1461310382 " (<0.1242.0>)
07:33:09.030 [info] [ API ] <0.1242.0> [ EXEC ] OK in 248.286 ms (<0.1242.0>)
07:33:09.031 [info] [ API ] <0.1215.0> Stage 'finalize - cleaning_nodes': finished
07:33:09.031 [info] [ API ] <0.1215.0> Stage 'finalize - deallocating_hosts': started
07:33:09.031 [info] [ API ] <0.1243.0> Deallocator has started
07:33:09.032 [info] [ API ] <0.1215.0> Stage 'finalize - deallocating_hosts': finished

{make_install, [{rsync, "/root/vernemq/vmq_mzbench/"}, {exclude, "deps"}]},
observe the trailing slash I added here!

Thank you very mach ! I missed the last '/' in the path  .
There is another Issue ,after finish the test ,the vernemq server has so many connections status in 'CLOSE_WAIT'
"  netstat -an | grep 'CLOSE_WAIT' | wc -l "   ---> 782561
that make the new clients can hardly connect.

Very interesting, I don't see this here.
Question is, if this is related to some TCP configs on OS level.


text:
fixes #19

As mentioned at #5, we use signals without problems if we wait before the signals.

& Thank you :)

authors: eckucukoglu ioolkos


text:
Another case of "kotlin.NotImplementedError: An operation is not implemented: something went wrong"

Another case of "kotlin.NotImplementedError" with a simple JSON Schema, mixing "required" and "additionalProperties" (at different levels).
The JSON to validate contains "codeError" instead of "code" (3 times) in a 2 levels structure.
Tested with:

json-sKema 0.16.0
JDK 17

Exception content is:
Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: something went wrong: {
  "aaa": {
    "aaa1": {
      "codeERROR": "AAA1"
    },
    "aaa2": {
      "codeERROR": "AAA2"
    }
  },
  "bbb": {
    "codeERROR": "BBB"
  }
} vs {
  "aaa1": {
    "codeERROR": "AAA1"
  },
  "aaa2": {
    "codeERROR": "AAA2"
  }
}
	at com.github.erosb.jsonsKema.AggregatingValidationFailure.join$json_sKema(ValidationFailure.kt:67)
	at com.github.erosb.jsonsKema.DefaultValidator.accumulate(Validator.kt:720)
	at com.github.erosb.jsonsKema.DefaultValidator.accumulate(Validator.kt:165)
	at com.github.erosb.jsonsKema.SchemaVisitor.visitCompositeSchema(SchemaVisitor.kt:71)
	at com.github.erosb.jsonsKema.DefaultValidator.visitCompositeSchema(Validator.kt:271)
	at com.github.erosb.jsonsKema.DefaultValidator.visitCompositeSchema(Validator.kt:165)
	at com.github.erosb.jsonsKema.SchemaVisitor.internallyVisitCompositeSchema$json_sKema(SchemaVisitor.kt:55)
	at com.github.erosb.jsonsKema.CompositeSchema.accept(Schema.kt:26)
	at com.github.erosb.jsonsKema.DefaultValidator.validate(Validator.kt:258)
	at fdj.App.main(App.java:71)

Java program to show the issue:
import com.github.erosb.jsonsKema.*;

public class App
{
    public static void main( String[] args )
    {
        JsonValue schemaJson = new JsonParser("""
        {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "aaa": {
              "type": "object",
              "properties": {
                "aaa1": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "aaa2": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "required": [
                "aaa1",
                "aaa2"
              ]
            },
            "bbb": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        }
        """).parse();
        Schema schema = new SchemaLoader(schemaJson).load();
        Validator validator = Validator.forSchema(schema);
        JsonValue instance = new JsonParser("""
        {
            "aaa": {
                "aaa1": {
                    "codeERROR": "AAA1"
                },
                "aaa2": {
                    "codeERROR": "AAA2"
                }
            },
            "bbb": {
                "codeERROR": "BBB"
            }
        }
        """).parse();

        ValidationFailure failure = validator.validate(instance);
        System.out.println(failure);
    }
}

Thank you @humpfhumpf for the reproducer, very useful!

Thanks again @humpfhumpf , I released a bugfix in version 0.17.0 (already available on maven central).

authors: erosb humpfhumpf

repo: erosb/json-sKema


text:
ERROR (Downsampled list empty!):

Our testing setup utilizes the raw data provided. We found that each .tif file contains one frame and the downsampling expects multiple frames as it has a for loop to run through each of the frames in a .tif file. Clarification on the downsampling process or any potential configuration adjustments needed would be highly beneficial.
We are getting this "IndexError: cannot do a non-empty take from an empty axes."  which can be traced back to the downsample list being empty.
Output:
Loading config.json
Transformed paths in config file.
Making /data/output/04_atlas_alignment/collection/
HOOK:OVERALL:6
Masking
HOOK:1:6:0:717
2024-05-16 16:08:20.035569 : Defining downsampling folders
2024-05-16 16:08:20.035569 : Downsampling
2024-05-16 16:08:25.995693 : Saving downsampled stacks
Downsampled list empty!
C:\ProgramData\anaconda3\envs\DELIVR\lib\site-packages\tifffile\tifffile.py:2151: UserWarning: <tifffile.TiffWriter 'stack_resampled.tif'> writing zero-size array to nonconformant TIFF
warnings.warn(
Traceback (most recent call last):
File "main.py", line 95, in
downsample_mask(settings, brain)

File "[PATH NAME]\downsample_and_mask.py", line 671, in downsample_mask
downsampled_stack_8bit = histogram_equalization_8b(downsampled_stack)

File "[PATH NAME]\downsample_and_mask.py", line 571, in histogram_equalization_8b
minval = round(np.percentile(stack.ravel(),1))

File "<array_function internals>", line 200, in percentile
File "[PATH NAME]\function_base.py", line 4205, in percentile
return _quantile_unchecked(

File "[PATH NAME]\function_base.py", line 4473, in _quantile_unchecked
return _ureduce(a,

File "[PATH NAME]\function_base.py", line 3752, in _ureduce
r = func(a, **kwargs)

File "[PATH NAME]\function_base.py", line 4639, in _quantile_ureduce_func
result = _quantile(arr,

File "[PATH NAME]\function_base.py", line 4745, in _quantile
take(arr, indices=-1, axis=DATA_AXIS)

File "<array_function internals>", line 200, in take
File "[PATH NAME]\fromnumeric.py", line 190, in take
return _wrapfunc(a, 'take', indices, axis=axis, out=out, mode=mode)

File "[PATH NAME]\fromnumeric.py", line 57, in _wrapfunc
return bound(*args, **kwds)

IndexError: cannot do a non-empty take from an empty axes.

@cosmo71  Having similar issues when using the test dataset. Were you able to fix the issue? Any other advise??


text:
Can't embed video

Trying to embed a youtube video but I can't seem to get it to work when using ParsedownExtra. When using the HTML (embed html from YouTube), I'm getting:
DOMDocument::loadHTML(): Empty string supplied as input
I've also tried embedding using markdown but that doesn't produce the video at all. I'm fine using HTML to do it if there's a way to get around the error above.

Sometimes you need to strictly add two line break before and after the HTML block elements.

authors: keithslater taufik-nurrohman

repo: erusev/parsedown-extra


text:
-x exclude files or folders is not working

plato -d output -r ./*?/*  -e .eslintrc.json -t "NodeBB测试报告" -x 'node_modules'

Execute the above command， Still included node_modules, and then happend failed:

I can confirm this (win10 x64, node v6.7.0).

This : plato -r -d report src -e .eslintrc -x 'node_modules' works for me and exclude correctly node_modules folder.
(win10 x64, node v6.9.0, npm v3.10.8)

Exclude seems to expect a regex and fails to exclude correctly:
plato --recurse --dir ../plato-report  --jshint .jshintrc --exclude /*.spec.js$/ ./src
plato --recurse --dir ../plato-report  --jshint .jshintrc --exclude /.spec.js/ ./src
plato --recurse --dir ../plato-report  --jshint .jshintrc --exclude /spec.js$/ ./src
None of these exclude files ending with .spec.js despite being the correct syntax.

authors: anthonyvialleton baizn replete tech4him1

repo: es-analysis/plato


text:
approaching define-properties

In the module-replacement repo, define-properties is listed as a replaceable by Object.defineProperties.
After doing some investigating, there is considerable discrepancy between the two functions.
define-properties
const define = require('define-properties');
const assert = require('assert');

const res1 = define({ a: 1, b: 2 }, {
  a: 10,
  b: 20,
  c: 30
});

assert(res1.a === 1);
assert(res1.b === 2);
assert(res1.c === 30);

assert.deepEqual(Object.keys(res1), ['a', 'b']);
assert.deepEqual(Object.getOwnPropertyDescriptor(res1, 'c'), {
  configurable: true,
  enumerable: false,
  value: 30,
  writable: false
});

Object.defineProperties()
const obj = { a: 1, b: 2 };

const res1 = Object.defineProperties(obj, {
  a: {
    value: 10
  },
  b: { value: 20 },
  c: { value: 30, configurable: true }
});

assert(res1.a === 10);
assert(res1.b === 20);
assert(res1.c === 30);

assert.deepEqual(Object.keys(res1), ['a', 'b']);
assert.deepEqual(Object.getOwnPropertyDescriptor(res1, 'c'), {
  configurable: true,
  enumerable: false,
  value: 30,
  writable: false
});

There are a few things worth noting:

Both have different function signatures
If only values are provided to the second argument, the property descriptors in the results are not the same
By default, define-properties doesn't overwrite existing properties, whereas Object.defineProperties does.

In addition define-properties also allows a third argument, overwrite predicate functions, which does not exist at all for Object.defineProperties
This means that if we wanted to provide a codemod, we'd also need to include additional functionality. e.g., to identify existing properties and prevent overwrites, among other functionality.
What's next
So the questions are:

What's the precedence for this kind of situation? Do we only want to do simple transformations for these "replaceable" modules. Or we do want to migrate divergent behaviour?
What do we want to do specifically with define-properties? e.g., migrate to Object.defineProperties while also preventing overwrites by default? Do we want to support the overwrites predicate functions?

Bonus
Justin mentioned that we could take an iterative approach and only migrate in certain scenarios.
Full initial discussion is also in the thread
Resources

Initial discussion
Object.defineProperties
define-properties

I think it would make sense to take a look at the usecases of this package, to get a feel for what the most common usage of it is, and then codemod that. Perhaps we can then also implement some kind of additional logging with a link to a docs page that goes into some nuances of things/usecases that the codemod didnt handle. So then if somebody runs the codemod, and this particular codemod is applied, if they run into issues, they are aware that there are some edgecases and get a link to the docs.

Indeed, define-properties has nothing to do with Object.defineProperties, despite my many attempts to clarify that.
The intended use cases are to conditionally overwrite methods/properties based on whether the current engine needs the property overwritten (iow, whether it's missing or broken, for polyfills).
Use cases where the predicate is not provided can indeed be codemodded to use Object.defineProperties.
Use cases where the predicate is provided and the object is literally present in source code could be codemodded into multiple if statements, each using Object.defineProperty.

I see some usage out there of just the supportsDescriptors property. That should just be replaced with true, and ideally expressions that use it are simplified and unreachable branches are eliminated. I don't know if that's a bit much for a codemod.
Are there utilities out there to help with targeted dead-code elimination? I'd want that to only simplify code that depends on supportsDescriptors, not all code.

Additionally, any place that only depends on define-properties for the supportsDescriptors property should be updated to use require('has-property-descriptors')() anyways (which should be replaced with true for any engine support range in which that value is known to always be true).

I don't think that's necessary. People really don't need to support Chrome 4 and Node 0.9. Let's not encourage another dependency that's useless in 100% of practical cases.

You can choose what to encourage yourself and there's no need to argue that here; I'm just providing information to ensure correctness (note my parenthetical above which addresses your implied concern).

Thanks fellas for taking the time to contribute to the issue.
Here are the three main use cases for define-properties:
(my apologies if the following restates the obvious for the folks involved in this chat, I've re-spelled it out to get my ducks in a row and ensure that the next steps are clear)
1. Defining Properties
define(object, map)
This defines properties from map over to object without overwriting properties of the same name.
This could be codemodded, but would require a little bit additional logic. I'll open up a PR for this
2. Conditionally Defining Properties
define(object, map, predicates)
This defines properties from map over to object but only overwrites the existing property if the corresponding predicate function returns true.
3. Checking Descriptors Support
const supportsDescriptors = require('define-properties').supportDescriptors
A boolean flag that returns true if the environment supports defineProperty. We can codemod to true since this supportDescriptors would return false for ES3 and IE8 environments.
Next Steps

Codemod for supportsDescriptors and swap the boolean out for true.
Codemod for when define is used without as third argument
Codemod for when define is used with a third argument, but only add a comment that explains the problem, or links to a resource explaining the problem in greater depth (maybe even this GitHub issue)

@andrico1234 thanks; the readme is wrong and wasn't being tested. I've fixed the readme in https://github.com/ljharb/define-properties/commit/3c9a6da54291c6964d40e3691ab8301611994a15 and it's now tested to ensure it remains correct.

authors: andrico1234 justinfagnani ljharb thepassle

repo: es-tooling/module-replacements-codemods


text:
:broom: Remove deprecated rules

Both n/no-hide-core-modules and n/no-unsupported-features are deprecated.
We should probably look to remove those rules.
Participation

[X] I am willing to submit a pull request for this issue.

Shall we make a milestone for the next major release and plan it for then?

I think that would be good!
Let me know what should be done for these kinda things and I will get on it :grin:

It for sure has to be removed in a major version, so as soon as such PR is merged we are locked into shipping a new major
And common practice is to let a deprecated rule stay for a minimum amount of releases / time with proper alerts, in case that’s done then feel free to create a PR that clears it up + if you can, create a milestone to track next major (the latter thing is a personal preference of mine, the main maintainers of this package may not agree, but I see no harm in doing it)

That makes sense to me!
I know that the docs have said that they've been deprecated for a while.
no-hide-core-modules has been deprecated from v4.2.0
no-unsupported-features has been deprecated from v7.0.0
We're now on v16.3, I would hope that is enough time! :joy:

Sounds like it’s very much time 😂

Based on this comment (https://github.com/mysticatea/eslint-plugin-node/issues/69#issuecomment-285033910) I think we should actually consider not removing the no-hide-core-modules rule.
I can see both the use and validity of such problems.

authors: scagood voxpelli

repo: eslint-community/eslint-plugin-n


text:
Add safehelpline.mil

Found this: http://www.safehelpline.mil

Thanks for finding this and submitting it! In the future, new domains that aren't found by the scan need to get added to mil.csv, since dotmil-domains.csv is auto-generated by the scan. I'll add something to try to make this clear to the readme.

Can do!

authors: esonderegger konklone

repo: esonderegger/dotmil-domains


text:
thread::yield_now() does not yield

This causes WDT timeout on ESP32.
thread::Builder::new()
    .name("yield".to_string())
    .spawn(move || loop {
        std::thread::yield_now();

        // also does not work
        // unsafe { esp_idf_sys::vTaskDelay(0) };

        // but this works
        // unsafe { esp_idf_sys::vTaskDelay(1) };
    })
    .unwrap();

It is somewhat related to https://github.com/esp-rs/esp-idf-sys/issues/66

Excellent point. I will close it.

repo: esp-rs/esp-idf-sys