Closed STDIN returns endless stream of random data

While working on #37, I've tested the following simple and quite common code to check possible combinations of readable/writable streams and closing/ending either side:
$stdout = new Stream(STDOUT, $loop);
$stdout->pause();

$stdin = new Stream(STDIN, $loop);
$stdin->pipe($stdout);

Here's what works as expected:
$ php test.php #interactive STDIO
$ echo test | test.php # STDIN ends once receiving input
$ true | php test.php # STDIN ends immediately
$ php test.php < /dev/null # STDIN ends immediately
$ php test.php < /dev/zero # endless STDIN stream
$ php test.php < /dev/urandom #endless STDIN stream
$ php test.php > /dev/null # STDOUT closes when trying to write, thus pausing STDIN

Here's what does not work (on most of my systems, more below):
$ php test.php <&- # no STDIN should error and/or close
$ php test.php >&- # no STDOUT should error and/or close when trying to write

It turns out explicitly passing no handle actually results in a default stream for all STDIO streams (STDIN, STDOUT and STERR). Arguably, this may be a sane default behavior if this default stream would follow expected behavior for closed streams, but unfortunately it does not.
Unfortunately, this default stream behaves just like an endless stream of random data. In fact, it actually is /dev/urandom. This can be verified by checking /proc/{PID}/fd. And it turns out this is not in fact related to ReactPHP at all and can be reproduced with the most simple PHP scripts.
Here's a very simple gist to reproduce this output:
$ LANG=en php -r 'var_dump(!!fstat(STDIN));passthru("ls -o /proc/".getmypid()."/fd");' <&-

This SHOULD show false (because STDIN is not a valid stream) and SHOULD not include file descriptor 0 in the listing.
Note that I could reproduce this in multiple setups, but have seen other setups where this does not occur. As such, I'm opening this ticket to gather more information on why this happens and how this could possibly be avoided.
Unless I'm missing something obvious, it looks like this may boil down to an issue in PHP itself, but I'd rather collect more evidence first.

PHP 7.0.15 on Ubuntu 16.04:
STDIN defaults to /dev/urandom
PHP 5.3.10 on Ubuntu 12.04:
:white_check_mark: STDIN is closed
PHP 7.1.2 from Docker php:7.1
STDIN defaults to dev/urandom
PHP 5.6.8 from Docker php:5.6
STDIN defaults to dev/urandom

I executed the gist and got the following:
$ LANG=en php -r 'var_dump(!!fstat(STDIN));passthru("ls -o /proc/".getmypid()."/fd");' <&-
Command line code:1:
bool(false)
total 0
lr-x------ 1 legionth 64 Mar 14 15:40 0 -> pipe:[174916]
lrwx------ 1 legionth 64 Mar 14 15:40 1 -> /dev/pts/17
lrwx------ 1 legionth 64 Mar 14 15:40 2 -> /dev/pts/17

This looks good to me, nothing about dev/urandom. :thinking:
Executed this with this version:
$ php --version
PHP 7.0.8-0ubuntu<IP_ADDRESS> (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.8-0ubuntu<IP_ADDRESS>, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

Just tried this with Amp, it does indeed dump random data with the NativeDriver.
<?php

require "vendor/autoload.php";

use Amp\Loop;

// Loop::set(new Loop\NativeDriver);

Loop::run(function () {
    Loop::onReadable(STDIN, function ($watcherId) {
        var_dump("READ", fread(STDIN, 8192));
        var_dump("EOF", feof(STDIN));

        if (feof(STDIN)) {
            Loop::cancel($watcherId);
        }
    });
});

EvDriver shows the same behavior. However, this doesn't happen with uv nor event.
UvDriver fails with the following error:
Fatal error:  uv_poll_init_socket(): uv_poll_init failed in UvDriver.php on line 182

EventDriver fails with the following error:
Warning:  Event::add(): Epoll ADD(1) on fd 0 failed.  Old events were 0; read change was 1 (add); write change was 0 (none): Operation not permitted in EventDriver.php on line 238
Warning:  Event::add(): Failed adding event in EventDriver.php on line 238

@kelunik This looks like you're affected by the same issue. Can you report the PHP version and the output of the gist as given above?
It looks like this may in fact be a PHP issue, but we have yet to dive deeper. Some systems seem to be not affected (see @legionth's output).
In case you're affected, this really affects the most simple scripts, you can really confuse any interactive CLI tool, like psysh, boris, those building on top of Symfony console etc. etc.

LANG=en php -r 'var_dump(!!fstat(STDIN));passthru("ls -o /proc/".getmypid()."/fd");' <&-
bool(true)
total 0
lr-x------ 1 kelunik 64 Mar 14 15:54 0 -> /dev/urandom
lrwx------ 1 kelunik 64 Mar 14 15:54 1 -> /dev/pts/1
lrwx------ 1 kelunik 64 Mar 14 15:54 2 -> /dev/pts/1
lr-x------ 1 kelunik 64 Mar 14 15:54 3 -> pipe:[5172278]

Running on PHP 7.1.3RC1. I don't think this is related to PHP, but probably rather the underlying system. I'm on Ubuntu 16.04.2 LTS.

Ok, that's not true, it's not done by the system, (1) because Uv and Event wouldn't fail in that case and (2) because head -c 8 <&- errors out like it should.

@clue FD 0 just gets reused. As 0 isn't used yet, that's taken.
┌[kelunik@kelunik] - [~/GitHub/php/php-src] - [16:11:04] - [master]
└[5415] $ LANG=en php -r 'var_dump(!!fstat(STDIN));passthru("ls -o /proc/".getmypid()."/fd");' <&-
bool(true)
total 0
lr-x------ 1 kelunik 64 Mar 14 16:13 0 -> /dev/urandom
lrwx------ 1 kelunik 64 Mar 14 16:13 1 -> /dev/pts/1
lrwx------ 1 kelunik 64 Mar 14 16:13 2 -> /dev/pts/1
lr-x------ 1 kelunik 64 Mar 14 16:13 3 -> pipe:[5183812]

┌[kelunik@kelunik] - [~/GitHub/php/php-src] - [16:13:07] - [master]
└[5416] $ LANG=en php -r 'var_dump(!!fstat(STDIN));passthru("ls -o /proc/".getmypid()."/fd");'
bool(true)
total 0
lrwx------ 1 kelunik 64 Mar 14 16:13 0 -> /dev/pts/1
lrwx------ 1 kelunik 64 Mar 14 16:13 1 -> /dev/pts/1
lrwx------ 1 kelunik 64 Mar 14 16:13 2 -> /dev/pts/1
lr-x------ 1 kelunik 64 Mar 14 16:13 3 -> /dev/urandom
lr-x------ 1 kelunik 64 Mar 14 16:13 4 -> pipe:[5183821]

This is due to https://github.com/php/php-src/blob/16ae9f82e82e2aea5d7deaf8f9a9c825a56dfcc1/ext/standard/php_fopen_wrapper.c#L265 just duplicating instead of registering STDIN as an already closed stream. Thanks to @bwoebi for finding the right place.

Thanks to @kelunik  for reporting this upstream: https://bugs.php.net/bug.php?id=74252
It looks like there's little we can do about this on our end, so we may as well document and close this? :+1:

For the reference only: I'm no longer able to reproduce this issue with a default PHP installation on Ubuntu (PHP 7.0.22-0ubuntu<IP_ADDRESS>):
$ LANG=en php -r 'var_dump(!!fstat(STDIN));passthru("ls -o /proc/".getmypid()."/fd");' <&-
Command line code:1:
bool(false)
total 0
lr-x------ 1 me 64 Nov  1 13:29 0 -> pipe:[58524]
lrwx------ 1 me 64 Nov  1 13:29 1 -> /dev/pts/1
lrwx------ 1 me 64 Nov  1 13:29 2 -> /dev/pts/1

I am having the same problem with 7.2-fpm-alpine on docker.


Fix following the logs in build container

There's a problem with inotify on overlayfs, see e.g.
https://askubuntu.com/questions/563982/why-wont-tail-f-follow-my-syslog-when-running-live

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Export next and prev fields of a Linked List Element

What version of Go are you using (go version)?

$ go version 1.14.6

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env darwin/amd64
$ go env

What did you do?
Tried to access an Element's previous and next pointers, with Element being the struct contained in Go's linked list implementation.

What did you expect to see?
Element's prev and next values exported for public use.
What did you see instead?
Element's prev and next are not being exported for usage outside of the package, see:  https://github.com/golang/go/blob/8696ae82c94f0a7707cbbbdf2cec44e93edf5b23/src/container/list/list.go#L21
Can these two be exported? If you have access to one and only one specific Element of the linked list, and not to the entire list, it is not possible to access previous and next Elements of the linked list; in other words, you are stuck on that single Element you have access to and can't move back or forward through the linked list. If this change gets approved I can also work on a PR to fix it. Thanks.

Use the Next and Prev methods.

@ianlancetaylor fair enough, that solves the problem of moving through the list.
Now, imagine that you have to remove that Element, without having access to the list. Normally, in the case of a singly linked list, you could copy next Element's value to the current Element's value (this can be done) then you should point current Element's next pointer to Element.Next().Next() and finally put the next Element's next pointer equal to nil (Go's garbage collector should take care of this dangling Element). Since you can't access Element.next, you therefore can't assign Element.Next().Next() to it and you can't remove the next Element's next pointer. To sum it up, deletion of an Element cannot be done in Go if you don't have access to the linked list itself.
If next and prev should not be exported, at least a function to remove the Element, to be called on the Element itself, should be made available.

The container/list package does not support removing an element from a list without having a pointer to the list.  We aren't going to change that package to support a different use case.  If you need different functionality, I suggest that you write your own package.  This is not impossible; the container/list package is less than 250 lines, not counting tests.  The standard library package can't be all things to all people; it has to make choices as to what it will support.

To be honest I don't see how implementing additional stuff, that may help more people without taking away from the rest, can hurt the language itself or make the language library any worse. But I guess I might be missing something and that you have your reasons to state that you won't implement it, so I totally respect that. You are right in saying that it is pretty much straightforward to implement this - by opening this issue I just wanted to see if there was the possibility to have the implementation being absorbed in language itself, so to benefit more people in my same position. Thanks for taking the time to answer.


General: Codec Concerns

Warning: Special attention should be paid when changing anything related to the codec however, as this can affect how the other ixo components (namely blocksync and cellnode) should broadcast messages to the blockchain, and reversely what the blockchain expects when decoding messages. Blocksync also expects transactions to not include the 'type' key when parsing transactions, so this will also break.

Interfaces and concretes, notably ixo.DidDoc and ixo.IxoTx, should be registered from the module itself and not by other modules. ixo.DidDoc is registered by the DID module, which is not the convention. The fact that ixo.IxoTx is not registered anywhere is the reason why transactions are not queryable (without adding --output=text) => tx querying fixed in #140

Another unconventional approach is the naming of types when they get registered. These should also be changed at some point. The above warning applies even more in this case. These are breaking changes. Changes required are mostly to messages, where for example the name for MsgAddDid in module did should be did/MsgAddDid and not did/AddDid.

A third concern is that some queryable concretes, especially did docs, are not registered with Amino (codec). Registering these with Amino breaks some code as json.Marshal is used in the query functions rather than codec.MarshalJSONIndent. Fixing this might break more code that depends on the return of a query, since this adds a layer around the current outputs (becomes {type: "module/typeName", value: "currentOutput"}).

Some changes related to point 3. were already done and had to be reverted in 46aa54e because of breaking changes. TODOs referring to this issue were added in the code in these areas of change.

Closed by #147


https://jestjs.io/docs/en/mock-functions.html does not document ES6 imports.

There is no information on how to submit documentation bugs, so I assume it is classified as a bug.
🐛 Bug Report
The "mocking functions" page at https://jestjs.io/docs/en/mock-functions.html
does not document an example using ES6 imports like this:
import { foo } from 'bar';

To Reproduce
Goto https://jestjs.io/docs/en/mock-functions.html
Expected behavior
Documentation on how to mock a function using ES6 import syntax.
Link to repl or repo (highly encouraged)
envinfo

Wanna send a PR for it?

If I knew how it worked, maybe.

@alexanderkjeldaas there's a related comment here, but also I just filed a related issue here
It's possible that the "correct" way to do it is different with or without Babel. Ideally I don't think it should be to avoid confusion.
Agree this should be documented after this is all working properly. Hopefully there are some test cases that could just be pasted into the docs as simple examples?

I can do this:
import * as bar from 'bar';

jest.mock('bar');

bar.foo.mockReturnValue('baz');

But this doesn't work for me:
import { foo } from 'bar';

jest.mock('bar');

foo.mockReturnValue('baz');

So whether this is indeed a limitation, or maybe I have configured something wrong?  It would be good if the docs said something on this topic.

if no one else works on it, I would like to give it a try as my first issue. :)


Add Tests for site.config Options

Issue Description
We need tests for site.config options.
Issue Type

[ ] New Feature
[ ] Enhancement
[ ] Bug
[x] Other

lol


fix: reduce log spamming when connection goes down

Fixes https://emqx.atlassian.net/browse/EMQX-12334

tagged <IP_ADDRESS>


adding epic playlist

Description 📜
A web app-based playlist
Fixes #987

Type of change 📝
Please delete options that are not relevant. And in order to tick the check box just put x inside them for example [x] like this

[x] Add a new project

Domain of Contribution 📊
Please delete options that are not relevant. And in order to tick the check box just put x inside them for example [x] like this

[x] Project using only HTML & CSS
[x] Project using HTML, CSS & JS
[x] Project using ReactJs

Checklist ✅
Please delete options that are not relevant.And in order to tick the check box just but x inside them for example [x] like this

[x] I have performed a self-review of my own code or work.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GSSoC'22 contributor

Screenshots / Gif (Recommended) 📸
https://user-images.githubusercontent.com/82095877/165346417-23b91750-b497-464b-a91e-535a0f9b752e.mp4

@gurjeetsinghvirdee and @khushi-purwar please review this PR and merge it upon finding it correct.


{vm} Update the help information of parameter gallery_image_reference

Description
Fixes typo, clarifies what the "gallery" is (Azure Compute instead of Shared Image).
Testing Guide
No testing, just documentation text.
History Notes
[Storage] az disk create: Fixes typo and clarifies where images originate

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

@zhoxing-ms, please help review this change.


[Compatibility] Building IDs

Here you can register buildings for compatibility patch you are planning to make.
First search through this issue with the building keys you have in mind. If a building with your exact key is already registered, you don't need to register it one more time. Just use the ID that is already assigned to this key.
Example: you are creating a compatibility for a mod and there's a new building with key building_synthetic_oil_plants. You see there's a comment in this issue that contains "201 = building_synthetic_oil_plants". This means you don't need to register this building, just use ID 201 for it in your code.
If you haven't found any mentions of a building key in this issue, you can register it. To get an ID for a building simply find the latest comment in this issue and add 1 to the latest ID from it.
Arbitrary IDs are not allowed. You are required to use ID that you'll get as instructed above.

201 = building_synthetic_oil_plants
202 = building_synthetic_rubber_plants

201 = building_synthetic_oil_plants
202 = building_synthetic_rubber_plants

203 = building_explosives_industry
204 = building_artillery_industry
205 = building_shipyards_military
206 = building_teamster_office
207 = building_ia_river_port
208 = building_ia_silver_mine
209 = building_luxury_textile_mills
210 = building_luxury_furniture_manufacturies
211 = building_pbi_publishing_industry
212 = building_vineyard
213 = building_motor_industry
214 = building_automobiles_industry
215 = building_electrics_industry
216 = building_radios_industry

building_hydroelectric_power_plant = 215


Contribution Vacation.md to handbook

Thank you for your work on the vacation process! The document is well-structured with a helpful FAQ at the end. I have a few suggestions before merging the changes:

The process is intended for the digital work lab (not for University of Bamberg employees in general). Similarly, references to "the company" should be replaced.
Concerning the "denial of vacation requests", the policy should be less strict. For example: "We are committed to serving students during the semester. Vacations should therefore be taken between semesters if possible. Of course, we can discuss how to arrange special occasions, such as family vacations during the semester."
The approval process is well-structured and detailed, i.e., very suitable for larger organizations. For our context, a less formal approval process would be preferred. This means that it should be clear who approves vacation, but evaluation criteria and denial of vacation should not be covered. After all, every employee has the right to take vacation (regardless of performance) and the supervisor's job is to figure out how to make that work (rather than denying requests).
The supporting documents (3.2) do not seem to be necessary.

Thank you for the updates.


Review exploratoria.github.io/cookbook/samples before deletion

keep. use as samples for code edit view


Option to delete the original image

When uploading images, along with the given versions it also saves the original image file. If the option save_original is set to false the original image will be deleted. Default is true

Thanks for your contribution, @hashmode.
However, this option is unnecessary, as it's already possible to keep modified versions only, as the original itself is listed in the image versions:
https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/UploadHandler.php#L133

@blueimp , thanks for the reply. I had seen that part, and I anticipated that if I skip the empty version - the original will not be saved. So, e.g. if we have these options
	    $imageSizes = array(
	        'small' => array(
	            'max_width' => 300,
	            'max_height' => 300,
	            'crop' => true
	        ),
	        'large' => array(
	            'max_width' => 800,
	            'max_height' => 800,
	            'crop' => true
	        )
	    );

I thought it would create only these 2 files: upload_dir/small/image.jpg and upload_dir/large/image.jpg. However I end up having one more upload_dir/image.jpg file - which is the original. I also tried to make the empty '' version as one of my files by having
	    $imageSizes = array(
	    	'' => array(
  	    	    'upload_dir' => 'aboslute/path/to/upload/dir/large',
	    	    'upload_url' => 'upload/dirs/url/large',
	            'max_width' => 800,
	            'max_height' => 800,
	            'crop' => true
	    	),
	        'small' => array(
	            'max_width' => 300,
	            'max_height' => 300,
	            'crop' => true
	        )
	    );

However, though it crops the main image by 800x800 as provided, but it exists as upload_dir/image.jpg and NOT as upload_dir/large/image.jpg. And one more thing: in response object for the last case I see only smallUrl => 'upload_dir/small/image.jpg' - I mean the large image's url is not provided.
So, my initial goal is to have e.g. 2 image versions with given dimensions in their corresponding folders - and no original image. Am I missing something ?
Thanks

Here you are:
<?php
$options = array(
  'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/large/',
  'upload_url' => $this->get_full_url().'/files/large/',
  'image_versions' => array(
    '' => array(
      'max_width' => 800,
      'max_height' => 800,
      'crop' => true
    ),
    'small' => array(
      'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/small/',
      'upload_url' => $this->get_full_url().'/files/small/',
      'max_width' => 300,
      'max_height' => 300,
      'crop' => true
    )
  )
);

got it, thanks a lot )


docs: add guide on how to install development version

add guide on how to install development version

http://docs.abapgit.org/guide-development-version.html


Include epoch and intra-epoch block height in BatchSwapOutputData

Currently, the BatchSwapOutputData uses the global block height of inclusion, and the associated proofs used math on the epoch to calculate the global block height (since the commitment only has the intra-epoch block height available).
Now that we are using non-fixed block length epochs, the swap claim proof can no longer assume the epochs are fixed-length. An easy fix would be to include the epoch height and an intra-epoch block height in the BatchSwapOutputData in place of (or alongside) the global block height.

Reported today in Discord:
Error: status: Internal, message: "could not broadcast transaction: transaction pre-submission checks failed: a swap claim proof did not verify: note commitment was not for clearing price height", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc"} }

This is probably happening because the transparent swap claim is still using the fixed epoch duration to compute the swap commitment block height, so if any epochs have ended early, this equality assertion will fail:
        // Validate the swap commitment's height matches the output data's height.
        let position = self.swap_commitment_proof.position();
        let block = position.block();
        let epoch = position.epoch();
        let note_commitment_block_height: u64 =
            epoch_duration * u64::from(epoch) + u64::from(block);
        ensure!(
            note_commitment_block_height == output_data.height,
            "note commitment was not for clearing price height"
        );


Replace L1 loss with beta smooth L1 loss to achieve better performance

As discussed in #2083

This is very helpful and insightful, thanks a lot @potterhsu !

@fmassa Hi, is there any plan for updating the reported performances in the document https://pytorch.org/docs/stable/torchvision/models.html?

@KaiHoo the pre-trained models haven't changed, so the reported performances are still correct.
But if users train new models, they will see better performances.


Type instantiation is excessively deep and possibly infinite

Wow this library seem so cool! Thank you for writing it 🙏
I have a client with 8 procedures. These are all flat and not nested in the client.
Yet I am experiencing
Type instantiation is excessively deep and possibly infinite.ts(2589)
(alias) createApi<AnyRouter, "api", never, CreateEndpointDefinitions<AnyRouter, TRPCBaseQuery, "api", never>>(options: TRPCClientOptions<AnyRouter> & Omit<...> & {
    ...;
}): Api<...>
import createApi

Is there any limits on the amount of procedures one can have in the client? Thanks 👋

Hey and thanks for the kind words and feedback @robinellgren!
I haven't explicitly tested against how deep a client can be, but 8 procedures seem to be quite a reasonable amount to handle (could add a test for a bit bigger router,  thanks for pointing this one out).
Type instantiation is excessively deep and possibly is a quite generic way for typescript compiler to inform you about compiler issues, and isn't itself necessarily tied to your trpc router being too wide. So, to help with debugging, can you first ensure that you have all the correct peer dependency versions installed? This would mean having:
@reduxjs/toolkit (minimum 1.9.5)
@trpc/client version (minimum 10.31.0)
@trpc/server version  (minimum 10.31.0)

(I also realized that these haven't been pinned to readme, so I'll do that too). Especially take care that the @tprc/client and @tprc/server versions are the same in your frontend and backend!
If this doesn't help, would you be able to provide a reproducible example with for example https://codesandbox.io?

Thanks for the answer!
I have been fiddling a bit with the version and it seems this is not actually an issue. As long as you are in a monorepo context, the library is working as intended. My usecase is a non-monorepo context in which I export the type for AppRouter and have an npm package import it. Then, it seems it does not work.
It show as Type instantiation is excessively deep and possible infinite but it seems the real issue is
...is missing the following properties from type 'Router<AnyRouterDef<AnyRootConfig, any>>': _def, createCaller, getErrorShapets(2344).
I realise this should no longer be considered a bug, but more like a feature request since you have not mentioned that you support non-monorepo setups. So if you want to close this ticket, it's fine by me.
Anyway, I created a codesandbox if you want to take a look: https://codesandbox.io/s/cool-jepsen-yvx99l
The createClient.d.ts is the type I get when I build my trpc server and export the AppRouter type.

After some more testing, it turns out that updating tRPC client and server in all environments to at least minimum 10.31.0 solves all issues and I am now able to use library. I was using 10.5.0.
Nevermind the codesandbox.
Thanks for an awesome lib 🎉


Listening to a Queue from Redis or Others

Anyway for it to listen to some sort of queue for work

You can listen to the queue and call cluster.queue from there. There is currently no built-in support for redis.

Is enough to be able to set my own queue.


Fix customer greeting if not logged in

1. Why is this change necessary?
If the session expires the customer is greeted in the header account box but has to login when clicking a link which is very confusing.
2. What does this change do, exactly?
Add another condition to the CustomerGreetingService.
3. Describe each step to reproduce the issue or behaviour.
Login in frontend and let the session expire.
4. Please link to the relevant issues (if any).
None.
5. Which documentation changes (if any) need to be made because of this PR?
None.
6. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello @sobyte,
thank you for your contribution.
This behavior is actually an intended feature.


Set up JSDoc strings for the code

Fixes #20
The goal of this PR is to fully document the code via JSDoc. In doing so, I ended up fixing up the linter config, because it seems like it may have just been failing silently previously. Or some of the rules just weren't triggering. One rule in particular reared its head: strict. Please somebody give me a sanity check on this to make sure I should be adding 'use strict'; in every source file! 😄
@msluther Since you were specifically requesting this, do you want to turn your eye to these and make sure I'm getting them right?
Since the lack of JSDoc is only warnings and not tripping CI, I'll keep a running tally here:

[x] Checkers documented
[ ] Fixers documented
[ ] Loaders documented
[ ] CLI documented? Not sure this one makes sense.

Codecov Report

Merging #24 (c461661) into main (e1732db) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   24.73%   24.73%
=======================================
  Files           3        3
  Lines          93       93
  Branches       13       13
=======================================
  Hits           23       23
  Misses         70       70

Impacted Files
Coverage Δ

src/lib/checkers.js
74.19% <ø> (ø)

src/lib/fixers.js
0.00% <ø> (ø)

src/lib/loaders.js
0.00% <ø> (ø)

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 e1732db...c461661. Read the comment docs.


Add instrumental variables example

As in the other examples, the easiest way to approach this is probably to pick a single paper and reproduce its model and results.
Some candidate papers:

Mendelian randomization
Deep instrumental variables

A relevant about the Mendelian randomization: https://www.nature.com/articles/s41467-023-41394-4.

Published version of the Deep IV paper:
J. Hartford, G. Lewis, K. Leyton-Brown, and M. Taddy, “Deep IV: A Flexible Approach for Counterfactual Prediction,” in Proceedings of the 34th International Conference on Machine Learning, PMLR, Jul. 2017, pp. 1414–1423.  Available: https://proceedings.mlr.press/v70/hartford17a.html


DBAction

Hello,
In DBAction it is impossible to read from a recording. To create a reading by pagination in API xtendm3.
In M3 MAK it is possible to read with CHAIN and READE. It is a standard operation of the read data M3.
It will be possible to perform this type of reading in the future?
Thx.
Sincerely,
Owaiii

Hi @Owaiii
Great question, I assume you're after a read operation where you can specify X number of records to be returned to support pagination. If that is the case, yes, we're working on adding support for that! 🙂

Great thanks a lot. :)


Add moni.com EUR asset

Thanks for the contribution and sorry it took such a long time to merge this. I finally added a CONTRIBUTING.md file https://github.com/irisli/stellarterm/blob/master/CONTRIBUTING.md
I tested this and it works. Thanks.


Dropbox Integration - cant find dropbox module

I'm having an issue:

Meteor cant find Dropbox modules
Current Version of "ostrio:files and ostrio:autoform-files"
Meteor 1.8.2
Error appears on Server Console Log and the Client Browser
Is it Client or Server issue?

Installed Using the Following Command:
meteor@f274fb7659e5:~/app$ meteor npm install --save<EMAIL_ADDRESS>
<EMAIL_ADDRESS>added 3 packages from 5 contributors and audited 781 packages in 4.505s
found 1 critical severity vulnerability
run npm audit fix to fix them, or npm audit for details

I am using the same code provided in the Dropbox integration. Any help?
Thanks for your time.
/home/meteor/.meteor/packages/meteor-tool/.1.8.0_2.1om3lwx.sy8++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
throw(ex);
^
Error: Cannot find module "dropbox"
at Object.require (/home/meteor/app/.meteor/local/build/programs/server/boot.js:295:24)
at images.js (imports/api/images/images.js:32:19)
at fileEvaluate (packages/modules-runtime.js:336:7)
at Module.require (packages/modules-runtime.js:238:14)
at Module.moduleLink [as link] (/home/meteor/.meteor/packages/modules/.<IP_ADDRESS>lf51.fi71++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/reify/lib/runtime/index.js:38:38)
at team.js (imports/api/team/team.js:1:265)
at fileEvaluate (packages/modules-runtime.js:336:7)
at Module.require (packages/modules-runtime.js:238:14)
at Module.moduleLink [as link] (/home/meteor/.meteor/packages/modules/.<IP_ADDRESS>lf51.fi71++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/reify/lib/runtime/index.js:38:38)
at register-api.js (imports/startup/server/register-api.js:1:198)
at fileEvaluate (packages/modules-runtime.js:336:7)
at Module.require (packages/modules-runtime.js:238:14)
at Module.moduleLink [as link] (/home/meteor/.meteor/packages/modules/.<IP_ADDRESS>lf51.fi71++os+web.browser+web.browser.legacy+web.cordova/npm/node_modules/reify/lib/runtime/index.js:38:38)
at index.js (imports/startup/server/index.js:1:37)
at fileEvaluate (packages/modules-runtime.js:336:7)
at Module.require (packages/modules-runtime.js:238:14)
Exited with code: 1
Your application is crashing. Waiting for file change.

Friend,
I tried using your lib many ways. I even promote it on Meteor Foruns a couple of times.
I think integrations are using versions not supported anymore. This is Dropbox integrations, same goes for the Google Cloud...
=> Meteor server restarted
W20190326-17:30:35.105(0)? (STDERR) Dropbox API error 400 from POST https://api-content.dropbox.com/1/files_put/auto/RCNxAhyAr5Fpv5rwP-original.xlsx :: {"error": "v1_retired"} { triesSend: 10 }

Hi @fillipefeitosa
yes the V1 is deprecated and v2 is encouraged: https://github.com/dropbox/dropbox-sdk-js
The guide needs to be updated. Did you manage to integrate v2 on your own?

Related: https://github.com/VeliovGroup/Meteor-Files/issues/112

No I did not.
Right now I am self hosting. But I really wanted to use some integration.
Checking your references.

Closed in favor of #112


removed overwriting of cfg

in main of dreamer_pretrain.py, there is hardcoded project name and use_wandb=False. I think it is better if values from dreamer_pretrain.yaml are used.
(thanks for nice repository :)

Hi,
Thanks for contributing with your PR!
The changes make sense so I am merging them.


NPE at mcjty.deepresonance.varia.FluidTankWrapper.drain

This crash is being cross-posted from deepresonance, seen here: https://github.com/McJty/DeepResonance/issues/121
Crash here: http://pastebin.com/p99nUwnj
Running
deepresonance-1.10-1.2.8
mcjtylib-1.10-2.1.3
rftools-1.10-5.26
EnderCore-1.10.2-<IP_ADDRESS>-beta
EnderIO-1.10.2-<IP_ADDRESS>_beta
FML 2095 on MC 1.10.2
Scenario: Someone was drowning in lava and teleported away to their base to prevent a very fluid death.  Bam.  Crash.  There isn't a lot to go on.
Full FML log: https://gist.github.com/utoc/2d8274a775a44cfdb3bd07fa3981e542
Incidently we had a watchdog crash earlier involving EIO conduits but I don't know if they're related: https://github.com/SleepyTrousers/EnderIO/issues/3524#issuecomment-251502525

Closing this as it should be handled on mcjtys end.


Feature request: Image block url option

I think it'd be helpful for users to have the option to drag/drop + upload pictures, as well as copy/paste a picture url to be embedded.

:+1:


ffmpeg_4, ffmpeg_5: add patch for CVE-2023-51794

Description of changes
https://nvd.nist.gov/vuln/detail/CVE-2023-51794
Already addressed in ffmpeg 6.1.1 and 7.x
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I was prepared for this eventuality..

@ofBorg eval

It seems to be a problem building documentation. I think it's infeasible that it could be the fault of a single-line patch to a c file, and I don't think it justifies me doing a full staging build to test whether it's an pre-existing problem on staging, but it builds fine for me when cherry-picked to staging-next


Image clip/cut off when using display/window/size/resizable - ON

Godot version:
Godot 3.2.3.beta1.official
OS/device including version:
macOS Catalina 10.15.6 / MacBookPro11,1 / GLES2
Issue description:
When using display/window/size/resizable - ON, the image gets clipped/cut off in the bottom part of the screen.
display/window/size/resizable - OFF

display/window/size/resizable - ON

Steps to reproduce:
Run the attached project (Godot 3.2.3.beta1.official) with and without display/window/size/resizable on/off.
Minimal reproduction project:
Image Tear.zip

Related to https://github.com/godotengine/godot/issues/35899.

Isn't this the same issue as #35899?

Isn't this the same issue as #35899?

No, different problem.

I think this is actually a duplicate of https://github.com/godotengine/godot/issues/35899. The entire viewport is slightly scaled above 1 on the Y axis, and since nearest-neighbor filtering is used to scale the viewport in Godot, you notice scaling artifacts (tearing lines in this case).


Adding classifications is too slow

Compared to previous code on tag 0.1.0, adding code classifications take much longer.

I believe the changes introduced in #29 could significantly mitigate this issue.


Fixed size SVG Overlays

Hey There,
Wondering if there is any way to do fixed size SVG overlays. I'm trying to add a simple legend to my viewer, and don't want the user to be able to zoom into the legend.
-Simon

In that case, I would recommend using regular HTML/CSS to create the legend and position it over top the viewer. That way you're not involving OpenSeadragon at all, and you can do it however you'd like. That's assuming you don't want the legend to pan either.


bulk.tojson()

First, thanks for this great mongo driver.
bulk.execute throws an exception when there are no operations to execute.  It is a problem because unless I'm mistaken, bulk.tojson() is not implemented, which means it is impossible to check for the number of operations in the bulk op and bulk.execute() needs to always be wrapped inside a try/catch

In versions 1.0.x bulk.tojson function is implemented.


Fix docs of JS options

Fix #9464.
Partially fix #8843.
Changes:

Use @default instead of @example.
Add @type.
Add possible values when relevant.

Other changes:

Fix typo in Dropdown docs.

⚠  Require:

[x] https://github.com/zurb/foundation-docs/pull/6

Nice work @ncoden! Merged, will deploy docs updates.


app option to pass apiVersions to helm diff and helm template

resolves #1014
This makes it possible to pass the API Capabilities to helmfile when executing a task that does not render against an actual cluster (diff, template, apply).
The list of api versions are currently passed via helmDefaults. Maybe it would also make sense to override in specific environments, but this is not implemented.
This is my first contribution to a golang project, any feedback will be appreciated :)

@a-hat Thanks! Code LGTM. But can we reconsider where to put it?
I think it would better added in the root of helmfile.yaml, so it looks like:
apiVersions:
- ...

helmDefaults:
  ...

releases:
  ...

The reason is that helmDefaults implies that you can overwrite it per each release under releases. I believe it doesn't need to be overwritable per release by its nature.

Hi @mumoshu
Thanks for your feedback. Yes, this makes sense. I moved the apiVersions to the root of helmfile.

Hi @mumoshu
Apparently helm-diff does not support the --api-versions flag. I only tested with helm template, sorry for not catching that.
I will try to submit a PR to helm-diff for supporting the flag.
Currently helmfile apply or helmfile diff fail when apiVersions is set in helmfile. Should we revert this code until helm-diff supports the flag?

Here is the PR in helm-diff
https://github.com/databus23/helm-diff/pull/175


DisplayData: a few build fixups

LGTM
One Travis run still going, but these won't affect it. Jenkins is the usual spurious issue.


feat: Add support for new Copyrights and schema updates

JSON Schema

Added: New JSON schema version 16.0.16 with support for the new Copyrights.
Modified: Updated the JSONSchemaVersion parameter to use the new schema.

Package Structs

Added: New Copyrights field to the Package and PackageBasicData structs, similar to the existing Licenses field.
Added: New Copyright struct.
Implemented: Sorting methods for the Copyright struct.

toPackages Function

Changed: Updated the PackageCopyrightText to use helpers.GetCopyrights(p.Copyrights), which formats the copyright text and returns a string. Example output: "Copyright 2014-2014 Matt Zabriskie & Collaborators".

toSyftPackage Function

Added: Copyrights assignment to the toSyftPackage function.

Generally, I think this looks pretty good @dor-hayun. A couple comments:
If we're going to add this to the Syft data model and SPDX, we should also add this to CycloneDX, since it appears to support copyright of components also.
That said, I don't see where this is ever populated -- are there some catalogers we could add this to with the initial implementation?

@kzantow I'll add this to CycloneDX as well. The goal is to enable the addition of copyright text either as part of the existing catalogers or by injecting this data directly from other sources and formatting it. For instance, I can iterate over the sbom.Artifacts to manually add the copyright, and then use the formatter to display it in SPDX format too.

@kzantow added also in CycloneDX


[es] Some fixes on spanish translation

I'm just starting to learn Elixir and found your site, so I thought it would be good to help a little if I can :)

Thank you @fleveque 👍


DiagonalOperator.calculate_norm returns complex value

As above, DiagonalOperator.calculate_norm will return a complex value if self.diagonal is complex valued.

Hi @fmwatson , I think it is a bug
https://github.com/TomographicImaging/CIL/blob/26f863aea98b339cc4f8f53f0d33f61a44742d5c/Wrappers/Python/cil/optimisation/operators/DiagonalOperator.py#L57-L61
should be  self.diagonal.abs().max()


made public ResourceId and added method of()

LGTM, I think this is a better approach than having a new class.


[jspm] Fix 'es6-module-loader.js does not match any file' when running tests

Running tests on a fresh clone in the jspm branch, I was getting the following error:
Pattern ".../client/jspm_packages/es6-module-loader.js" does not match any file.

Fixed in 2.0.1 according to Workiva/karma-jspm#88
After updating karma-jspm, karma gave this error:
ERROR: 'Potentially unhandled rejection [4] Error: XHR error (404 Not Found) loading http://localhost:9876/client/app/common/hero/hero.spec.js

This required the changes to the proxies section to load all js properly.

LGTM


Scenario outline examples are not isolated

Context classes are shared between examples. It means that if a state is stored in a context property, it will leak to the next example. State doesn't leak between scenarios.

Looks like #656 refactoring would fix this issue, but is there a quick fix we could do before #656 is finished?

unfortunately, I don't think there is a quick fix.
@everzet any plan to finish #656 soon ?

I'm afraid we'll need to live with this one till 3.2. Unless somebody comes up with a quicker BC solution.

Hello,
Is this issue still planned for the 3.2 ?


Release scope lock for parallel model loading

Refactored model_repository_manager to allow parallel loading of models.
Server PR: https://github.com/triton-inference-server/server/pull/5032

Added a ticket for more refactoring DLIS-4303


Turn off Spiral View

Can I turn off Spiral View of pins on same location so that it shows cluster with count?

I don't think you there's an out-of-the-box way to do it. You need to either fork it or edit the pacakge in your node_modules (I did the latter).
Go to ClusteredMapView.js

find this line: let positions = generateSpiral(...etc and comment/remove it.
replace updateSpiderMarker(positions); with:

updateSpiderMarker([{
  latitude: markers[0].geometry.coordinates[1],
  longitude: markers[0].geometry.coordinates[0],
  image: clusterChildren[0].properties.image,
  onPress: clusterChildren[0].properties.onPress
}]);

IMPORTANT!
the above solution will only work if you provide image prop to your markers in your code.

I released a new version of this module: 3.2.0.
I added new prop spiralEnabled.
You simply add this to MapView to disable spiral view:
spiralEnabled={false}


Feature request: don't use TemplateHaskell

Currently, TemplateHaskell is used in various places, e.g. https://github.com/bos/math-functions/blob/master/Numeric/Sum.hs#L101 for derivingUnbox. If those instances were written by hand, it would be feasible to cross-compile.
Thanks!

AFAIR it's only used to derive Unbox instances. I'm not ready to write that much boilerplate. But if someone will I'll gladly accept patches

I believe #61 implemented this.

Indeed. Thanks for pointing it out


istioctl: Potentially misspelled annotation warning

Run istioctl kube-inject -f file.yaml > injected and I see first line:
2019-05-29T15:11:25.765384Z     warn    Potentially misspelled annotation 'sidecar.istio.io/bootstrapOverride' with value 'istio-custom-bootstrap-config' encountered
Two problems:

shouldn't this warning go to stderr?
We need to update the list of known annotations. I know the one above is missing, but there are more too, like proxyCPU. Should be a simple grep of the injection template

Do we know what all the annotations are?  https://github.com/istio/istio/issues/12940 is supposed to be tracking the creation of a master list.


@type doesn't work like @param

Perhaps there is a better title.
When type checking is enabled,
/** @typedef {{a: (string|undefined), b: (number|undefined)}} */
var Foo;

/** @type {Foo} */
var foo = {};

produces
JSC_TYPE_MISMATCH: initializing variable
found   : {}
required: {a: (string|undefined), b: (number|undefined)} at line 5 character 10
var foo = {};
          ^

However, the following passes type checking:
/** @typedef {{a: (string|undefined), b: (number|undefined)}} */
var Foo;

/** @param {Foo} foo */
function f(foo) {
}

f({});

There are two kinds of record types in the type system: inferred and declared.   Inferred record types can be coerced into compatible declared record types, declared record types have invariant property types. In the first case the type of the object literal is declared, in the second the type of the object literal is inferred.
I recently started an experiment to change the relationship of the record types to each other but the changes got out of hand and I've put the work aside.

related #126 "Add support for optional fields in record types"

Duplicate of #126


Update NodeServices/SpaServices/NodeServices.Sockets to build using latest TypeScript and Webpack

Previously they assumed you were using versions of TypeScript and Webpack that are by now rather outdated. This PR:

Updates to the latest TypeScript/Webpack
Includes package-lock.json files to lock down exactly which versions should be used, so it won't break in the future if TypeScript/Webpack themselves introduce breaking changes

@SteveSandersonMS, this PR targeted master, we need it in release/2.2 as well. I'm going to cherry-pick them back.

Do you need it in 2.2 though? It’s just build infrastructure, not changing the resulting product.

Well I guess there’s no reason not to cherry-pick to 2.2 as well. It will help if we need to make changes in 2.x patches.


[dnsmadeeasy-webhook]Use higher port

Description of the change

Use targetPort 4443 for the webhook to bind with non-root user
Benefits

More secure than running as root to use port 443.
Possible drawbacks

None
Applicable issues

fixes NA

Additional information

Checklist

[x] Chart version bumped in Chart.yaml according to semver.
[x] Title of the PR starts with chart name (e.g. [home-assistant])
[x] (optional) Chart is using our common library as a dependency.
[x] (optional) Variables are documented in the README.md

@all-contributors please add @angelnu for code


Did I brick my board?

I am not exactly sure what happened but I was trying to upload a sketch to my brand-new LilyGO T-Display S3 and when I disconnected and reconnected the USB cable, nothing happened. Then I noticed that the USB port disappeared and a new port and device is intermittently connecting and disconnecting in Arduino IDE.
On my Mac, the device name is Deneyap Kart G and the port is /dev/cu.usbmodem3485188CB2882.
Arduino IDE is able to get the board info as follows:
BN: Deneyap Kart G
VID: 0x303A
PID: 0x1001
SN: 3485188CB288

When I try to connect with esptool, most of the time I get a [Errno 6] Device not configured error. Some times, esptool simply reports that the port doesn't exist.
Did I just brick my board?

Never mind. I managed to restore my unit by simply following the booting instructions more carefully...


jailed doesn't work with http in Chrome, either.

Neither of the demos work for me in Mac/Chrome 47.0.2526.106 (64-bit).
Nothing happens when I click the buttons in the banner demo, and no text appears in the "console" in the other demo.
Both demos work for me in Safari.

This issue is fixed in repo and will work since the upcoming release.
Try using the code from the repo.

released in 0.3.0


Update environment

Current coverage is 98.24% (diff: 100%)

Merging #121 into master will not change coverage

@@             master       #121   diff @@
==========================================
  Files            31         31
  Lines          1252       1252
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1230       1230
  Misses           22         22
  Partials          0          0

Powered by Codecov. Last update 4500382...e9d276f


lswolfe does not work with CudaTensors

lswolfe uses torch.Tensor by default internally and does not work with CudaTensors. If you set the default tensor type to CudaTensor it still doesn't work. This prevents using line searches with lbfgs when using CudaTensors.

Hi has this been fixed?

fixed via https://github.com/torch/optim/commit/a959ba3fd6abb3526836b9e3ae514e2adc400dd6

I believe this is still not fixed because polyinterp.lua uses torch.Tensor in a few places (ie. line 197)

fixed via https://github.com/torch/optim/pull/138

Thanks for this, however, when I run the same code I was using before using CUDA, I now get the following error:
** On entry to SORMQR parameter number 12 had an illegal value
On entry to magma_sgels_gpu, parameter 10 had an illegal value (info = -10)
/home/nfitz/torch/install/bin/lua: MAGMA gels : Argument 10 : illegal value at /home/nfitz/torch/extra/cutorch/lib/THC/THCTensorMathMagma.cu:156
stack traceback:
        [C]: ?
        [C]: in function 'gels'
        ...itz/torch/install/share/lua/5.1/optim/polyinterp.lua:170: in function 'polyinterp'
        .../nfitz/torch/install/share/lua/5.1/optim/lswolfe.lua:88: in function 'lineSearch'
        ...me/nfitz/torch/install/share/lua/5.1/optim/lbfgs.lua:202: in function 'lbfgs'
        vqaOptim.lua:245: in function 'train_epoch'
        vqaOptim.lua:173: in function 'runTrainVal'
        vqaOptim.lua:382: in main chunk
        [C]: in function 'dofile'
        .../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk
        [C]: ?
By printing b and A on line 170 of polyinterp, I was able to isolate the bug with the following script:
require 'cutorch'

local b = torch.Tensor{{317.0087} ,{316.9857}, {-0.9324}, {-0.9319}}
local A = torch.Tensor{{0.0000, 0.0000, 0.0000, 1.0000},
{0.0000, 0.0006, 0.0246, 1.0000},
{0.0000, 0.0000, 1.0000, 0.0000},
{0.0018, 0.0492, 1.0000, 0.0000}}
print(b)
print(A)

print("MEM: ")
print(torch.gels(b,A))

print("CUDA: ")
print(torch.gels(b:cuda(), A:cuda()))

Which gives the following output:

$ th /tmp/test.lua
 317.0087
 316.9857
  -0.9324
  -0.9319
[torch.DoubleTensor of size 4x1]

 0.0000  0.0000  0.0000  1.0000
 0.0000  0.0006  0.0246  1.0000
 0.0000  0.0000  1.0000  0.0000
 0.0018  0.0492  1.0000  0.0000
[torch.DoubleTensor of size 4x4]

MEM:
   3.1460
  -0.1049
  -0.9324
 317.0087
[torch.DoubleTensor of size 4x1]

-0.0018 -0.0492 -1.0000  0.0000
 0.0000  0.0006  0.0246  1.0000
 0.0000  0.0000  1.0000  0.0000
 1.0000  0.0000  0.0000 -1.0000
[torch.DoubleTensor of size 4x4]

CUDA:
 ** On entry to SORMQR parameter number 12 had an illegal value
On entry to magma_sgels_gpu, parameter 10 had an illegal value (info = -10)
/home/nfitz/torch/install/bin/lua: MAGMA gels : Argument 10 : illegal value at /home/nfitz/torch/extra/cutorch/lib/THC/THCTensorMathMagma.cu:156
stack traceback:
        [C]: ?
        [C]: in function 'gels'
        /tmp/test.lua:15: in main chunk
        [C]: in function 'dofile'
        .../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk
        [C]: ?

Any ideas why this is happening?


Add Neos21's Dotfiles To Inspiration

Copyright Assignment

[x] This document is covered by the MIT License, and I agree to contribute this PR under the terms of the license.

I added my dotfiles to inspiration. My dotfiles is for Windows GitBash, WSL, Ubuntu, MacOS by single .bashrc file.

Thanks for the contribution!


Error OnScanResult event

I update from an outdated version of ZXing.Net.Mobile (2.1.12) to the latest one (2.2.9)
Now i can't build my project because i get the following error:
CS0012: The type 'Result' is defined in an assembly that is not referenced. You must add a reference to assembly 'zxing.portable, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.
My project has already referenced the zxing.portable.dll version <IP_ADDRESS> witch is expected after the update.
This is a snippet of my code, that was working fine before the update
        var opt = new MobileBarcodeScanningOptions
        {
            TryHarder = true,
            UseNativeScanning = true,
            PossibleFormats =
                new List<BarcodeFormat>()
                {
                    BarcodeFormat.All_1D,
                    BarcodeFormat.QR_CODE
                }
        };

        scanPage = new ZXingScannerPage(opt, relative = CreateCustomOverlay());

        //This where i get the error
        scanPage.OnScanResult += (newResult) =>
        {
            scanPage.IsScanning = false;

            Device.BeginInvokeOnMainThread(() =>
            {
                var result = string.Empty;

                if (newResult != null)
                {
                    if (newResult.BarcodeFormat == BarcodeFormat.CODE_39 && newResult.Text != string.Empty)
                        result = calculateCheckDigit(newResult.Text);
                    else
                        result = newResult.Text;

                    if (entrBarcode.IsVisible)
                        entrBarcode.Text = result;
                    else
                        entrBarcodeNoKeyboard.Text = result;
                }

                OnScannerResult?.Invoke(this, result);
            });
        };

I had a similar problem a few weeks ago.  Check to see if the source code for the zxing.portable project is actually there on your computer.  It is a submodule within the github project so if you download the source code as a zip file, the contents of the ZXing.Net folder will not be there.  You have to go to the ZXing.Net project and download it there.

Thanks for reporting this issue!  Unforunately it took me way too long to respond 😭.  Sorry, I apologize!  Recently the source code for this project was completely refactored to modernize it.  Many PR's were included in this effort, and many bugs were hopefully fixed.  Please try out the latest 3.x series of NuGet packages (currently in prerelease).  To try and make the project more maintainable in my spare time going forward, I've decided to close all existing issues to start with a clean slate.  If you're still experiencing this issue on the newest version, please open a new issue with as much detail as possible.  Thank you for your patience and understanding!  Happy scanning!


[README.md] chmod error

After installing youtube-dl with this method
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
When i try to use it, i get this error
python: can't open file '/usr/local/bin/youtube-dl': [Errno 13] Permission denied
The correct chmod is a+xr

You may probably want to change your umask if not intended.


RouteConfigurationId property issue

When configured Route Configuration Id for a route, it is getting stored with key routeConfigurationId instead of route-configuration-id  and due to this build getting failed.
Even when manually changed, it is getting automatically replaced

What runtime do you use? camel-jbang, camel-quarkus, camel-k? version?
Canonical way for camel is camelCase YAML.

We using camel-quarkus

Looks like an issue with camel-yaml-dsl.
I have opened a ticket https://issues.apache.org/jira/browse/CAMEL-18433

if we replace routeConfigurationId manually to route-configuraion-id, then it is running fine

kebab-case is the old version of YAML DSL, camelCase is the new version.
Karavan is based on the new DSL.
Camel is still supporting both, but there is a bug (https://issues.apache.org/jira/browse/CAMEL-18433)

ohh.. ok .. thanks for the clarification

https://issues.apache.org/jira/browse/CAMEL-18433 is fixed so it should work with camel 3.18.2


Fix extension in JSX files

📚 Documentation preview 📚: https://volto--6514.org.readthedocs.build/

@sneridagh Is this supposed to target the branch from #6509 instead of main? It's difficult to see what is newly changed.

@davisagli yes, I just did it yesterday, I just "prepared" it for going after that one.


WIP hidden leaderboard and hidden output.

Todos for Eric

[ ] test that you cannot download the results of a submission by hitting the download endpoint
[ ] uhhh... other tests?

@ mention of reviewers
@ckcollab
A brief description of the purpose of the changes contained in this PR.
adds the option on a leaderboard to mark it as hidden so participants cannot see their placing or scores.
adds option on a phase to hide submissions' output from users so they cannot see or download output from their submissions
Known issues to be addressed in a separate PR
none that currently come to mind
A checklist for hand testing

[ ] TBD

Checklist

[ ] Code review by me
[ ] Hand tested by me
[ ] I'm proud of my work
[ ] Code review by reviewer
[ ] Hand tested by reviewer
[ ] Ready to merge

...fixed flower problem on AutoDL staging machine. For some reason serving 9002 from rabbit doesn't work, but 5672 does. If we try to resolve 9002 from a hostname other than rabbit, like the actual ip of the staging server or docker.for.mac.localhost .. it works.
Many hours sunk into that, ughhhhhh!


Fix DelegateTaskFake: add getLastUpdated()

same procedure every year: another breaking interface change with camunda 7.19 requires a fix.
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on
project camunda-platform-7-mockito: Compilation failure
[ERROR] camunda-bpm-mockito/src/main/java/org/camunda/community/mockito/delegate/DelegateTaskFake.java:[31,8]
org.camunda.community.mockito.delegate.DelegateTaskFake is not abstract and does not override abstract method
getLastUpdated() in org.camunda.bpm.engine.delegate.DelegateTask
[ERROR]```

fixed with #307


bitOpNot should throw exception for multiple source keys

Modified bitOpNot to throw Data exception if there are multiple source keys
Wrote a new Unit test to verify that this exception is thrown

@pkashokkumar If an exception is to be thrown before calling Redis, then why allow the user to call with multiple source keys at the first place?

public void bitop(final BitOP op, final String destKey, final String... srcKeys) {}
The bitop method supports all the four BITOP operations namely AND, OR, XOR, NOT.
All the operations except NOT accept multiple source keys. So a user is allowed to pass multiple source keys to this method as long as the operation is not NOT.
Hence, the only option would be to throw exception and fail the method if user enters multiple source keys for NOT operation, right?
This is similar to how the BITOP command works in redis-cli too. The help and hints shows support for multiple source keys, but it throws an error if multiple source keys are input for a NOT operation.

@pkashokkumar

This is similar to how the BITOP command works in redis-cli too.

No, it's not similar to redis-cli. redis-cli actually calls Redis, gets error message and shows that.

No, it's not similar to redis-cli. redis-cli actually calls Redis, gets error message and shows that.

If that is the case then we shouldn't change anything from this side as well.

If that is the case then we shouldn't change anything from this side as well.

@marcosnils Do you mean, we shouldn't change anything compared to what redis-cli does?

The current behavior of bitop method in jedis is different than the BITOP redis-cli command in the following way:
redis-cli bitop command when called with multiple source keys throws error:

BITOP NOT destkey srckey1 srckey2
(error) ERR BITOP NOT must be called with a single source key.

but jedis.bitop() when called with same arguments ignores srckey2 and passes only the first source key(srckey1) to Redis and hence the method succeeds.
I think this should be fixed to have a consistent behavior vis-a-vis redis-cli.
In my opinion, following are the two ways to fix it:

As shown in my pull request, jedis can proactively check if there are multiple source keys and throw exception so that the method fails. This looks similar to redis-cli but like @sazzad16 mentioned the difference is that unlike redis-cli, we are not letting the command go to Redis and fail from there.

Comment out the "len = Math.min(1, len);" line from the bitops method in BinaryClient.
This will result in all the source keys getting passed to Redis and it will throw back an error.
This should make it similar to the redis-cli behavior and also lets Redis trigger the error.

Sample execution result with Option 2:
java -jar target/redis-app-1.0-SNAPSHOT.jar
Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR BITOP NOT must be called with a single source key.
at redis.clients.jedis.Protocol.processError(Protocol.java:131)
at redis.clients.jedis.Protocol.process(Protocol.java:165)
at redis.clients.jedis.Protocol.read(Protocol.java:219)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:310)
at redis.clients.jedis.Connection.getIntegerReply(Connection.java:261)
at redis.clients.jedis.Jedis.bitop(Jedis.java:2994)
at org.ak.pocs.RedisApp.bitOpNot(RedisApp.java:63)
at org.ak.pocs.RedisApp.main(RedisApp.java:27)
So @marcosnils , @sazzad16 I think we should implement Option 2 in jedis.


Too much memory usage in slapd using libcontainer

I've found a strange bug. I was running slapd 2.4.31-1 on this ('semi-official') debian wheezy image, with the default configuration (fresh installed), when i noticed the memory usage was too high (700MB). After that, i made the following tests to try to find the problem:

I used another debian wheezy image from the index. Same problem.
Debugged slapd with gdb, valgrind, and tweaked all types of memory configurations. Same problem.
I made a minimal debootstrap chroot and tested with the same conditions: Memory usage was normal (around 2MB).
I tried updating slapd to version 2.4.39 (from Debian Jessie) on the Debian Wheezy image. Same problem.
Finally, i changed the execution driver to LXC, and it worked. Memory consumption was normal again.

Can you check it out, please?
Thank you.

I have the same problem with the Docker file here. You can simply run it with
docker run -d -p 389:389 -e SLAPD_PASSWORD=mysecretpassword -e SLAPD_DOMAIN=example.com --name openldap dinkel/openldap


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

let chromium see this, this must be done

wat

I looked at the changes... why. anyways I'm merging this is a technological breakthrough


build: Add hardening options

Get rid of the FORTIFY options, which were too specific to one compiler feature. Add OIIO_HARDENING that takes a level meaning:

0 : do nothing, not recommended.
1 : enable features that have no (or nearly no) performance impact, recommended default for optimized, shipping code.
2 : enable features that trade off performance for security, recommended for debugging or deploying in security-sensitive environments.
3 : enable features that have a significant performance impact, only recommended for debugging.

Default to 1 for optimized builds, 3 for debug builds (so will be thoroughly tested by our sanitizer and other CI tests). Users that have more stringent security requirements may choose to build with 2 even for shipping code (they should benchmark to see if that is acceptable to them).
These levels turn on a variety of compiler options that are recommended for additional safety. We will add more as they are developed.
There are also some warning suppressions that needed to be added to code in a few areas where it was unavoidable to use some constructs that trigger the elevated safety checks.

OpenSSF maintains a set of options which I think goes a bit beyond what you have here:
https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html
(I haven't read it in great detail, but the TL;DR seemed to contain a few additional flags)
To me this really should be implemented at the cmake level (seems silly for every project to replicate this logic with associated checks on compiler versions, etc ...) I also assume that this set of recommendations will evolve over time.
Of course if we need to have something today we can do it ourselves as this patch kicks off, but going forward, is there any way we can push on the OpenSSF folks to "upstream" their document into build systems? Or is that already underway?

Yeah, I based part of this on that document... but this is just a first stab, concentrating on the options that I thought I already had enough knowledge to know if it was a good idea. I assume that a 2nd or more pass will occur where we fill out more into the infrastructure I've set up here.
I don't know if CMake is looking at building this all into a single CMake option, but that sure would be ideal. OpenSSF is also a LF org, so we certainly can make a suggestion that they consider embodying their advice as a cmake patch.

Other than a few additional warnings, nothing in our CI is tripping any of the additional assertions or runtime checks, so I didn't have to modify as much code as I thought I might as part of this PR. I think we've already rooted out most of the problems that they are trapping, which is good.

Yeah, I based part of this on that document... but this is just a first stab,

To further elaborate: In this first hardening PR, I skipped over a lot of the recommendations where I was unsure at which 0-3 level it should be enabled, or if I wasn't at all sure what the performance implications would be. I think all of those cases will need to be examined individually.

Makes sense.
LGTM on this change -- it seems like a good thing to have and hopefully people who are more steeped in the details of these flags can tell us what we should add/remove if these aren't right.
Just wondering aloud - what are other libraries doing in this space? Is every project out there independently adding some combination of these flags to their build systems? Do distros have some recommended set of flags they like to add to all projects?

Yes, distros are starting to do some combination of (a) changing compiler defaults to enable a reasonable number of these, and (b) publishing hardening guides, such as this one from Debian. And there's the OpenSSF guide you cited above.
I'm not sure what projects are doing generally, but these modest steps seemed both prudent and also tick off another box in the OpenSSF badging requirements we're working toward (I forget if it's silver or gold, but at some point we need to say we have turned on reasonable compiler options for hardening). So I expect that to achieve the badges, other ASWF projects will start to follow suit.

Another related link I just ran across minutes ago:
https://clang.llvm.org/docs/SafeBuffers.html


chore: add volunteer deeqakkk

Hey folks, glad to be a part of it🥳

Thank you for volunteering @deeqakkk. Added some comments.


Increase unit test coverage for wait.go

Increase unit test coverage of helm/pkg/kube/wait.go
Output of helm version: 3.16.2
Output of kubectl version: N/A
Cloud Provider/Platform (AKS, GKE, Minikube etc.):  N/A

I would like to give this a go.


TypeScript | Could not find dependency: react-select, styled-components etc. missing as dependency

@freenow/wave version: 1.16.1

Relevant code
import { Text } from "@freenow/wave";

export default function App() {
  return (

Hello CodeSandbox

Start editing to see some magic happen!

      <Text>Test</Text>

  );
}

What happened?
The application does not compile, the following messages are displayed (one in my local env, one in codesandbox):
Could not find dependency: 'styled-components' relative to<EMAIL_ADDRESS>Module not found: Can't resolve 'react-select' in '/Users/lloydaf/playground/node_modules/@freenow/wave/lib/esm/components/PhoneInput/components'

Reproduction

Create a fresh typescript project
Add just wave as a dependency
Try to use an element from wave

You can check a reproduction here

Thanks for reporting the bug and adding the code sandbox example. For the styled-components dependency this is somewhat expected. It's marked as a peerDependency, which means you have to install it manually in your project (see more info here).
About the react-select, I think this might be related to the react-windowed-select dependency. Since you added this, do you have some more insights there?
In either case, this seems like something we should add to the documentation, what do you think?

In my opinion, if we want to go with the peerDependency approach, then we should definitely document it. I had the impression that it was better to bundle styled-components with wave, but from the link it's clear that it's not recommended. Regarding react-windowed-select, I don't have a strong opinion about it but I feel that we should probably add it as a peerDependency too. What do you think?

Actually, scratch that. I am not able to reproduce the react-select issue on the codesandbox, so maybe it's an issue with my environment. Let me dig around a bit, maybe there is no action to be done except documentation 🤷🏻

@lloydaf: Did you ever face this problem again? I feel like it's the same one I have at the moment. Similarly, I was not able to reproduce in code sandbox...

tbh I didn't explore this afterwards, I assumed it's an issue with my env. Maybe we should considering making this a peerDependency 🤔

I was not able to reproduce in code sandbox, but here's a repo demonstrating the issue: https://github.com/jonotrujillo/wave-react-select-bug
Run:
npm install
npm run build

The following output is shown:
Creating an optimized production build...
Failed to compile.

Module not found: Error: Can't resolve 'react-select' in '/Users/jonathantrujillo/Code/wave-react-select-bug/node_modules/@freenow/wave/lib/esm/components/SelectList'

@lloydaf: Because react-select is still used in several places, I think it should be a dependency of the project, instead of peerDependency

react-select is a transition dependency of react-windowed-select. If we use it, we need to keep one or another, but not use both at the same time, because react-windowed-select uses react-select under the hood

This problem resurfaced again, apparently react-select isn't installed as a dep of react-windowed-select causing issues in BOMT from wave for the tests

In the sync we agreed that the solution should be that we replace all usage of react-select to react-windowed-select

All the issues are not happening anymore (with latest npm versions or Wave v2).


Be more explicit and concise during automation run

say why an image was added for updating
add another safeguard against dubious updates -- check the image
creation date is not zero
don't bother logging when nothing happens

Not intended to cl0se #1127, but may give us more information about what it think it's doing, if it does it again.

@rade points out that this won't avoid the situation where the image that would otherwise be considered the latest gets shuffled to the end of the list through having a zero timestamp.

@rade Now checks all the images for a zero timestamp, and skips if it finds one. Care to take a quick look again?


Run full build pipeline from PR

run tests

@johnoliver Aborted?

rerun tests

rerun tests

rerun tests

This pr should be good

@johnoliver LGTM - Is it clear in the Jenkins view that a (currently Linux x86 only) build job was kicked off from a PR as opposed to a 'regular' run?

The live jobs and the PR test jobs are not the same jobs, they live in different folders


Benchmarks - Utilities for easily diffing performance

Need something that compares original entries execution budget and script size to new one. It will be similar to golden but more focused on checking performance differences. This should be general enough to be used on down stream project with high performance requirements.
It should print something like:
| Entry                          | CPU Before | CPU After | CPU Diff | MEM Before | MEM After | MEM Diff | Size Before | Size After | Size Diff |
|--------------------------------+------------+-----------+----------+------------+-----------+----------+-------------+------------+-----------|
| pmatch for Data Encoded types  |       1234 |      1000 | - x.zy%  |       4567 |      4000 | - a.bc % |         123 |        200 | + a.00%   |
| pmatch for Scott Encoded types |       1234 |      1500 | + x.zy%  |       4567 |      4000 | - a.bc % |         123 |        200 | + a.00%   |

This should probably be designed similarly to tasty-bench: effectively we want an IsTest implementation.

tasty sounds good. We don't need to write benchmark dsl here


Precision float view

Part of https://github.com/nanoPayinc/NANOPAY/pull/6311

This code has a bug. Please revert. Add functionality to the standard FloatView.


create example demo

closes #6

@jefftriplett if you could get this reviewed real quick, before you have to go do family stuff that would be great

😂 Ha, you didn't have to. It defunct could have waited. But thanks!


How to set navigation node property: ListTemplateType?

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Expected or Desired Behavior
When adding a navigation node to a site, if the destination is a local library, it should set ListTemplateType to 'DocumentLibrary'. This does not refresh the entire page when using quick launch links to local document libraries.
Observed Behavior
Adding a navigation node via site scripts or provisioning templates sets the ListTemplateType to 'NoListTemplate'. This also occurs when using the modern interface.
ListTemplateType is set to 'DocumentLibrary' when adding a navigation link via site settings, from the classic view, but only if the destination url is a view.
Can we set ListTemplateType within site scripts/provisioning templates?
Thanks!

Feel free to close this.
There is a 'OnQuickLaunch' element for ListInstance that achieves this. Child nodes is my next task!


no applicable installer found

Describe the bug
a bunch of programs when trying to install trigger this error when beginning and doesn't do nothing at all

just try to install something such as .net

this actually happens after updating winget, i wanna know where the winutil log is located

Try running reinstall winget from config tab and see if that fixes the issue.

No applicable installer found - happens for Guilded and KDE Connect and there is absolutely nothing in the logs.
"No package found matching input criteria" - this happens with Vivaldi.


DUnitX fails to install after a build

Hi. I am trying to install install DUnitX Wizard.
In Rio 10.3.2 I load DUnitX_IDE_Expert_D10Rio.dproj, successfully build it, and run Install.
I get this error:
Cannot load package 'DUnitXIDEExpert260.'  It contains unit 'DUnitX.Expert.ProjectWizardEx', which is also contained in package 'DUnitX_IDE_Expert_D10Rio'.
Can you please advise on how to overcome this
Thank you

This sounds like you already have the expert installed when you installed delphi. You would need to remove the embarcadero provided expert before installing from the github source.


Decompilation of APK without any code

Hi. I'm trying to decompile the system FM radio app from my BV9500 phone so that I can understand how it works. Though, when I use your tool, no code comes to the output. I'm attaching a ZIP of the app folder on /system/priv-app (335 KB). Could you fix this please? (Unless I did something wrong? But I just gave the APK to the tool and exported as a Gradle project, to find nothing inside "java" folder - as I was expecting since I see on code on the GUI.)
Thank you.
FMRadio.zip

@DADi590 because this is a system app, it (often) doesn't contain dex file in apk, only vdex/odex/oat files. So you can use tools like Smali or  vdexExtractor to convert these formats to dex and next decompile it with jadx. To save you some time I already did this, check: FMRadio_fix.apk.zip :slightly_smiling_face:. Anyway, a lot of functions implemented in native lib.
Jadx don't support format like odex or vdex and I don't think will.
Related issues: #285, #167


Possible to set fixed y-axis label/scale?

Hi, thanks for your great work!
For the line chart, I would like to set a fixed scale for the y axis. For example, my max. value will always be 10, but if the data displayed in the chart has only low values, for example 1 to 5, the y axis adapts dynamically and the axis scale does not show 10.
Is there any way to stop this from happening and set a fixed value for the y axis' max value?
Thanks in advance!

Any update on this?

did you mean something like this? In my case, I only have 4 y-axis label, and I just add some props for Y Label and then match it in array map process on drawYAxisLabels() method


updates password checker

Now it will check both email and password and if email is not valid then it will ask again for email and same for the password

Thanks @harsha7890  for first contribution 🎉🎉😊.

Always welcome and I want to thank @Logan1x  and whole team for this great opportunity

👍👍


import types, python lib

this library is being used in function lower() on line 283

I do not see where you indicate use of that library, but that file is not used. previously used for StringTypes but support for python 2 and 3 were given and no longer imported directly from types.

Here
I updated this library, and I'm using with django_eay_pdf, and raise an exception in this line.

Someone carelessly code included with support for python 3, finish a change that solves the problem up. types is that the library does not behave the same in python 2 and 3.

thanks, to fix it


[SPARK-19803][TEST] flaky BlockManagerReplicationSuite test failure

What changes were proposed in this pull request?
give more time for replication to happen and new block be reported to master
How was this patch tested?
test manully

Test build #73800 has started for PR 17144 at commit 9ec5caf.

Test build #73800 has finished for PR 17144 at commit 9ec5caf.

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

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73800/
Test FAILed.

one more flaky test? org.apache.spark.streaming.CheckpointSuite.recovery with map and reduceByKey operations I will check it later. retest this please.

Test build #73814 has started for PR 17144 at commit 9ec5caf.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73814/
Test FAILed.

Merged build finished. Test FAILed.

test crash. retest this please.

Test build #73833 has started for PR 17144 at commit 9ec5caf.

cc @kayousterhout

Test build #73833 has finished for PR 17144 at commit 9ec5caf.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73833/
Test PASSed.

I'm not really the right person to review this code, but that being said, I'm not crazy about this fix, because 1s is kind of a long time to consistently wait.  It's better for tests to continually check a condition and then timeout after some time -- this allows the test to complete quickly in the normal case, but still give some leeway for when Jenkins is busy.  What about instead wrapping the condition in the second part of the test in an eventually block, and then giving that a more generous timeout (e.g., a few seconds)?

cc @shubhamchopra who wrote the original code and @joshrosen who did the main review

Also @uncleGen would you mind filing a JIRA for the second failed test case?

@kayousterhout sure, I was being doing that flaky test.

Test build #74058 has started for PR 17144 at commit 9a6cc92.

Test build #74058 has finished for PR 17144 at commit 9a6cc92.

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

cc @srowen

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74058/
Test PASSed.

Merged build finished. Test PASSed.

Test build #74085 has started for PR 17144 at commit 9c182ef.

OK but should the Thread.sleep change be reverted entirely then?

Test build #74089 has started for PR 17144 at commit 09e8879.

Test build #74085 has finished for PR 17144 at commit 9c182ef.

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

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74085/
Test PASSed.

Merged build finished. Test PASSed.

Test build #74089 has finished for PR 17144 at commit 09e8879.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74089/
Test PASSed.

Ok this LGTM and I merged to master.
I tested this a bunch because in theory, it seems like the check that the block has been properly re-replicated should / could happen inside the loop (after each block is removed), which would also avoid the sleep.  But there seem to be various race conditions in the code that means this doesn't work, and this PR remains an incremental improvement to make this more reliable.


Correction: specify Ibn Uthrudi

URI of the page with the mistake
https://usaybia.net/person/1156
What should be corrected on the page?
The transcription is very general, while Arabic is more specific.
How should it be corrected?
?
Citation
No response
Citation URL
No response
Public Acknowledgement
Yes
Comments
No response

The names are now specified.


undefined reference to<EMAIL_ADDRESS>when installing on cluster

Hi! This project looks very useful and I would like to give it a try on alarge set of structures. Nevertheless, I encounter the following error when trying to install it via pip (pip install fastpdb) on the computer cluster of my institute:
Collecting fastpdb
  Using cached fastpdb-1.3.1.tar.gz (2.9 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: biotite>=0.39 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from fastpdb) (0.39.0)
Requirement already satisfied: requests>=2.12 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from biotite>=0.39->fastpdb) (2.31.0)
Requirement already satisfied: numpy>=1.14.5 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from biotite>=0.39->fastpdb) (1.26.4)
Requirement already satisfied: msgpack>=0.5.6 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from biotite>=0.39->fastpdb) (1.0.3)
Requirement already satisfied: networkx>=2.0 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from biotite>=0.39->fastpdb) (3.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from requests>=2.12->biotite>=0.39->fastpdb) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from requests>=2.12->biotite>=0.39->fastpdb) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from requests>=2.12->biotite>=0.39->fastpdb) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/lib/python3.12/site-packages (from requests>=2.12->biotite>=0.39->fastpdb) (2024.6.2)
Building wheels for collected packages: fastpdb
  Building wheel for fastpdb (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for fastpdb (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      Running `maturin pep517 build-wheel -i /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/python3 --compatibility off`
      🍹 Building a mixed python/rust project
      🔗 Found pyo3 bindings
      🐍 Found CPython 3.12 at /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/python3
         Compiling autocfg v1.3.0
         Compiling target-lexicon v0.12.14
         Compiling once_cell v1.19.0
      error: linking with `/nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/x86_64-conda-linux-gnu-cc` failed: exit status: 1
        |
        = note: LC_ALL="C" PATH="/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/bin:/tmp/pip-build-env-ytvb8xcz/overlay/bin:/tmp/pip-build-env-ytvb8xcz/normal/bin:/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/bin:/nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin:/hps/software/users/agb/pfam/software/bin:/hps/software/users/agb/pfam/perl/bin:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/make:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/pfamqc:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/svn:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/search:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/view:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/pud:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/release:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/sitesearch:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/keyword:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/test:/hps/software/users/agb/pfam/software/Pfam/PfamScripts/structure_models:/path/to/your/localcolabfold/colabfold-conda/bin:/nfs/research/agb/research/francesco/software/MMseqs2/build/bin:/homes/fcosta/.local/bin:/homes/fcosta/bin:/nfs/research/agb/research/francesco/software/utilities/createProject/bin:/hps/software/spack/bin:/ebi/slurm/codon/scripts/user:/ebi/slurm/codon/bin:/nfs/research/agb/research/francesco/anaconda3/bin:/nfs/research/agb/research/francesco/anaconda3/condabin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" VSLANG="1033" "/nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/x86_64-conda-linux-gnu-cc" "-m64" "/tmp/rustcN4rE9W/symbols.o" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/target/release/build/target-lexicon-4334141ce427d5bc/build_script_build-4334141ce427d5bc.build_script_build.ccff447dda44ce9b-cgu.0.rcgu.o" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/target/release/build/target-lexicon-4334141ce427d5bc/build_script_build-4334141ce427d5bc.build_script_build.ccff447dda44ce9b-cgu.1.rcgu.o" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/target/release/build/target-lexicon-4334141ce427d5bc/build_script_build-4334141ce427d5bc.build_script_build.ccff447dda44ce9b-cgu.2.rcgu.o" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/target/release/build/target-lexicon-4334141ce427d5bc/build_script_build-4334141ce427d5bc.1z7ax4kywc94g715.rcgu.o" "-Wl,--as-needed" "-L" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/target/release/deps" "-L" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d773032791836ecd.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-db459759d9d95e72.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-53b7e8a7b9f3abef.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-9ff56ffa16fbdd4b.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-fe21dd221da7dbd1.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1a174fa257ec0635.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b003e181dce19175.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-c7175736ea399a16.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-0f484f129ad87473.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-cec85326802025e8.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-ecd679f2962eaa85.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9181969f092bd2bb.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-082f4d3711bc0de7.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a2229d2ab6ad654e.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-a433aeb448b2a08e.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-28e4f24f7c9ac1cc.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-99344e71bd981048.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-676cf12434975822.rlib" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-2d856aca67ef73fb.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/hps/software/spack/opt/spack/linux-rocky8-cascadelake/gcc-11.2.0/rust-1.76.0-vrsfwvvef7hbq6bc6oo47xholb45al5y/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/target/release/build/target-lexicon-4334141ce427d5bc/build_script_build-4334141ce427d5bc" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
        = note: /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/../lib/gcc/x86_64-conda-linux-gnu/11.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/../lib/gcc/x86_64-conda-linux-gnu/11.2.0/../../../../x86_64-conda-linux-gnu/lib/../lib64/libgcc_s.so.1: undefined reference to<EMAIL_ADDRESS>                collect2: error: ld returned 1 exit status

        = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
        = note: use the `-l` flag to specify native libraries to link
        = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

      error: could not compile `target-lexicon` (build script) due to 1 previous error
      warning: build failed, waiting for other jobs to finish...
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.12-64bit" PYO3_PYTHON="/nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/python3" PYTHON_SYS_EXECUTABLE="/nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/python3" "cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-_bkwzjw0/fastpdb_ed5765f1c5c74a3ab548cffddaa91ddd/Cargo.toml" "--release" "--lib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/nfs/research/agb/research/francesco/anaconda3/envs/isopeptide/bin/python3', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fastpdb
Failed to build fastpdb
ERROR: Could not build wheels for fastpdb, which is required to install pyproject.toml-based projects

Hi, I think this error is not caused directly by the fastpdb code, as the compilation succeeds for a number of different architectures in the CI and memcpy() is never directly called in the code.
However, after a Google search I found this seems to be a general problem in C/Rust development in cases with missing symbols in the standard library (e.g. here). Hence, I would assume that this is a problem with missing files in the OS.
Therefore, I will close the issue for now. When/if you find a solution, don't hesitate to post it here, in case somebody else runs into this problem in the future.

Thanks a lot!