LibCrypto: Replace hashes implementation with OpenSSL

This PR aims to bring OpenSSL into the project as briefly discussed on Discord by replacing all hashes implementation with OpenSSL.
Additional discussion here.
It required multiple changes:

Make hashes non-copiable because they contain a heap allocated pointer (allocating EVP_MD_CTX manually has been deprecated)
Reference hash classes via NonnullOwnPtr only (because they are non-copiable)
Drop all existing hashes implementations
Use the OpenSSLHashFunction base class to implement the same hashes

I was not able to come up with a way to divide this PR into more commits without increasing the amount of changes.
Overall this doesn't break anything and drastically reduces the amout of code. I suspect it also increases performance (that will probably be more obvious with stuff like RSA).

Related issue: #1834 (for linking)

Unrelated CI failure :(

Let's dew it


Issue with Model Create Subscriptions

Hi @jaydenwindle,
I am using this package for subscriptions with graphene. I am facing an issue with the Model Create Subscriptions.
This is my Model Create Subscription, just as mentioned in the documentation:
class Subscription(graphene.ObjectType):

    fruit_created = graphene.Field(FruitsType)

    def resolve_fruit_created(root, info):
        return root.filter(
            lambda event:
                event.operation == CREATED  and
                isinstance(event.instance, Fruits)
        ).map(lambda event: event.instance)

I am testing this in GraphQL Playground.
I keep my subscription running, which is:
subscription {
  fruitCreated
  {
    id
    name
    description
  }}

And I create a new model instance:
mutation{
  createFruit(
    name: "Grape",
    description: "Green/Purple color",
    id: 2
  ){
    fruit
    {
      id
      name
      description
    }
  }
}

But my subscription isn't returning anything and it just keeps on listening.
The basic hello world! subscription is working properly though.
So what could be the issue? Thank you!

Hey @pikachu-pop!
There's a couple of things that may be an issue here:

Have you set up Channel Layers in your environment? If so, could you share your configuration? graphene-subscriptions uses Channel Layers as a pub-sub-like system to trigger subscriptions, so a misconfiguration there can cause subscriptions not to fire.
Are your post_save signals connected properly? A good way to test this is to wrap the post_save_subscription signal handler to see if it gets called by using pdb or a print statement. Something like:

# signals.py
def trigger_graphene_subscriptions(sender, **kwargs):
    print('signals are working')
    post_save_subscription(sender, **kwargs)

post_save.connect(trigger_graphene_subscriptions, sender=ChatMessage, dispatch_uid="chat_message_post_save")

Let me know if you think either of those things may be the issue!

Hi @jaydenwindle,
Thank you for writing back!
This is my Channel Layer configuration:
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("<IP_ADDRESS>", 6379)],
        },
    },
}

I did as you said for checking whether signals are connected properly and unfortunately the print statement didn't work. So I believe that might be the issue?

That Channel Layers config looks good (it should work as long as you've got a Redis server running locally on 6379), so I'm guessing its a signals issue.
Take a look at this issue where another user encountered a similar problem and see if any of the advice there helps :)

From that thread that you suggested, this is what I tried out:
app/signals.py
# post_save.connect(trigger_graphene_subscriptions, sender=Fruits, dispatch_uid="fruits_post_save")
post_delete.connect(post_delete_subscription, sender=Fruits, dispatch_uid="fruits_post_delete")

@receiver(post_save, sender=Fruits)
def trigger_graphene_subscriptions(sender, **kwargs):
    print('signals are working')
    post_save_subscription(sender, **kwargs)

Still no response though :(

Hey @AanandhiVB - sorry for the late reply on this. If the print statement isn't getting triggered, then it is probably an issue with how you have Django signals set up. Where are you importing signals.py from?
This is a common issue that's been reported. graphene-subscriptions v2 will remove the dependency on signals since in favor of something a little more reliable.

Hi @jaydenwindle!
I apologize for not informing this earlier but I got the issue fixed.
This helped me : https://github.com/jaydenwindle/graphene-subscriptions/issues/1#issuecomment-587926673
Everything is working now and once again thank you for this awesome package.

@AanandhiVB Amazing, glad to hear! You're very welcome :D

I did all these already and mine just keeps listening 🙄🤦🏾♂
@jaydenwindle any thoughts?

Hi @jaydenwindle,
I am using this package for subscriptions with graphene. I am facing an issue with the Model Create Subscriptions.
This is my Model Create Subscription, just as mentioned in the documentation:
class Subscription(graphene.ObjectType):

    fruit_created = graphene.Field(FruitsType)

    def resolve_fruit_created(root, info):
        return root.filter(
            lambda event:
                event.operation == CREATED  and
                isinstance(event.instance, Fruits)
        ).map(lambda event: event.instance)

I am testing this in GraphQL Playground.
I keep my subscription running, which is:
subscription {
  fruitCreated
  {
    id
    name
    description
  }}

And I create a new model instance:
mutation{
  createFruit(
    name: "Grape",
    description: "Green/Purple color",
    id: 2
  ){
    fruit
    {
      id
      name
      description
    }
  }
}

But my subscription isn't returning anything and it just keeps on listening.
The basic hello world! subscription is working properly though.
So what could be the issue? Thank you!

In my case, even the basic hello world subscription just keeps listening

Hey @Cimmanuel! I'd love to help :)
Can you share some more details on how you've configured GraphQL Playground to connect to your API?

@jaydenwindle please give me about 30 minutes to get to my computer. I'm currently away. Very sorry for the delay

@jaydenwindle here are snippets:
settings.py
INSTALLED_APPS = (
    ...
    'graphene_subscriptions',
    'channels',
    'graphql_playground'
)

...
CHANNEL_LAYERS = {
    'default': {
        'BACKEND': 'channels.layers.InMemoryChannelLayer'
    }
}

routing.py
application = ProtocolTypeRouter({
    'websocket': URLRouter([
        path('graphql/', GraphqlSubscriptionConsumer)
    ]),
})

urls.py
class GraphQLCustomCoreBackend(GraphQLCoreBackend):
    def __init__(self, executor=None):
        super().__init__(executor)
        self.execute_params['allow_subscriptions'] = True

urlpatterns = [
    path('admin/', admin.site.urls),
    path('graphql/', csrf_exempt(
        FileUploadGraphQLView.as_view(
            graphiql=True, backend=GraphQLCustomCoreBackend()))),
    path('playground/', GraphQLPlaygroundView.as_view(endpoint="/graphql/")),
]

schema.py (root)
class Query(path.to.schema.Query, graphene.ObjectType):
    pass

class Subscription(path.to.schema.Subscription, graphene.ObjectType):
    pass

schema = graphene.Schema(
    query=Query,
    subscription=Subscription
)

schema.py (app)
class Subscription(graphene.ObjectType):
    hello = graphene.String()
    user_created = graphene.Field(UserType)

    def resolve_hello(root, info):
        return Observable.interval(3000).map(lambda i: "hello world!")

    def resolve_user_created(root, info):
        return root.filter(
            lambda event:
                event.operation == CREATED and
                isinstance(event.instance, User)
        ).map(lambda event: event.instance)

signals.py
@receiver(post_save, sender=models.User)
def trigger_subscriptions(sender, **kwargs):
    print('Subscription signals works!')
    post_save_subscription(sender, **kwargs)

I have the ready method of AppConfig subclass importing signals so the signal above works (I get Subscription signal works in the terminal). I don't know what else to do.

Got it, thanks for the extra info :)
How are you running your Django server? Is it using ./manage.py runserver or something else?

The application is dockerized

@Cimmanuel Can you share your dockerfile?

@jaydenwindle
FROM python:3.7.4-slim-buster

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends git \
    && python -m pip install --upgrade pip \
    && pip install pipenv
COPY ./Pipfile /usr/src/app/Pipfile
COPY ./Pipfile.lock /usr/src/app/Pipfile.lock
RUN python -m pipenv install

# copy project
COPY . /usr/src/app/

COPY ./start.sh /start.sh

RUN chmod +x /start.sh

start.sh
#! /usr/bin/env bash

function manage_app() {
    pipenv run python manage.py migrate
    pipenv run python manage.py collectstatic --no-input --clear
}

function start_development() {
    # use django runserver as development server here.
    manage_app
    pipenv run python manage.py runserver <IP_ADDRESS>:8000
}

function start_production() {
    # use gunicorn for production server here
    manage_app
    gunicorn cnapi.wsgi -w 4 -b <IP_ADDRESS>:8000 --chdir=/usr/src/app --log-file -
}

if [ ${DEBUG} == "True" ]
then
    # use development server
    start_development
else
    # use production server
    start_production
fi

Got it. And you're running the dockerized app with DEBUG="True"? Trying to run graphene-subscriptions with gunicorn will not work since channels requires an ASGI server.
Can you create a repo that reproduces the issue so that I can look into it and diagnose further?

So I did this in playground:
subscription {
  userCreated {
    id
    firstName
    lastName
  }
}

My logs when I tried to create a user object
System check identified no issues (0 silenced).
July 13, 2020 - 20:04:15
Django version 2.2.14, using settings 'cnapi.settings'
Starting ASGI/Channels version 2.3.1 development server at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
Subscription signals works!
HTTP POST /graphql/ 200 [0.54, <IP_ADDRESS>:38920]

@Cimmanuel Got it :)
And you're running the dockerized app with DEBUG="True"? Trying to run graphene-subscriptions with gunicorn will not work since channels requires an ASGI server.
Can you create a repo that reproduces the issue so that I can look into it and diagnose further?

I can't do this. I'm very sorry!

@jaydenwindle still haven't heard from you

Never mind Jayden. This was as a result of specifying a relative URL as endpoint value for GraphQLPlaygroundView. It only takes an absolute URL

@Cimmanuel Ah, ok! I should probably make sure that is documented more clearly. Glad you got it working :)


Updated Login Button on Mobile to be Visible

Description

Updated login button to be visible on mobile. Changes in sidebar css file.
Screenshots

Before:

After:

Steps to verify/test this change:
Must check on mobile once PR is accepted.

Closes #228


mapviz: 2.4.0-1 in 'iron/distribution.yaml' [bloom]

Increasing version of package(s) in repository mapviz to 2.4.0-1:

upstream repository: https://github.com/swri-robotics/mapviz.git
release repository: https://github.com/ros2-gbp/mapviz-release.git
distro file: iron/distribution.yaml
bloom version: 0.12.0
previous version for package: 2.2.2-1

mapviz
* Configurable qos (#818 <https://github.com/swri-robotics/mapviz/issues/818>)
  * Adding configurable QoS to UI
  * Changing lookup duration to reduce lag
  ---------
  Co-authored-by: Robert Brothers<EMAIL_ADDRESS>* Changing QoS settings on TF to reduce lag (#815 <https://github.com/swri-robotics/mapviz/issues/815>)
* Do not attempt to transform point if a target frame is not specified (#793 <https://github.com/swri-robotics/mapviz/issues/793>)
* Contributors: David Anthony

mapviz_interfaces

No changes

mapviz_plugins
* Configurable qos (#818 <https://github.com/swri-robotics/mapviz/issues/818>)
  * Adding configurable QoS to UI
  * Changing lookup duration to reduce lag
  ---------
  Co-authored-by: Robert Brothers<EMAIL_ADDRESS>* Improve Font Selection Error Handling (#794 <https://github.com/swri-robotics/mapviz/issues/794>)
* Contributors: David Anthony

multires_image

No changes

tile_map
* Fix unitialized bing source (#800 <https://github.com/swri-robotics/mapviz/issues/800>)
  Co-authored-by: Alex Youngs<EMAIL_ADDRESS>* Contributors: agyoungs

Holding for Iron sync


Additional property features to scrape

@DicksonC96 Hi Dickson, would it be possible to add more filters to the scraper for information such as Car park, Barbeque area, Swimming pool etc..

Hi @tryhardbaldscientist, I don't think adding filters for amenities would be possible as the website search function limits to location, tenure and project age. Tho in future I'll include this additional information (and other useful ones) to scrape for higher granularity of data.


about the model

It's hard to reach the baseline presenting in the paper.
And opt-1.3b (default setting) isn't good enough —— the original output without the watermark is not good already(with many repetition sentences).
Maybe authors can give us the experiment settings? thx

The small opt models used in the original work (experiments run late in 2022) are quite poor text generators even without the watermark. Repetition is a standard degeneracy that they exhibit and the "simple" version of our watermark does exacerbate this issue, especially at strong values of delta.
I suggest you try a newer/better base model if you're interested in understanding the realistic impact on output quality as these models generate much better text from the beginning, and we find the the watermark, especially in the self-hash setting doesn't impact text quality in any significant way, especially under realistic generative benchmark evaluations rather than a pure perplexity or KL(orig_model,wm_model) check which directly isolates the divergence of the wm distribution from the main distribution.
Llama2, Mistral, or other strong 7b-13b finetunes are good starting points in 2024!


Fix: DO-2719: require_focus_to_zoom missing prop to edge encoder

Motivation and Context

VisualEdgeEncoder was missing this prop
Implementation Description

Any new dependencies Introduced

How Has This Been Tested?

PR Checklist:

[x] I have implemented all requirements? (see JIRA, project documentation).
[x] I am not affecting someone else's work, If I am, they are included as a reviewer.
[ ] I have added relevant tests (unit, integration or regression).
[ ] I have added comments to all the bits that are hard to follow.
[ ] I have added/updated Documentation.
[ ] I have updated the appropriate changelog with a line for my changes.

Screenshots (if appropriate):

Hopefully that's all of the places to add it 😅

I think it should be now, always forget EdgeEncoder exists 😅


Internal list of connected devices

The NotificationProxy shall create its list of connected devices based on information retrieved from the controller.
This list of connected devices shall be kept up-to-date based on notifications provided by the controller.

No longer necessary, as the NP gets all the device level notifications in a single pipe.


Fix supply chain vuln in test

Currently test references a unnamespaced package. Changing to the @uber namespace to avoid dependency confusion attacks

Upon further investigation, this test fixture is not actually vulnerable. Although this package does go through upgrade logic, the package is question is listed as a workspace project in a parent package.json file: https://github.com/uber-web/jazelle/blob/main/tests/fixtures/bump/package.json


Forwards http method to the layerhandler for layer serving

Expands upon #63 to make HEAD requests function properly with signed URL layer redirects.

LGTM!


ngDragConfig and ngDragHandle

Hello!
Note: My Inglês is not good, I hope everyone Understands.

ngDragConfig: Created to reduce the number of attributes on the element, so a single object in scope can configure your settings.

Examples:
<tag ng-drag="true" ng-drag-config="{Handle: 'clone',  Data: 'minha data', OnSuccess: myfunction}">
OR
$scope.config = {Handle: 'clone',  Data: 'minha data', OnSuccess: myfunction};
<tag ng-drag="true" ng-drag-config="config">
OR
<tag ng-drag="true" ng-drag-config="{OnSuccess: myfunction}" ng-drag-data="{}">

ngDragHandle (string): Defines which element will be dragged.

Types:
original
clone                    (create a clone of the element, and uses for dragging)
parent                  (Uses the relative element to drag)
Example:
<tag ng-drag="true" ng-drag-handle=" 'clone' ">
OU
$scope.handle = "parent";
<tag ng-drag="true" ng-drag-handle="handle">
OU
`

`

sorry too many conflicts, cant merge.


v3.2.8 breaks packaging electron app with ffi-napi dependency

Following error is thrown:
An unhandled rejection has occurred inside Forge:
Error: /m/i1/temp/buildTmp/electron-packager/linux-x64/test-x64/resources/app/node_modules/ffi-napi/build/node_gyp_bins/python3: file links out of the package
Using electron-forge 6.0.0-beta.64 with electron 20 beta and ffi-napi 4.0.3
Only happens on mac and linux
Once i revert back to 3.2.7 packaging the application is working again.

@t57ser Can you include the module that's breaking, or a repro of the break in Electron Fiddle? We're able to build a module with ff-napi without seeing this error, just want to try and get a repro for a deeper look 👀

@VerteDinde Here you go: https://gist.github.com/t57ser/3be2bc0d590690ece381f69e8c316edf
remember this only happens on mac, not on windows
An unhandled rejection has occurred inside Forge:
Error: /var/folders/sp/141453k53mg70282wr9vkn_h0000gp/T/electron-packager/darwin-x64/test-darwin-x64/Electron.app/Contents/Resources/app/node_modules/ffi-napi/build/node_gyp_bins/python3: file links out of the package

Sorry @t57ser, could you include the Mac/Linux arch you're using, and the version of Electron 20-beta? I've been trying to repro on Mac arm64 using your gist, and I haven't been able to hit this error. We have another maintainer on Linux who was also trying to repro on Ubuntu 22.04 / Xorg (using Electron 20.0.0-b13 and  electron-rebuild 3.2.8) who is also not able to repro.
Maybe this is specific to a Python version or arch? Just trying to get more details so we can try to fix this before Electron 20 stable for you 🤔

macOS Monterey 12.4. x86_64
electron 20.0.0-beta.11
I am quite surprised you can not reproduce this since i have tried this on multiple machines
I just tried a brand new mac, installed node etc... and same error

Starting electron works, but packaging does not work, maybe that is the misunderstanding.
So in my example that i send, you need to npm run package

I'm having the same issue, trying to compile for electron 16.
I can see the issue in Linux and macOS, I haven't tested Windows yet.
Here's the output I get from a GitHub action. It's the same error I get on my local machines:
https://github.com/headsetapp/headset-electron/runs/7615723093?check_suite_focus=true

Here's my terminal output when trying to reproduce on an arm64 Mac (Monterey) with both E20.0.0-beta.11 and E20.0.0-beta.13, running npm run package with Fiddle using @t57ser's gist above:
output-packaging.txt
The only change between 3.2.7 and 3.2.8 is this change, which doesn't force a config rebuild when using alpha and/or beta 🤔 :  https://github.com/electron/electron-rebuild/pull/1023/files I'm not sure how this is affecting the python link, and it's interesting that this seems to be happening independent of the Electron version. I'll test a x64 Mac and see if this could be an architecture difference.

The only change between 3.2.7 and 3.2.8 is this change, which doesn't force a config rebuild when using alpha and/or beta thinking : https://github.com/electron/electron-rebuild/pull/1023/files I'm not sure how this is affecting the python link, and it's interesting that this seems to be happening independent of the Electron version. I'll test a x64 Mac and see if this could be an architecture difference.

That is not the only change introduce in this version, it's the only one reported on the Releases page. Here's the list of changes: https://github.com/electron/electron-rebuild/compare/v3.2.7...v3.2.8
Multiple dependencies have been upgraded, and at least two of them have been a major version change with breaking changes: detect-libc and node-gyp. Perhaps the problem is with some of those dependencies.

@fcastilloec Thanks for the call-out, you're right! I think this may be the source of the issue: https://github.com/nodejs/node-gyp/commit/b9ddcd5bbd93b05b03674836b6ebdae2c2e74c8c We'll get this fixed

Maybe this is specific to a Python version or arch?

Have never seen Python generate a file links out of the package message.  Please see https://github.com/nodejs/node-gyp/issues/2713#issuecomment-1222259434

The problem is the major version upgrade of node-gyp in a minor version, IMHO this should not permitted since it break the semantic versioning logic. A minor update should be safe.
For some reason node-gyp developer added a link to the python interpreter inside the build directory, that electron applications try to pack in the bundle, and obviously a link to the filesystem inside an application bundle is not allowed...
https://github.com/nodejs/node-gyp/issues/2713
... they have a PR for this on node-gyp, but maybe it's better to release a .10 release of electron-rebuild that fixes this as electron packager, asar and other did....

Please provide a code review on nodejs/node-gyp#2721 to encourage maintainers to merge it.

Ok everyone thiss is otocat from enterprise

Would love to see some sort of fix for this.

I was finally able to work around this by adding a resolutions block to my package.json that looks like this:
  "resolutions": {
    "**/**/fsevents": "^1.2.9",
    "**/**/node-gyp": "^8.4.0"
  }

Thank you @jagthedrummer - I can confirm it works, finally fixed the issue:
An unhandled rejection has occurred inside Forge:
Error: /tmp/electron-packager/win32-ia32/Flow-win32-ia32/resources/app/node_modules/bufferutil/build/node_gyp_bins/python3: file "../../../../../../usr/bin/python3.10" links out of the package

Electron Forge was terminated. Location:
{}
error Command failed with exit code 1.


GEN_ABSOLUTE_SYM cannot handle value larger than INT_MAX on qemu_x86_64

If a kconfig (e.g. CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC is defined with a value > +2147483647, it fails to compile with following error:
In file included from ../include/toolchain.h:39,
                 from zephyr/misc/generated/configs.c:7:
zephyr/misc/generated/configs.c: In function '_ConfigAbsSyms':
../include/toolchain/gcc.h:404:2: error: invalid 'asm': operand is not a condition code, invalid operand code 'c'
  404 |  __asm__(".globl\t" #name "\n\t.equ\t" #name \
      |  ^~~~~~~
zephyr/misc/generated/configs.c:14:1: note: in expansion of macro 'GEN_ABSOLUTE_SYM'
   14 | GEN_ABSOLUTE_SYM(CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC,<PHONE_NUMBER>);
      | ^~~~~~~~~~~~~~~~

I haven't tried negative maximum but it is reasonable to believe that it would also fail to compile.

I'll take a look.

The "c" modifier:
c | Require a constant operand and print the constant expression with no punctuation.
-- | --

From https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html in <IP_ADDRESS> x86 Operand Modifiers
Seems like it is not a fan of constants that don't fit in a 32-bit integer? hmmm

Note that this fails only on qemu_x86_64, but works on qemu_x86.

This boils down to the following GCC inline asm code:
__asm__(".globl CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC\n\t"
        ".equ CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC,%c0\n\t"
        ".type CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC,@object"
		: : "n"(3000000000));

We are trying to set the value with .equ but it is not happy with the combination of %c0 for the first operand, modified with c, and the operand constraint is itself n.
The fact that this works fine with x86 32-bit is truly baffling.

I might have to ask in the GCC mailing list about this one. The documentation for all of this is so far not helping.

Note that this fails only on qemu_x86_64, but works on qemu_x86.

It passes if the value is less than UINT_MAX, if it's bigger than that we get an overflow warning instead, it still builds but the value is truncated:
/home/apboie/projects/zephyr/zephyr/tests/kernel/mem_protect/userspace/out/zephyr/include/generated/autoconf.h:3:44: warning: overflow in conversion from 'long long int' to 'int' changes value from '9000000000' to '410065408' [-Woverflow]
    3 | #define CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC<PHONE_NUMBER>
      |                                            ^~~~~~~~~~
/home/apboie/projects/zephyr/zephyr/kernel/timeout.c:33:33: note: in expansion of macro 'CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC'
   33 | int z_clock_hw_cycles_per_sec = CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC;
      |


mx.nd.argmax is slow

import time
import mxnet as mx
import numpy as np
import os
tmp = mx.nd.random.uniform(-1, 1, shape=(64,300000), ctx=mx.gpu())
#tmp = np.random.RandomState().uniform(-1, 1, (64,300000))
tic = time.time()
for i in range(20):
   if (i == 5):
        begin = time.time();
   elif (i == 15):
        end = time.time();
   tic = time.time()
   max = mx.nd.argmax(tmp, axis=1)
   #max = np.argmax(tmp, axis=1)
   print max[0]
   toc = time.time() - tic
   print ("used time %f:"%toc)
avg = (end - begin) / 10
print ("avg time %f"%avg)

We use code before to test the speed of argmax.
NDArray in cpu use 0.112895s.
NDArray in gpu use 0.280577.
numpy.array only use 0.018021.
Why mx.nd.argmax is so slow?
@szha

remove the line  "print max[0]" mx.nd will be faster.

@z01nl1o02
"print max[0]" is used to make sure argmax completed.
We can change it to 'max.wait_to_read()', the result is same.

In my experiment, the function nd.topk is much faster than nd.argmax, but I just want to know why the nd.argmax is so slow?

Same issue, nd.argmax() is really slow, close to unusable in real world scenarios

It's a bit embarrassing...IIRC, our argmax is done through a sequential reduce with no parallelism...
@solin319 how much faster is topk?

@szha for my use-case topk is approx 100x faster.
the GPU version is also 10 times slower than the CPU one.
data = mx.nd.random.uniform(shape=(1,384*384), ctx=mx.gpu())

%%time
for i in range(10):
    nd.argmax(data,axis=1).wait_to_read()
CPU times: user 192 ms, sys: 112 ms, total: 304 ms
Wall time: 301 ms

%%time
for i in range(100):
    nd.topk(data, ret_typ='indices', axis=1).wait_to_read()
CPU times: user 28 ms, sys: 8 ms, total: 36 ms
Wall time: 31.9 ms

We'd be interested in having this change as well. Sockeye is also has code with argmin but intentionally does not use it: https://github.com/awslabs/sockeye/blob/master/sockeye/inference.py#L2213

@szha I don't think I have the time these coming weeks unfortunately working against some tight deadlines

Is argmax affected as well?

I am interested in this, too. This is taking a noticeable portion of time when training BERT. In my case, each invocation takes ~8ms, while other operators take ~0.1ms.

Also both CPU and GPU argmax becomes slow when the number of category is large (e.g. vocab size = 30K).

Even in the latest MXNet 2.0, this performance issue was not solved:

Speed of topk(k=1)

import time
import mxnet as mx
import numpy as np
import os
tmp = mx.np.random.normal(-1, 1, (64,300000), ctx=mx.gpu())
tic = time.time()
for i in range(20):
   if (i == 5):
        begin = time.time();
   elif (i == 15):
        end = time.time();
   tic = time.time()
   out = mx.npx.topk(tmp, k=1, ret_typ='indices', axis=1, dtype=np.int32)
   out.wait_to_read()
   toc = time.time() - tic
   print ("used time %f:"%toc)
avg = (end - begin) / 10
print("avg time %f"%avg)

Output:
used time 0.001522:
used time 0.001141:
used time 0.001141:
used time 0.001094:
used time 0.001081:
used time 0.001080:
used time 0.001086:
used time 0.001089:
used time 0.001075:
used time 0.001085:
used time 0.00108

Speed of argmax:

import time
import mxnet as mx
import numpy as np
import os
tmp = mx.np.random.normal(-1, 1, (64,300000), ctx=mx.gpu())
tic = time.time()
for i in range(20):
   if (i == 5):
        begin = time.time();
   elif (i == 15):
        end = time.time();
   tic = time.time()
   out = mx.np.argmax(tmp, axis=1)
   out.wait_to_read()
   toc = time.time() - tic
   print ("used time %f:"%toc)
avg = (end - begin) / 10
print("avg time %f"%avg)

Output
used time 0.063610:
used time 0.060543:
used time 0.059911:
used time 0.059865:
used time 0.055048:
used time 0.054780:
used time 0.054773:
used time 0.054817:
used time 0.054653:
used time 0.054758:
used time 0.054723:
used time 0.054765:
used time 0.054680:
used time 0.054769:

Actually, the latest profiling number shows that the argmax in MXNet is 362 times slower than that in PyTorch...

I think we should try to remove the usage of https://github.com/apache/incubator-mxnet/blob/9de2a48fabf1b8a60eb539640dea4c0637b5522b/src/operator/numpy/np_broadcast_reduce_op.h#L472, and reuse the
ReduceAxesComputeImpl https://github.com/apache/incubator-mxnet/blob/9268f89080d84d37aadb295f918515fd6d43436e/src/operator/tensor/broadcast_reduce_op.h#L621-L650

@Zha0q1 - Can you please keep this in your TODO list. looks like interesting and important optimization.
FYI @mseth10 @josephevans

@Zha0q1 Ping me any time if you are blocked.

Yeah looks like an important fix. Will find to do it


Add support for re-publishing cumulative playlists to Spotify

Got the idea from #23 and this is a first attempt at adding such a feature. The changes were a bit more extensive than I'd hoped since the API requires user access to create and modify playlists. I'd actually suggest creating a new Spotify user for hosting these playlists!
So what does it do?
If the script is run with --export it publishes all current songs to a public playlist with name <original name> (archive) to the logged in user's account. if the playlist doesn't exist, it creates it and stores the id in playlists/export/<playlist-id> (i.e. a file with a single line containing the exported playlist id)
Notes:

To log in, use the newly created login command, i.e. python script.py login.
Currently, the exported playlist is its own cumulative playlist and does not interact with the one in playlists/cumulative.
In any way switching the user account associated with exported playlists requires playlists/export to be cleared since you can't change another user's playlist (unless it's collaborative, which wouldn't really work out).
Tested on python 3.8, let me know if it doesn't work on 3.5 (or update the version on Travis, 3.5 is quite old)

Please let me know if you need any help understanding it or if you want me to change things. I was thinking about adding more error checking in the requests and making the code more consistent style-wise but it felt better to just put it out there first.

Wow, this is incredible. Thanks so much for working on this and for submitting such a high quality pull request. I can't wait for these playlists to get published back to Spotify!
That said, I don't think we should integrate the publishing step into the existing script. Instead, I think it should be completely separate from the archiving process so that they can fail independently. For example, I don't want to re-run the archiving logic if publishing fails - I've only got so many Travis credits to spend!
How about a separate repo, similar to this one, that reads from this repo and publishes the cumulative playlists once per day? I'd be happy to foot the Travis bill and keep the build healthy. If that sounds good to you, look no further than spotify-playlist-publisher, a repo I created explicitly for this purpose and to which I've added you as a collaborator. Feel free to start pushing code to that repo; I'll setup Travis once the publishing logic is finished.

I'd actually suggest creating a new Spotify user for hosting these playlists!

Agreed. I pay for a Spotify family plan so hopefully bots count as family members - I'll check the ToS.
A few other thoughts:

Parsing tracks from the existing cumulative playlists might be a pain, which is probably why you added logic to explicitly fetch track IDs. Perhaps it'd be wise to update script.py to dump the track IDs somewhere, specifically for consumption by the publisher? It'd wouldn't quite be an API, but we own both repos so why not make our lives easier.
It might be possible to decouple archiving from publishing while keeping everything in this repo (e.g., running Travis consecutively), but I think that'd add more complexity than this feature is worth. A separate repo seems like a nice way to break things apart; it lets us use GitHub as a checkpointing system.
I don't feel strongly about the ownership of the new repo. It's probably easiest for me to own it given that I'll be paying for the Travis credits and Spotify subscription, but if you'd prefer to be the owner we can probably work out the mechanics.

Wow, this is incredible. Thanks so much for working on this and for submitting such a high quality pull request. I can't wait for these playlists to get published back to Spotify!
That said, I don't think we should integrate the publishing step into the existing script. Instead, I think it should be completely separate from the archiving process so that they can fail independently. For example, I don't want to re-run the archiving logic if publishing fails - I've only got so many Travis credits to spend!
How about a separate repo, similar to this one, that reads from this repo and publishes the cumulative playlists once per day? I'd be happy to foot the Travis bill and keep the build healthy. If that sounds good to you, look no further than spotify-playlist-publisher, a repo I created explicitly for this purpose and to which I've added you as a collaborator. Feel free to start pushing code to that repo; I'll setup Travis once the publishing logic is finished.

I'd actually suggest creating a new Spotify user for hosting these playlists!

Agreed. I pay for a Spotify family plan so hopefully bots count as family members - I'll check the ToS.
A few other thoughts:

Parsing tracks from the existing cumulative playlists might be a pain, which is probably why you added logic to explicitly fetch track IDs. Perhaps it'd be wise to update script.py to dump the track IDs somewhere, specifically for consumption by the publisher? It'd wouldn't quite be an API, but we own both repos so why not make our lives easier.
It might be possible to decouple archiving from publishing while keeping everything in this repo (e.g., running Travis consecutively), but I think that'd add more complexity than this feature is worth. A separate repo seems like a nice way to break things apart; it lets us use GitHub as a checkpointing system.
I don't feel strongly about the ownership of the new repo. It's probably easiest for me to own it given that I'll be paying for the Travis credits and Spotify subscription, but if you'd prefer to be the owner we can probably work out the mechanics.

That said, I don't think we should integrate the publishing step into the existing script. Instead, I think it should be completely separate from the archiving process so that they can fail independently. For example, I don't want to re-run the archiving logic if publishing fails - I've only got so many Travis credits to spend!

I agree and I wanted that from the beginning, but that would mean that I couldn't insert the "exported" playlist url into the markdown files. Unless one would do it more like update files -> export playlist -> update files (this time it knows the id). Of course, this is only an issue when the playlist is first created.

How about a separate repo, similar to this one, that reads from this repo and publishes the cumulative playlists once per day? I'd be happy to foot the Travis bill and keep the build healthy. If that sounds good to you, look no further than spotify-playlist-publisher, a repo I created explicitly for this purpose and to which I've added you as a collaborator. Feel free to start pushing code to that repo; I'll setup Travis once the publishing logic is finished.

Cool! Let's do it!

I'd actually suggest creating a new Spotify user for hosting these playlists!

Agreed. I pay for a Spotify family plan so hopefully bots count as family members - I'll check the ToS.

Not sure if one needs a Premium account for it or a free one is enough.

A few other thoughts:
* Parsing tracks from the existing cumulative playlists might be a pain, which is probably why you added logic to explicitly fetch track IDs. Perhaps it'd be wise to update `script.py` to dump the track IDs somewhere, specifically for consumption by the publisher? It'd wouldn't quite be an API, but we own both repos so why not make our lives easier.

I like the idea of having everything in the markdown files though, it's part of the fun :) One of the reasons was that I didn't want to copy the aliasing logic to find the right file for each playlist, but that should be fairly easy to refactor.

* It might be possible to decouple archiving from publishing while keeping everything in this repo (e.g., running Travis consecutively), but I think that'd add more complexity than this feature is worth. A separate repo seems like a nice way to break things apart; it lets us use GitHub as a checkpointing system.

Let's try it with a separate repo. I'll let you know if I encounter any issues.

* I don't feel strongly about the ownership of the new repo. It's probably easiest for me to own it given that I'll be paying for the Travis credits and Spotify subscription, but if you'd prefer to be the owner we can probably work out the mechanics.

Either way is fine.

That said, I don't think we should integrate the publishing step into the existing script. Instead, I think it should be completely separate from the archiving process so that they can fail independently. For example, I don't want to re-run the archiving logic if publishing fails - I've only got so many Travis credits to spend!

I agree and I wanted that from the beginning, but that would mean that I couldn't insert the "exported" playlist url into the markdown files. Unless one would do it more like update files -> export playlist -> update files (this time it knows the id). Of course, this is only an issue when the playlist is first created.

How about a separate repo, similar to this one, that reads from this repo and publishes the cumulative playlists once per day? I'd be happy to foot the Travis bill and keep the build healthy. If that sounds good to you, look no further than spotify-playlist-publisher, a repo I created explicitly for this purpose and to which I've added you as a collaborator. Feel free to start pushing code to that repo; I'll setup Travis once the publishing logic is finished.

Cool! Let's do it!

I'd actually suggest creating a new Spotify user for hosting these playlists!

Agreed. I pay for a Spotify family plan so hopefully bots count as family members - I'll check the ToS.

Not sure if one needs a Premium account for it or a free one is enough.

A few other thoughts:
* Parsing tracks from the existing cumulative playlists might be a pain, which is probably why you added logic to explicitly fetch track IDs. Perhaps it'd be wise to update `script.py` to dump the track IDs somewhere, specifically for consumption by the publisher? It'd wouldn't quite be an API, but we own both repos so why not make our lives easier.

I like the idea of having everything in the markdown files though, it's part of the fun :) One of the reasons was that I didn't want to copy the aliasing logic to find the right file for each playlist, but that should be fairly easy to refactor.

* It might be possible to decouple archiving from publishing while keeping everything in this repo (e.g., running Travis consecutively), but I think that'd add more complexity than this feature is worth. A separate repo seems like a nice way to break things apart; it lets us use GitHub as a checkpointing system.

Let's try it with a separate repo. I'll let you know if I encounter any issues.

* I don't feel strongly about the ownership of the new repo. It's probably easiest for me to own it given that I'll be paying for the Travis credits and Spotify subscription, but if you'd prefer to be the owner we can probably work out the mechanics.

Either way is fine.

Okay, here we go: https://github.com/mackorone/spotify-playlist-publisher
I'll leave it up to you @mackorone to set up the Travis part and the Spotify account. This PR could probably be closed as the logic has been moved to the other repo.
The new script fetches this repository and parses the cumulative playlists, then the export/publish logic from my first commits kicks in. The resulting playlists are added to the README of the other repo (much like this one). Getting the exported playlist id back into this repo can be done in a couple of ways:

Commit directly to this repo from the other one
Add another part to this repo's script to fetch the information from the other one.
???

PS. The new script requires python 3.8+

Okay, here we go: https://github.com/mackorone/spotify-playlist-publisher
I'll leave it up to you @mackorone to set up the Travis part and the Spotify account. This PR could probably be closed as the logic has been moved to the other repo.
The new script fetches this repository and parses the cumulative playlists, then the export/publish logic from my first commits kicks in. The resulting playlists are added to the README of the other repo (much like this one). Getting the exported playlist id back into this repo can be done in a couple of ways:

Commit directly to this repo from the other one
Add another part to this repo's script to fetch the information from the other one.
???

PS. The new script requires python 3.8+

Well that was quick!

set up the Travis part

I'll do this in next couple of days - stay tuned!

Getting the exported playlist id back into this repo

I like option #2. Hopefully we can just query by user name and playlist name. Let's add the logic once the playlists are published.
At your suggestion, I'll close this PR for now, but feel free to open another for the aforementioned logic if you get to it before me. Thanks again for working on this!

Well that was quick!

set up the Travis part

I'll do this in next couple of days - stay tuned!

Getting the exported playlist id back into this repo

I like option #2. Hopefully we can just query by user name and playlist name. Let's add the logic once the playlists are published.
At your suggestion, I'll close this PR for now, but feel free to open another for the aforementioned logic if you get to it before me. Thanks again for working on this!

This is wonderful, thank you so much @Prillan !

This is wonderful, thank you so much @Prillan !


runtime-config-linux.md: fix the type of cpus and mems

Signed-off-by: Lai Jiangshan<EMAIL_ADDRESS>

Although it's likely we'll change all cgroup settings to points in favor of #233 , it's definitely a bug in spec for now if I didn't miss anything, I'm OK we let it in first, so LGTM.

On Tue, Nov 17, 2015 at 06:26:28AM -0800, Qiang Huang wrote:

Although it's likely we'll change all cgroup settings to points in
favor of #233 , it's definitely a bug in spec for now if I didn't
miss anything, I'm OK we let it in first, so LGTM.

+1 to all that ;).

LGTM


Support Dart-only dependents

Package
google_fonts
Description
My dart server has the function to create the pdf file but my Thai language doesn't support it with the default font on the pdf package. Then I want to use the font from this package.
But it looks like this package doesn't support the Dart server side.
I got this error after running the server.
/C:/Users/user/AppData/Local/Pub/Cache/hosted/pub.dev/google_fonts-4.0.3/lib/google_fonts.dart:7:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' as ui;
^
Context: The unavailable library 'dart:ui' is imported through these packages:

dart_server.dart => package:google_fonts => dart:ui
dart_server.dart => package:google_fonts => package:flutter => dart:ui
...

Detailed import paths for (some of) the these imports:

dart_server.dart => package:google_fonts/google_fonts.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/binding.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/binding.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/binding.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/change_notifier.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/change_notifier.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/change_notifier.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/change_notifier.dart => package:flutter/src/foundation/memory_allocations.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/change_notifier.dart => package:flutter/src/foundation/memory_allocations.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/
src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/change_notifier.dart => package:flutter/src/foundation/memory_allocations.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/key.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/memory_allocations.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/memory_allocations.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/foundation.dart => package:flutter/src/foun
dation/memory_allocations.dart => package:flutter/src/foundation/diagnostics.dart => package:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/scheduler.dart => package:flutter/src/sched
uler/binding.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/scheduler.dart => package:flutter/src/sched
uler/binding.dart => package:flutter/src/scheduler/priority.dart => package:flutter/foundation.dart => package:flutter/src/foundation/assertions.dart => package:flutter/src/foundation/diagnostics.dart => pa
ckage:flutter/src/foundation/debug.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/scheduler.dart => package:flutter/src/sched
uler/binding.dart => package:flutter/src/scheduler/priority.dart => package:flutter/foundation.dart => package:flutter/src/foundation/binding.dart => dart:ui
dart_server.dart => package:google_fonts/google_fonts.dart => package:flutter/material.dart => package:flutter/src/material/about.dart => package:flutter/scheduler.dart => package:flutter/src/sched
uler/binding.dart => package:flutter/src/scheduler/priority.dart => package:flutter/foundation.dart => package:flutter/src/foundation/binding.dart => package:flutter/src/foundation/assertions.dart => packag
^
/C:/src/flutter/packages/flutter/lib/src/material/app_bar_theme.dart:5:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' show lerpDouble;
^
/C:/src/flutter/packages/flutter/lib/src/material/arc.dart:6:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' show lerpDouble;
^
/C:/src/flutter/packages/flutter/lib/src/material/badge_theme.dart:5:8: Error: Dart library 'dart:ui' is not available on this platform.
import 'dart:ui' show lerpDouble;
^

The package currently requires Flutter. It may be possible to offer a version with limited features that supports Dart. Needs investigating


Feature parallel take 3

Implementation of

#52
#48
#17

Codecov Report

Merging #54 into master will decrease coverage by <.01%.
The diff coverage is 94.61%.

@@            Coverage Diff            @@
##           master     #54      +/-   ##
=========================================
- Coverage    96.1%   96.1%   -0.01%
=========================================
  Files          21      21
  Lines        1850    1950     +100
=========================================
+ Hits         1778    1874      +96
- Misses         72      76       +4

Impacted Files
Coverage Δ

test/parallel.jl
100% <100%> (ø)
:arrow_up:

src/bb_inits_and_defaults.jl
100% <100%> (ø)
:arrow_up:

src/solver.jl
100% <100%> (ø)
:arrow_up:

src/bb_type_correct.jl
100% <100%> (ø)
:arrow_up:

src/bb_strategies.jl
99.21% <100%> (+0.01%)
:arrow_up:

test/functions.jl
100% <100%> (ø)
:arrow_up:

src/bb_integral_or_branch.jl
100% <100%> (ø)
:arrow_up:

src/model.jl
89.62% <100%> (ø)
:arrow_up:

src/bb_gains.jl
100% <100%> (ø)
:arrow_up:

src/bb_user_limits.jl
91.66% <85.71%> (-2.46%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


fix misspelling in chapter 11

Fixed a misspelling in chapter 11

JustAMurph opened a pull request addressing the same issue


recoll: 1.24.3 -> 1.24.4

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/recoll/versions.
meta.description for recoll is: '"A full-text search tool"'.

Checks done (click to expand)

built on NixOS
/nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4/bin/recollindex passed the binary check.
/nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4/bin/recollq passed the binary check.
Warning: no invocation of /nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4/bin/recoll had a zero exit code or showed the expected version
2 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 1.24.4 with grep in /nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4
directory tree listing: https://gist.github.com/cb8e470c030108290ad8fe841e81d467
du listing: https://gist.github.com/8522338600117363587dd0b88aad72ae

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

4 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
recoll

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A recoll https://github.com/r-ryantm/nixpkgs/archive/d121a13f67b5d4967657c4ee0f996ba2474d44ac.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4
ls -la /nix/store/zadvi1i6iqhc6fxh9mkk1v2l20w6v73h-recoll-1.24.4/bin

Did some light testing, and it works well.


Resolution error

RuntimeError: Error(s) in loading state_dict for SanaMS:
size mismatch for pos_embed: copying a param with shape torch.Size([1, 4096, 2240]) from checkpoint, the shape in current model is torch.Size([1, 1024, 2240]).
I am beginner to this type of stuff using the sample workflow but have no clue how to fix this issue have changed almost everything downloaded like 50gb of vae thought that maybe that was the problem but to no solution I've turned to ask for help in this error

Are you using our ComfyUI nodes to load the 2K checkpoint?

This is my whole setup it should be using the right ones but i might be wrong

@Minimidget007-WE
If you want to try outside Comfy, try this
https://github.com/newgenai79/newgenai

@nitinmukesh
Yeah i used the gradio version and it worked fine, but i want to learn ComfyUI for its extra capabilities like upscalers and controllnets that will be added later on

Decided to use the 1024px one since i thought maybe my pc is bad got this instead

used this model before and worked and now it doesnt kinda odd ngl but hey im new to this thing and reset my pc so some stuff could be missing might have to look into things, maybe need to installa conda and pytorch but then it shoulnt be able to run if those were the issue

@lawrence-cj Do i need to install the diffuser model for the 2k to work, if so can you tell me which ones to install i can see 3 models in the transformer model on hugginface

For simplicity, just use this one: https://huggingface.co/Efficient-Large-Model/Sana_1600M_2Kpx_BF16_diffusers/blob/main/transformer/diffusion_pytorch_model.bf16.safetensors

ExtraVAELoader
No module named 'diffusers'
3 install still getting this issue no clue kinda thinking about giving up on this tho but im trying

@lawrence-cj
Sorry for another ping but any solution you know of to this??

For simplicity, just use this one: https://huggingface.co/Efficient-Large-Model/Sana_1600M_2Kpx_BF16_diffusers/blob/main/transformer/diffusion_pytorch_model.bf16.safetensors

Hi @lawrence-cj , where should this file be placed? I also tried with the PTH 6GB version and got the same error as OP. I am also using ComfyUI

Hi, @Minimidget007-WE . You solved the problem?

What is the error specifically? @shaun-ba

@lawrence-cj  Exactly the same as the OP. I tried all available settings in the ComfyUI nodes and even tried edited the nodes code myself (not a coder) to add another model with higher "hidden_size" in the event that was the issue. Got various other errors and fixed them but then gave up
RuntimeError: Error(s) in loading state_dict for SanaMS:
size mismatch for pos_embed: copying a param with shape torch.Size([1, 4096, 2240]) from checkpoint, the shape in current model is torch.Size([1, 1024, 2240]).


Support custom filters.

Hey, now the plugin correctly works on Windows, but doesn't with custom filters. I don't really know how you would do this, maybe just write down some place holders values as custom filters can be defined in many ways.
For example, here's how I do it personally:
def format_big_number(value: int, use_symbol: bool = False, use_comma: bool = False) -> str:
	formatted_value = f'{value:,}'.replace(',', ' ')

	if use_symbol:
		if value >= 1_000_000_000:
			formatted_value = f'{value / 1_000_000_000:.1f} Md'
		if value >= 1_000_000:
			formatted_value = f'{value / 1_000_000:.1f} M'
		if value >= 1_000:
			formatted_value = f'{value / 1_000:.1f} k'
		formatted_value = str(formatted_value)
	return formatted_value.replace('.', ',') if use_comma else formatted_value

def filter_by_key_value(items: list[object], path: str, value: any) -> list[object]:
	keys = path.split('.')
	return [item for item in items if reduce(getattr, keys, item) == value]

def regex_match(value: str, pattern: str) -> bool:
	return re.search(pattern, value) is not None

def regex_replace(s: str, find: str, replace: str) -> str:
	return re.sub(find, replace, s)

def init_filters(app: Flask) -> None:
	app.jinja_env.filters['format_number'] = format_big_number
	app.jinja_env.filters['filter_by'] = filter_by_key_value
	app.jinja_env.filters['regex_match'] = regex_match
	app.jinja_env.filters['regex_replace'] = regex_replace
	...many more filters

# run_flask.py

def create_app() -> Flask:
	app = Flask(__name__, static_folder='flaskr/static', template_folder='flaskr/templates')
	app.config.from_prefixed_env()
	...many other settings and configurations

	init_filters(app)

if __name__ == '__main__':
	app = create_app()
	app.run()

Hey there,
thanks for your feedback.
I understand that this is a pretty common use-case for Jinja-templating.
However, I also think that something like that might be out of scope for this plugin.
It basically aims to quickly test "stock" Jinja templates (with the addition of widely used Ansible-specific filters).
(The plugin will never be able to replace a "proper" Jinja run with all imports, custom filters, etc. The possibilities there are endless.)
I'm also not sure where/how this should be configured by the user, if such a feature would be integrated into the plugin. :thinking:
I guess I'll have to sleep on it in a few nights. :smile:

I see, thanks for the reply nonetheless !


make code gen, gen less code

this is less than idea, and takes forever to compile
$ ls -trlh
total 9952
-rw-r--r--+ 1 doug  staff   144K Dec  1 15:24 events.rs.in
-rw-r--r--+ 1 doug  staff   4.7M Dec  1 15:24 events.rs

this nearly doubles the size of a static binary for a minimal app.

Done in last rel


fix: use GNU or BSD sed depending on the system

@RyanRHall have you tested it? It does not work for Kais.

@delehef @kaisbaccour seems to work on my machine - Kais are you on linex? what errors do you see?

@delehef made a small tweak, should work now!

No longer relevant after switching to awk here


Pattern matching with guards does not allow multiple matches.

Hi,
I want to match multiple patterns with guards to a single code block.
I was wondering if there is any reason why the following code does not compile?
let b = (3i,4i);
let g = 0i;
match b {
   (2,_) | (_, 2) => println!("2 inside "), // this works fine
   (2,_) if g > 0 => println!("First is 2 and some guards"), // also works fine
   (2,_) if g > 0 | (_, 2) => println!("2 inside and some guards"), // this does not compile
   ....
}

Also have you considered allowing to use a general if condition syntax in matches, like this?
   ((2,_) && g > 0) || (_, 2) =>

Edit:
Also this does compile, but looks a bit ambiguous to what part of the pattern the guard applies to.
(2,_) | (_, 2) if g > 0 => println!("2 inside and some filters"),

See RFC #99, a postponed RFC that would add this feature among others.

I just ran into the same issue. Is there any update on this?

Closing in favor of https://github.com/rust-lang/rfcs/issues/263.


Add a feature_gap test that is only run when all the client features …

…are supposed to be enabled.

The output is like:
$ go test -v -run TestFeatureGap/mutate_rows_rate_limit -proxy_addr=:9999 --enable_features_all
=== RUN   TestFeatureGap
feature_gap_test.go:65: Encoded feature flags: CAEYASABKAE=
feature_gap_test.go:71: Decoded feature flags: (
feature_gap_test.go:77: Parsed feature flags: reverse_scans:true  mutate_rows_rate_limit:true  mutate_rows_rate_limit2:true  last_scanned_row_responses:true
=== RUN   TestFeatureGap/mutate_rows_rate_limit
=== RUN   TestFeatureGap/mutate_rows_rate_limit2
--- PASS: TestFeatureGap (0.02s)
--- PASS: TestFeatureGap/mutate_rows_rate_limit (0.00s)
--- PASS: TestFeatureGap/mutate_rows_rate_limit2 (0.00s)
PASS
ok      github.com/googleapis/cloud-bigtable-clients-test/tests    0.080s


jQuery: load() is deprecated

Since jQuery 1.8 load() is deprecated (see http://api.jquery.com/load-event/) and it's removed in jQuery 3.0. This is the reason why scaling does not work with jQuery 3: https://github.com/ashleydw/lightbox/blob/master/ekko-lightbox.coffee#L292

Correct, i noticed this too in #202
not sure about a fix, as there is no replacement. will probably have to rely on native image load
continue in #202


Zero display fix

Description

bulleted high-level changes

Motivation and Context

Has this been tested? How?
Screenshots (if appropriate):
Displays both zero and missing data

Legend creates the correct buckets for small data ranges

Both summary legend and map are the same color

Types of changes

Bug fix

Post-merge TODO
I have inspected frontend changes and run affected data pipelines:

[ ] on DEV
[ ] on PROD

Any target user persona(s)?
Preview link below in Netlify comment 😎

Eaten by #2175


Cleanup deprecation of ENGINE_setup_bsd_cryptodev

It was already deprecated in 1.1.0, no need to deprecate it harder in 3.0.

The diff looks fine, but I assume we'll be squashing it.

The diff looks fine, but I assume we'll be squashing it.

That would be advisable for such a small diff, yeah

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged
bef763861020f450acbee037f5b02ec656b52ea2 Cleanup deprecation of ENGINE_setup_bsd_cryptodev


HDDS-1978. Create helper script to run blockade tests.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
43
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
shelldocs
0
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

0
mvndep
33
Maven dependency ordering for branch

+1
mvninstall
590
trunk passed

+1
mvnsite
0
trunk passed

-1
pylint
2
Error running pylint. Please check pylint stderr files.

+1
shadedclient
801
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

0
mvndep
25
Maven dependency ordering for patch

+1
mvninstall
553
the patch passed

+1
mvnsite
0
the patch passed

-1
pylint
3
Error running pylint. Please check pylint stderr files.

+1
pylint
3
There were no new pylint issues.

-1
shellcheck
0
The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
701
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
99
hadoop-hdds in the patch passed.

+1
unit
279
hadoop-ozone in the patch passed.

+1
asflicense
44
The patch does not generate ASF License warnings.

3366

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1310

Optional Tests
dupname asflicense mvnsite unit shellcheck shelldocs pylint

uname
Linux 2b84cf533e11 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / d873ddd

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/1/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/1/artifact/out/patch-pylint-stderr.txt

shellcheck
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/1/artifact/out/diff-patch-shellcheck.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/1/testReport/

Max. process+thread count
415 (vs. ulimit of 5500)

modules
C: hadoop-ozone hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/1/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
98
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
shelldocs
0
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

0
mvndep
29
Maven dependency ordering for branch

+1
mvninstall
646
trunk passed

+1
mvnsite
0
trunk passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
shadedclient
874
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

0
mvndep
26
Maven dependency ordering for patch

+1
mvninstall
595
the patch passed

+1
mvnsite
0
the patch passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
pylint
2
There were no new pylint issues.

-1
shellcheck
0
The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
796
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
114
hadoop-hdds in the patch passed.

+1
unit
295
hadoop-ozone in the patch passed.

+1
asflicense
41
The patch does not generate ASF License warnings.

3711

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1310

Optional Tests
dupname asflicense mvnsite unit shellcheck shelldocs pylint

uname
Linux 68d68c560062 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 6244502

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/2/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/2/artifact/out/patch-pylint-stderr.txt

shellcheck
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/2/artifact/out/diff-patch-shellcheck.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/2/testReport/

Max. process+thread count
306 (vs. ulimit of 5500)

modules
C: hadoop-ozone hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/2/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
158
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
shelldocs
1
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

0
mvndep
36
Maven dependency ordering for branch

+1
mvninstall
811
trunk passed

+1
mvnsite
0
trunk passed

-1
pylint
5
Error running pylint. Please check pylint stderr files.

+1
shadedclient
1069
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

0
mvndep
34
Maven dependency ordering for patch

+1
mvninstall
717
the patch passed

+1
mvnsite
0
the patch passed

-1
pylint
6
Error running pylint. Please check pylint stderr files.

+1
pylint
7
There were no new pylint issues.

-1
shellcheck
1
The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
882
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
123
hadoop-hdds in the patch passed.

+1
unit
359
hadoop-ozone in the patch passed.

+1
asflicense
57
The patch does not generate ASF License warnings.

4511

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1310

Optional Tests
dupname asflicense mvnsite unit shellcheck shelldocs pylint

uname
Linux cfbaf6f553dc 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / e684b17

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/3/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/3/artifact/out/patch-pylint-stderr.txt

shellcheck
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/3/artifact/out/diff-patch-shellcheck.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/3/testReport/

Max. process+thread count
306 (vs. ulimit of 5500)

modules
C: hadoop-ozone hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/3/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Looks good to me. Let me test it with starting the blockade test on the CI server.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
82
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
shelldocs
1
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

0
mvndep
16
Maven dependency ordering for branch

+1
mvninstall
662
trunk passed

+1
mvnsite
0
trunk passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
shadedclient
888
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

0
mvndep
28
Maven dependency ordering for patch

+1
mvninstall
594
the patch passed

+1
mvnsite
0
the patch passed

-1
pylint
1
Error running pylint. Please check pylint stderr files.

+1
pylint
2
There were no new pylint issues.

-1
shellcheck
0
The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
767
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
124
hadoop-hdds in the patch passed.

+1
unit
317
hadoop-ozone in the patch passed.

+1
asflicense
39
The patch does not generate ASF License warnings.

3715

Subsystem
Report/Notes

Docker
Client=19.03.0 Server=19.03.0 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/4/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1310

Optional Tests
dupname asflicense mvnsite unit shellcheck shelldocs pylint

uname
Linux 13f1213cfe28 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / ee7c261

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/4/artifact/out/branch-pylint-stderr.txt

pylint
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/4/artifact/out/patch-pylint-stderr.txt

shellcheck
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/4/artifact/out/diff-patch-shellcheck.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/4/testReport/

Max. process+thread count
305 (vs. ulimit of 5500)

modules
C: hadoop-ozone hadoop-ozone/fault-injection-test/network-tests U: hadoop-ozone

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1310/4/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6 pylint=1.9.2

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.


Allow custom signal handler from non-main thread

When hardware bound check is enabled and a custom signal handler is defined, it is stored in a thread-local variable.
If the embedder sets up the WAMR runtime in the main thread, spawns a thread and the signal handler is called from the spawn thread, the custom signal handler is not available.

@wenyongh Is there any reason for the second condition in the if? https://github.com/bytecodealliance/wasm-micro-runtime/blob/83db970953c460738701f0edbf7eb10666e59452/core/shared/platform/common/posix/posix_thread.c#L540
It forces my custom signal handler to be initialized with SA_SIGINFO otherwise it goes into https://github.com/bytecodealliance/wasm-micro-runtime/blob/83db970953c460738701f0edbf7eb10666e59452/core/shared/platform/common/posix/posix_thread.c#L550

@wenyongh Is there any reason for the second condition in the if? https://github.com/bytecodealliance/wasm-micro-runtime/blob/83db970953c460738701f0edbf7eb10666e59452/core/shared/platform/common/posix/posix_thread.c#L540
It forces my custom signal handler to be initialized with SA_SIGINFO otherwise it goes into https://github.com/bytecodealliance/wasm-micro-runtime/blob/83db970953c460738701f0edbf7eb10666e59452/core/shared/platform/common/posix/posix_thread.c#L550

When hardware bound check is enabled and a custom signal handler is defined, it is stored in a thread-local variable. If the embedder sets up the WAMR runtime in the main thread, spawns a thread and the signal handler is called from the spawn thread, the custom signal handler is not available.

@eloparco, do you use wasm_runtime_spawn_thread to create the thread? And do you call wasm_runtime_init_thread_env() in at the beginning of the callback of thread spawned? Normally for the thread created by embedder but not runtime, we should call the function to initialize the thread environment, including prev_sig_act_SIGSEGV. Note that eventually os_thread_signal_init is be called.

@wenyongh Is there any reason for the second condition in the if?
https://github.com/bytecodealliance/wasm-micro-runtime/blob/83db970953c460738701f0edbf7eb10666e59452/core/shared/platform/common/posix/posix_thread.c#L540

Hi, it was implemented according to the reference document:
If  SA_SIGINFO  is  specified in sa_flags, then sa_sigaction (instead of sa_handler) specifies the signal-handling function for signum.

But here it ignored the situation that prev_sig_act->sa_handler is not NULL. The document also mentions:
sa_handler specifies the action to be associated with signum and is be one of the following:

       * SIG_DFL for the default action.

       * SIG_IGN to ignore this signal.

       * A pointer to a signal handling function.  This function receives the signal number as its only argument.

The code may have some issues, per my understanding, the correct handling may be like:
    /* Forward the signal to next handler if found */
    if (prev_sig_act && (prev_sig_act->sa_flags & SA_SIGINFO)) {
        prev_sig_act->sa_sigaction(sig_num, sig_info, sig_ucontext);
    }
    else if (prev_sig_act
             && (void *)prev_sig_act->sa_handler == SIG_DFL) {
        /* Default action */
        sigaction(sig_num, prev_sig_act, NULL);
    }
    else if (prev_sig_act
             && (void *)prev_sig_act->sa_handler== SIG_IGN) {
        /* Ignore this signal */
    }
    else if (prev_sig_act && prev_sig_act->sa_handler) {
        prev_sig_act->sa_handler(sig_num);
    }
    /* Output signal info and then crash if signal is unhandled */
    else {
        switch (sig_num) {
            ...
        }
    }

Could you help confirm and have a try? Thanks.

@eloparco, do you use wasm_runtime_spawn_thread to create the thread? And do you call wasm_runtime_init_thread_env() in at the beginning of the callback of thread spawned? Normally for the thread created by embedder but not runtime, we should call the function to initialize the thread environment, including prev_sig_act_SIGSEGV. Note that eventually os_thread_signal_init is be called.

In my use case, the thread creation is done in a separate part of the code that is independent of the runtime so I can't use WAMR functions there.

Could you help confirm and have a try? Thanks.

Yes, just tried that and it works for me. With your suggestion, if I don't set SA_SIGINFO in my custom signal handler, it goes into the
if (prev_sig_act && prev_sig_act->sa_handler) { part and works properly by calling my custom signal handler.


:memo: Fix key features section of high availability page

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

What type of changes will we make to the documentation?
Typo, layout, grammar, spelling, punctuation errors, etc.
Affects Version(s)
master
Improving the documentation
The high availability guide states Kyuubi server supports stop gracefully. can be rephrased to Kyuubi server supports stopping gracefully.
Are you willing to submit PR?

[X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
[ ] No. I cannot submit a PR at this time.

PR submitted - https://github.com/apache/kyuubi/pull/4864

Fixed in https://github.com/apache/kyuubi/pull/4864

Thanks @pan3793 for your review.


Laravel 10.x Shift

This pull request includes the changes for upgrading to Laravel 10.x. Feel free to commit any additional changes to the shift-81038 branch.
Before merging, you need to:

Checkout the shift-81038 branch
Review all pull request comments for additional changes
Run composer update (if the scripts fail, add --no-scripts)
Clear any config, route, or view cache
Thoroughly test your application (no tests?, no CI?)

If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

:x: Shift could not upgrade the following files since they differed from the default Laravel version. You will need to compare these files against the default Laravel 10 versions and merge any changes:

[ ] app/Http/Middleware/Authenticate.php

:warning: Shift upgraded your configuration files by defaulting them and merging your true customizations. These include values which are not changeable through core ENV variables.
You should review this commit for additional customizations or opportunities to use new ENV variables. If you have a lot of customizations, you may undo this commit with git revert f74454a7 and make the config file changes manually.

:information_source: Shift updated your dependencies for Laravel 10. While many of the popular packages are reviewed, you may have to update additional packages in order for your application to be compatible with Laravel 10. Watch dealing with dependencies for tips on handling any Composer issues.

:information_source: Now with type hints in your code, defining types within PHP DocBlocks is redundant. Laravel has removed all of the @param and @return tags from its DocBlocks where types are defined with PHP. Similarly, Shift removed these tags from any DocBlock where the code now has equivalent type hints.

:information_source: Shift understand developers have different preferences when it comes to type hints. All of Shift's automation is done in nice, atomic commits. This makes it easier to undo any of the changes Shift makes.
If you wish to undo any of these changes, you may first revert the DocBlock changes by running git revert b677a3b. Then undo the added type hints by running git revert 8ab0440.

:information_source: All of the underlying Symfony components used by Laravel have been upgraded to Symfony 6.2. Shift detected references to Symfony classes within your application. You should review the Symfony change log for any additional changes.

:information_source: Laravel began using Vite to build frontend assets in Laravel 9.19. While you may continue to use Laravel Mix, it is no longer the default. If you wish to modernize your application to use Vite, you may run the Vite Converter for free.

:alembic: This Shift is still being refined. Please report any issues or suggestions to<EMAIL_ADDRESS>Your feedback is what helps improve the experience for everyone.

:x: PHP syntax errors were detected after running your Shift. Often these are simply differences between the PHP version on the Shift server (8.1) and your project. Occasionally they are misplaced lines or duplicate import statements.
You may quickly check the PHP syntax locally by running php -l on the following files:

[ ] app/Http/Middleware/RedirectIfAuthenticated.php


Add tryMap. Like flatMap but for Swift2 error handling.

The tryMap function allows code that throws to be more easily wrapped.

Thanks for the PR!

Maybe it’d be better to change map and/or flatMap to accommodate throws instead. Typically these would be written using throws and rethrows, but in our case they’d catch instead of rethrowing.
@antitypical/result: Any thoughts?

Closing this and opened #118 instead.


feat(checkout): CHECKOUT-7255 Remove checkout step numbers

What?
Removing all checkout step numbers.

Remove the step counter of each unfinished checkout step.
Remove the circle, check mark of each finished checkout step.
Change the step header’s left padding to zero.
Putting all changes behind an experiment so that we can roll out changes incrementally.

Why?
Once we introduce wallet buttons on the top of the checkout page, the step numbers are no longer accurate progress indicators.
Testing / Proof

https://user-images.githubusercontent.com/88361607/216851440-9d7db6c9-6f80-4427-8cd9-02e18ff33442.mov
@bigcommerce/checkout

Hi @animesh1987, I have updated the code and tested it on my store. Can I have another review?


IMOU Ranger Pro Z-D6F2

Hello I have an IMOU Ranger Pro Z-D6F2 camera I managed to integrate into the HA but recognized it as the IPC-A26Z model.
Enabled 1 device and 12 entities.
But I don't think it's working as it should, the live preview of the error whenever I try to open it and the entities don't seem to be working either.
Is this because the model is different?

Version of the custom_component
0.5.0
Configuration

2021-12-22 10:00:44 ERROR (stream_worker) [homeassistant.components.stream] Error from stream worker: Error opening stream rtsp://****:****@<IP_ADDRESS>:554/cam/realmonitor?channel=0&subtype=0
2021-12-22 10:00:45 ERROR (MainThread) [frontend.js.latest.202112200] http://<IP_ADDRESS>:8123/frontend_latest/93104ce0.js:8:3340 Uncaught TypeError: Cannot read properties of null (reading 'removeAttribute')
2021-12-22 10:14:26 ERROR (MainThread) [homeassistant.components.alexa.state_report] Error when sending ChangeReport to Alexa: INVALID_ACCESS_TOKEN_EXCEPTION: Access token is not valid.
2021-12-22 10:14:26 ERROR (MainThread) [homeassistant.components.alexa.state_report] Error when sending ChangeReport to Alexa: INVALID_ACCESS_TOKEN_EXCEPTION: Access token is not valid.
2021-12-22 10:14:26 ERROR (MainThread) [homeassistant.components.alexa.state_report] Error when sending ChangeReport to Alexa: INVALID_ACCESS_TOKEN_EXCEPTION: Access token is not valid.

Describe the bug
Live view is not working and entities are not working either!
Debug log
Logger: homeassistant.components.stream
Source: components/stream/init.py:305
Integration: Stream (documentation, issues)
First occurred: 10:40:35 (1 occurrences)
Last logged: 10:40:35
Error from stream worker: Error opening stream rtsp://:@<IP_ADDRESS>:554/cam/realmonitor?channel=0&subtype=0
thanks for the support!

These are not well supported yet. Please follow https://github.com/rroller/dahua/issues/6


SwipeRefreshLayout spin endlessly after refreshing in Accounts Fragment

Summary
When refreshing the Accounts Fragment using downward swipe action the loader keep spinning until the fragment is destroyed
Steps to reproduce
Click on the Accounts on the dashboard
then perform swipe down action to refresh, either in loan or deposit tablayout.
Expected behaviour
It should update the list, if there are any change in the list of deposit or loan, depends where you perform the refreshing action
Observed behaviour
Refreshing icon spinning endlessly until account fragment destroyed.
Logcat for the issue

Device and Android version
Model Device : Realme 1
Android 9, version from the manufacturer
Screenshots
https://user-images.githubusercontent.com/70816971/110090705-93639500-7dbd-11eb-854e-f67c7745c80f.mp4

Can I solve this issue?

Can i work on this issue?

@anamansari062 yes you can work on this, first check, if this still happening or is it solved.

@Prashant830 Yes you can solve this issue .

@ksog66 Bro I don't want to solve the issue because it already have a pull request

@ksog66 Can I work on this issue ?


[BUG] Opening manifest file does not show the scanned results

Describe the bug
Opening manifest file does not show the scanned results indicating the # of dependencies with vulnerabilities.
To Reproduce
Open a manifest file to see if the notification pops up (at the bottom right corner) indicating the # of dependencies with vulnerabilities
Expected behavior
Opening manifest file  show (as a notification at the bottom right corner of VSCode) the scanned results indicating the # of dependencies with vulnerabilities. This notification (at the bottom right corner of the VSCode window) would need to show up even for a case of a manifest file with zero vulnerabilities.
Screenshots
If applicable, add screenshots to help explain your problem.
Logs
If applicable, attach logs.
VSCode(please complete the following information):

OS:  macOS
VSCode version: 1.41.0
Dependency Analytics Version: 0.0.13

CHE7/Theia(please complete the following information):

OS: [e.g. macOS]
Browser [e.g. chrome]
CHE/Theia version
Dependency Analytics Version [e.g. 0.0.22]

Additional context
Add any other context about the problem here.

@arajkumar do we know the cause for this bug ?

@SriKrishnaPaparaju, somehow I missed this bug. Let me quickly check.

@SriKrishnaPaparaju Do you see this problem with a specific manifest? I tried with couple of manifests and I see the notification all the time.

@spaparaju @arajkumar
Are we good to close this issue?

@arajkumar @spaparaju Closing this issue, please reopen the issue if you are not able to see the notification.


Implemented "setStep" functionality

Not sure if you have had time to look at this yet, but I used jquery.steps in a project I was working on and  implemented the "setStep" functionality.
Cheers

yes please merge :)

It looks like the original signature for setStep was to replace the content of a step, whereas this PR is setting the state of the wizard to a specific step - i.e. jump to the named step?

I was looking for the ability to jump to a specific step (next and previous aren't enough). What happened to this PR?


I can't install opencv

Describe the bug
When i run the command "./vcpkg install opencv:x64-windows" i get a error
Environment

OS: Windows

To Reproduce
Steps to reproduce the behavior:

Use latest version of vcpkg
./vcpkg install opencv:x64-windows
See error
Repro code when

Expected behavior
I expected it to be installed without errors
Failure logs
-(please attached failure logs)

@RadonCoding ,Thanks for posting this issue, I cannot repro this issue, could you please git pull the latest vcpkg and try again?
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: C:\Users\AppData\Local\vcpkg\archives\40\403e7905ada50a1230056390c527ea1d28861a7cfc87035ec00bb60473b2e160.zip
Installing package opencv4[core,default-features,dnn,jpeg,png,quirc,tiff,webp]:x64-windows...
Elapsed time for package opencv4:x64-windows: 8.377 min
Starting package 4/4: opencv:x64-windows
Building package opencv[core,default-features]:x64-windows...
-- Performing post-build validation
-- Performing post-build validation done
Installing package opencv[core,default-features]:x64-windows...
Elapsed time for package opencv:x64-windows: 141.7 ms

Total elapsed time: 8.636 min

Please download this file and put it into VCPKG_ROOT/downloads then try again.
Thanks.

worked


Setting maxHeight appears to have no effect

Describe the bug
Setting {maxHeight: '500px'} in the options appears to have no effect, and the editor continues to adjust height to the content.
To Reproduce
Steps to reproduce the behavior:

Create a new editor with the option above
Fill it with a lot of content
See that the editor does not respect the max height.

Expected behavior
The editor should expand up to the size defined and then grow now larger, with y overflow scrolling at that point.
** Version information **

OS: MacOS 11
Browser: Safari 14 and Chrome 83
EasyMDE version: 2.10.1

Related to #206 ?

Possibly? I've just checked and setting maxHeight has no effect on either the editor, the preview or the side by side mode heights.
That said, they are using a different OS and browser (probably not the cause, but worth noting).
My "fix" for now is as follows, which seems to work in all cases.
    .CodeMirror {
        max-height: 30rem;
    }

Hi @kurucu

EasyMDE version: 2.10.1

maxHeight option is under unreleased version at CHANGELOG https://github.com/Ionaru/easy-markdown-editor/blob/master/CHANGELOG.md, so it's not included to  2.10.1
You must use master branch to use this option now.

Released now :)

Great work, I'll give it a spin later today.


Nothing happen on MAMP

No scalling, no compression...
Configuration:

OSX 10.12.3
MAMP 3.5
PHP 7.0
Apache 2.2.29
Kirby 2.4.1

Plugin installed in plugins/imageoptim/
and actived in config.php

please check your php_error.log and send me the output.
--
Please not that Kirby supports file resizing with caching since 2.3:
https://getkirby.com/docs/cheatsheet/file/resize


PyCharm debugging question

Hi, thanks for your wonderful work in this project. I am trying to do this part Remote debugging with PyCharm Debug Server over SSH and I have a question:
When trying to debug a training session, the command sm-local-ssh-training failed even after using root. To clarify, I am running this inside the ssh connection.
$ ./sm-local-ssh-training connect pytorch-mnist-2022-11-15-09-46-35-587
sh: 11: ./sm-local-ssh-training: Permission denied
$ sudo ./sm-local-ssh-training connect pytorch-mnist-2022-11-15-09-46-35-587
./sm-local-ssh-training: line 17: python: command not found

If i run the command on local terminal (using Mac) this error happens
$ sm-local-ssh-training connect pytorch-mnist-2022-11-15-13-19-58-576
/opt/homebrew/bin/sm-local-ssh-training: line 17: python: command not found
INSTANCE_ID not provided

Am I missing something for debug setup?

Hi! To clarify: this command should run from your local terminal (Mac).
It appears you have no Python installed or it's missing from you path.
Install then verify Python3 is available on your Mac by running: python --version

@gilinachum Thanks for your clarification! turns out my conda environment was not correctly activated. When debugging this shows up on Debug Server Console
Get test data loader
Processes 60000/60000 (100%) of train data
Processes 10000/10000 (100%) of test data
[2022-11-17 12:51:29.794 algo-1:41 INFO utils.py:27] RULE_JOB_STOP_SIGNAL_FILENAME: None
[2022-11-17 12:51:30.049 algo-1:41 INFO profiler_config_parser.py:102] User has disabled profiler.
[2022-11-17 12:51:30.050 algo-1:41 INFO json_config.py:91] Creating hook from json_config at /opt/ml/input/config/debughookconfig.json.
[2022-11-17 12:51:30.052 algo-1:41 INFO hook.py:199] tensorboard_dir has not been set for the hook. SMDebug will not be exporting tensorboard summaries.
Unhandled exception in thread started by <_pydev_bundle.pydev_monkey._NewThreadStartupWithTrace object at 0x7f1f3732b048>
Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/_pydev_bundle/pydev_monkey.py", line 785, in __call__
    global_debugger.notify_thread_created(thread_id, t)
  File "/opt/conda/lib/python3.6/site-packages/pydevd.py", line 765, in notify_thread_created
    self.writer.add_command(self.cmd_factory.make_thread_created_message(thread))
  File "/opt/conda/lib/python3.6/site-packages/_pydevd_bundle/pydevd_comm.py", line 587, in make_thread_created_message
    cmdText = "<xml>" + self._thread_to_xml(thread) + "</xml>"
  File "/opt/conda/lib/python3.6/site-packages/_pydevd_bundle/pydevd_comm.py", line 573, in _thread_to_xml
    name = pydevd_xml.make_valid_xml_value(thread.getName())
  File "/opt/conda/lib/python3.6/site-packages/_pydevd_bundle/pydevd_xml.py", line 30, in make_valid_xml_value
    return s.replace("&", "&").replace('<', '<').replace('>', '>').replace('"', '"')
AttributeError: 'function' object has no attribute 'replace'

Any idea why this happened? this error did not show up when following the Connecting to SageMaker training jobs with SSM step

Hi, @desinurch.
As for the last comment about a function has no attribute ‘replace’, this is most likely the PyCharm issue - https://youtrack.jetbrains.com/issue/PY-40552 .
You can try a one-liner patch for it, just as in this test — https://github.com/aws-samples/sagemaker-ssh-helper/blob/57b1f6369ce9e523a7951d23753a9f7f5a6a2022/tests/source_dir/training_debug/train_debug.py#L12 .
Hope it helps! If not, please share the version of your pydevd-pycharm .
And thank you for the interest in the SageMaker SSH Helper!
Ivan

@ivan-khvostishkov Perfect it works now! just a tip for anyone else trying this maybe you want to add project mappings on your Debug Server so the breakpoints will work as expected


Message attribute is missing in frank!Doc for Job

Is your Frank! up to date?
7.9.3 till latest online version
Current Behavior
https://frankdoc.frankframework.org/#/All/Job
it does not show a message attribute to use in conjunction with the function sendmessage
Expected Behavior
I would like to see all elements
Environment Information
7.9.3 till latest online version
Steps To Reproduce
No response
Configuration
No response
Input
No response
What database are you using?
No response
What browsers are you seeing the problem on?
No response
Relevant Log Output
No response
Anything else?
No response

Job is the old placeholder to make old configurations work. The framework attempts to set attributes but cannot guarantee anything. If you wish to use autocompletion you will have to choose a specific 'job' implementation, such as SendMessageJob. Which has the attributes that can be set on that, and only that, element.


Connection to remote headless instance of nvim

Is it possible?

It may be possible but goes beyond the scope of what Nvy tries to be, which is a simple GUI that runs an instance of nvim