BrokenProcessPool error using function with cpu_bound=True

Code seems to follow the examples, and the unsynced function is in global scope. Is the fact that lifted is not global a problem? I tried making it global and it did not seem to help.
import unsync as un
from typing import Callable, List

def parallelize(f: Callable) -> Callable:
    def lifted(series):
        futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
        vals = [f.result() for f in futures]
        return vals

    return lifted

import time

@un.unsync(cpu_bound=True)
def slow_inc(n):
    time.sleep(4)
    return n + 1

print(parallelize(slow_inc)([1, 2, 3]))

It's a long error trace included below, ending with: concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
I don't think it's user error on my part.
(gpt1-py3.11) GPT1 ) /Users/desmond/Documents/code/AI-invest/GPT1/.venv/bin/python /Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py                                           15:30:45
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 120, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 129, in _main
    prepare(preparation_data)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 240, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 291, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 7, in lifted
    futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
                                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 7, in <listcomp>
    futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
                                  ^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 78, in __call__
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 120, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 129, in _main
    prepare(preparation_data)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 240, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 291, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 7, in lifted
    futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
                                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 7, in <listcomp>
    futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
                                  ^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 78, in __call__
    future = unsync.process_executor.submit(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 787, in submit
    self._adjust_process_count()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 746, in _adjust_process_count
    self._spawn_process()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 764, in _spawn_process
    p.start()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 158, in get_preparation_data
    _check_not_importing_main()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 138, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
    future = unsync.process_executor.submit(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 787, in submit
    self._adjust_process_count()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 746, in _adjust_process_count
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 120, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 129, in _main
    prepare(preparation_data)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 240, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 291, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 7, in lifted
    futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
                                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Docume    self._spawn_process()
nts/code/AI-invest/GPT1/src/unsync_bug.py", line 7, in <listcomp>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 764, in _spawn_process
    p.start()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 288, in _Popen
    futures: List[un.Unfuture] = [f(i) for i in series]  # type:ignore
                                  ^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 78, in __call__
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
    future = unsync.process_executor.submit(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 787, in submit
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    self._adjust_process_count()
    super().__init__(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 746, in _adjust_process_count
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 158, in get_preparation_data
    self._spawn_process()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py", line 764, in _spawn_process
    _check_not_importing_main()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 138, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
    p.start()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 158, in get_preparation_data
    _check_not_importing_main()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 138, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
Traceback (most recent call last):
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in lifted
    vals = [f.result() for f in futures]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in <listcomp>
    vals = [f.result() for f in futures]
            ^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 144, in result
    return self.concurrent_future.result(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
Future exception was never retrieved
future: <Future finished exception=BrokenProcessPool('A process in the process pool was terminated abruptly while the future was running or pending.')>
Traceback (most recent call last):
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in lifted
    vals = [f.result() for f in futures]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in <listcomp>
    vals = [f.result() for f in futures]
            ^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 144, in result
    return self.concurrent_future.result(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
Future exception was never retrieved
future: <Future finished exception=BrokenProcessPool('A process in the process pool was terminated abruptly while the future was running or pending.')>
Traceback (most recent call last):
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in lifted
    vals = [f.result() for f in futures]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in <listcomp>
    vals = [f.result() for f in futures]
            ^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 144, in result
    return self.concurrent_future.result(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
Future exception was never retrieved
future: <Future finished exception=BrokenProcessPool('A process in the process pool was terminated abruptly while the future was running or pending.')>
Traceback (most recent call last):
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 23, in <module>
    print(parallelize(slow_inc)([1, 2, 3]))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in lifted
    vals = [f.result() for f in futures]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/src/unsync_bug.py", line 8, in <listcomp>
    vals = [f.result() for f in futures]
            ^^^^^^^^^^
  File "/Users/desmond/Documents/code/AI-invest/GPT1/.venv/lib/python3.11/site-packages/unsync/unsync.py", line 144, in result
    return self.concurrent_future.result(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

I'm not sure why the error is long, but hidden in the middle is the problem:
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

It works if you do:
if __name__ == '__main__':
  print(parallelize(slow_inc)([1, 2, 3]))


Docs: document Erigon NixOS module

Exactly as it says in the title.

I'm reworking the documentation. So I prefer to keep this task assigned to myself until I release the new version in the upcoming days.


Fixed a bug with not enabling plugins that are not rendered in content

Coverage decreased (-0.004%) to 78.176% when pulling 0dbbe73d2a15c4bf57e7959a7524ef54c949afea on vxsx:bugfix/enable-structure-plugins-that-are-not-in-content into 61dfbdb58664f6468ebb0b189fe9403404b49272 on divio:develop.


Login failed, know issues: []

Currently, every time I try to login using the following code:
var rbx = require('roblox-js') 	rbx.login(username, password).then(function(){ 		console.log("success") 	}).catch(function(err) { 		console.log(err) 	})
I receive the "Login failed, know issues: []" error. It's quite irritating. Is there a reason this is happening?

sorry, found the fix!


[Task] Define app image in config

What should be done
Let the user define app image in configurations
Technical recommendation
Do not split image and tag. If there is no tag in the image name set at the default value
Is this task linked with any other ?
#67

Oups, already done...


powershell login screens pop-under / don't show on taskbar

When using commands that normally pop-up a login screen like connect-azuread or connect-msolservice, the pop-up doesn't show as a pop-up but is hidden as the bottom app. In the case of connect-azuread there is no icon displayed on the taskbar either.
Running the following system:
Windows Terminal Version: 1.0.1401.0
Windows 10 Pro
10     0      19640  1
10     0      18362  752
With Connect-AzureAD the popup is normally hidden by the application. In this case there is no taskbar icon to show that the popup has come up. This appears to be by design from the module. The cursor in Powershell will be blinking but it becomes non-responsive as far as keypresses go.

With connect-msolservice the login window is in the center of the screen, and an icon on the taskbar shows that the login window is there, but it doesn't pop-up over the terminal screen.

When run directly in powershell (without terminal) the popups do come up in front of all open instances.

I would expect the behaviour between powershell and terminal to be the same in these cases. If you need any other info, please let me know and i'll do my best to provide it.

I'm gonna guess that this is is actually #2988. That's the issue tracking most of the z-order problems the Terminal sometimes has.
/dup #2988


Update details in Usage and csscomb.preset

What is the purpose of this pull request?
Currently on the VSCode extension page, there's not much info in the Usage section on how to get started. There's also a lack of info in csscomb.preset about the predefined configs and how to use them.
The changes here can help lower the barrier of entry for new users.
What changes did you make? (Give an overview)

Usage: added a step on how to set up a config file
csscomb.preset: added an example, and reworded description on what values this option takes

Thank you for that input, @jeffersonlam  🎉 🌮


[4.6.1] CLOUDSTACK-9022: keep Destroyed volumes for sometime

for now, the Destroyed volumes will be expunged in Storage cleanup thread, no matter when they are destroyed.
In Expunging vm thread, we expunge the Destroyed vms which have been destroyed at least 'expunge.delay' seconds. We add the similar configuration for volumes.
same to #1029 , this is for 4.6

Hey @ustcweizhou, could you create the PR towards 4.6 please, it is hard to determine exactly what you changed. Thanks

@ustcweizhou This is a mistake I guess, PR against the wrong branch?

@pdube @remibergsma I will recreate a new PR.


could not make the color part even tho i did all solution

Challenge Change the Color of Text has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/<IP_ADDRESS> Chrome/48.0.2564.97 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

CatPhotoApp

Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.

Try
CatPhotoApp
Looks like you were missing the ";".

="color: blue;"
Sorry about previous comment, it recognized the HTML.

@itsjacop you have an error in your code. Please consider asking for help in the Help Chat Room.


⚠ Jenkins Plugins Artifactory has degraded performance

In 987ecd2, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1252 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 77c7540 after 32 minutes.


Provide conditions to allow for additive changes.

Implementations MUST ignore unspecified members encountered in objects.

"unrecognized"?

@bintoro "unrecognized" is better - thanks. Updated.

I don't think it is meant to, but this wording could be read to say that you can't return an error when a payload includes some attribute that is invalid for the resource being updated (e.g. specifying a field that doesn't exist). I personally think it is fine to be liberal in what you accept and all that, but this seems overly prescriptive.

So the spec still says:

A resource object MAY contain additional top-level members. These members represent "attributes" and may contain any valid JSON value.

Therefore, all additional top-level members in a resource object are considered attributes, and it would be appropriate for a server to return an error if it doesn't recognize one of them.
I believe the clause in this PR just applies to all members of objects that the spec doesn't specifically address. Maybe it could be worded more clearly.

Maybe this is why I went with "unspecified" instead of "unrecognized", come to think of it.

"[...] MUST ignore object members not recognized by this specification"

"Unspecified" != "not defined by a specification".

@bintoro True.

"[...] MUST ignore object members not recognized by this specification"

This is an improvement. Updated again. And thanks again.
@tkellen does this now work for you?

I guess i'm still confused.  You said:

I believe the clause in this PR just applies to all members of objects that the spec doesn't specifically address.

If the spec doesn't address a member, and it is in the top level, it's an attribute. So, how can clients or servers ignore members not recognized by the spec? The thing that makes something a member is it being recognized by the spec.

@tkellen My thinking is that "recognized by the spec" == "allowed by the spec".
A clause allowing arbitrary members in an object (e.g., attributes in resource objects) makes them "recognized", even if the extra keys are not explicitly enumerated.

@tkellen The resource object has a "catch all" rule for unreserved members - they're all attributes. Therefore, the spec can never evolve to reserve more keys in a resource object.
However, links objects and the top-level object don't have such a "catch all" rule. If we introduce a top-level object member such as templates some time in the future, we don't want current implementations to throw errors when parsing that unrecognized member. We want them to skip it.

This is usually the default position. Do we need to spell this out in normative fashion?

Ah, please ignore me, I thought we were talking about reserving new members in resource objects, not the top level. :+1:

@tkellen ok, cool - glad we're on the same page now :)
@steveklabnik I am concerned that implementations may interpret the following as permission to reject documents when coming across unspecified members:

Unless otherwise noted, objects defined by this specification MUST NOT contain any additional members.

Since this is normative, I added a normative clause to balance it out. I'm open to suggestions to better express both conditions.

Ah, that's fair.

@steveklabnik is this good enough for now or would you prefer it be all non-normative?

Let's do it!

Great! The wording can be finessed after 1.0 if necessary.


Set Java 9 as code-base; completed missing ui-bindings in the 'Project'-Component

i did nothing, only changed manually 1.7 first to 1.9, but it didnot work.
After that i found in settings not 1.9, but 9 need to be used and simply
wrote that down. We did not you till now any special Java 9 feature. So it
work whis that changes
On Wed, May 2, 2018 at 12:06 AM, jmnietsch<EMAIL_ADDRESS>wrote:

@jmnietsch commented on this pull request.
In nfabackend/pom.xml
https://github.com/AMOSTeam1/NFA-Tool/pull/11#discussion_r185347202:

@@ -23,8 +23,8 @@
2.5.1
true

               <source>1.7</source>

               <target>1.7</target>

               <source>9</source>

I agree. It would be nice if you wrote in the description, what we have to
do in order to benefit from this merge.
It appears to be in working condition though.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AMOSTeam1/NFA-Tool/pull/11#discussion_r185347202, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AV2OqjFUVB-dkhR5vsNQqZ23XKb16Pgtks5tuNxdgaJpZM4TucYT
.

I think you have to install jdk 9 in order to complile ...that is what happened with me and It works if you write 1.9


refactor(parsing): separate parsing code from IO code. Bootstrapped tests.

diff is hard to read. sorry...


Scale value isn't saved correctly

Looks like the Game Creator is not saving the correct value for the scale. It should be "scale" in the bios but when it is updated in the Display Tool the value is saved as "Scale".

Was writing data to "Scale" instead of "scale" in the json. This has been fixed.


Reorder container creation

fixes https://github.com/brocaar/loraserver-docker/issues/3

Sorry for getting back to this pull-request so late. I've done some testing, also with the PostgreSQL container added to depends_on, but the problem is that there is a difference between:

the order in which containers are created
the order in which containers are "ready to accept connections"

E.g. after creating the PostgreSQL container has been created, it still needs a couple of seconds to initialize. Docker Compose will not wait for this:

https://docs.docker.com/compose/compose-file/#depends_on
But apart from some initial false errors, I don't think there is an issue? LoRa (App) Server will both retry to connect to the databases and the MQTT broker.


Global Registration #8

Store user registration in a global variable and use if previously set to allow registration to work across multiple installations of any-promise.

I still need to come up with tests


How to build a llama-cpp-python Container with CUDA ?

Hi, I have just a question and hope that someone of you can help me out as I am now on a 3-day-installation-odyssey.
I have written a small python based Rest API to run the Mistra-7B model with llama-cpp-pyhton in a Docker Container. Everything works fine on my Linux Notebook without a GPU.
Now I ordered a Server (Intel Core i7-7700 + GeForce GTX 1080). The goal is of course to use the GPU. And so I installed the Nvidia Drivers on the host and tested with nvidia-sim that all is working.
The big question I haven't been able to find any answer for days is: how can I build a Docker image with llama-cpp-python that uses my host's GPU? The whole thing seems like a special rocket science and I'm deeply frustrated.
Unfortunately, also these dustynv/cuda-python images don't work either for me. The error message is:
The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested
exec /bin/bash: exec format error

Does anyone know of an easy-to-understand guide on how to do something like this? As I said, the host already has the Nvida drivers. I didn't expect it to be so complicated to teach my container to use the GPU.
Thanks for any kind of help.

Hi @rsoika, yes as you have found all the container images from this repo are built for Jetson (ARM64+CUDA), however if you check my llama_cpp dockerfile it would essentially be the same process (you would just use NGC cuda base image for x86 instead)
https://github.com/dusty-nv/jetson-containers/blob/master/packages/llm/llama_cpp/Dockerfile
Note how I compile llama_cpp_python with -DLLAMA_CUBLAS=on -DLLAMA_CUDA_F16=1 flags in there

I am now using the nvida/cuda Docker image as the base image and install the llama-cpp part.
This works good:
This is how my Dockerfile looks like:
# See: https://github.com/abetlen/llama-cpp-python/blob/main/docker/cuda_simple/Dockerfile
ARG CUDA_IMAGE="12.1.1-devel-ubuntu22.04"
FROM nvidia/cuda:${CUDA_IMAGE}

# Install Python3
RUN apt-get update && apt-get upgrade -y \
    && apt-get install -y build-essential python3 python3-pip gcc

# setting build related env vars
ENV CUDA_DOCKER_ARCH=all
ENV LLAMA_CUBLAS=1

# Install llama-cpp-python (build with cuda)
RUN python3 -m pip install --upgrade pip pytest cmake fastapi uvicorn
RUN CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install --upgrade llama-cpp-python

# Install fastAPI and copy app
RUN pip install fastapi-xml
COPY ./app /app
WORKDIR /app

CMD ["uvicorn", "main:app", "--host", "<IP_ADDRESS>", "--port", "8000"]


Why predict_with_generate = False during do_train

Why predict_with_generate = False during do_train. Please explain.
Thanks

If not, it will require a different procedure in data preprocessing, and the evaluation loss cannot be correctly computed.

Can you please explain in details since hugging face doc mentioned having 'predict_with_generate' true during training is better. Thanks

I agree. Not having predict_with_generate=True during training seems like an unnecessary limitation, especially since HuggingFace supports it.
Can you elaborate what the processing issue is, and what you think would be needed to fix it? This could be a good place for a PR, unless its too complicated.

@Remorax We use prompt+response as the input_ids to construct training examples in SFT, but predict_with_generate needs prompt as input_ids without response. The do_train+predict_with_generation option mentioned in hf doc only supports enc-dec models like T5 which have separate encoder_ids and decoder_ids. Furthermore, generation usually consumes large time to compute which may hinder the training speed, so we do not recommend this setting.

Thanks for the really quick response! Your reasoning makes sense, thank you for explaining.


Implement contract verification during migration

When declaring new contracts, verify them with starkscan.
We should do this in a generic way to support future verification implementations.
Here is the Starkscan API info:
JSON def:
https://github.com/starkscan/starkscan-verifier/blob/acf3762c3ede91fe22a661e5b74c2e688289ffee/src/types.ts#L5
Endpoint:
https://github.com/starkscan/starkscan-verifier/blob/acf3762c3ede91fe22a661e5b74c2e688289ffee/src/api.ts#L78

I can try this one

foundry has a very clean way of doing this. If you pass in your etherscan api key it will just automatically verify, so perhaps we follow a similar way

starkscan-verifier don't support cairo1 verifying yet, but I'll add all the code for the API call and we will enable once it's supported.

foundry has a very clean way of doing this. If you pass in your etherscan api key it will just automatically verify, so perhaps we follow a similar way

I'll have a look how it's done in foundry

@Matth26 I removed you from assignee, don't hesitate if you want to take it again. :+1:

@Matth26 I removed you from assignee, don't hesitate if you want to take it again. 👍

Sure, I still have my branch with the API call if needed, but the starkscan-verifier API still doesn't support cairo1

@glihm is this open to take up? :)

@glihm is this open to take up? :)

Hey @ameya-deshmukh! Let me check the comment from @Matth26. Because if we don't have vision on support for Cairo 1 from voyager or starkscan this issue is blocked. Keep you posted!

Blocked until we figure out the API to verify cairo 1 programs with the explorers.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm a frontend and also blockchain developer(I write smart contract). I will love to work on this. i will be grateful if assigned

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have a strong background in software development, particularly in building and integrating APIs. My experience includes working with various blockchain technologies, which has given me a solid understanding of smart contracts and their verification processes. I’ve developed applications that interact with decentralized networks and have a keen grasp of how to ensure the security and reliability of contract interactions.
How I plan on tackling this issue
Approach to Implementing Contract Verification During Migration

Understand the Migration Context:

Identify the purpose of the migration (e.g., upgrading contracts, moving to a new network).
Determine the specific contracts involved and their current state.
2. Requirements Gathering:
Define the verification criteria (e.g., bytecode comparison, source code validation).
Determine what information is necessary for verification (e.g., contract addresses, ABI, bytecode).

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I want to contribute
How I plan on tackling this issue
direct approach

Can I try solving this issue?

I'm Abishake New to #ODHacks , i have an idea to solve this issue... give an opportunity to contribute .

Could I try solving this?

I’d like to help with this.

If this is still open, I'd like to step in
I was an early contributor to the Starknet community. After being disconnected for a few months, I’m eager to get back on track, and I’d like to work on this issue as a way to re-engage and contribute actively again.
Aside from that, I’m passionate about seeing Web3 gaming thrive, and I believe Dojo is the best project to make that vision a reality.

Could I try solving this?

Can I take this issue?

Can I be assigned to this?


Reorganize Cockroach startup to eliminate ExecStartPost timeouts

High-level description
Remove the ExecStartPost call to cockroach-change-config script in the Cockroach service and replace with a dependency to the config change unit. This fixes a problem where CockroachDB accepts the connection from the script but never gets to a state ready to receive data, so the unit times out.
Corresponding DC/OS tickets (required)

D2IQ-62292 Remove possibility of timeouts in systemd ExecStartPost

Related tickets (optional)

https://jira.d2iq.com/browse/COPS-5601
https://jira.d2iq.com/browse/COPS-5795
https://jira.d2iq.com/browse/COPS-6063

@mesosphere-mergebot test all

@mesosphere-mergebot test teamcity/dcos/build/dcos

@mesosphere-mergebot test teamcity/dcos/test/terraform/aws/onprem/static/group1

@mesosphere-mergebot test all

@mesosphere-mergebot  test teamcity/dcos/build/dcos

@mesosphere-mergebot test teamcity/dcos/build/dcos

@mesosphere-mergebot test all

@mesosphere-mergebot test all

@mesosphere-mergebot request-review @jkoelker @janisz @mhrabovcin

I'm not sure if this should happen in this PR but how about merging EE and OSS Cocroach package how we did for marathon and metronome?

@mesosphere-mergebot label Work In Progress

@mesosphere-mergebot label Ready For Review

Missing notification from teamcity/dcos/test/terraform/aws/onprem/static/group3 and teamcity/dcos/test/test-e2e/group1

@mesosphere-mergebot label Ship It


(Chore) Analyze performance of the Android application

Description

...
...

About #3604
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist:

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

@johnsmith-gooddollar whats the status with this?

@johnsmith-gooddollar whats the status with this?

@sirpy
migration to V8 have been merged to master and released .
the other changes were postponed because we've switched to the new login flow, then to the feed
if you want to prioritize this task again, we could do it as we have enough developers now. could delegate it for any of ArtJoker guys

so what does this PR do?
can we close it?

those changes were already merged. i'm closing it for now


add requested changes from KubeCon tag project meeting

Add GitHub Repo to page
Add Glossary to page
Add Glossary link to landscape

Added also a glossary. Not sure about the right-side menu with the letters.
Shall we change it to the terminologies instead of C, E, G etc?

@mkorbi we need to rebase it. @catblade you requested changes that Max included with the last commits.

This branch cannot be rebased due to conflicts

@mkorbi could you take a look


Remove unwanted API response envelopes.

Use Retrofit & Gson magic to remove unwanted Response objects; letting
API calls just return the payload that we are interested in.
h/t @JakeWharton

Nice, the presentation was pretty nice -> https://skillsmatter.com/skillscasts/8416-making-retrofit-2-work-for-you?utm_content=buffer42b9d&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

Thanks for the comments @JakeWharton.


[Feature Request] New "docker run" parameter for session initialization

First of all, this is not a bug, but a feature request.
To access data via DuckDB in S3 for example, I need to execute certain SQL statements for each session, like:

INSTALL httpfs
LOAD httpfs
SET s3_region='us-east-1'
and others

It would be very nice if I could define some parameters via "docker run" that would then be executed against DuckDB for each "arrow flight" session.
For example:
docker run --name flight-sql \
           --env SESSION_INIT="INSTALL httpfs"
           --env SESSION_INIT="LOAD httpfs"
           --env ...

Hi @prmoore77
thank you very much for your support and implementation. It works like a charm.
Oliver

Hi @prmoore77
thank you very much for your support and implementation. It works like a charm.
Oliver

Thanks for testing it!


Nested for of loop with continue statement in child will skip parent iteration.

When using continue, to skip an iteration, in a nested for-loop the child and the parent are skipped. The expectation is that only the child is skipped.
Input code
const letters = ['a', 'b', 'c', 'd', 'e', 'f']
const numbers = [1, 2, 3, 4, 5, 6]
for (const letter of letters) {
  console.log(letter)
  for (const number of numbers) {
    if (number >= 4) {
      continue
    }
    console.log(letter, number)
  }
}

Outputs:
a
a 1
a 2
a 3

Config
{
    "filename": "test.ts",
    "sourceMaps": true,
    "env": {
        "mode": "usage"
    },
    "jsc": {
        "target": "es2015",
        "parser": {
            "decorators": true,
            "dynamicImport": true,
            "syntax": "typescript"
        }
    },
    "module": {
        "type": "commonjs"
    }
}

Expected behavior
The output should be the following:
a
a 1
a 2
a 3
b
b 1
b 2
b 3
c
c 1
c 2
c 3
d
d 1
d 2
d 3
e
e 1
e 2
e 3
f
f 1
f 2
f 3

Version
The version of :
@swc/core: 1.2.80
@swc/jest: 0.2.2
Additional context
I notice this error in Jest, and will try to reproduce in swc's repo.

My simple test case is not reproducing, I'm going to dive deeper to figure out exactly what's going on here.


test(client): multiSchema, test same table name

Closes https://github.com/prisma/prisma/issues/15009
We previously tested different table names because of a bug in validation, this PR changes that to test the same table name but in 2 different db schemas.

Waiting for https://github.com/prisma/prisma/pull/15649

Currently fails with
https://github.com/prisma/prisma/actions/runs/3189841431/jobs/5204140972#step:10:2842
FAIL tests/functional/multi-schema/tests.ts (14.334 s)
  ● multi-schema (provider=postgresql, mapTable=true) › create

    Schema validation error - Error (query-engine-node-api library)
    Error code: P1012
    error: Error parsing attribute "@id": The given constraint name `some_table_pkey` has to be unique in the following namespace: global for primary key, indexes and unique constraints. Please provide a different name using the `map` argument.
      -->  schema.prisma:14
       |
    13 |     model User {
    14 |       id String @id @default(cuid())
       |
    error: Error parsing attribute "@id": The given constraint name `some_table_pkey` has to be unique in the following namespace: global for primary key, indexes and unique constraints. Please provide a different name using the `map` argument.
      -->  schema.prisma:23
       |
    22 |     model Post {
    23 |       id String @id @default(cuid())
       |

    Validation Error Count: 2
    [Context: getDmmf]

New engines from https://github.com/prisma/prisma-engines/pull/3269 are now showing a different error.
https://github.com/prisma/prisma/actions/runs/3228011532/jobs/5283599499#step:10:4693
       db error: ERROR: relation "some_table" already exists
      0: sql_migration_connector::apply_migration::migration_step
                 with step=CreateTable { table_id: TableId(1) }
                   at migration-engine/connectors/sql-migration-connector/src/apply_migration.rs:21
      1: sql_migration_connector::apply_migration::apply_migration
                   at migration-engine/connectors/sql-migration-connector/src/apply_migration.rs:10
      2: migration_core::state::SchemaPush
                   at migration-engine/core/src/state.rs:380
      Error: db error: ERROR: relation "some_table" already exists
      0: sql_migration_connector::apply_migration::migration_step
                 with step=CreateTable { table_id: TableId(1) }
                   at migration-engine/connectors/sql-migration-connector/src/apply_migration.rs:21
      1: sql_migration_connector::apply_migration::apply_migration
                   at migration-engine/connectors/sql-migration-connector/src/apply_migration.rs:10
      2: migration_core::state::SchemaPush
                   at migration-engine/core/src/state.rs:380

@tomhoule it seems something is missing for SchemaPush

The error is expected because multi schema migrations are not yet implemented

Since Migrate support is needed to do this test in the functional test suite, I did it in the old integration tests https://github.com/prisma/prisma/pull/15798


Add the first official collaborator

Confession: Over the years, I've hesitated to introduce new official collaborator to the project. There have been a number of folks who have invested a significant amount of time helping test, review, and organize pull-requests and issues... but I've never given anyone official commit access to the master branch.
Why did I hesitate? Some background..
When I started the project, outside of myself and a few friends/coworkers... I didn't know who my target audience was. I didn't have any grand plans on what would be bundled. Features like themes, plugins, an auto-update tool... didn't come until later.
Ultimately, I never had a cohesive vision for the project. Without a vision, what would another collaborator be helping me accomplish?
That isn't to say that I don't have rudimentary ideas of what my vision is.
For example, when Prezto was created as a fork of oh-my-zsh, it was directly because of a difference of opinion on how to move the project forward. When faced with a valid proposal on how to evolve the project, I found myself having to step back and think about who the target audience that the project should focus on. Given that I didn't have any vision shared with others, you couldn't fault folks for pushing in a different direction because it wasn't contrary to anything that had been shared. After some care consideration, I passed on the proposal and said that I wanted to focus attention on folks who were new to terminal shells and git. That isn't to say that more experienced folks wouldn't find joy in using oh-my-zsh, but they were not going to be who we optimized the project for.
Through that process, hints of a project vision began to emerge (in my head).
Back in May of 2011, I was interviewed on the Changelog podcast ( episode 61 ) about the project. I remember talking about how it was a goal to keep the open pull request count under 100.
Under 100! hah
As of writing this post, there are 432 open pull-requests and I've personally merged cod from 876 different developers.
It's becoming, increasingly, far too active of a project to maintain myself.
Over the past several months, it's become clear to me that I'm ready to take that first step of bringing in an additional official collaborator to help work through the backlog.
It's also really clear who that first person would be.

"It's also really clear who that first person would be."
Lol way to leave us hanging!

Earlier this year, I started to get emails like this from @mcornella.

Out of nowhere. They started appearing in my inbox every 3-4 weeks. A list of pull-requests that Marc believed were good to merge. It allowed me to focus my attention on those items, check the commits, and merge via the Github web interface.
Marc realized that I wasn't able to focus that much attention on the day-to-day issues/requests coming in and created a workaround workflow for the project. It has worked pretty well.
Another example... Marc also helped organize #3809 with the help of a bunch of other folks... but he definitely orchestrated the whole thing. Another great example is #3651.
This isn't to say that Marc is the only person who has helped the project move forward despite my limited availability, but he took a few extra steps to really foster a collaborative relationship with me. I've had many people write me and ask, "how can I help?" ... but very few people approached me with, "I'd like to help, I've organized the following for you."   There are a handful of people who I believe would be great additions to this project... but I'm going to ease the project into this new era. Marc has accepted my invitation and we've agreed on the following:

Keep the installation process as simple as possible for new folks.
Keep the auto-update process working as smooth as we can
No new themes* (we'll make exceptions for really innovative ones)
Don't break existing ~.zshrc configurations (i.e., when we add new options, let's avoid breaking things for existing users)
Get a second opinion (from each other) on bigger changes to the core of the project

That isn't what I'd classify as a vision for the project, but it's something we can start working together with.
Meet Marc.

Please join me in welcoming @mcornella as the first official collaborator to the project.

A hearty :+1: to this!

very cool :100: :+1:

I just published a correction to Robby's post which I spotted recently. A lot of the work was done by @ncanceill, so I'm just giving credit where it's due.


Fix gettimezone performanceissue

TimeZone.getTimeZone() is static synchronized and can take significant time for "custom" time zone ids like "GMT+01:00" - see CustomID on https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html. This means that it is a performance bottleneck on systems with high number of transactions. Fixed such that TimeZone is cached in BaseDateTimeDt.

The CustomID format is parsed via java.util.TimeZone#parseCustomTimeZone where the result is not chached by TimeZone.getTimeZone()

@jamesagnew Do you have time to look at this small PR?

@jamesagnew We would like to have this merged. We have to fork Hapi FHIR to build the version of Hapi FHIR we use because of this issue.

Apologies for the slow reply- I didn't merge this only because I kept thinking about how we could fix this also for the other versions of FHIR in an organized way but never actually came to a conclusion. I'm going to merge.

Understandably :) Thanks.


Add FAQs for HTTP Sink: FAQ PR #5

This PR does the following:-
builds upon the FAQ section as created in the FAQ PR # 4
adds FAQs for HTTP Sink and references them in the Table of Contents

@jesrypandawa Requested Review


Do you have a plan to support Hindi Language?

Question

Do you have a plan to support Hindi Language?

Hi @snsvis ,
No we won't add support for Hindi language.
This library is being maintained (bug fixes mostly) but it's not actively developed anymore, hence we are not adding support for new languages.
Best


Simplify the adding of a HeliumLogger logger to an application

Add one line of code to the init function of HeliumLogger:
Log.logger = self

Question: Does HeliumLogger get used anywhere not using the Logger.logger stuff?

The above idea isn't quite so good. One gets a warning when one tries to simply code HeliumLogger().
An alternate is to add to HeliumLogger a static function as in the following:
public static func use() {
    Log.logger = HeliumLogger()
}

Validated.


Issue #93 Merged encoders from Lib into SDK

Merged encoders from Lib into SDK
Dragon Milestone / 2: https://github.com/nemtech/nem2-sdk-typescript-javascript/milestone/2
Issue #93

Pull Request Test Coverage Report for Build 452

315 of 329 (95.74%)  changed or added relevant lines in 24 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.2%) to 81.003%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/core/format/RawUInt64.ts
33
34
97.06%

src/core/format/Convert.ts
57
63
90.48%

src/core/format/RawAddress.ts
37
44
84.09%

Totals

Change from base Build 442:
2.2%

Covered Lines:
1983

Relevant Lines:
2335

💛  - Coveralls

Pull Request Test Coverage Report for Build 452

315 of 329 (95.74%)  changed or added relevant lines in 24 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.2%) to 81.003%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/core/format/RawUInt64.ts
33
34
97.06%

src/core/format/Convert.ts
57
63
90.48%

src/core/format/RawAddress.ts
37
44
84.09%

Totals

Change from base Build 442:
2.2%

Covered Lines:
1983

Relevant Lines:
2335

💛  - Coveralls


Allow mutator attributes

To enable server-side processing of attribute values, Eloquent mutators could be used. To enable them for e.g. relationships they have to be included in the class properties. This pull request adds them to the mapping.

There is this existing PR, which main repo do you mean?


Map unmapped concepts

Some concepts (mostly language specific) are not linked but are available in Concepticon.

We don't have a built-in mechanism now to merge or add concepts with concept lists in pylexibank. Do you think we should have this? Alternatively, and better - I think - would be to actually add these concepts to the WOLD concept list in Concepticon, although that's a bit painful, with the number of items being baked into the IDs in Concepticon.

Depends also on the concepts: if they are very rare, I would not necessarily bother now, and as wold has this fixed number of 1430 (or 1460?) concepts, any modifications in concepticon should somehow indicate that these concepts are not the primary ones, to keep the original name of the list.

As far as I know, there's already the "core meaning" flag in WOLD which flags meanings not in IDS.

Yes, but I would not want to change from Haspelmath-2009-1460 to Haspelmath-2009-1498, given that these 1460 concepts are the ones usually discussed, and that this list-name was linked and used in quite a few projects and websites so far.

BTW, @tresoldi, could you give some examples, please?

@natalia-morozova wanted to do this, as she will later move to the orthographic profiles (could not mention her before as she was not a contributor).
As for concept mapping, @xrotwang is right, and our blog posts on using pyconcepticon are a good starting point: https://calc.hypotheses.org/1820
@LinguList as for examples, they are those at the bottom of https://github.com/lexibank/wold/blob/master/cldf/parameters.csv : in some cases they are missing because the gloss ("the river"), in other cases because they were added to Concepticon ("the cassava flour"). But I can see the point of not coming up with a Haspelmath-2009-1498 list, and manually adding the missing ones with the installation script does not sound so elegant. Do you prefer to leave the concept list untouched?

Each of the authors (or author teams) provided counterparts (translational equivalents) for items on a fixed list of 1,460 items, called the LWT meaning list (§3).

The addons are a result of people changing individual info in their wordlists, so you could link them to haspelmath-2009-1460, but I'd be strictly against changing the name, although this is no problem for th econcepticon, as we have other lists, like Matisoff, where the name does not reflect the number of items, as the author SAYS to use 200, but effectively uses so many a, b, and c subsections that the list is more than 210 items...

But this is also "classical" concepticon practice, and the identifiers by WOLD are all with 9999, so even they reflect that this is a secondary individual meaning, non-canonical. Just wanted to make this point clear.

We could then keep the Haspelmath-2009-1460 name/list, but including new entries, keeping the ID pattern, and trying as much as possible to only link to concepts already used in the list so we don't miss the "intralist" comparability (which is the right thing in most cases, with "river" and "the river" as equivalents).

I think @LinguList is right that these meanings/forms are another class of data in WOLD, which may even come with less quality control. So spending effort on making data comparable which was to some extent dismissed by the WOLD editors may not be worth it.

It may be interesting to actually look at NUMBERS of how many "the river" is there, as opposed to "the river or stream". But if we agree that the purpose of concepticon is to share the actual wold list, as it is presented in the literature, lexibank-wold may additionally link more concepts to share the data, but with an additional concepts.csv, which would spare us the updating of concepticon here.

There 414 entries which are not mapped (of 66283, 0.6%). Guess we should drop the issue?

It shows how important it is to check the dimensions of inconsistencies.


Patch start crash in .net 4.5-Unity2018

Fix:
in node.cs
change 136:
                var slot = AddInputSlot("set_" + prop.Name, prop.PropertyType);
to
                var slot = AddInputSlot("set_" + prop.Name);

Sorry, this problem only happens when I use midi Klak project in new Klak.
It's not a bug about Klak.

Can confirm this is a general problem (take a clean checkout of the example project on Unity 2018.2.x and switch to C# 4.6)
Also - the fix above seems to work.

I pushed another fix for this issue. https://github.com/keijiro/Klak/commit/9120afc7a7ac8b517d756c13080e9ce1747baa9f

I'm closing this issue now. Please feel free to reopen for further questions.


Overview page

Introduction
Modifying contents and features of the page where users can have a overview of the calculus that have been made

[ ] Add a feature that allow users to separate the results by transport category (whether it is an individual transport or a collective one)
[ ] Allow users to export the results in .csv
[ ] Allow users to export the results in .pdf
[ ] Add % of increase and decrease on the graphs
[ ] Add a feature to publish the data

Instead of a feature to separate de results by transport category, I opted for a selection of categories to display. That way, users are free to choose. This selection takes part in a new option menu allowing the following configurations:

Choice of transport categories
Choice between TTW and WTW for the GHG emission graph
Choice of which legends are displayed: % increase and/or chart values

The option menu is hidden by default and is displayed upon clicking on its header. I have also added a 📌 button to stick the menu on top of the page, which allows for accessibility even after scrolling. This might be a terrible UX, but it helped to visualize changes in real-time.

I have also added an export to CSV, that includes both computed outputs and user inputs, here is a sample export: MGP_2_export (4).csv (sources aren't filled correctly)
In theory, this data can be used as an input to the transport database, but it's not quite copy-pastable yet.
Finally, I added a message for projects still in the draft state, with a link to validate.


Code style

:space_invader: :space_invader: :space_invader:

If I missed something.. let me know :)

@lipis Thanks for the PR but I don't want to change the coding style for this project at the moment. I realize that my style/use of whitespace is a bit nonstandard and in some cases messy. But if I switch to another style I want to make an educated decision - but that's not a priority right now.
I hope you understand.

Sure man.. I just saw that it wasn't consistent everywhere so that's what I went ahead with it.. but of course.. your decision :)


#build (et al) documentation is outdated

in https://github.com/thoughtbot/factory_girl/blob/03786660edbe4e028a292d19f7956f8dd0c89347/lib/factory_girl/syntax/methods.rb :
      # @!method create(name, *traits_and_overrides, &block)
      # (see #strategy_method)
      # Creates a registered factory by name.
      # @return [Object] instantiated object defined by the factory

it references #strategy_method which doesn't exist anymore.

@rstacruz interested in making a PR? This is now handled in this file: https://github.com/thoughtbot/factory_girl/blob/03786660edbe4e028a292d19f7956f8dd0c89347/lib/factory_girl/strategy_syntax_method_registrar.rb

i know very little of factory_girl internals, sorry. :(


Fix Ninja being able to access Nuclear Operative ship

About the PR

Changed airlocks on the Nuclear Operative ship to nuclear operative syndicate airlocks.
Why / Balance

Fix #22433
Technical details

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Changed nuclear operative shuttle airlocks such that they can no longer be opened with an Agent ID.

Not sure if syndicate reinforcements getting a PDA and ID should be combined with this
I'm not sure if the linked issue will be auto-closed if you put a word between the "fix" keyword and the issue number
For the first cl line, I think it could be worded more in terms of what it means for players/gameplay, than what it does mechanically, because in this case it might not be fully clear

Not sure if syndicate reinforcements getting a PDA and ID should be combined with this
I'm not sure if the linked issue will be auto-closed if you put a word between the "fix" keyword and the issue number
For the first cl line, I think it could be worded more in terms of what it means for players/gameplay, than what it does mechanically, because in this case it might not be fully clear

Should I leave only the shuttle changes here and create a separate issue for the reinforcements getting an ID.

I don't get to decide that. But my opinion is that the should be in a different PR just so the airlock tweak is not held up if there are any concerns brought up about the ID

Reverted the change that added a syndicate id to reinforcements. It does indeed seem that it wouldn't fit in this PR.

the CL is a little misleading because the agent ID that nukies spawn with has nuclear access

thing is, the one that they can buy doesn't have nuclear access to please make it so nukies can buy the nukie agent ID

thing is, the one that they can buy doesn't have nuclear access to please make it so nukies can buy the nukie agent ID

It's an agent ID. Can't they just copy access from another nukie

yes, but it still adds some friction

im not sure the purpose of this pr

the CL is a little misleading because the agent ID that nukies spawn with has nuclear access

They start with a syndicate id

They start with a syndicate id

the commander and agent spawn with a syndicate ID, the regular guys have an agent ID with nuclear access, but since the CL says agent ID it'll make them think they need a syndicate ID, do you know what i mean?

I don't believe this is a necessary change- the ninja already has gloves that allow them to emag their way into the shuttle if needed.


[BUG] gradient overflow with fp16 enabled

Describe the bug
I was trying to use deepspeed fp16 mode to train a 4.7B gpt2 model. At first it works fine, but after about 220 steps, the logs start to indicate an overflow and keep reducing the loss scale until it reaches 1 and keeps repeating, and the loss value changed to NaN.
I tried the method metioned in that answer: https://github.com/huggingface/transformers/issues/15570#issuecomment-1035306492, but after setting a higher initial scale power(I have tried 18, 24, 32), overflow even present in the first step:
steps: 1 loss: 11.4926 iter time (s): 36.217 samples/sec: 70.686
[2022-02-16 01:22:29,596] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | pipe_send_output: 4606.68 | pipe_recv_grad: 753.47
[2022-02-16 01:23:00,852] [INFO] [stage_1_and_2.py:1644:step] [deepscale] OVERFLOW! Rank 0 Skipping step. Attempted loss scale:<PHONE_NUMBER>, reducing to<PHONE_NUMBER>.0
[2022-02-16 01:23:00,853] [INFO] [logging.py:69:log_dist] [Rank 0] step=2, skipped=2, lr=[0.0001, 0.0001], mom=[(0.85, 0.99), (0.85, 0.99)]
[2022-02-16 01:23:00,853] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | batch_input: 325.46 | forward_microstep: 8068.21 | backward_microstep: 20297.51 | backward_inner_microstep: 20295.81 | backward_allreduce_microstep: 0.00 | step_microstep: 2.04
[2022-02-16 01:23:00,853] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | forward: 8069.56 | backward: 20296.67 | backward_inner: 20294.76 | backward_allreduce: 0.00 | step: 2.03
steps: 2 loss: 11.4975 iter time (s): 30.870 samples/sec: 82.929
[2022-02-16 01:23:00,853] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | pipe_send_output: 1377.88 | pipe_recv_grad: 663.08
[2022-02-16 01:23:31,730] [INFO] [stage_1_and_2.py:1644:step] [deepscale] OVERFLOW! Rank 0 Skipping step. Attempted loss scale:<PHONE_NUMBER>.0, reducing to<PHONE_NUMBER>.0
[2022-02-16 01:23:31,731] [INFO] [logging.py:69:log_dist] [Rank 0] step=3, skipped=3, lr=[0.0001, 0.0001], mom=[(0.85, 0.99), (0.85, 0.99)]
[2022-02-16 01:23:31,731] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | batch_input: 294.01 | forward_microstep: 8067.96 | backward_microstep: 20333.02 | backward_inner_microstep: 20331.33 | backward_allreduce_microstep: 0.00 | step_microstep: 2.23
[2022-02-16 01:23:31,731] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | forward: 8068.90 | backward: 20332.18 | backward_inner: 20330.27 | backward_allreduce: 0.00 | step: 2.21

I also tried this: https://github.com/microsoft/DeepSpeed/issues/697#issuecomment-767874226, but what's worse is that this method leads to another kind of error:
AssertionError: data parallel group is not initialized

So now I don't have any idea how to solve this problem.
 Rank 0 Skipping step. Attempted loss scale: 4096, reducing to 4096
[2022-02-15 18:51:45,706] [INFO] [logging.py:69:log_dist] [Rank 0] step=228, skipped=1, lr=[0.00030429999999999986, 0.00030429999999999986], mom=[(0.95822, 0.99), (0.95822, 0.99)]
[2022-02-15 18:51:45,706] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | batch_input: 169.80 | forward_microstep: 9296.47 | backward_microstep: 23461.88 | backward_inner_microstep: 23460.12 | backward_allreduce_microstep: 0.00 | step_microstep: 2.11
[2022-02-15 18:51:45,706] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | forward: 9298.00 | backward: 23461.01 | backward_inner: 23458.97 | backward_allreduce: 0.00 | step: 2.08
steps: 228 loss: nan iter time (s): 34.890 samples/sec: 73.373
[2022-02-15 18:51:45,706] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | pipe_send_output: 1259.52 | pipe_recv_grad: 565.64
[2022-02-15 18:52:20,687] [INFO] [stage_1_and_2.py:1644:step] [deepscale] OVERFLOW! Rank 0 Skipping step. Attempted loss scale: 4096, reducing to 2048.0
[2022-02-15 18:52:20,687] [INFO] [logging.py:69:log_dist] [Rank 0] step=229, skipped=2, lr=[0.00030429999999999986, 0.00030429999999999986], mom=[(0.95822, 0.99), (0.95822, 0.99)]
[2022-02-15 18:52:20,687] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | batch_input: 151.81 | forward_microstep: 9293.15 | backward_microstep: 23479.71 | backward_inner_microstep: 23477.89 | backward_allreduce_microstep: 0.00 | step_microstep: 1.96
[2022-02-15 18:52:20,688] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | forward: 9294.62 | backward: 23478.80 | backward_inner: 23476.75 | backward_allreduce: 0.00 | step: 1.95

...

steps: 242 loss: nan iter time (s): 34.500 samples/sec: 74.202
[2022-02-15 18:59:50,599] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | pipe_send_output: 1244.14 | pipe_recv_grad: 592.68
[2022-02-15 19:00:25,037] [INFO] [stage_1_and_2.py:1644:step] [deepscale] OVERFLOW! Rank 0 Skipping step. Attempted loss scale: 1, reducing to 1
[2022-02-15 19:00:25,038] [INFO] [logging.py:69:log_dist] [Rank 0] step=243, skipped=15, lr=[0.00030520000000000015, 0.00030520000000000015], mom=[(0.9580799999999999, 0.99), (0.9580799999999999, 0.99)]
[2022-02-15 19:00:25,038] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | batch_input: 158.33 | forward_microstep: 9217.78 | backward_microstep: 23053.91 | backward_inner_microstep: 23052.11 | backward_allreduce_microstep: 0.00 | step_microstep: 2.70
[2022-02-15 19:00:25,039] [INFO] [logging.py:69:log_dist] [Rank 0] rank=0 time (ms) | forward: 9219.42 | backward: 23052.99 | backward_inner: 23050.96 | backward_allreduce: 0.00 | step: 2.68

System info (please complete the following information):

OS: Ubuntu 20.04
GPU count and types x8 NVIDIA 3090
Python version: 3.8
CUDA: 11.0

@stas00 I would be very grateful if you could give some advice.

You're also using the default  --init-method-std which is usually set to 0.02 in Megatron-LM which is too big for your model size. Based on your hidden size - you want something like 0.01 from sqrt(2/(3072*5)) - see: https://github.com/bigscience-workshop/bigscience/blob/master/train/lessons-learned.md#using-a-formulaic-std-init

I'm not familiar with the program you're running. Is this from the DeepSpeedExamples repo? for up to date 3D parallel gpt training you want either https://github.com/microsoft/Megatron-DeepSpeed/ or https://github.com/bigscience-workshop/Megatron-DeepSpeed. We use the latter to train huge gpt models (100B). example
Try to switch to bf16 instead of fp16 - at the moment you have to use deepspeed@master as there was no new release yet.
    "fp16": {
        "enabled": false,
    },
    "bf16": {
        "enabled": true,
    },

and --fb16 in the command line instead of fp16
I'm not at all sure the DeepSpeedExamples repo is up-to-date and supports bf16. Perhaps it does.
The Megatron-DeepSpeed repos will soon be supporting bf16 as well, hopefully in a few days since we need it for the BigScience project, so we are waiting for the Deepspeed team to address that. And it'll require pt-1.11 when it comes out or you have to use the nightly pytorch until then. This is because older NCCL doesn't support bf16 and nightly has the right NCCL (2.10.3). Should know in a few days.
and also you want at least cuda-11.3 for Ampere gpus (though I don't think the latter is related to the overflow). And of course the latest pytorch.
But otherwise it probably has to do with your model's config / data, so you probably want to experiment with hparams - learning too fast perhaps or your data is very noisy?

Yes, I'm using Megatron-Deepspeed repo, sorry for forgetting to provide this information. Glad to hear Megatron-DeepSpeed will support bf16, I will try it as soon as it is released.
For now I am trying to adjust those hparams. Because you mentioned that this could be due to "learning too fast", so I think it might have something to do with the learning rate. In your opinion, is it possible that this is a problem due to an excessive learning rate? I've noticed that due to my scheduler options, learning rate kept rising during the training process and reached 3e-4 in the step where the overflow occurred. Now I'm doing some experiments to verify it, but when I change learning rate range, sometimes the loss not even decline, which makes me very confused. This is really a rather delicate issue:joy:
Lastly, Thank you for your patient answer, it helps me a lot! :smile:

Getting the hparams right is the holy grail of Machine Learning. Any of them could make it or break it, so you have to do a lot of trial and error until you get to know your model and your framework.
I already gave you a hint about std-init, and now as you are figuring out it seems you need to figure out a good lr warmup strategy.
Your model is 5B params
NHIDDEN=3072; NLAYERS=40; SEQ_LEN=2048; VOCAB_SIZE=50257; python -c "h=$NHIDDEN; l=$NLAYERS; s=$SEQ_LEN; v=$VOCAB_SIZE; print(f'Model size: {(l*(12*h**2 + 13*h) + v*h + s*h + 2*h) / 10**9 :.0f}B, ratio={int(h/l)}')"
Model size: 5B, ratio=76

I think it may be a bit too deep? so you may way to make the hidden a bit bigger and use less layers. You will have to experiment.
while we only have 1.3B and 13B around that size, feel free to try some hparam setups similar to ours:
https://github.com/bigscience-workshop/bigscience/tree/master/train
(it's the .slurm scripts in the different sub-folders)
I trust that after some trial and error you will get it right, @observerw

@stas00 thanks for providing such comprehensive answers.
Regarding the support for bf16, I thought it's still experimental within HF Trainer (from here)?

As of deepspeed==0.6.0 the bf16 support is new and experimental.
If you use gradient accumulation with bf16-enabled, you need to be aware that it’ll accumulate gradients in bf16, which may not be what you want due to this format’s low precision, as it may lead to a lossy accumulation.

Regarding the ratio being too deep in https://github.com/microsoft/DeepSpeed/issues/1773#issuecomment-1042548726, what's a sensible value here?

bf16

I have only been using bf16 with https://github.com/bigscience-workshop/Megatron-DeepSpeed and it's fantastic for huge models.
with HF Trainer I haven't had a chance to do any serious training with bf16 so I don't know.
The format is superior to fp16 because of its much bigger dynamic range and thus no overflows, now the various implementations could make it or break it. e.g. fp16 grad accumulation in fp16 is fine since it has a relatively high precision, but for bf16 is too lossy and will probably impact the training for the worse. So really need to implement grad accumulation in fp32 there. Probably should at least create an Issue so that we know it needs to be done. And of course you're welcome to try to implement it - it shouldn't be too difficult I think (though the devil is in the details)
The Deepspeed ZeRO implementation has the same issue at the moment https://github.com/microsoft/DeepSpeed/issues/1800

Hidden to layers ratio

Have a look at this table:
https://github.com/NVIDIA/Megatron-LM/blob/d50e89f1033ee1fedc5e61e98cb83b1ad043692b/README.md
it gives you a pretty good point of reference.
on the other hand I don't think there is a hard rule or a no-no out there, we don't have enough LLM models to provide perfect recommendations. Ideally one would train the same param-count model under different ratios and compare the results. but that's super expensive/time consuming, so we don't have that info.
And LLMs are somewhat different beasts from smaller models so it's difficult to extrapolate any conclusions from small models to large ones, though there is a lot of effort is being invested into figuring that out. And surely there are already some who will give you a more scientific answer.

Getting the hparams right is the holy grail of Machine Learning. Any of them could make it or break it, so you have to do a lot of trial and error until you get to know your model and your framework.
I already gave you a hint about std-init, and now as you correctly intuited you need to figure out a good lr warmup strategy.
Your model is 5B params
NHIDDEN=3072; NLAYERS=40; SEQ_LEN=2048; VOCAB_SIZE=50257; \
python -c "h=$NHIDDEN; l=$NLAYERS; s=$SEQ_LEN; v=$VOCAB_SIZE; \
print(f'Model size: {(l*(12*h**2 + 13*h) + v*h + s*h + 2*h) / 10**9 :.0f}B, ratio={int(h/l)}')"
Model size: 5B, ratio=76

I think it may be a bit too deep? so you may way to make the hidden a bit bigger and use less layers. You will have to experiment.
while we only have 1.3B and 13B around that size, feel free to try some hparam setups similar to ours: https://github.com/bigscience-workshop/bigscience/tree/master/train
(it's the .slurm scripts in the different sub-folders)
I trust that after some trial and error you will get it right, @observerw

@stas00 hi, regarding the ratio being too deep, would you please provide references about the ratio value? thank you

my note was based on the ratios used by Megatron-LM ratios and I think some others I have seen, like the 530B model by NVIDIA/MSFT.
e.g. see the table https://github.com/NVIDIA/Megatron-LM/blob/5352377cc378cb7811f766ed82662063fcb42561/README.md
I don't think there is a clear recommendation about what that ratio should be or at least I haven't seen any papers covering that systematically. If you do find one please share.


Change title by label

If using TITLE you get it on each tabs under your mouse over the tabs content!

Some titles where still here, I fixed it in 89fc8d1


close #21 configure automated test setup

Added automated test case

Added the Automated test cases

Added the Automated test cases


Broken on 0.4 for exporting find

http://pkg.julialang.org/?pkg=LibExpat&ver=nightly
Locally:
INFO: Testing LibExpat
PASSED 1
Warning: both LibExpat and Base export "find"; uses of it in module Main must be qualified
ERROR: LoadError: UndefVarError: find not defined

It doesn't seem like LibExpat should extend Base.find since it doesn't return and index and doesn't always return an array. Is there an alternative name that fits the domain? Or if keeping find is preferable, we could just always qualify it rather than exporting it.

@amitmurthy Any thoughts on which direction you want to go with this?

Isn't it OK for LibExpat's find to extend Base.find? Though the return types are different, the intent is the same and since it works off a LibExpat.ETree there should be no issues.
I thought performance considerations only arose when a given function implementation returned different types as in http://docs.julialang.org/en/latest/manual/performance-tips/#write-type-stable-functions
If you think extending Base.find is an issue, I would prefer to go with the qualifying option, i.e., keep the name find.

Sorry, I think I mixed in irrelevant issues -- wasn't trying to say type instability was the thing. Rather that returning the object searched for (rather than the index, as Base.find does) doesn't fit the pattern for that function, and extending find anyway because the verb fits, that sounds like the "punning" that is getting rooted out of Base, from what attention I've paid to the language's issue comments.

@vtjnash any thoughts on this? You are the other major user of LibExpat that I know.

@amitmurthy I'm sure @vtjnash has a more informed view, but here's why it makes sense to me to follow the the grain here -- apart from punning being misleading to users (both for the specific method, and the injected inconsistency hurting usability / interprebility of the entire function), since duck typing is already practice (not sure how interfaces will work), extending a function from another module without sticking to the established behavior shouldn't happen.

OK. Lets go with removing the export of find then.

fixed in #37


VK_EXT_metal_objects: vkCreateSemaphore() always creates timeline semaphore when exportObjectType == VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT

I'm not sure what the intended use is of exporting a MTLSharedEvent from a binary semaphore, because the underlying mechanism to manage the MTLSharedEvent's increasing value is not exposed, rendering the MTLSharedEvent next to useless.
That said, if one does try to create an exportable binary semaphore, a timeline semaphore is erroneously created in MVKDevice::createSemaphore() whenever VkExportMetalObjectCreateInfoEXT::exportObjectType is VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT.

a timeline semaphore is erroneously created

Hmmm...a timeline semaphore and its embedded MTLSharedEvent should behave like binaries...unless manipulated by the app setting timeline values or invoking timeline behavior. Perhaps that's not happening accurately, and we may need to rework some things.
What is the effect of this happening, and where do behavioral errors appear in your use case?

When a MVKTimelineSemaphoreMTLEvent is used as a binary semaphore, the value ultimately passed to -encodeSignalEvent:value: is always 0, meaning they are always signalled.


Receive also old row values on Table Dependency Changed Event

Hi christian,
Is this possible to receive old row state with old values and also new row values both via triggers on OnChanged event ?
Thanks

It is possible, but not in SqlTableDependency free version.

So you do have a paid version, can you redirect me to it?

Please for that I proceed in this way: I get specification from "client" about their requirements and after that I make an extimation. If the "client" accept i make the development just for him. When it is done I deliver the dll as well ad the SOURCE CODE. I also do support for possible errors.
If you need more info, please send me an email to:
<EMAIL_ADDRESS>


null_resource.wait_for_cluster can run for hours if the endpoint is resolve-able but not accessible

Description
The null_resource wait_for_cluster  uses a for loop in the script provided by default via input variable wait_for_cluster_cmd.
The for loop calls both wget and curl without specifying maximum timeouts on their operations meaning that if the cluster endpoint is not accessible, but is DNS resolve-able, to let's say a private IP address because the cluster was configured with a private only endpoint the command will run for.. quite some time.  Since for loop iterates a maximum of 60 times, and each command is relying on the default timeouts for wget (900 seconds) and curl (3600 seconds) the resource can sit there for upwards of 60+hrs waiting for the resource to be created.   The commands should be altered to include an explicit maximum timeout period to ensure it doesn't sit there attempting to accelerate the heat death of the universe.
For wget this is achieved via the addition of the -t 60 CLI option, and for curl the --max-time 60 CLI option.
Versions

Terraform: 0.14.7

Reproduction

Steps to reproduce the behavior:

create a VPC with an RFC1918 address block
create the minimal EKS cluster as per the example and disable the public endpoint

Code Snippet to Reproduce

Expected behavior

The null_resource creation should fail after 60 (ish) minutes (or less if desired)
Actual behavior

The null_resource continues to try for hours if left to it
Terminal Output Screenshot(s)

module.eks.null_resource.wait_for_cluster: Still creating... [56m40s elapsed]
module.eks.null_resource.wait_for_cluster: Still creating... [56m50s elapsed]
module.eks.null_resource.wait_for_cluster: Still creating... [57m0s elapsed]
module.eks.null_resource.wait_for_cluster: Still creating... [57m10s elapsed]
module.eks.null_resource.wait_for_cluster: Still creating... [57m20s elapsed]

Additional context

@gwvandesteeg I think this issue may have been submitted to the wrong repo/module.  Was the issue you were having on the Transit Gateway module, or the EKS module?

Ah yes, correct.. looks like the wrong module. definately the EKS module.


Incorrect event.source when using postMessage

I'm trying to run some code in htmlunit 3.5.0 that has some iframes and uses code like this:
        var win = window.parent.document.getElementById("op_iframe").contentWindow;
        win.postMessage(mes, "*");

The receiving code looks like this:
            window.addEventListener('message', function(e) {
                if (window === e.source) {
                    // ignore browser extensions that are sending messages.
                    return;
                }

                if (typeof e.data !== 'string') {
                    return;
                }

                var result = calculateSessionStateResult(e.origin, e.data);
                e.source.postMessage(result, e.origin);
            }, false);

The problem is that running in htmlunit, the window === e.source check is true and hence it doesn't go on to process the message.
Running in Safari the same site works fine.
Adding some debug it seems event.source.location is the url for the page containing the receiving code.
Looking at the code here:
https://github.com/HtmlUnit/htmlunit/blob/96369779a836e3908aed9e6fa5acd3a54778c01e/src/main/java/org/htmlunit/javascript/host/Window.java#L1988
in particular:
    public void postMessage(final Object message, final String targetOrigin, final Object transfer) {
        final WebWindow webWindow = getWebWindow();
        final Page page = webWindow.getEnclosedPage();
        final URL currentURL = page.getUrl();

        if (!"*".equals(targetOrigin) && !"/".equals(targetOrigin)) {
<...>
        }

        final MessageEvent event = new MessageEvent();
        final String origin = currentURL.getProtocol() + "://" + currentURL.getHost() + ':' + currentURL.getPort();
        event.initMessageEvent(Event.TYPE_MESSAGE, false, false, message, origin, "", this, transfer);
        event.setParentScope(this);
        event.setPrototype(getPrototype(event.getClass()));

I think 'this', which is used as 'source' is the target window rather than the source window? Certainly that seems to be what I'm seeing in the debugger.

@jogu will have a look

Great, thank you! Let me know if it doesn't reproduce easily, I can try and supply a full example (unfortunately some of it is html dynamically generated by our testing system so it's a bit of a pain to unpick it into something standalone).

Was able to build a reproducible case.
Fix is not super simple but i will try to find a solution.

Please try the latest snapshot.

Thank you! I tried htmlunit:3.6.0-20230905.055023-5 - this definitely helps but I'm see a slightly different issue now - it's okay with:
win.postMessage(mes, "*");
but:
e.source.postMessage(result, e.origin);
doesn't seem to work.
Debugging through it looks in postMessage it's failing the target check:
       final WebWindow webWindow = sender.getWebWindow();
        final Page page = webWindow.getEnclosedPage();
        final URL currentURL = page.getUrl();

        if (!"*".equals(targetOrigin) && !"/".equals(targetOrigin)) {

in particular "currentURL" contains the url for the sending page, rather than the target one.

I was puzzled why this didn't fail the unit tests so dug a bit further to make sure it wasn't something I'd misinterpreted; I think the tests pass because here:
https://github.com/HtmlUnit/htmlunit/blob/5f0c6f4be4e0479b9a581ed902184488d01145d3/src/test/java/org/htmlunit/WebTestCase.java#L165C13-L165C13
   URL_FIRST = new URL("http://localhost:" + PORT + "/");
   URL_SECOND = new URL("http://localhost:" + PORT + "/second/");

These only differ in the URL path, which (I think correctly) isn't part of the check in postMessage, so the postMessage succeeds even though the urls are different.

@jogu
have to do some real work for the rest of the day :-)
will work on this later - if you like you can write down some test cases i should include.... it will help if you simly list some cases and i will write the code and all the rest.

Thank you!
I think just one extra test case where the sending page and target page are on urls that differ in at least one of the port/host/scheme and the postMessage call uses the correct url as the target.
e.g. like one of the current positive test cases (e.g. postMessage_jsonPayload) but using URL_THIRD instead of URL_SECOND would do it. I believe it would fail with the current code and pass once the check in postMessage was changed to be comparing the target url (and would also pass against 3.5.0).

ok, will try to update the snapshot tomorrow

sorry you have to be a bit more patient, the fix requires more time to adjust the tests

@jogu
snapshot refreshed - please try again

Thank you! I've tried it, and that part is now working correctly.
Unfortunately it's revealed another bug in the same area (let me know if you'd prefer I open a new bug for this)
in my message receiver I'm seeing that event.origin is:
https://mysite.azurewebsites.net:-1
when I'm expecting it without the :-1, i.e.:
https://mysite.azurewebsites.net
I think it's this line in Window.java's postMessage method:

final String origin = senderURL.getProtocol() + "://" + senderURL.getHost() + ':' + senderURL.getPort();

No need for a new issue, and i think i know the root of that problem.

@jogu snapshot is refreshed, please try again

@jogu will be out for two weeks now - hope the latest snapshot does the job for you

Tried that and everything seems to be working now - awesome, thank you!
I presume I can close this now.

Great, thanks a lot for providing all the details (and for using HtmlUnit).
As usual i will inform on twitter (https://twitter.com/htmlunit) about new releases
and ⭐ 's are also always welcome...


add a file for trigger CI

Signed-off-by: Xiao, Ziyang<EMAIL_ADDRESS>Please provide a description of this PR:
Idea comes from official istio repo trigger release build in istio/release-builder by create pr to modify this file:
https://github.com/istio/release-builder/blob/master/release/trigger-publish
Since intel/istio-proxy and intel/envoy repo haven't have CI yet, we can create a file to manually trigger CI when pr is merged in proxy and envoy repo by modifying this file and creating pr to intel/istio repo. Also If we want to do some version control we can also re-use this file but it is needed more discussion.
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@ZiyangXiao can you rebase, please


Usage of :wx in dependencies

Hi @Kociamber!
Thank you for a nice wrapper library around Open Weather API!
I have a question is there a real need for a :wx dependency (https://www.erlang.org/doc/apps/wx/wx.html) in this library?
It is listed in:
  def application do
    [
      extra_applications: [:logger, :wx, :observer, :runtime_tools],
      mod: {ExOwm.Application, []}
    ]
  end

While releasing an application, I was getting an error:
#26 [builder 20/20] RUN mix release
#26 0.918 ** (Mix) Could not find application :wx

While not getting an error around: :observer, it seems to me that, it could be also removed together with :wx.
I may make a PR, if you're open for removing it.

Hi and thank you! Let me have a look, it might not be necessary in the end.

@lukeses I just had a quick look. I did try to reproduce your error but I had no issues with the release. However, both :wx and :observer are not really necessary here, I will remove them both now.
Please let me know if the change will help.

Closing the issue for now, please let me know if you encounter more problems.


[Improvement] Dark Mode

Hey there,
I'd love to see official dark mode support, just like so:
@media (prefers-color-scheme: dark)

This means that visitors who set "dark mode" on their computer/browser settings will get a dark design automatically without having to click anything.
If this something that can't/shouldn't be made, is there any other way I can apply dark mode to my Milligram.css-website? Should I use a fork of Milligram? If so, which?
Kind regards

I've made the changes as per the suggestions given above, please give feedback if anything needs to be changed.

Nice! Thank you!

Is there any new about this feature?

I dont think milligram is maintained anymore, I ended up trying a few frameworks before writing my own.
You could always fork milligram and make it your own, otherwise here is a list I made: https://github.com/Jieiku/classless-css/blob/master/README.md

Milligram isn't maintained. With that being said, closed.


chore: Change deprecated pytest function

Signed-off-by: Wonyeong Choi<EMAIL_ADDRESS>
Summary of Changes

Since the assertEquals function has been deprecated, replaced it with the assertEqual function for all test files.
Since the assertDictContainsSubset function has been deprecated, replaced it with assertEqual and dictfunction.

Tests
Passed all existing unit tests
Documentation
pytest doc about deprecated function

https://docs.python.org/3.3/library/unittest.html#deprecated-aliases
https://docs.python.org/2/library/unittest.html#unittest.TestCase.assertDictContainsSubset

CheckList

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes, including screenshots of any UI changes.
[x] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[x] PR passes all tests documented in the developer guide

cool, thanks for the cleanup!


Reorientation Flight Mode

During flight, we will need to be able to adjust the spacecrafts' attitudes for thrusting events, solar power generation, or thermal radiation.
The steps for implementing this functionality include:

[ ] Determining, Defining, and Documenting the dynamics (Equations of motion) for our system
[ ] Developing and integrating a control loop to make this happen

An attitude adjustment maneuver consists of several steps:

[ ] Receiving new spin vector from the ground
[ ] Obtain current attitude from previous Opnav output and dead reckoning with gyros
[ ] Calculate the torque required to execute the reorientation
[ ] Compute the timing of the ACS pulses
[ ] Command ACS to fire at computed timings

The solution to reorienting in space has changed for timeline reasons. Instead of autonomously calculating how to pulse in response to a new attitude vector, we will instead uplink the ACS pulse timing information - and the calculations for those timings will be developed in simulation on the ground segment.


embedded example images

Looks much nicer this way :)

Don't know if it belongs on this PR, but the title should be spelled "Requirements" :)

@MDCore fixed it in a separate PR #17


bail out of event blocking for Adobe CEP bug (fix #10366)

fix #10366

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[ ] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
Some Adobe CEP environments have a broken Event.timeStamp implementation that breaks event blocking logic. The issue specifically affects host applications running on macOS with CEP version 9.3 and below. This workaround is OS-agnostic so as to maintain identical behavior across platforms. More details can be found in issue #10366.

One note:
var isCEP = inBrowser && window.__adobe_cep__ !== 'undefined';
I believe you're missing typeof, or change 'undefined' to undefined.

@derrickb Fixed! Thanks for catching that!! 😅

@posva Fixes applied.  Please let me know if there is anything further!

For the record, the decision to assume that:

__adobe_cep__.getCurrentApiVersion === undefined => super old CEP version

was correct.
I just ran across this statement in the CEP Cookbook:

Please note [that the getCurrentApiVersion] API itself is available only since 4.2.0. If you get an error saying getCurrentApiVersion is undefined, then you are running in CEP 4.0 or 4.1. Otherwise, the value returned will tell you the version of CEP integrated by the Adobe product.

Awesome. 💪


Template not working and seems out of date

Ran npx create-react-app react-graphql-starter --template redux-typescript and got
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "4.0.3",

This should either be updated to work or removed from  https://redux-toolkit.js.org/introduction/getting-started to save developers time. Had to install things myself and look for other templates.
yarn @reduxjs/toolkit @testing-library/react @testing-library/jest-dom @testing-library/user-event @types/node @types/jest react-redux

notice I had to install redux toolkit and react-redux 😆 . Not recommending until updated.
macOS Big Sur 11.2.3
node: v12.6.0
npm : 6.9.0

I'm a bit confused on what you're describing here. Are you saying that the template somehow did not get installed correctly?  That sounds like more of a CRA problem than an issue with the template itself.
You can see the current list of template dependencies here:
https://github.com/reduxjs/cra-template-redux-typescript/blob/744374170208dd2306a3ffbbb92b257c0fb88ed3/template.json#L3-L14
Those should all get installed by CRA during the creation process.


BoxCreate: Base BoxCreate View on BoxEdit

This PR changes the box create component to be consistent with the box edit component, and also adds tags and comment fields and sorts locations based on seq.
The next PR will focus on making a global component for both box create and box edit.

 2.0 BoxCreate: Base BoxCreate View on BoxEdit

 2.0 BoxView/BoxEdit: Sort location options according to seq