vernemq can't start after changed the nodename

I want to make vernemq cluster, but when I change the nodename, vernemq can't start. Terminal monitor says "vernemq failed to start within 15 seconds"
I change nodename in vernemq.conf
thnks for your reply

Hello @adityaalviori
This is a classic gotcha: you have to change node names before creating a cluster.
To keep the cluster, make the node leave the cluster, change the name, and then re-join the cluster.
The reason for this is that cluster nodes save nodenames as metadata. From their perspective a known node is gone. They cannot know that you just wanted to rename that same node.
The simplest way is always to fix the nodenames before creating clusters (the important thing is that they are unique within the cluster, the rest (like IP etc) doesn't really matter.

Thnks for your reply @ioolkos
Ya, i change the nodename before cluster
But my vernemq couldnt start
I tried to make a default name after i changed it
The vernemq still cant start
Before i changed the nodename, vernemq works normally
Thnks for your reply

Have you been able to resolve this in the mean time? if not, feel free to add more details.

hi @ioolkos
i am sorry, my english not good enough
my problems, didnt resolved
when i run vernemq console, terminal display it
config is OK
-config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.17.54.config -args_file /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.17.54.args -vm_args /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.17.54.args
!!!!
!!!! WARNING: ulimit -n is 1024; 65536 is the recommended minimum.
!!!!
Exec:  /usr/lib/vernemq/erts-7.3/bin/erlexec -boot /usr/lib/vernemq/releases/0.13.1/vernemq               -config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.17.54.config -args_file /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.17.54.args -vm_args /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.17.54.args              -pa /usr/lib/vernemq/lib/erlio-patches -- console
Root: /usr/lib/vernemq
{error_logger,{{2016,8,5},{9,17,55}},"Protocol: ~tp: the name<EMAIL_ADDRESS>seems to be in use by another Erlang node",["inet_tcp"]}
{error_logger,{{2016,8,5},{9,17,55}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.23.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,344}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}},{ancestors,[net_sup,kernel_sup,<0.10.0>]},{messages,[]},{links,[#Port<0.502>,<0.20.0>]},{dictionary,[{longnames,true}]},{trap_exit,true},{status,running},{heap_size,376},{stack_size,27},{reductions,830}],[]]}
{error_logger,{{2016,8,5},{9,17,55}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{id,net_kernel},{mfargs,{net_kernel,start_link,[['VerneMQ@<IP_ADDRESS>',longnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2016,8,5},{9,17,55}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}},{offender,[{pid,undefined},{id,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2016,8,5},{9,17,55}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.9.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]}},{ancestors,[<0.8.0>]},{messages,[{'EXIT',<0.10.0>,normal}]},{links,[<0.8.0>,<0.7.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,376},{stack_size,27},{reductions,164}],[]]}
{error_logger,{{2016,8,5},{9,17,55}},std_info,[{application,kernel},{exited,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}}"}
Crash dump is being written to: /erl_crash.dump...Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{k
i didnt understand about this display
thnks for your reply

{error_logger,{{2016,8,5},{9,17,55}},"Protocol: ~tp: the name<EMAIL_ADDRESS>seems to be in use by another Erlang node",["inet_tcp"]}

You really need unique nodenames<EMAIL_ADDRESS>and<EMAIL_ADDRESS>for example.
Do you maybe have a node running that you are not aware of? (look at 'ps' and grep for beam)
It seems you have VerneMQ installed from a package. Note that you cannot just start multiple VerneMQ nodes from multiple shells like that.

i did ps -ef | grep vernemq and terminal displayed that
vernemq  13038     1  0 Jul27 ?        00:00:11 /usr/lib/vernemq/erts-7.3/bin/epmd -daemon
root     26691 26657  0 18:01 pts/0    00:00:00 grep --color=auto vernemq
vernemq  31323     1  0 Jul28 ?        00:00:00 /usr/lib/vernemq/erts-7.3/bin/run_erl -daemon /tmp/vernemq// /var/log/vernemq exec /usr/sbin/vernemq console
vernemq  31324 31323  0 Jul28 pts/2    00:31:50 /usr/lib/vernemq/erts-7.3/bin/beam.smp -P 256000 -A 64 -K true -W w -- -root /usr/lib/vernemq -progname vernemq -- -home /var/lib/vernemq -- -boot /usr/lib/vernemq/releases/0.13.1/vernemq -config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.04.49.config -setcookie vmq -name<EMAIL_ADDRESS>-smp enable -vm_args /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.04.49.args -pa /usr/lib/vernemq/lib/erlio-patches -- console
vernemq  31634 31324  0 Jul28 ?        00:00:00 sh -s disksup
vernemq  31636 31324  0 Jul28 ?        00:00:04 /usr/lib/vernemq/lib/os_mon-2.4/priv/bin/memsup
vernemq  31637 31324  0 Jul28 ?        00:01:38 /usr/lib/vernemq/lib/os_mon-2.4/priv/bin/cpu_sup
should i kill the vernemq process??
thnks for your reply

Sure, take it down & retry to start.

thnks for your help @ioolkos
vernemq can start now
but i had problem when i try to publish message to broker
i using mqttfx application to publish message to broker, mqttfx can connect to the broker, but cant publish, because connection was reset by broker
this is my vernemq.conf
Allow anonymous users to connect, default is 'off'

Default: off

Acceptable values:
- on or off
allow_anonymous = on
Allow operation even when a VerneMQ cluster is inconsistent,
by removing consistency checks while registering new
clients or subscribing/unsubscribing from topics

Default: off

Acceptable values:
- on or off
trade_consistency = off
Allows a client to logon multiple times using the same client id
(non-standard behaviour!).

Default: off

Acceptable values:
- on or off
allow_multiple_sessions = off
Set the time in seconds VerneMQ waits before a retry, in case a (QoS=1 or QoS=2) message
delivery gets no answer.

Default: 20

Acceptable values:
- an integer
retry_interval = 20
Set the maximum size for client IDs. MQTT v3.1 specifies a
limit of 23 characters

Default: 23

Acceptable values:
- an integer
max_client_id_size = 23
This option allows persistent clients ( = clean session set to
false) to be removed if they do not reconnect within 'persistent_client_expiration'.
This is a non-standard option. As far as the MQTT specification is concerned,
persistent clients persist forever.
The expiration period should be an integer followed by one of 'd', 'w', 'm', 'y' for
day, week, month, and year.

Default: never

Acceptable values:
- text
persistent_client_expiration = 1w
The maximum number of QoS 1 or 2 messages that can be in the process of being
transmitted simultaneously. This includes messages currently going through handshakes
and messages that are being retried. Defaults to 20. Set to 0 for no maximum. If set
to 1, this will guarantee in-order delivery of messages.

Default: 20

Acceptable values:
- an integer
max_inflight_messages = 20
The maximum number of messages to hold in the queue above
those messages that are currently in flight. Defaults to 1000. Set to 0 for
no maximum (not recommended). This option allows to control how a specific
client session can deal with message bursts. As a general rule of thumb set
this number a bit higher than the expected message rate a single consumer is
required to process.

Default: 1000

Acceptable values:
- an integer
max_online_messages = 1000
The maximum number of QoS 1 or 2 messages to hold in the offline queue.
Defaults to 1000. Set to -1 for no maximum (not recommended). Set to 0
if no messages should be stored offline.

Default: 1000

Acceptable values:
- an integer
max_offline_messages = 1000
This option sets the maximum payload size that VerneMQ will allow for publishers.
Messages that exceed this size will not be accepted by VerneMQ. The
default value is 0, which means that all valid MQTT messages are accepted. MQTT
imposes a maximum payload size of 268435455 bytes.

Default: 0

Acceptable values:
- an integer
message_size_limit = 0
If a message is published with a QoS lower than the QoS of the subscription it is
delivered to, VerneMQ can upgrade the outgoing QoS. This is a non-standard option.

Default: off

Acceptable values:
- on or off
upgrade_outgoing_qos = off
listener.max_connections is an integer or 'infinity' defining
the maximum number of concurrent connections. This option can be overridden
on the protocol level by:
- listener.tcp.max_connections
- listener.ssl.max_connections
- listener.ws.max_connections
- listener.wss.max_connections
or on the listener level by:
- listener.tcp.my_tcp_listener.max_connections
- listener.ssl.my_ssl_listener.max_connections
- listener.ws.my_ws_listener.max_connections
- listener.wss.my_wss_listener.max_connections

Default: 10000

Acceptable values:
- an integer
- the text "infinity"
listener.max_connections = 10000
Set the nr of acceptors waiting to concurrently accept new connections.
This can be specified either on the protocol level:
- listener.tcp.nr_of_acceptors
- listener.ssl.nr_of_acceptors
- listener.ws.nr_of_acceptors
- listener.wss.nr_of_acceptors
or on the listener level:
- listener.tcp.my_tcp_listener.nr_of_acceptors
- listener.ssl.my_ssl_listener.nr_of_acceptors
- listener.ws.my_ws_listener.nr_of_acceptors
- listener.wss.my_wss_listener.nr_of_acceptors

Default: 10

Acceptable values:
- an integer
listener.nr_of_acceptors = 10
listener.tcp. is an IP address and TCP port that
the broker will bind to. You can define multiple listeners e.g:
- listener.tcp.default = <IP_ADDRESS>:1883
- listener.tcp.internal = <IP_ADDRESS>:10883
- listener.tcp.my_other_listener = <IP_ADDRESS>:10884
This also works for SSL listeners and WebSocket handlers:
- listener.ssl.default = <IP_ADDRESS>:8883
- listener.ws.default = <IP_ADDRESS>:800
- listener.wss.default = <IP_ADDRESS>:880

Default: <IP_ADDRESS>:1883

Acceptable values:
- an IP/port pair, e.g. <IP_ADDRESS>:10011
listener.tcp.default = <IP_ADDRESS>:1883
listener.vmq.clustering is the IP address and TCP port that
the broker will bind to accept connections from other cluster
nodes e.g:
- listener.vmq.clustering = <IP_ADDRESS>:18883
This also works for SSL listeners:
- listener.vmqs.clustering = <IP_ADDRESS>:18884

Default: <IP_ADDRESS>:44053

Acceptable values:
- an IP/port pair, e.g. <IP_ADDRESS>:10011
listener.vmq.clustering = <IP_ADDRESS>:44053
Set the mountpoint on the protocol level or on the listener level
- listener.tcp.mountpoint
- listener.ssl.mountpoint
- listener.ws.mountpoint
- listener.wss.mountpoint
listener level:
- listener.tcp.my_tcp_listener.mountpoint
- listener.ssl.my_ssl_listener.mountpoint
- listener.ws.my_ws_listener.mountpoint
- listener.wss.my_wss_listener.mountpoint

Default: off

Acceptable values:
- text
listener.mountpoint = off
The cafile is used to define the path to a file containing
the PEM encoded CA certificates that are trusted. Set the cafile
on the protocol level or on the listener level:
- listener.ssl.cafile
- listener.wss.cafile
or on the listener level:
- listener.ssl.my_ssl_listener.cafile
- listener.wss.my_wss_listener.cafile

Default:

Acceptable values:
- the path to a file
listener.ssl.cafile = /etc/vernemq/cacerts.pem
Set the path to the PEM encoded server certificate
on the protocol level or on the listener level:
- listener.ssl.certfile
- listener.wss.certfile
or on the listener level:
- listener.ssl.my_ssl_listener.certfile
- listener.wss.my_wss_listener.certfile

Default:

Acceptable values:
- the path to a file
listener.ssl.certfile = /etc/vernemq/cert.pem
Set the path to the PEM encoded key file on the protocol
level or on the listener level:
- listener.ssl.keyfile
- listener.wss.keyfile
or on the listener level:
- listener.ssl.my_ssl_listener.keyfile
- listener.wss.my_wss_listener.keyfile

Default:

Acceptable values:
- the path to a file
listener.ssl.keyfile = /etc/vernemq/key.pem
Set the list of allowed ciphers (each separated with a colon),
on the protocol level or on the listener level. Reasonable defaults
are used if nothing is specified:
- listener.ssl.ciphers
- listener.wss.ciphers
or on the listener level:
- listener.ssl.my_ssl_listener.ciphers
- listener.wss.my_wss_listener.ciphers

Default:

Acceptable values:
- text
listener.ssl.ciphers =
If you have 'listener.ssl.require_certificate' set to true,
you can create a certificate revocation list file to revoke access
to particular client certificates. If you have done this, use crlfile
to point to the PEM encoded revocation file. This can be done on the
protocol level or on the listener level.
- listener.ssl.crlfile
- listener.wss.crlfile
or on the listener level:
- listener.ssl.my_ssl_listener.crlfile
- listener.wss.my_wss_listener.crlfile

Default:

Acceptable values:
- text
listener.ssl.crlfile =
Enable this option if you want to use SSL client certificates
to authenticate your clients. This can be done on the protocol level
or on the listener level.
- listener.ssl.require_certificate
- listener.wss.require_certificate
or on the listener level:
- listener.ssl.my_ssl_listener.require_certificate
- listener.wss.my_wss_listener.require_certificate

Default: off

Acceptable values:
- on or off
listener.ssl.require_certificate = off
Configure the TLS protocol version (tlsv1, tlsv1.1, or tlsv1.2) to be
used for either all configured SSL listeners or for a specific listener:
- listener.ssl.tls_version
- listener.wss.tls_version
or on the listener level:
- listener.ssl.my_ssl_listener.tls_version
- listener.wss.my_wss_listener.tls_version

Default: tlsv1.2

Acceptable values:
- text
listener.ssl.tls_version = tlsv1.2
If 'listener.ssl.require_certificate' is enabled, you may enable
'listener.ssl.use_identity_as_username' to use the CN value from the client
certificate as a username. If enabled other authentication plugins are not
considered. The option can be specified either for all SSL listeners or for
a specific listener:
- listener.ssl.use_identity_as_username
- listener.wss.use_identity_as_username
or on the listener level:
- listener.ssl.my_ssl_listener.use_identity_as_username
- listener.wss.my_wss_listener.use_identity_as_username

Default: off

Acceptable values:
- on or off
listener.ssl.use_identity_as_username = off
Set the path to an access control list file.

Default: /etc/vernemq/vmq.acl

Acceptable values:
- the path to a file
acl_file = /etc/vernemq/vmq.acl
set the acl reload interval in seconds, the value 0 disables the
automatic reloading of the acl file.

Default: 10

Acceptable values:
- an integer
acl_reload_interval = 10
Set the path to a password file.

Default: /etc/vernemq/vmq.passwd

Acceptable values:
- the path to a file
password_file = /etc/vernemq/vmq.passwd
set the password reload interval in seconds, the value 0 disables the
automatic reloading of the password file.

Default: 10

Acceptable values:
- an integer
password_reload_interval = 10
Specify the address and port of the bridge to connect to. Several
bridges can configured by using different bridge names (e.g. br0). If the
connection supports SSL encryption bridge.ssl. can be used.

Default: <IP_ADDRESS>:1889

Acceptable values:
- an IP/port pair, e.g. <IP_ADDRESS>:10011
bridge.tcp.br0 = <IP_ADDRESS>:1889
Set the clean session option for the bridge. By default this is disabled,
which means that all subscriptions on the remote broker are kept in case of
the network connection dropping. If enabled, all subscriptions and messages
on the remote broker will be cleaned up if the connection drops.

Default: off

Acceptable values:
- on or off
bridge.tcp.br0.cleansession = off
Set the client id for this bridge connection. If not defined, this
defaults to 'name.hostname', where name is the connection name and hostname
is the hostname of this computer.

Default: auto

Acceptable values:
- text
bridge.tcp.br0.client_id = auto
Set the number of seconds after which the bridge should send a ping if
no other traffic has occurred.

Default: 60

Acceptable values:
- an integer
bridge.tcp.br0.keepalive_interval = 60
Configure a username for the bridge. This is used for authentication
purposes when connecting to a broker that support MQTT v3.1 and requires a
username and/or password to connect. See also the password option.

Acceptable values:
- text
bridge.tcp.br0.username = my_remote_user
Configure a password for the bridge. This is used for authentication
purposes when connecting to a broker that support MQTT v3.1 and requires a
username and/or password to connect. This option is only valid if a username
is also supplied.

Acceptable values:
- text
bridge.tcp.br0.password = my_remote_password
Set the amount of time a bridge using the automatic start type will wait
until attempting to reconnect. Defaults to 30 seconds.

Default: 10

Acceptable values:
- an integer
bridge.tcp.br0.restart_timeout = 10
If try_private is enabled, the bridge will attempt to indicate to the
remote broker that it is a bridge not an ordinary client.
Note that loop detection for bridges is not yet implemented.

Default: on

Acceptable values:
- on or off
bridge.tcp.br0.try_private = on
The cafile is used to define the path to a file containing
the PEM encoded CA certificates that are trusted.

Default:

Acceptable values:
- the path to a file
bridge.ssl.sbr0.cafile = /etc/vernemq/cacerts.pem
Define the path to a folder containing
the PEM encoded CA certificates that are trusted.

Default:

Acceptable values:
- the path to a file
bridge.ssl.sbr0.capath = /etc/vernemq/cacerts
Set the path to the PEM encoded server certificate.

Default:

Acceptable values:
- the path to a file
bridge.ssl.sbr0.certfile = /etc/vernemq/cert.pem
Set the path to the PEM encoded key file.

Default:

Acceptable values:
- the path to a file
bridge.ssl.sbr0.keyfile = /etc/vernemq/key.pem
When using certificate based TLS, the bridge will attempt to verify the
hostname provided in the remote certificate matches the host/address being
connected to. This may cause problems in testing scenarios, so this option
may be enabled to disable the hostname verification.
Setting this option to true means that a malicious third party could
potentially inpersonate your server, so it should always be disabled in
production environments.

Default: off

Acceptable values:
- on or off
bridge.ssl.sbr0.insecure = off
Configure the TLS protocol version (tlsv1, tlsv1.1, or tlsv1.2) to be
used for this bridge.

Default: tlsv1.2

Acceptable values:
- text
bridge.ssl.sbr0.tls_version = tlsv1.2
Pre-shared-key encryption provides an alternative to certificate based
encryption. This option specifies the identity used.

Default:

Acceptable values:
- text
bridge.ssl.sbr0.identity =
Pre-shared-key encryption provides an alternative to certificate based
encryption. This option specifies the shared secret used in hexadecimal
format without leading '0x'.

Default:

Acceptable values:
- text
bridge.ssl.sbr0.psk =
The integer number of seconds between updates of the $SYS subscription hierarchy,
which provides status information about the broker. If unset, defaults to 10 seconds.
Set to 0 to disable publishing the $SYS hierarchy completely.

Default: 10

Acceptable values:
- an integer
sys_interval = 10
the interval we push metrics to the graphite server in ms

Default: 15000

Acceptable values:
- an integer
graphite.interval = 15000
the tcp port of the graphite server

Default: 2003

Acceptable values:
- an integer
graphite.port = 2003
the graphite server host name

Default: localhost

Acceptable values:
- text
graphite.host = localhost
set the prefix that is applied to all metrics reported to graphite

Default:

Acceptable values:
- text
graphite.prefix = my-prefix
the graphite server api key, e.g. used by hostedgraphite.com

Default:

Acceptable values:
- text
graphite.api_key = My-Api-Key
Where to emit the default log messages (typically at 'info'
severity):
off: disabled
file: the file specified by log.console.file
console: to standard output (seen when using vmq attach-direct)
both: log.console.file and standard out.

Default: file

Acceptable values:
- one of: off, file, console, both
log.console = file
The severity level of the console log, default is 'info'.

Default: info

Acceptable values:
- one of: debug, info, warning, error
log.console.level = info
When 'log.console' is set to 'file' or 'both', the file where
console messages will be logged.

Default: /var/log/vernemq/console.log

Acceptable values:
- the path to a file
log.console.file = /var/log/vernemq/console.log
The file where error messages will be logged.

Default: /var/log/vernemq/error.log

Acceptable values:
- the path to a file
log.error.file = /var/log/vernemq/error.log
When set to 'on', enables log output to syslog.

Default: off

Acceptable values:
- on or off
log.syslog = off
Whether to enable the crash log.

Default: on

Acceptable values:
- on or off
log.crash = on
If the crash log is enabled, the file where its messages will
be written.

Default: /var/log/vernemq/crash.log

Acceptable values:
- the path to a file
log.crash.file = /var/log/vernemq/crash.log
Maximum size in bytes of individual messages in the crash log

Default: 64KB

Acceptable values:
- a byte size with units, e.g. 10GB
log.crash.maximum_message_size = 64KB
Maximum size of the crash log in bytes, before it is rotated

Default: 10MB

Acceptable values:
- a byte size with units, e.g. 10GB
log.crash.size = 10MB
The schedule on which to rotate the crash log. For more
information see:
https://github.com/basho/lager/blob/master/README.md#internal-log-rotation

Default: $D0

Acceptable values:
- text
log.crash.rotation = $D0
The number of rotated crash logs to keep. When set to
'current', only the current open log file is kept.

Default: 5

Acceptable values:
- an integer
- the text "current"
log.crash.rotation.keep = 5
This parameter defines the percentage of total server memory
to assign to LevelDB. LevelDB will dynamically adjust its internal
cache sizes to stay within this size.  The memory size can
alternately be assigned as a byte count via leveldb.maximum_memory
instead.

Default: 70

Acceptable values:
- an integer
leveldb.maximum_memory.percent = 70
Name of the Erlang node

Default<EMAIL_ADDRESS>
Acceptable values:
- text
nodename =<EMAIL_ADDRESS>Cookie for distributed node communication.  All nodes in the
same cluster should use the same cookie or they will not be able to
communicate.

Default: vmq

Acceptable values:
- text
distributed_cookie = vmq
Sets the number of threads in async thread pool, valid range
is 0-1024. If thread support is available, the default is 64.
More information at: http://erlang.org/doc/man/erl.html

Default: 64

Acceptable values:
- an integer
erlang.async_threads = 64
The number of concurrent ports/sockets
Valid range is 1024-134217727

Default: 262144

Acceptable values:
- an integer
erlang.max_ports = 262144
Set scheduler forced wakeup interval. All run queues will be
scanned each Interval milliseconds. While there are sleeping
schedulers in the system, one scheduler will be woken for each
non-empty run queue found. An Interval of zero disables this
feature, which also is the default.
This feature is a workaround for lengthy executing native code, and
native code that do not bump reductions properly.
More information: http://www.erlang.org/doc/man/erl.html#+sfwi

Acceptable values:
- an integer
erlang.schedulers.force_wakeup_interval = 500
Enable or disable scheduler compaction of load. By default
scheduler compaction of load is enabled. When enabled, load
balancing will strive for a load distribution which causes as many
scheduler threads as possible to be fully loaded (i.e., not run out
of work). This is accomplished by migrating load (e.g. runnable
processes) into a smaller set of schedulers when schedulers
frequently run out of work. When disabled, the frequency with which
schedulers run out of work will not be taken into account by the
load balancing logic.
More information: http://www.erlang.org/doc/man/erl.html#+scl

Acceptable values:
- one of: true, false
erlang.schedulers.compaction_of_load = false
Enable or disable scheduler utilization balancing of load. By
default scheduler utilization balancing is disabled and instead
scheduler compaction of load is enabled which will strive for a
load distribution which causes as many scheduler threads as
possible to be fully loaded (i.e., not run out of work). When
scheduler utilization balancing is enabled the system will instead
try to balance scheduler utilization between schedulers. That is,
strive for equal scheduler utilization on all schedulers.
More information: http://www.erlang.org/doc/man/erl.html#+sub

Acceptable values:
- one of: true, false
erlang.schedulers.utilization_balancing = true
thnks for your reply

thnks for your help @ioolkos
vernemq can start now
but i had problem when i try to publish message to broker
i using mqttfx application to publish message to broker, mqttfx can connect to the broker, but cant publish, because connection was reset by broker
this is my vernemq.conf
vernemq_conf.txt

MQTTfx works for me. Do you see any kind of error message in MQTTfx?

this picture show error in mqttfx, when i try to publish message

OK, thanks.
Unfortunately you will have to cross diagnose this. (Can you publish with other tools like mosquitto_pub, is the listener port there... try telnetting into it, etc). I'ts most likely a misconfiguration somewhere.
Do you see something in the vernemq logs?

thnks for your reply @ioolkos
the problem was resolved
i want to ask about clustering
i still dont understand how to check my cluster run.
when i check with "vmq-admin cluster status", both of my cluster show true status.
but, when i try to publish to my first broker, my second broker didnt show anything.
thnks for your reply

Make sure that the ports for inter-cluster message distribution are not blocked by your firewalls among your nodes.
http://vernemq.com/docs/clustering/communication.html

Closed due to inactivity. Please feel free to reopen if the issue remains. Also make sure to upgrade to the newest version 0.14.2.


Docker

Any plan to make a docker version?

Here's a hacked-together dockerfile that could be used as a base. One improvement I'd probably make would be to do the builds outside of the container, so the build tools aren't included in the final image.
Some important notes:

youtube-dl is not included - it needs to be added manually by the user
mongodb is not included, it must be run separately e.g. docker run -itd --name mongo -p <IP_ADDRESS>:27017:27017/tcp -p <IP_ADDRESS>:27018:27018/tcp mongo

FROM alpine:latest
USER 0

COPY --from=node:alpine /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node:alpine /usr/local/bin/node /usr/local/bin/node

# Setup node
RUN apk add --no-cache libstdc++ && \
    export NODE_PATH=/usr/local/lib/node_modules && \
    ln -s $NODE_PATH/npm/bin/npm-cli.js /usr/local/bin/npm && \
    ln -s $NODE_PATH/npm/bin/npx-cli.js /usr/local/bin/npx

# Fetch required packages... Instead of doing this, we could build locally and 'COPY' into the image, skipping the remaining 'RUN' build steps
RUN apk add --no-cache git make build-base python2

# Fetch youtube-dl-react-viewer v1.0.0 from github
RUN cd /opt && \
    mkdir youtube-dl-react-viewer && \
    cd youtube-dl-react-viewer && \
    git clone https://github.com/graham-walker/youtube-dl-react-viewer . && \
    git checkout tags/v1.0.0

WORKDIR /opt/youtube-dl-react-viewer/youtube-dl-express-backend

# Fetch youtube-dl-react-viewer dependencies
RUN cp .env.sample .env && \
    npm install --unsafe-perm
RUN cd ../youtube-dl-react-frontend && \
    npm install --unsafe-perm

# Build frontend
RUN cd ../youtube-dl-react-frontend && \
    cp .env.sample .env && \
    npm run build

EXPOSE 5000/tcp
HEALTHCHECK \
    --start-period=10s --interval=30s --timeout=2s --retries=3 \
    CMD nc -zv <IP_ADDRESS>:5000
ENTRYPOINT ["node", "--require", "dotenv/config", "index.js"]


Issues with a file if it's saved from application

Describe the bug
If a file was created from the application, than you can't delete it. Tested on MS Word 2016.
https://user-images.githubusercontent.com/17137916/199465671-f908d344-12d4-40b2-8778-503fa992b135.mp4
Environment:
WsgiDAV/4.0.1 Python/3.10.6(64 bit) Linux-5.15.0-52-generic-x86_64-with-glibc2.35

After waiting some time you can delete the file

Do you have any suggestion to fix this bugs at least temporary?

I noticed that deletion issues occur with office documents, I can guess it's because of integration with office document formats. Can I somehow disable all office integrations?
Refreshing issue occur also with webdav client library  ( I tried  https://www.npmjs.com/package/webdav), when I create file or folder I have to refresh destination folder from file explorer to see created file/folder. Maybe there is any way to manually refresh destination folder from Provider implementation?

Thanks.

I don't have access to MS Office most of the time, but I am not yet convinced that we have a bug.
Can you please provide a log file of the request sequence during the issue?
(Note that WebDAV does not support any API to actively push changes to clients, so if MS Word saves a file, that you opened from MS File Explorer, it is up to the Explorer to refresh the view.)


Deprecated: Synchronous XMLHttpRequest

In Chrome, this is shown in the console:
api.f893cafb33554c8c96437b32fc6934b<IP_ADDRESS>.js:14 [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ api.f893cafb33554c8c96437b32fc6934b<IP_ADDRESS>.js:14

That line 14 then refers to minimized jQuery v3.3.1 code

Same warning in Firefox by the way.


⚠ Bofrost.be has degraded performance

In a2e01ef, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1664 ms

Resolved: Bofrost.be performance has improved in 65ed5ad.


Feature Request: Desktop Notifications

Microsoft Windows [Version 10.0.15063]

Desktop notifications from Linux apps don't appear in Windows, it would be nice if this could work.
Example test:
$ sudo apt-get install libnotify-bin
$ notify-send "TEST"
Feature request is to have the notification interface to allow the action center to receive notifications.

I agree. It probably does not have a huge priority presently though.
There will be a larger update towards the middle of October so perhaps afterwards some lower priority things may receive more attention. :)

Thanks for the idea. Marking it so. Please open a ticket at the WSL user voice for any feature requests. It helps us prioritize for future.

libnotify uses the Desktop Notifications Specification, which works on top of D-Bus.
This means that the solution can probably already be accomplished by writing a Windows-land daemon that connects to the Linux-land D-Bus daemon over TCP, and creates Windows notification popups.
I might even give this a go in C# if it's not too hard.

@crozone - Interesting. I am just trying to visualize how this would work. So, the notify-send (or any other command) would go over libnotify to the WSL D-Bus service, which can publish the message over to the Desktop Notification Specification interface. And, if there is a Win32 Desktop Notification server that can consume these messages, then it can create the necessary popups?

@sunilmut sorry for the massively delayed reply, but yes.
The trick is that the win32 application can connect to the Linux D-Bus using a TCP connection to localhost. In theory, it would make the most sense for an X Window Sever (like XMing) to implement it on the win32 side, since IIRC it already establishes a connection to a D-Bus channel relating to that desktop. However, failing that, a stand alone application can work, but I'm not 100% sure how it would find the right D-Bus channel.

it would make the most sense for an X Window Sever (like XMing) to implement it on the win32 side

Wrong protocol. All the dbus action happens on the WSL side; an X Server (be it XMing, VcXsrv, native Linux Xorg) has no knowledge of dbus or what is being displayed in a popup window. It speaks X11 protocol.
The guys who obscure half their screen with Ubuntu wallpaper over in #637 already have desktop notifications. notify-send works fine for them; or at least, it should. I think you can fire up unity-notifications alone and get exactly what you describe (ignoring that unity-notifications probably falls on its face without Unity around). The xfce4 guys have something similar.
If all you want is CLI notify-send, actual Win32 Desktop Notifications, and no X11 to speak of, you could write your own Desktop Notification Specification service like Sunil describes. But the dbus session server and the notification client still live on the WSL side, communicating over an AF_UNIX socket. Typically you'd talk to the service using ssh.
Basically, on the Windows side you write an app that remote launches (on WSL) some Python script that sits there waiting for Desktop Notification Specification messages to arrive, and spits the notification text out to stdout in some formatted manner. Then on the windows side when new message text arrives over ssh you push a Windows Desktop notification.
I mean, in a fever dream kind of way.

Wrong protocol. All the dbus action happens on the WSL side; an X Server (be it XMing, VcXsrv, native Linux Xorg) has no knowledge of dbus or what is being displayed in a popup window. It speaks X11 protocol.

Ahh, thanks. I thought there was some magic there that would allow X apps to "find" the D-Bus channel for that session, but maybe that's something else.

Basically, on the Windows side you write an app that remote launches (on WSL) some Python script that sits there waiting for Desktop Notification Specification messages to arrive, and spits the notification text out to stdout in some formatted manner. Then on the windows side when new message text arrives over ssh you push a Windows Desktop notification.

I'm pretty sure you don't need to do this though, you can get D-Bus to listen for TCP connections, instead of just the AF_UNIX socket. This would let the Windows-side client speak the notification protocol natively.

you can get D-Bus to listen for TCP connections

Yeah I almost mentioned that but didn't want to yammer (knowing in my heart someone would bring it up anyway). That is technically correct, but would mean the mother-of-all dependency inversions. In other words, installing a hypothetical "WSL desktop notify package" would mean forcing TCP on everything else. And no one would do that. This is why dbus-broker just scrapped the idea entirely (search "Local Only" in the article).

@therealkenc @sunilmut This can probably be looked at now using AF_Unix interop. Not sure how simple it would be but it would be nice to have this small but useful feature.

I was just thinking about how the new AF_UNIX interop stuff could fit into this. As far as I understand it, a socket can only be consumed from Win32 land if it is created within the path of a Win32 accessible filesystem, and can then only be accessed by the creator (on the UNIX side), and Win32 apps.
Is D-Bus able to create two unix sockets and listen on both? (one for the unix side in /tmp, and one on the Win32 side, somewhere else)

Or the other direction; even easier.
In Windows, launch Powershell as Administrator and do:
PS C:\WINDOWS\system32> Install-Module -Name BurntToast

On WSL:
$ alias toast='powershell.exe -command New-BurntToastNotification'

And finally:
$ toast -Text hello

FTFY

So a follow-up on this, just because I took the time-sink to do a "what would it take" look. I hacked up notification-thing to spawn New-BurntToastNotification instead of popping up a GTK3+ window. It even has a liberal license. We're talking trivial changes here. That gets you a working notify-send from libnotify-bin as asked for in the OP.
Long story short (I've deleted a third of this post), The Desktop Notifications Specification operates in a session. This isn't related to the <listen> option in /usr/share/dbus-1/system.conf (AF_UNIX or otherwise). You can in theory and practice create a remote login dbus session for every WSL terminal, which goes to Ben's comment in #816 (here). But the end result is you're just talking to yourself. It doesn't matter whether you are connected to the session bus from the Windows side or the WSL side (there isn't really a "side" -- it is a bus). I'm pretty sure you could run the same hacked up notification-thing with dbus-python for Windows.
But either way, you are literally firing up a dbus session on every terminal for the privilege of sending a message right back to yourself to spawn New-BurntToastNotification (or your own re-implementation thereof). Which, you can just call directly per yesterday's message, and avoid the drama.

This puts the "feature request" in an awkward state. Possibilities being:
(1) People just want to get a Win 10 notification, somehow, from the WSL commandline. Which we could do since interop went live.
(2) People actually want a session bus started on every terminal instance. This would live in their /etc/pam.d/wsld on Debian derived distros. Which worms fast, and is why #1405 is frozen in time.
(3) This is a coded request for Gnome sessions, because GTK+ is In Real Life the only thing that calls libnotify. Which is out of scope.

It would be awesome to have a project that listeners some error logs and send notifications to windows accordingly.
It would also be awesome when i would have all my side project finished so i could build this

personally I [would] be happy with the first option. I just want gulp-notify to be able to send me toast notifications.

Yep. Use a custom notifier and call 'powershell.exe -command New-BurntToastNotification' with child_process.exec().

@therealkenc oh that's awesome, completely missed that. Thanks, will try to get it integrated in to my system.

Thanks, will try to get it integrated in to my system.

Great.
I think your necropost is probably enough motivation to put this one to bed. The only way this issue can be turned into a WSL actionable is possibility (2). That is highly problematic because WSL is distribution agnostic, and any solution would necessitate overloading WSL's /init yet more and firing up a Desktop Notification Specification service on every bash session, presumably controlled by some wsl.conf setting. On the Windows side wslhost.exe (or whatever) would listen on some communication channel (which n.b. is not dbus because the dbus session server has to live in each WSL bash session on the WSL side). [To help visualize, imagine a Ubuntu WSL instance taking unity-notification messages and a simultaneously running OpenSUSE WSL instance taking our imagined /init-to-wslhost.exe mechanism.]
Which is just too horrible to contemplate, because having implemented all of that, it gets us nothing option (1) can't do. UserVoice won't save us here.

Any update on this?

personally I [would] be happy with the first option. I just want gulp-notify to be able to send me toast notifications.

Yep. Use a custom notifier and call 'powershell.exe -command New-BurntToastNotification' with child_process.exec().

Like the idea of this one but seems there's a lot of hoops to jump through to get it working.
New-BurntToastNotification
New-BurntToastNotification : The 'New-BurntToastNotification' command was found in the module 'BurntToast', but the module could not be loaded. For more information, run
'Import-Module BurntToast'.
At line:1 char:1
+ New-BurntToastNotification
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (New-BurntToastNotification:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

PS C:\Windows\system32> Import-Module BurntToast
Import-Module : File C:\Program Files\WindowsPowerShell\Modules\BurntToast\0.7.1\BurntToast.psm1 cannot be loaded because running scripts is disabled on this system. For more
information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ Import-Module BurntToast
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [Import-Module], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand

personally I [would] be happy with the first option. I just want gulp-notify to be able to send me toast notifications.

Yep. Use a custom notifier and call 'powershell.exe -command New-BurntToastNotification' with child_process.exec().

Like the idea of this one but seems there's a lot of hoops to jump through to get it working.
New-BurntToastNotification
New-BurntToastNotification : The 'New-BurntToastNotification' command was found in the module 'BurntToast', but the module could not be loaded. For more information, run
'Import-Module BurntToast'.
At line:1 char:1
+ New-BurntToastNotification
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (New-BurntToastNotification:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

PS C:\Windows\system32> Import-Module BurntToast
Import-Module : File C:\Program Files\WindowsPowerShell\Modules\BurntToast\0.7.1\BurntToast.psm1 cannot be loaded because running scripts is disabled on this system. For more
information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ Import-Module BurntToast
+ ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [Import-Module], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess,Microsoft.PowerShell.Commands.ImportModuleCommand

You need to set your ExecutionPolicy to unrestricted to make it work. Run Powershell in administrator mode and run the command "Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine".
It worked for me after that though the alias was not working for text that ran beyond a single word so I instead made a bash function as follows
 toast () { powershell.exe -command New-BurntToastNotification "-Text '$1'" }
Stick that into your bashrc (or whatever rc your particular shell happens to use) and you should be good to go.

Changing the execution policy directly using Set-ExecutionPolicy works, but leaves your machine open to malicious scripts. I'm not a fan of this approach. I think it's better to leave it set to Restricted.
Instead, I set my alias in WSL to this:
alias toast='powershell.exe -noprofile -executionpolicy bypass -command New-BurntToastNotification'
I'm not an expert at Powershell by any means, but as far as I know, this bypasses the execution policy only for this call. That way Powershell can stay restricted by default, but this wsl alias will bypass this and run the toast.

@therealkenc Since we're getting GUI support for WSL2, I think this issue could be re-opened. This could now be done behind the scenes or it could simply be a configuration option in /etc/wsl.conf if we want Win 10 notifications vice native Linux notifications popping up. I think I'd prefer Win 10 though, easier to manage that way.

The ask isn't related to GUI support, which was explained in May 2018 (message). That is the case whether X11 or Wayland. You can of course get a Linux GUI notification, but that wasn't the ask. The ask was for Windows notifications. Linux GUI notification popups, meanwhile, would be all userspace.
That said, there is no User Voice anymore (there was in 2017), so, sure, re-opening on feature request loophole.

Would it be possible to make an alternate implementation of libnotify based on WSL-Windows interaction mechanisms?

I've been trying to get the BurntToast notifier going in WSL.. and I constantly get this error... and I'mnot sure how to fix it..
HRESULT: 0x8007007A)"
At C:\Program Files\WindowsPowerShell\Modules\BurntToast\0.8.5\BurntToast.psm1:2478 char:9
+         [Windows.UI.Notifications.ToastNotificationManager]::CreateTo ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : Exception

I've been trying to get the BurntToast notifier going in WSL.. and I constantly get this error... and I'mnot sure how to fix it..
Exception calling "CreateToastNotifier" with "1" argument(s): "The data area passed to a system call is too small. (Exception from
HRESULT: 0x8007007A)"
At C:\Program Files\WindowsPowerShell\Modules\BurntToast\0.8.5\BurntToast.psm1:2478 char:9
+         [Windows.UI.Notifications.ToastNotificationManager]::CreateTo ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : Exception

Having the same issue.

NGL I can't believe this is still not a thing. Every terminal on every system except windows can do this.

I've been trying to get the BurntToast notifier going in WSL.. and I constantly get this error... and I'mnot sure how to fix it..
Exception calling "CreateToastNotifier" with "1" argument(s): "The data area passed to a system call is too small. (Exception from
HRESULT: 0x8007007A)"
At C:\Program Files\WindowsPowerShell\Modules\BurntToast\0.8.5\BurntToast.psm1:2478 char:9
+         [Windows.UI.Notifications.ToastNotificationManager]::CreateTo ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : Exception

This feels nuts but worked for me
powershell powershell.exe -Command New-BurntToastNotification

I've been trying to get the BurntToast notifier going in WSL.. and I constantly get this error... and I'mnot sure how to fix it..
Exception calling "CreateToastNotifier" with "1" argument(s): "The data area passed to a system call is too small. (Exception from
HRESULT: 0x8007007A)"
At C:\Program Files\WindowsPowerShell\Modules\BurntToast\0.8.5\BurntToast.psm1:2478 char:9
+         [Windows.UI.Notifications.ToastNotificationManager]::CreateTo ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : Exception

This feels silly but worked for me
powershell powershell.exe -Command New-BurntToastNotification

Would be cool @craigloewen-msft

I created an impelementation using Windows native functionality.
https://github.com/ultrabig/WslNotifyd

Boosting this for notifications more than single word!!

It worked for me after that though the alias was not working for text that ran beyond a single word so I instead made a bash function as follows
 toast () { powershell.exe -command New-BurntToastNotification "-Text '$1'" }
Stick that into your bashrc (or whatever rc your particular shell happens to use) and you should be good to go.


Add documentation to LinearBoundary stages

Resolves #413

@mdemoret-nv Updated based on your most recent comments.

@gpucibot merge


possibility for adding a custom userDetailsService

For this time i work on a little project with your light-admin. I add a sql database and i want to load the user login data from them. After same days i find out, that i can't add a custom userDetailsService to your LightAdminSecurityConfiguration.
I hope you find time to add the option to use a custom user details service. Many Thx for this awesome library!
Greez geno

@geno2k8 , can you see to run the tests mentioned in #202?


Replace --addr with --advertise

Signed-off-by: Andrea Luzzardi<EMAIL_ADDRESS>

Code looks fine to me.
Also tests passed locally.
80 tests, 0 failures, 5 skipped

real    7m53.575s
user    0m38.529s
sys     1m19.586s

Should we retain some tests of addr for the backward compatibility too?

LGTM


Initial implementation of gpu powered conformer generator.

Reference Issue

What does this implement/fix? Explain your changes.
Initial implementation of a CPU/GPU-powered conformer generator that uses a proper forcefield (SMIRNOFF) from the Open Forcefield Consortium for geometry optimization.
Any other comments?
Refer to demo.py for an idea of how this works. This is very much a work in progress and a lot of the code was taken from the timemachine. Prepared for the 2019 Hackathon.
Todo:

[ ] Chiral volume constraints
[x] 4D embedding
[x] Better optimizers, eg: quasi-newton methods, it's currently using Adam.
[ ] Charges? We probably can't run AM1BCC since it's not easily available and it probably takes too damn long.
[ ] numpy BFGS

I can also add a GB model as well (requested possibly by Jen Jensen)

After chatting with @chayast we can probably encode chiral volumes using ImproperTorsions

Some timings:
from rdkit import Chem
from rdkit.Chem import AllChem

import dg
import time

# aspirin = "O=C(C)Oc1ccccc1C(=O)O"
aspirin = "CCCCN(CCCC)C(=O)c1nn(c(C)c1Cl)-c1ccc(cc1C(=O)N1CCc2ccccc2C1)C(=O)NS(=O)(=O)c1ccc2ccc(I)cc2c1"
mol = Chem.MolFromSmiles(aspirin)

n_confs = 1000

start_time = time.time()
dg.generate_conformer(mol, n_confs, dims=3)
end_time = time.time()

# custom timing 6.110635757446289
print("custom timing", end_time - start_time)

s_time = time.time()
AllChem.EmbedMultipleConfs(mol, numConfs=n_confs)
e_time = time.time()

# rdkit timing 44.17475509643555
print("rdkit timing", e_time - s_time)

You have a question about charges: I think rdkit has an MMFF94 implementation.
AM1BCC is not only slow, it is also conformer variant. Meaning, you should run the charges calculation on each conformer. Also, last time I checked, many molecules cannot be asigned AM1BCC charges (the failure rate was like 20% on the dataset I was playing with).

If this PR lands in rdkit, this is amazing.
Have you benchmarked it? Is it faster and does it have better quality than the current
conformer generator?

No real benchmarks have been done except timing.  For a standard set of conformers, it is not faster, but it excels at generating tens of thousands of confs.  I see this as an excellent teaching/training utility now, but it hasn't been battle proven.  @proteneer, any comments?

Closing due to lack of activity. Feel free to reopen if anyone has the time and inclination to revive this one.


TextInput with secureTextEntry loses value

I'm developing an app with React Native 0.29.1 and React 15.2.1 in Mac OS X El Capitan 10.11.5. I've noticed that a TextInput with secureTextEntry set to true will lose its value if you:

Type some characters into the input.
Blur the input (give focus to something else).
Focus the input.
Type another character.

I've reproduced the issue here:
https://rnplay.org/apps/Xpn4uw

what you probably want to do is store the values in your state object, i.e. call setState on changing input text and set the TextInput's value prop.

I actually tried that, but it doesn't fix the problem (should have mentioned it in my original post).

hmm, quite interesting indeed. Looking at it closer, I found out that is actually the intended behavior on ios. Try launching the RN play demo, and go to settings -> icloud and try your procedure

I've got the same problem after updating from 0.27.0 to <IP_ADDRESS>.0.
Saving query in state doesn't works. Feels like a TextInput component bug.

This is default behaviour. This works same in iOS native development.

It would be nice to support not clearing the password on iOS. There are some workarounds here:
https://stackoverflow.com/questions/7305538/uitextfield-with-secure-entry-always-getting-cleared-before-editing
https://stackoverflow.com/questions/28441300/uitextfield-secureentry-doesnt-respect-clearsonbeginediting-property

I'm going to close this issue as "works as intended". In general if something works a particular way in iOS native development it seems reasonable to consider it out of scope for RN to fix it.


make VCR replay post fields

Some libraries are using CURLOPT_POSTFIELDS and it sets the post_fields (basically using cUrl -F instead of -d https://ec.haxx.se/http/http-postvspost).
Example library
In order to record and replay the post_fields properly, this update is required.

@matt-allan I think it's because the facebook library isn't setting CURLOPT_POST option to true. Here is the explanation from the docs:

CURLOPT_POST
TRUE to do a regular HTTP POST. This POST is the normal application/x-www-form-urlencoded kind, most commonly used by HTML forms.


DCOS-11609: Fixing JSONEditor corner cases

This PR address some corner cases in the JSONEditor. Namely: the diff and sort algorithms were incorrectly treating null values as legit objects.
In addition this PR tries also fixes some minor issues:

Errors with no paths and errors with missing paths always appear on line 1
Initial prop values are now correctly handled

Very nice!

retest this please

:shipit: if you get here before me :)


Report running attempts to run before workflow is complete when using SLURMGraph

The SlurmGraph plugin works very well! One thing I noticed is that it appears to submit the jobs properly then attempts to run reports while the processing jobs are still queued. Also, this PR is being used for LS5: https://github.com/nipy/nipype/pull/1330
plugin config
plugin: SLURMGraph
plugin_args: {
dont_resubmit_completed_jobs: True,
sbatch_args: '--quiet -p normal -N 1 -n 1 -t 00:10:00'
}

stdout
160124-17:21:22,137 workflow INFO:
         ['check', 'execution', 'logging']
160124-17:21:25,951 workflow INFO:
         submitted all jobs to queue

stderr
Traceback (most recent call last):
  File "/home1/03872/wtriplet/.local/bin/mriqcp.py", line 4, in <module>
    __import__('pkg_resources').run_script('mriqc==0.0.1', 'mriqcp.py')
  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 742, in run_script

  File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 1667, in run_script

  File "/home1/03872/wtriplet/.local/lib/python2.7/site-packages/mriqc-0.0.1-py2.7.egg/EGG-INFO/scripts/mriqcp.py", line 124, in <module>
    reports = workflow_report(out_csv, 'anatomical', settings=settings)
  File "/home1/03872/wtriplet/.local/lib/python2.7/site-packages/mriqc-0.0.1-py2.7.egg/mriqc/reports.py", line 37, in workflow_report
    df = pd.read_csv(in_csv, dtype={'subject': str}).sort(
  File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 498, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 275, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 590, in __init__
    self._make_engine(self.engine)
  File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 731, in _make_engins  f._engine = CParserWrapper(self.f, **self.options)
  File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 1103, in __init__
    self._reader = _parser.TextReader(src, **kwds)
  File "pandas/parser.pyx", line 353, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:3246)
  File "pandas/parser.pyx", line 591, in pandas.parser.TextReader._setup_parser_source (pandas/parser.c:6111)
IOError: File /corral-repl/utexas/poldracklab/openfmri/inprocess/ds030_QAP/OUT/aMRIQC.csv does not exist

Maybe the solution would be to connect the outputs of qc workflow to report
writing workflow and run this as one big workflow?
The SlurmGraph plugin works very well! One thing I noticed is that it
appears to submit the jobs properly then attempts to run reports while the
processing jobs are still queued. Also, this PR is being used for LS5:
nipy/nipype#1330 https://github.com/nipy/nipype/pull/1330
plugin config
plugin: SLURMGraph
plugin_args: {
dont_resubmit_completed_jobs: True,
sbatch_args: '--quiet -p normal -N 1 -n 1 -t 00:10:00'
}
stdout
160124-17:21:22,137 workflow INFO:
['check', 'execution', 'logging']
160124-17:21:25,951 workflow INFO:
submitted all jobs to queue
stderr
Traceback (most recent call last):
File "/home1/03872/wtriplet/.local/bin/mriqcp.py", line 4, in
import('pkg_resources').run_script('mriqc==0.0.1', 'mriqcp.py')
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line
742, in run_script
File "build/bdist.linux-x86_64/egg/pkg_resources/init.py", line
1667, in run_script
File "/home1/03872/wtriplet/.local/lib/python2.7/site-packages/mriqc-0.0.1-py2.7.egg/EGG-INFO/scripts/mriqcp.py",
line 124, in
reports = workflow_report(out_csv, 'anatomical', settings=settings)
File "/home1/03872/wtriplet/.local/lib/python2.7/site-packages/mriqc-0.0.1-py2.7.egg/mriqc/reports.py",
line 37, in workflow_report
df = pd.read_csv(in_csv, dtype={'subject': str}).sort(
File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py",
line 498, in parser_f
return _read(filepath_or_buffer, kwds)
File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py",
line 275, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py",
line 590, in init
self._make_engine(self.engine)
File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py",
line 731, in _make_engins  f._engine = CParserWrapper(self.f,
**self.options)
File "/corral-repl/utexas/poldracklab/users/wtriplet/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py",
line 1103, in init
self._reader = _parser.TextReader(src, **kwds)
File "pandas/parser.pyx", line 353, in
pandas.parser.TextReader.cinit (pandas/parser.c:3246)
File "pandas/parser.pyx", line 591, in
pandas.parser.TextReader._setup_parser_source (pandas/parser.c:6111)
IOError: File /corral-repl/utexas/poldracklab/openfmri/inprocess/ds030_QAP/OUT/aMRIQC.csv
does not exist
—
Reply to this email directly or view it on GitHub
https://github.com/poldracklab/mriqc/issues/27.

Hi guys, thanks a lot for the comments, you are actually talking about the same issue, and you are right of course. I will take on this ASAP


Are there any plans for i18n-support?

We want to use ajv to validate complex configurations against predefined schemas, but our application is in German and English, so we would like to translate the error messages.
I guess the error messages are coming from def._errorMessages in lib/dot/definitions.def, so maybe we could choose one set of translations there, dependent of some variable, but I have no experience with dot-templating.
Sorry for the premature issue-creation, I accidentally hit some kind of github-shortcut.

Do you mean for error reporting?

exactly. I added a description. sorry about the confusion ;-)

It's not that difficult. It shouldn't be in the template in this case if we want to support multiple languages. I can do the support if you are happy to contribute the actual messages once I've done it.

That would be awesome! I can definitely provide you with the German messages then, yes.

Ok, I'll look at it this week

@epoberezkin FWIW, I pulled this logic into an external module for handling request errors with i18n - the messages were extracted from tv4 (https://github.com/mulesoft-labs/node-request-error-handler/blob/master/lib/messages/json.js).

That's cool, thanks a lot!

Started working on it. @blakeembrey do you think it should be just an option of the validator instance (say i18n: 'fr' ) or there should be a way to make the same compiled shema return errors in different languages?

@epoberezkin I'm probably not the best person to comment on the final implementation as I tend to structure APIs differently and prefer to provide l10n to application error instances instead of having every tool I use provide separate i18n.
That said, I think the implementation requires that the option is passed as a second argument into the validation function as they'll be evaluated differently at runtime. I'm not sure what the difference is between your two options though, sounds like the same thing here? I'd also use locale: 'fr' for correctness over i18n too.

got it. thanks

So I guess the whole file with the rest of keywords can be moved to ajv-i18n package that will provide functions to create error messages from errors array created by ajv. And there will be nothing in ajv itself in this case. Do you mind?

@epoberezkin Makes sense to me. Might want to check with tv4 and try to collaborate with them on this as a general JSON schema i18n messages module to avoid unnecessary work - I can open an issue there and discuss with them, if you'd like.

Good idea actually. Please do.

@blakeembrey thanks!

@jmtoball have a look at ajv-i18n. It only has en and ru locales but it works. You can contribute German translations of the messages in /messages/index.js file. Let me know if you need some help.

Sure, I will look into it later today. Thank you, that was fast :+1:


Update documentation with example of base_path proc

per https://github.com/ruby-grape/grape-swagger/pull/441#issuecomment-222338147

@dblock updated! Thanks for the suggestions. I also updated the test where I copied that foo request object from!

Thanks, merged.


flicker in the area of  Component when swiping on the latest version of react-native

Which OS ?
Ubuntu 22.04.1 LTS
Version

react-native-swiper v1.6.0
react-native v0.70.6

Actual behaviour
flicker in area of <Swiper> Component happens when swiping on the latest version of react-native
How to reproduce it>
here is the code:
p.s. Whenever the  is placed, it will still happen
const styles = StyleSheet.create({
  swiperContainer: {

  },
  swiperItem: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#9DD6EB',
    fontSize: 40,
    color: 'black',
    fontWeight: 'bold'
  }
})
export default function App() {
  return (
      <Swiper style={styles.swiperContainer}>
        <View style={styles.swiperItem}><Text>1</Text></View>
        <View style={styles.swiperItem}><Text>2</Text></View>
        <View style={styles.swiperItem}><Text>3</Text></View>
      </Swiper>
  )
}

Experiencing the same issue

Having the same issue when using the ScrollBy method

Having the same issue when using the ScrollBy method

seems that this lib not updated anymore. I solved my problems after switching to another lib react-native-reanimated-carousel which u can try it

Experiencing the same issue

seems that this lib not updated anymore. I solved my problems after switching to another lib react-native-reanimated-carousel which u can try it


feat(STONEINTG-875): allow brew.registry.redhat.io in fbc-validation

Add brew.registry.redhat.io/rh-osbs/openshift-ose-operator-registry-rhel9 base image to the list of allowed base images in the fbc-validation check task

Before you complete this pull request ...
Look for any open pull requests in the repository with the title "e2e-tests update" and
see if there are recent e2e-tests updates that will be applicable to your change.

/retest

/retest

/retest

/retest

/retest


New apiVersion for get_in_block and loadRelated host functions

These are new features so require a new apiVersion, to prevent non-deterministic behaviour for old Graph Node versions

Discussed with @leoyvens and @lutter, this isn't required as when a host function isn't found the failure is non-deterministic


Options to get NCMC simulation output

This PR adds the following funcitonality:
Adds support for a write_ncmc option for the opt dictionary. The value of write_ncmc is an integer and specifies at what interval the frames are output, so everytime ncsteps % write_ncmc == 0 a frame is output. This also automatically outputs a frame when a move is performed.
A openmm dcdreporter outputs the frame to ncmc_outfile, which can also be specifed in opt (the default value is ncmc_output.dcd').
Addresses #71

The test is failing the same reason #70 was failing before–because the openmmtools integrators got changed (and which #70 addresses), so I think this PR should otherwise be fine. It runs the example locally fine.

@nathanmlim - can you review?
@sgill2 - did you want to bring the integrator name changes into this PR then?

did you want to bring the integrator name changes into this PR then?
I'll have to do a little more work to pull just the openmmtool integrator changes in, but sounds good.

Alright! The openmmtool changes seem to have been brought in fine.

For future reference, I believe with the appropriate git invocations it's possible to move changes made to one branch into a different branch "magically" so that you could probably have just migrated the integrator-naming related commits over to this branch.

@nathanmlim Could you review this again when you have a moment? I've changed the ncmc reporter to be pretty much consolidated to the simulateNCMC portion of the code.


python312Packages.rflink: 0.0.65 -> 0.0.66

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.rflink is: Library and CLI tools for interacting with RFlink 433MHz transceiver
meta.homepage for python312Packages.rflink is: https://github.com/aequitas/python-rflink
meta.changelog for python312Packages.rflink is: https://github.com/aequitas/python-rflink/releases/tag/0.0.66
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.0.66 with grep in /nix/store/58cav53vmpim6xdqgrs26dsh7hgnm9cs-python3.12-rflink-0.0.66
found 0.0.66 in filename of file in /nix/store/58cav53vmpim6xdqgrs26dsh7hgnm9cs-python3.12-rflink-0.0.66

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
home-assistant-component-tests.rflink
python311Packages.rflink
python312Packages.rflink

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/58cav53vmpim6xdqgrs26dsh7hgnm9cs-python3.12-rflink-0.0.66 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.rflink https://github.com/r-ryantm/nixpkgs/archive/23bd893dcca75fdf3c2ad3599cc472d8a2a6c809.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/23bd893dcca75fdf3c2ad3599cc472d8a2a6c809#python312Packages.rflink

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/58cav53vmpim6xdqgrs26dsh7hgnm9cs-python3.12-rflink-0.0.66
ls -la /nix/store/58cav53vmpim6xdqgrs26dsh7hgnm9cs-python3.12-rflink-0.0.66/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python311Packages.rflink
python312Packages.rflink

Maintainer pings
cc @dotlambda for testing.

Result of nixpkgs-review pr 287382 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.rflink
python311Packages.rflink
python311Packages.rflink.dist
python312Packages.rflink
python312Packages.rflink.dist


Another "error[internal]: left behind trailing whitespace" bug

Here's another "error[internal]: left behind trailing whitespace" bug: gist. rustfmt 1.2.2-stable (5274b49 2019-04-24), 1.4.1-nightly (9e960e7 2019-07-30).
error[internal]: left behind trailing whitespace
   --> /usr/local/src/sokoban-rs/rs/rustfmtbug.rs:184:184:15
    |
184 |     let layer =
    |                ^
    |

error[internal]: left behind trailing whitespace
   --> /usr/local/src/sokoban-rs/rs/rustfmtbug.rs:201:201:15
    |
201 |     let layer =
    |                ^
    |

warning: rustfmt has failed to format. See previous 2 errors.

I tried to cut the example down to something reasonable, but the bug seems really fragile. Apologies.

Minimum example:
fn main() {
    {
        #[rustfmt::skip]
        let _ =
        [1];
    }
}

playground link: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=673db728a775e9e6943975b63e9158f9

The code under rustfmt::skip should not trigger left behind trailing whitespace errors.

I get this for let toml in here using a r#" in the next line.

@0xpr03 your bug seems to be another reason, so I created new issue #3786.


Consider pre-generating the module file and test_version function

Having done a few tests so far, I'm starting to feel like creating the module file and defining the test_version/0 function every time is kinda tedious. What I'm proposing is having a module file with the test_version/0 function already implemented:

src/foo.erl

-module(foo).

-exports([test_version/0]).

% Your code goes here!

test_version() -> 2.

This also means we can ditch the check in exercism.hrl and avoid cryptic errors which mention an "example" module like this:

Uncaught exception!
exception error: undefined function example:steps/1

I'm more than happy do to the work if we think this'll be helpful 🙂

Just noticed #145 which I supposed covers this. Want me to jump on that?

Yeah, I'd be really happy if you did it. I'll close this one as a duplicate of #145.


More performance improvements

Brief description
~15% speed-up by not updating methods if no-one is using that method
Type(s) of change

[x] Bugfix
[x] Refactor
[ ] New feature
[ ] Other

Checklist

My code follows the style guide

[x] Yes
[ ] N/A

I've commented my code

[x] Yes
[ ] N/A

I've incremented the version number

[ ] Yes
[x] N/A

I've updated the changelog

[ ] Yes
[x] N/A

I've added tests and checked code coverage

[ ] Yes
[x] N/A

@pausz @robynstuart - approved but if one of you wouldn't mind resolving the conflicts here and merging, that would be great.

@MObrien-IDM will do!

@MObrien-IDM I had a close look at this PR and I think it's best to close it.

all optimisations introduced here except for 1 optimisation have been already merged into main (via #264)
this PR predates the the split into sim.py and people.py. Trying to merge would be hmm challenging :sweat_smile:
I've sent a new PR (#313) with the missing optimisation (2 lines of code)


fix(instr-mysql2): Fix mysql2 instrumentation connection prototype

Which problem is this PR solving?
<EMAIL_ADDRESS>introduced a internal refactoring to solve circular dependencies within the package.
ref: https://github.com/sidorares/node-mysql2/pull/3081
The changes include a new BaseConnection class which contains the methods we need to patch (query, execute). The Connection class is extending it therefore the instrumentation gets the wrong prototype when patching.
Fixes: #2572
Short description of the changes

bump mysql2 to v3.11.5
added a function to extract the proper prototype when patching/unpatching

Huh, weird - tests in TAV seem to be still failing but it's not yet possible to see which versions they're failing at. 🤔

ah I also just finished fixing this on my working copy before heading out to lunch, looks like you beat my by half an hour 🙂
Looks good, thanks 🙌 Let's wait for TAV to complete and then we should be good to go 🙂

Forgot to link the issue in the PR, sorry. TAV tests seem to be stuck so maybe my fix is not solving all issues :(

closing this one in favor of #2579


Failover and troubleshooting improvements

This update includes two improvements:
Updates to latest Etcher SDK v8.7.2, to allow a migration to failover to Windows if the computer boots into the flash-boot partition added by the migrator, rather than booting into the EFI system partition. The computer firmware decides the boot order among devices partitions, and this addition was driven by our experimentation on some new hardware/firmware.
Adds a --verbose option to both the analyze and run command targets. This option provides detailed output for the migration operation, especially network analysis. It can help with troubleshooting failures during migration.

I self-certify!


Checkout commit/revision under the cursor and in the log buffer

Is your feature request related to a problem? Please describe.
Ability to checkout (not reset) a commit under the cursor or in the log buffer
Describe the solution you'd like
Magit allows doing this by entering an arbitrary commit in the branch checkout.
We show a list of branches, and not commits
https://magit.vc/manual/magit/Branch-Commands.html#index-b-b

Super cool idea. One of the advantages to the telescope integration is the ability to overload the on_select function. Should be possible to add a check for if the selection is nil, but the input buffer has content, and try to use that as raw input. Something similar needs to be done with the remotes popup, when adding a remote, iirc

Yea that was the idea, that it would just kinda "do the right thing" if you enter a valid revision/oid. I know its a slight divergence from normal behaviour, but I think it would be alright. Lets see - maybe the idea needs some massage.
But isn't branch-popup/revision already for that? It doesn't open a log view, but maybe inverting this idea would work: from the log view, allow a user to checkout the revision under the cursor

This has now been implemented and merged in #734


Refactor h2o model output

This PR refactors src/h2oModelOutuput/h2oModelOutput.js to separate concerns and improve code readability


Improve changelog generation logic

Feature Request
When new stable version is generated, the change log would override the previous beta version change log rather than adding on top of it.
The reason behind this is keeping both change log would cause confusion of the breaking change is against previous beta version but actually the breaking change is against previous stable version.
We would like to see the change log being added separately with explicitly mentioning the breaking change base is previous stable version.  This way, we can avoid the confusion and keep all the change logs for every release version.
//CC: @lirenhe

fixed by: https://github.com/Azure/azure-sdk-for-go/pull/21794