Go 1.5 issue

Hi.
I've noticed strange issue when I'm trying to compile fabio with go1.5 compiler. It looks like fabio hangs up and doesn't response to requests for some time and then it outputs everything. I don't get replies even on 404. I try to make requests:
root@akuma:~# date; curl -v http://127.1:9999/
Sat Jun 11 21:30:59 UTC 2016
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to 127.1 (<IP_ADDRESS>) port 9999 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 127.1:9999
> Accept: */*
>
^C
root@akuma:~# date; curl -v http://127.1:9999/
Sat Jun 11 21:31:02 UTC 2016
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to 127.1 (<IP_ADDRESS>) port 9999 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 127.1:9999
> Accept: */*
>
^C
root@akuma:~# date; curl -v http://127.1:9999/
Sat Jun 11 21:31:04 UTC 2016
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to 127.1 (<IP_ADDRESS>) port 9999 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 127.1:9999
> Accept: */*
>
^C

In logs I see (note time of responses 30 sec later then requests):
2016-06-11_21:31:35.93456 2016/06/11 21:31:35 [WARN] No route for 127.1:9999/
2016-06-11_21:31:35.93477 2016/06/11 21:31:35 [WARN] No route for 127.1:9999/
2016-06-11_21:31:35.93486 2016/06/11 21:31:35 [WARN] No route for 127.1:9999/

I've tried profiling:
(pprof) top
60ms of 60ms total (  100%)
Showing top 10 nodes out of 47 (cum >= 10ms)
      flat  flat%   sum%        cum   cum%
      10ms 16.67% 16.67%       10ms 16.67%  path.Clean
      10ms 16.67% 33.33%       10ms 16.67%  runtime.adjustpointers
      10ms 16.67% 50.00%       10ms 16.67%  runtime.evacuate
      10ms 16.67% 66.67%       10ms 16.67%  runtime.growslice
      10ms 16.67% 83.33%       10ms 16.67%  runtime.usleep
      10ms 16.67%   100%       10ms 16.67%  syscall.Syscall6
         0     0%   100%       10ms 16.67%  encoding/json.(*Decoder).Decode
         0     0%   100%       10ms 16.67%  encoding/json.(*decodeState).object
         0     0%   100%       10ms 16.67%  encoding/json.(*decodeState).unmarshal
         0     0%   100%       10ms 16.67%  encoding/json.(*decodeState).value

When I use go 1.6.2 it doesn't happen. Is it expected behaviour?

Try a kill -QUIT <fabio pid> and look for the goroutine which hangs in the fabio code. Can you post that here?

@magiconair I'm not sure how to determine which gorouting hangs up, so here is an output
https://gist.github.com/ptqa/dd1ee29d3c67d966a2f5b4de5aa50b04

doesn't look unusual but I'm a bit confused by the hostname you're using in the request: 127.1 doesn't look right. Can you try curl -v http://<IP_ADDRESS>:9999/ ?

It's just a short for <IP_ADDRESS>. But sure:
root@akuma:~# curl -v  http://<IP_ADDRESS>:9999/
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 9999 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: <IP_ADDRESS>:9999
> Accept: */*
>
^C

Still hangs up. Logs https://gist.github.com/ptqa/733ddf555506b37b6408a90da24f921e
It's not a really an issue for me, I can use 1.6 compiler, just wanted to let you know.

This isn't in my code. Did you add this?
2016-06-11_22:01:28.56105 goroutine 10 [syscall]:
2016-06-11_22:01:28.56105 runtime.CPUProfile(0x0, 0x0, 0x0)
2016-06-11_22:01:28.56105 	/usr/lib/go/src/runtime/cpuprof.go:418 +0x34
2016-06-11_22:01:28.56105 runtime/pprof.profileWriter(0x7fa04a0ea358, 0xc820020118)
2016-06-11_22:01:28.56106 	/usr/lib/go/src/runtime/pprof/pprof.go:599 +0x1c
2016-06-11_22:01:28.56106 created by runtime/pprof.StartCPUProfile
2016-06-11_22:01:28.56106 	/usr/lib/go/src/runtime/pprof/pprof.go:593 +0x145
2016-06-11_22:01:28.56107
2016-06-11_22:01:28.56107 goroutine 11 [chan receive]:
2016-06-11_22:01:28.56107 github.com/davecheney/profile.Start.func4(0xc82011a870)
2016-06-11_22:01:28.56107 	/home/ptqa/go/src/github.com/davecheney/profile/profile.go:159 +0xef
2016-06-11_22:01:28.56108 created by github.com/davecheney/profile.Start
2016-06-11_22:01:28.56108 	/home/ptqa/go/src/github.com/davecheney/profile/profile.go:165 +0xf44
2016-06-11_22:01:28.56108

Just tried a GOVENDOREXPERIMENT=1 ~/go1.5.3/bin/go build and ran fabio with the default config on OSX and got this:
$ curl -i http://<IP_ADDRESS>:9999/
HTTP/1.1 404 Not Found
Date: Sun, 12 Jun 2016 16:22:20 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8

OK, thanks for letting me know anyway. I'll keep an eye on this if others have the same issue.

I've noticed that you are working on https://github.com/ptqa/chef-fabio. Would it be OK if I mention this in the README?

Yeah, I've added this for profiling. Sure you can add this to README.

Just experienced hangs with Fabio 1.3.5 and Go 1.5.1.
Was using https://galaxy.ansible.com/lobsterdore/fabio/ that defaults to 1.5.1. 1.7.4 works fine.

@aerickson current requirement for fabio is go 1.7 or higher

@aerickson Thanks for finding and flagging this in the other project. https://github.com/lobsterdore/ansible-fabio/issues/6. Also, commented on https://github.com/lobsterdore/ansible-fabio/issues/4 which suggests not to build fabio from source in the first place which I think is the better option.


Some ideas for QoL

So I am making a lot of labels so i searched a bit and got the idea these would be good ideas:
-add a key shortcut
-add the ability to save some templates
-kicad often increments stuff with the  key maybe we can add something like this for labels lets say it increments the numbers in the tag or with some syntax

Key shortcut would be good! As far as I know this is a KiCad Plugin limitation that plugins can't be bound to keyboard shortcuts yet. (https://gitlab.com/kicad/code/kicad/-/issues/3837)
Templates could be interesting, like having a small history list? Not sure how that look from a UI perspective.
As a workaround, if you use 1.1.0 then you can edit an existing footprint, this will let you copy/paste a footprint then edit it's text. (With the label selected open the KiBuzzard window to edit)
It might be possible to detect a number at the end of a footprint and increment it if say the insert key was pressed in the KiBuzzard window. Unfortunately with a plugin it's not possible to hook into the internal KiCad handling of this.

ok
I installed the latest from kicad not sure what version it is tho if it is 1.1.0 how can i edit them? with E like normal entities or is there another process?

Unfortunately no, plugins can't loop into that level of integration with KiCad.
With a footprint selected (Needs to have been created with KiBuzzard 1.1.0) Open up KiBuzzard, it should load in that footprint and on pressing OK update that selected label

You can see a demo video here: https://github.com/gregdavill/KiBuzzard/pull/65


"Update imports" action on file rename causes syntax errors throughout project

I just tried out the new "Update Imports" feature when moving a file for the first time, and it broke the imports in almost every file in my (fairly large) project. I now have to go undo each file individually and make sure I only undo the imports. It seems like instead of just updating the imports for the particular files that were moved, VS Code attempted to make every local import a relative import instead of absolute (my project is configured to use absolute import paths even for local files, as both TypeScript and Webpack allow this), but it also created a syntax error on each of these. It touched files that have never referenced the moved file as well.
The files that were moved (two of them) were both React components, but some of my non-React utility files were changed as well. For example, one of the files changed is PaperUtils.ts which provides some Paper.js-specific utilities. One of the imports changed in this file was a reference to sketch/util/Constants, which is a local file. It seems like the imports were changed in two steps, as I can Ctrl+Z twice in each of the changed files.
The original import was import { Zoom, Layers } from "sketch/util/Constants";
In the first step, it was changed to import { Zoom, Layers } from "../Constants";, which is a valid relative import for the same file.
In the second step, it was changed to import { Zoom, Layers } from "../Constants. The last quote of the import, as well as the trailing semicolon, were deleted.
This happened in 70 files in my project and almost every single import in these files.

VSCode Version: 1.25.1
OS Version: Windows 10 build 1709

Steps to Reproduce:

Have project with multiple .ts and .tsx files
Have TypeScript configured to use absolute imports instead of relative
Move a file in the project and choose "Yes" when asked if imports should be updated

Does this issue occur when all extensions are disabled?: Unsure; I'm already having to spend a significant amount of time weeding out these import changes from my actual file changes in Git to undo the syntax errors and don't have the time to redo this with no extensions.

Duplicate of #53597
Fixed in VS Code insiders and if you upgrade to to use TypeScript 3.0 in your workspace (or downgrade to use TS 2.9.1)


interp1d memory leak

I think there may be a memory leak in interp1d. I tried running the following script with interp1d or UnivariateSpline. I simply interpolate many iterations and sample the memory consumed by the process in MB. I'm using conda on osx64 with scipy 0.15.2 and numpy 0.19.1.
#!/usr/bin/env python -u
# encoding: utf-8

import numpy as np
from scipy import interpolate
import gc
import os
import psutil

def sample_mem():
    gc.collect()
    process = psutil.Process(os.getpid())
    return process.get_memory_info()[0] / float(2 ** 20)

def make():
    dom = np.arange(100)
    np.random.seed(0)
    ran = np.random.randn(len(dom))

    interp_func = interpolate.interp1d(x=dom, y=ran, copy=True, kind='cubic')
    # interp_func = interpolate.UnivariateSpline(x=dom, y=ran, s=0, k=3)
    for i in np.linspace(0, 1, 50):
        shift = interp_func(i)

if __name__=='__main__':
    for i in range(10000):
        make()
        after = sample_mem()
        print(after)

This is the result of using interp1d interestingly the memory usage flattens out around the 6000th iteration.

This is the result of using UnivariateSpline. Notice how the memory increase are much less significant.

Cannot reproduce it on Ubuntu 12.04 with current master. Modifying your example to print out every 500 iterations only:
$ python interp1d_memleak.py
(0, 25.1328125)
(500, 25.30078125)
(1000, 25.30078125)
(1500, 25.30078125)
(2000, 25.30078125)
(2500, 25.30078125)
(3000, 25.30078125)
(3500, 25.30078125)
(4000, 25.30078125)
(4500, 25.30078125)
(5000, 25.30078125)
(5500, 25.30078125)
(6000, 25.30078125)
(6500, 25.30078125)
(7000, 25.30078125)
(7500, 25.30078125)
(8000, 25.30078125)
(8500, 25.30078125)
(9000, 25.30078125)
(9500, 25.30078125)

What happens to your memory consumption if you specify copy=False?

I just tried this on my Ubuntu 14.04 machine and see the same results as you, no memory increase.
If I set copy=False, I still see the same results on osx. This is still using both 0.15.1 x64 from conda. Thanks for checking on it @ev-br. I guess feel free to mark this lowest priority, it's not really affecting me because of the work around. Or if there are other simple debugging steps that I could take feel free to let me know.

Since the memory usage flattens out, it's not a memory leak, and does not indicate a bug. I would suggest closing this issue.
Some plausible explanations: libc malloc not releasing memory immediately, Apple Accelerate allocating some scratch cache memory, etc.

Makes sense, I'll just close it.


Path selection in template

as per Paul:
Providing a choice of different footprint correction paths makes the diagram kind of crowded.  It would be nice to be able to select amongst a set of different paths in the network, only displaying the active one.  A pair of n-way mux-demux components with independent paths between them could do it.  Like superload, this would be a subnet that shows up as a single node on the diagram, but it would include a template interactor that let you select amongst the named paths connecting multiplexor output k to demultiplexor input k.

Adding topological variability to graphs seems risky.


MNT: rerender

Hi! This is the friendly automated conda-forge-webservice.
I've rerendered the recipe as instructed in #20.
Here's a checklist to do before merging.

[ ] Bump the build number if needed.

Fixes #20

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

It looks like the 'frozendict' output doesn't have any tests.


docs: add deploy to Zeabur

Description (required)
Add deploy to Zeabur guide for en and zh-cn as another deploy option.
Related issues & labels (optional)

Suggested label: documentation

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Netlify 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Thanks! I will remove the zh-cn file.

This looks great!!! Very clear and concise - I love it. Thank you for your hard work on this, I can't wait to try it out someday :)
I left a couple of suggestions and some formatting changes, I hope they help!!

Thanks, I've updated and applied the suggestions!

Thanks for the review! I've updated the documentation to apply the changes

Sounds good! Thanks

This looks great, @MichaelYuhe ! What a great first contribution! 🎉
Only the tiniest of changes, plus I do think we can get away with linking to the Node adapter installation instructions, for the reasons I mentioned. What do you think?

Great suggestion! Applied


BLESecurity how to.handle auth not complete

onAuthenticationComplete(esp_ble_auth_cmpl_t)
ESP_GAP_BLE_AUTH_CMPL_EVT
I am using this event but having issues if pin fails.  Is there an auth fail event?

You have to use the same callback. Here is how parameter structure looks like:
typedef struct
{
    esp_bd_addr_t         bd_addr;               /*!< BD address peer device. */
    bool                  key_present;           /*!< Valid link key value in key element */
    esp_link_key          key;                   /*!< Link key associated with peer device. */
    uint8_t               key_type;              /*!< The type of Link Key */
    bool                  success;               /*!< TRUE of authentication succeeded, FALSE if failed. */
    uint8_t               fail_reason;           /*!< The HCI reason/error code for when success=FALSE */
    esp_ble_addr_type_t   addr_type;             /*!< Peer device address type */
    esp_bt_dev_type_t     dev_type;              /*!< Device type */
    esp_ble_auth_req_t    auth_mode;             /*!< authentication mode */
} esp_ble_auth_cmpl_t;                           /*!< The ble authentication complete cb type */

Look at success value.

Using the BLESecurity callback as mentioned here, where could i decode meaning of esp_ble_auth_cmpl_t ?
It seems fail_reason in the GAP API documentation  has no explanation.
Currently I always need to pair twice as the first pair results with a value of 81 (i think 0x51) .  Is this a bit mask for something?

@axa88 I’ve ran into this as well.  Can you please show me what you mean when pairing twice?  I’ve been having trouble just getting them to pair.

@axa88 I’ve ran into this as well. Can you please show me what you mean when pairing twice? I’ve been having trouble just getting them to pair.

literally i would need to pair my esp32 device to my host, an Android phone, once to which it would fail not pairing, and then the second time to which it would pair.
here I was hoping to get a better description of the actual error.

I dont know that error description, but you could open issue on esp-idf or even try to find old issue.

@axa88 I’ve ran into this as well. Can you please show me what you mean when pairing twice? I’ve been having trouble just getting them to pair.

literally i would need to pair my esp32 device to my host, an Android phone, once to which it would fail not pairing, and then the second time to which it would pair.
here I was hoping to get a better description of the actual error.

I have same issue - ESP32 only pairs device for second time. And I also have fail_reason = 81 (ACI_STATUS_ERROR_INTERNAL). Did you find any solution to this?

It is good practice to erase flash every time when you work with ble security, also you should clear pairing on smartphone each time. If you wont do that it may lead to many problems with testing/debugging.

I had the same issue; ESP_GAP_BLE_AUTH_CMPL_EVT event comes without success. I came across with esp's examples and they were using "esp_restart()" function to solve this issue. But it was inefficient. What you can do is, you can use esp_ble_gap_disconnect(param->ble_security.auth_cmpl.bd_addr) function to first disconnect from the device, then restart scanning process using esp_ble_gap_stop_scanning()and esp_ble_gap_start_scanning(seconds) functions. disconnecting solved my problem. The device automatically connects again and ESP_GAP_BLE_AUTH_CMPL_EVT gives success.


unneeded name qualifiers, spelling, CSS

Just some nits

I kept the types in the IntoIterator implementations sorted, but otherwise looks good. Merged!
By the way, how did you find these?


No type checking when importing index.js from a directory that contains a index.css file

It took me a long time to understand, but it seems as if flow would completely stop any type checking when importing index.js from a directory that also contains a index.css file.
I was able to reduce my problem to a most simple test case as follows:
index.js
// @flow
import {MyClass} from './myclass';
const myclass = new MyClass();
myclass.xyz();

./myclass/index.js
// @flow
export class MyClass {}

./myclass/index.css
/* dummy */

.flowconfig
[ignore]
node_modules/.*

[include]
src/.*

[options]
module.file_ext=.js
module.file_ext=.css
module.name_mapper.extension='css' -> 'empty/object'

Running flow check --show-all-errors shows 0 errors.
When removing the ./myclass/index.css file or when deleting the module.file_ext=.css and module.name_mapper.extension='css' -> 'empty/object' lines from the .flowconfig the expected error Cannot call "myclass.xyz" because property "xyz" is missing in "MyClass" [1]. is shown.
I wanted to add, that actually the index.css file does not even have to be imported to reproduce this problem. It seems a bit as if flow would simply ùse the index.css file instead of the index.js file when including the./myclass/index.jsfile only using the directory syntax./myclass`.
Any help would be most appreciated!
EXAMPLE
test.zip

I wanted to add, that actually the index.css file does not even have to be imported to reproduce this problem. It seems a bit as if flow would simply ùse the index.css file instead of the index.js file when including the ./myclass/index.jsfile only using the directory syntax./myclass`.

It seems to be due to your:
[include]
src/.*

which eagerly includes all files, even index.css which conflicts with index.js, not just the ones your import.
Also, remove your:
module.file_ext=.css
module.name_mapper.extension='css' -> 'empty/object'

This won't be needed, you won't eagerly include css, just import them and css is in module_resource_exts.
I guess you're doing include not have @flow on top of each file. Did you try src/.*\.js ?

@maximeg Thank you for your comments. Could you please elaborate on the following:
I my understanding
[include]
src/.*

only tells flow where to look for my files but then only the files containing a // @flow comment on top will be included. What did I misunderstand here and would you be so kind to point me to the proper documentation?
You mention removing
module.file_ext=.css
module.name_mapper.extension='css' -> 'empty/object'

but there is quite some information that suggests that this is needed when importing css resources.
I tried removing it and it does indeed resolve the problem and flow no longer complains when importing but this must have changed since I initially started using flow. Would you know about what changed and why it is no longer needed?
Thank you!

I think the problem appears when you have two files with the same name but different extensions. Let's say you have following file structure:
src/Foo.js
src/Foo.css

And any other file tries to import Foo.js:
import './Foo';
// flow won't check types from this file, because Foo.css will be "imported" instead.

But there is a workaround. You can explicitly declare file extension:
import './Foo.js';
//            ^^^ it works because of the explicit file extension.

Of course it's true only if you use css modules, e.g. your .flowconfig includes something like this:
[options]
module.file_ext=.js
module.file_ext=.css
module.name_mapper.extension='css' -> 'empty/object'


README: improve spelling, grammar; trim whitespace

as the title says: a linguistic overhaul and trimmed trailing whitespaces for the README.md

@okaestne  Thanks for the MR. :slightly_smiling_face:


add ooxml-schemas to support CTEffectExtent

when i rotate a pic which its width is bigger than height.
i need the CTEffectExtent so that the rotated can displayed all.

@Gowa2017 did you checked this fix? i added this locally for me but it crashes with class not found issue (see issue #9 here)


Consider a more hierarchical reference structure

Can all of the workbox libraries be used as standalone modules? I think not. E.g. workbox-routing can only be used when workbox-sw is present.
If this is the case, consider organizing the reference to reflect dependencies. It's a simple yet effective way to quickly understand how all the modules relate to each other

Yes, all of the libraries are meant to be usable from outside of workbox-sw. I.e. here's some hypothetical workbox-routing code:
importScripts('https://unpkg.com/workbox-routing@1.0.0');

const route = new workbox.routing.Route({
  match: ({url}) => url.endsWith('.css'),
  handler ({event}) => event.respondWith(new Response('no styles for you!')),
});
const router = new workbox.routing.Router();
router.registerRoute({route});

We definitely need to do a better job of striking a balance between pointing the average developer who needs a "batteries included" experience to workbox-sw, while still documenting/providing examples for the smaller libraries that might be used by folks who don't want to/can't adopt the full framework.

Can all of the workbox libraries be used as standalone modules?

We probably do a poor job of highlighting that many/most of our modules can be used outside of -sw. Perhaps we should include some blurb on the homepage (or a subpage) about this being supported?

I'm in favor of a How-To page for this material.
It could focus on custom builds that combined a few named exports from the ES2015 source to produce a pared-down, focused library for a specific use case.
I think @philipwalton has been exploring this use case.

This is a much better story in V3. I'm hoping to get some time in the next day or two to write up some of this stuff. Will share around as soon as possible.

With V3 the API for workbox-sw and the individual modules is exactly the same after P@philipwalton landed the singleton PR.
This along with the CDN makes it easy to switch between workbox-sw and the individual modules so I'm going to close this for now - please re-open if you disagree.
p.s. all demos for the individual modules should only include for the current module + workbox-core. i.e. workbox-routing will not use workbox-runtime-caching in the demo - that is left for workbox-sw which will be a more expansive demo.


please provide a name appears 2 times when selecting a PI

Dear @subwaystation , we cannot see any screenshot, do you mind posting it again please? Guess you have been faster creating the issue then the upload ;)

lol

there u go

Hi @subwaystation
The issue will be fixed in the next release. Thank you for reporting the bug.


Removing zabbix-work recipe

This is related to chef-bcpc issue #299.
The zabbix-head recipe seem to include zabbix-work recipe while we also include both the recipes in the BCPC-Hadoop-Head role. Can we remove the include in zabbix-head recipe so that we can avoid installing zabbix-agent by removing the zabbix-work recipe from all the roles.

This is fixed in PR #143

Removal of zabbix-agent removes zabbix-sender and that breaks sending data from graphite to zabbix. Since we have been using building Zabbix using source, we should probably move to using zabbix debian repository to manage the installation of different packages in a better way.

As per previous comment closing this issue.


Code editor indents are too big.

Please, provide the details below:
The indentation on the code editor is too big for my tastes. When dealing with the highly nested nature of DOM, or DOM-like markup for creating user interfaces, any indentations of more that 2 spaces quickly makes code width less legible.
It seems trivial, and I was prepared to just delete spaces but that doesn't seem possible in the editor the playground uses.
Please consider modifying the indentation or allowing a preference for the user to set a value that works for them.
Did you search for the problem in other open issues in this repo?
Yes
Tell us about the problem
Please, ensure your title is less than 63 characters long and starts with a capital
letter.
Did you try it outside of {N} Playground?
N/A
Which browser are you using?
Safari
Are there any errors/warnings logged in your browser console?
Yes, but I imagine they are unrelated.
Failed to load resource: the server responded with a status of 402 ()
https://reveal.clearbit.com/v1/companies/reveal?authorization=pk_7dc042d81ed3f05f5c979029bc758bde&callback=pushToDataLayer
Failed to load resource: the server responded with a status of 502 ()
https://id.rlcdn.com/464526.gif
Which platform(s) does your issue occur on?
macOS
Are there any entries logged in the Device Logs tab?
N/A
Please provide the following information shown in devices tab in the playground:
N/A
Please tell us how to recreate the issue with as much detail as possible.
Open the code editor.

Which project type are you speaking about? We are using Monaco editor for the Playground and we should check if there is a such feature.


[pytorch] Add BigGAN demo in examples

Description
Add the BigGAN demo example for the PyTorch engine. This is a work in progress.

Codecov Report

Merging #1023 (a6ded8c) into master (50600fd) will decrease coverage by 0.07%.
The diff coverage is 37.50%.

@@             Coverage Diff              @@
##             master    #1023      +/-   ##
============================================
- Coverage     70.03%   69.96%   -0.08%
- Complexity     5106     5107       +1
============================================
  Files           504      504
  Lines         22601    22617      +16
  Branches       2367     2372       +5
============================================
- Hits          15828    15823       -5
- Misses         5508     5531      +23
+ Partials       1265     1263       -2

Impacted Files
Coverage Δ

...pi/src/main/java/ai/djl/ndarray/BaseNDManager.java
50.00% <0.00%> (-3.47%)
:arrow_down:

api/src/main/java/ai/djl/ndarray/NDArray.java
73.25% <0.00%> (-0.43%)
:arrow_down:

...c/main/java/ai/djl/pytorch/jni/PyTorchLibrary.java
100.00% <ø> (ø)

...src/main/java/ai/djl/pytorch/engine/PtNDArray.java
79.75% <50.00%> (-0.15%)
:arrow_down:

...ine/src/main/java/ai/djl/pytorch/jni/JniUtils.java
90.64% <100.00%> (+0.07%)
:arrow_up:

...gine/src/main/java/ai/djl/dlr/engine/DlrModel.java
53.12% <0.00%> (-3.13%)
:arrow_down:

...ain/java/ai/djl/tensorflow/engine/TfNDManager.java
79.36% <0.00%> (-2.39%)
:arrow_down:

.../src/main/java/ai/djl/repository/zoo/Criteria.java
87.50% <0.00%> (-2.35%)
:arrow_down:

api/src/main/java/ai/djl/util/Platform.java
43.47% <0.00%> (-2.18%)
:arrow_down:

...g/src/main/java/ai/djl/serving/util/Connector.java
55.40% <0.00%> (-1.36%)
:arrow_down:

... and 3 more

Continue to review full report at Codecov.

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


clean-dashboard cannot handle correctly "star button" in GitHub homepage.

Please ensure:

[X] The bug is caused by Refined GitHub. It doesn't happen if I disable the extension.

Include in this issue:

[X] Screenshots/video/gif demonstrating the bug, if it’s visual
[ ] Console errors, if any

Description
GitHub updates the star buttons recently, now it supports star list.
After that, star buttons in homepage cannot display correctly, like the screenshot:

After disable feature clean-dashboard, it shows fine:

Example URL
https://github.com/
Browser(s) used
Chromium

Related code is here: https://github.com/refined-github/refined-github/blob/main/source/features/clean-dashboard.css#L86

Thanks for reporting, related to #5164


Provide Bosh 2.0 manifest.

It would be convenient to have a Bosh 2.0 manifest available for deployments.
This would remove the need for the Bosh 1 CLI that supports ERB as well as allow users to take advantage of vars files and store.
/cc @apoydence

Manifest has been updated


TEST-#3422: always import read data to OmniSci in IO tests

Signed-off-by: Dmitry Chigarev<EMAIL_ADDRESS>
What do these changes do?
This PR adds explicit import of the read data to OmniSci at every IO test. Modification of the eval_io function was used where possible, in other places it was done by the trigget_import function. Both of these functions were placed at the newly created utility file experimental/engines/omnisci_on_ray/test/utils.py, other testing helper functions that previously were located at the file with tests were also moved to the utils.py.

[x] commit message follows format outlined here
[x] passes flake8 modin
[x] passes black --check modin
[x] signed commit with git commit -s
[x] Resolves #3422
[ ] tests added and passing
[x] module layout described at docs/developer/architecture.rst is up-to-date

@modin-project/modin-omnisci @modin-project/modin-core just a reminder to review

Looks great! A little bit confusing that imported to OmniSci table doesn't used during pandas/Modin results comparison by the comparator, shouldn't it be exported back for checking?

Looks great! A little bit confusing that imported to OmniSci table doesn't used during pandas/Modin results comparison by the comparator, shouldn't it be exported back for checking?

We keep arrow tables for imported partitions and therefore never need to export them back.

After adding modified eval_io to the pandas/test/test_io.py with ~500 read_csv tests it appeared that the test_io.py::TestCsv step is failing with an out-of-memory error. I've added a print statement that prints the amount of used system RAM in tests, the job is being killed shortly after the RAM usage hits 100%.
The reason for hitting 100% RAM usage is that this step has a lot of read_csv calls, which generates a lot of tables in OmniSci, which are never going to be deleted because there is no mechanism of garbage collecting of orphaned tables.
@ienkovich is this awared problem of no garbage collection of unused tables in OmniSci and is there a way to solve this problem in the context of this PR (something like cycle-rewriting or similar)?

In order to resolve RAM overflow by Omnisci tables I've added a mechanism of dropping them at the end of every test that requires forcibly import read data to Omnisci (done by ForceOmnisciImport context-class).
After that, it revealed that one of the IO tests consumes ~17Gb of RAM when data is imported to Omnisci (mentioned test is test_read_csv_default_to_pandas_url). The reason for that is that in this test it reads a many-column frame (~1000 columns) where each column contain only strings. It seems that it's really unoptimized case for Omnisci, so I've added skipping this test if available RAM is less than 17Gb and selected backend is Omnisci.

@amyskov @ienkovich @modin-project/modin-core PR is ready for review


Windows 8.1 PGP decryption fails after Windows updates

Keybase GUI Version: 1.0.25-20170714173029+acae5b0
My organization pushed some Windows Updates on my machine (I am not sure which) and now when I run keybase pgp decrypt -i somefile.gpg -o otherfile.txt I get just the blinking cursor in the new line and no output, no errors. I do not get the prompt from the desktop app to input my passphrase.
This works fine on a Windows 10 machine I just tested on.
Not sure if this is helpful, I have no further details on this. If the information is insufficient, just close this.
Thanks.

Thanks for the bug report. Can you do a keybase log send.  @zanderz can you investigate?
Thanks


Use plain objects for Modal classes

The rough idea is that @stub.cls doesn't create a new Python class, it returns an instance of modal.Cls instead. That in turn has a __call__ method which creates a modal.Obj class. That in turn implements __getattr__ which returns Function objects. So for instance to support FooCls(1, 2, 3).method("xyz") then

FooCls is an object (not a class) of type Cls
FooCls(1, 2, 3) returns an object of type Obj
FooCls(1, 2, 3).method is a Function which comes from Obj.__getattr__

The main benefit of this is that we can support modal.Cls.lookup("my-object") quite easily, since modal.Cls will be a Modal object (with an object id etc) later – I haven't implemented the backend part of this, but this should be quite doable.
This PR is not big but somewhat complex mostly because of a lot of subtleties (for instance – inside function methods, you need self to refer to the original class instance, but you need self.method to still return Function objects). I think there's some room to simplify things over time.
This supersedes #805 since it's a completely different approach. It does add the constructor as an alternative to .remote but I haven't implemented the deprecations etc. Will do that in a separate PR.

Some notes on how to implement the cls modal object later:

On the backend it's just an id mapping to a dict of base functions by name
The cls would have a load method that creates this
When a user does a lookup, it returns the dict of base functions as metadata
During object construction (when you try to instantiate eg MyClass(1, "foo"), it just returns and Obj just like now (non-blocking non-async function just creating a thin reference)
Lazy construction of functions just like now

This passes all integration tests

@aksh-at looks like types work well in the new code – i added a bunch of assertions

@aksh-at looks like types work well in the new code – i added a bunch of assertions

That's awesome! That means it works much better than the old .remote() construction

That's awesome! That means it works much better than the old .remote() construction

Yeah kind of by luck – I wasn't trying to :)


Add auth to console code

Currently, show_console(), start_console() and stop_console() don't do any auth checking.
We should do that!

I vaguely remember that @zenhack said we want to rework on the console stuff? If so this one will get fixed naturally.

Yeah, it'll have to be part of any design we implement there.
Is the console stuff even being (currently) actively used anywhere? If not I'd actually recommend just disabling it; It's horribly broken and probably a liability as is.

@zenhack - I assigned this to you, since you're re-doing the console.

@henn, great. Please read the proposal, as it contains a solution.

Since this is going to be part of obmd, and per the discussion in #953 we're planning on doing a release before now and being able to actually use obmd. Do we want to maybe move this issue to the 0.4 milestone?

yeah, moved it to 0.4 now.

see #1036


Mitigate missing which command on some systems

Q
A

Bug fix?
Yes

New feature?
No

BC breaks?
No

Deprecations?
No

Fixed tickets
N/A or xx

Some systems, especially thin Docker images, do not have which command, used to locate path of php, git, composer etc.
This pull request adds method which should mitigate this on most systems, prioritizing command over which with fallback to type. This should cover most systems out there.
Related to #484, #607, #586
See this SXC article for more related info.

Nice feature!


Reduce log spam of load shed points if not configured.

This is just https://github.com/envoyproxy/envoy/pull/28654 now that CI issues have been addressed.
Commit Message: Reduce log spam of load shed points if not configured.
Additional Description: LOG_ONCE_IF in the various callsites so each point gets logged about at most once.
Risk Level: low
Testing: unit test
Docs Changes: na
Release Notes: na
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/assign @phlax


mapping not working

Hi,
context.Fetch<opportunity__c>("SELECT * from opportunity__c"); does not map the result set, all the properties of opportunity__c are NULL.
However;
context.Fetch<Dictionary<string, object>>("SELECT * from opportunity__c"); works and i can access the property by result[0]["somecolumnname"]
Happens only with this table/object and it has ~600 fields
There is no exception or anything in Debug log.

Yeh. Gonna need more info than that.
What's the columns of the tables? What properties are on the class you are
mapping to?

Hi Adam,
Thank you for your prompt response.
Well, just to test things i downgraded to NPoco 2.10.11 and it seems to work here.
I got the NPoco source as well, will debug and keep you updated on it.
Regards


Guard ConfigurationMap against null configuration

While it makes little sense to construct a ConfigurationMap instance with null configuration, the current implementation does not seem to guard against such cases.
This problem is even more pronounced as any NullPointerExceptions that may occur due to this are thrown much later, leading to difficult debugging.
This commit requires configuration not to be null.
A test case demonstrating complicated debugging procedure:
import java.util.Map;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.ConfigurationConverter;
import org.apache.commons.configuration2.io.FileHandler;

public class Test {
    public static void main(String args[]) throws Exception {
        Configuration config = null;
        Map map = ConfigurationConverter.getMap(config);
        FileHandler filehandler = FileHandler.fromMap(map);
    }
}

Output:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.apache.commons.configuration2.Configuration.getProperty(String)" because "this.configuration" is null
        at org.apache.commons.configuration2.ConfigurationMap.get(ConfigurationMap.java:100)
        at org.apache.commons.configuration2.io.FileLocatorUtils.fromMap(FileLocatorUtils.java:261)
        at org.apache.commons.configuration2.io.FileHandler.fromMap(FileHandler.java:278)
        at UnitconTest.main(UnitconTest.java:10)

@pingpingy1
Thank you for your PR. I agree that fail-fast is best here. The build is off and running...

@pingpingy1
TY, merged!
Do you see other similar issues?

Not at the moment, no.
But I'll be sure to report them when I find any more!


Authorzation with password flow with a store specific client fails

Create a store-specific customer account, and an API Client with store-specific scopes, and try making the following call:
https://docs.commercetools.com/api/projects/me-profile#get-customer-in-a-store
then you get an error message:
Error: Customer account with the given credentials not found.
    at executeRequest (.../commercetools-js-sdk-v2-training/node_modules/@commercetools/sdk-client-v2/dist/commercetools-sdk-client-v2.cjs.dev.js:360:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
{
    "body": {
        "statusCode": 400,
        "message": "Customer account with the given credentials not found.",
        "errors": [
            {
                "code": "invalid_customer_account_credentials",
                "message": "Customer account with the given credentials not found."
            }
        ],
        "error": "invalid_customer_account_credentials",
        "error_description": "Customer account with the given credentials not found."
    }
}```

**To reproduce this error,** you could use the following code:

```js
  const {
    clientId,
    clientSecret,
    projectKey,
    oauthHost,
    host,
    storeKey,
    username,
    password
  } = readConfig(Prefix.STORE_ME);

  const passwordAuthMiddlewareOptions = {
    host: oauthHost,
    projectKey,
    // oauthUri: `/oauth/in-store/key=berlin-store/customers/token`,
    credentials: {
      clientId,
      clientSecret,
      user: {
        username,
        password
      }
    },
    fetch
  };

  const httpMiddlewareOptions = {
    host: host,
    fetch
  };

  const client = new ClientBuilder()
    .withPasswordFlow(passwordAuthMiddlewareOptions)
    .withHttpMiddleware(httpMiddlewareOptions)
    .build();

  const storeMyApiRoot = createApiBuilderFromCtpClient(client)
    .withProjectKey({ projectKey })
    .inStoreKeyWithStoreKeyValue({ storeKey });

  storeMyApiRoot
    .me()
    .activeCart()
    .get()
    .execute();

Please look at the authorization cal

l in Postman Collection

This issue has been solved by providing oauthUri in right format:
  const passwordAuthMiddlewareOptions = {
    host: oauthHost,
    projectKey,
    oauthUri: `/oauth/{projectKey}/in-store/key={storeKey}/customers/token`,
    credentials: {
      clientId,
      clientSecret,
      user: {
        username,
        password
      }
    },
    fetch
  };


FIX: Ensure permission denied in geolocation.getCurrentPosition rejects the Promise

fixes #22535
Moves the permission request logic on Android M and above to Native side to mimic IOS behavior.
Changelog:
[Android] [Fixed] - Ensure permission denied in geolocation.getCurrentPosition rejects the promise
Test Plan:
Verified manually with a test project which requests location via Geolocation service. If the permission request is denied by the user the promise is rejected as well.
https://github.com/Jyrno42/rn-geoloctest

The IOS test failure is not releated to this PR.

Rebased and squashed

@hramos @matthargett Is there anything else I need to do to get this merged?

Any workaround / patch that could be applied to a project in rect native 0.55.4 ?

Unfortunately this PR would currently break code at FB. Could you instead create a new native method with this functionality, and keep the old native method around unchanged and then change your JS code to something like:
if (RCTLocationObserver.newMethod) {
// handle the new method
} else {
// Old code
}
Then I can land this code, and we can remove the old code soon.

I can, however would like some clarification. So I keep LocationModule.getCurrentPosition as is and move the new logic to something like LocationModule.getCurrentPositionAndRequestPermissions.
and on the JS side getCurrentPosition becomes this:
getCurrentPosition: async function(
    geo_success: Function,
    geo_error?: Function,
    geo_options?: GeoOptions,
) {
    invariant(
        typeof geo_success === 'function',
        'Must provide a valid geo_success callback.',
    );

    if (LocationModule.getCurrentPositionAndRequestPermissions) {
        // Permission checks/requests are done on the native side
        RCTLocationObserver.getCurrentPosition(
            geo_options || {},
            geo_success,
            geo_error || logError,
        );
    } else {
        let hasPermission = true;
        // Supports Android's new permission model. For Android older devices,
        // it's always on.
        if (Platform.OS === 'android' && Platform.Version >= 23) {
            hasPermission = await PermissionsAndroid.check(
                PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
            );
            if (!hasPermission) {
                const status = await PermissionsAndroid.request(
                PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
                );
                hasPermission = status === PermissionsAndroid.RESULTS.GRANTED;
            }
        }
        if (hasPermission) {
            RCTLocationObserver.getCurrentPosition(
                geo_options || {},
                geo_success,
                geo_error || logError,
            );
        }
    }
}

Do I understand you correctly?
Also, I am wondering do you just strip the new native method during build in FB?

Exactly, that should work for now :) We can then remove the old code in a couple of weeks.

Hey @Jyrno42,
because of App rejections around Geolocation usage we decided to extract Geolocation into https://github.com/react-native-community/react-native-geolocation. You can ship your pull request in that repo, in the original form without the changes that I required as soon as the code appears there. This should be less work for you and allow you to move faster :)

I was just going to push it but ok :)

Filed as https://github.com/react-native-community/react-native-geolocation/pull/1


Measure history upload summary revamp + misc CSS fixes

Screenshots
Measure with multiple populations

Before
After

Measure with one population

Before
After

Notes
Addresses BONNIE-239 and several PR comments

I really like how the "failing" was changed to "FAIL", etc. The consistency with the rest of Bonnie reduces confusion.

I pushed a few more commits; this should fix the remaining CSS-related comments in the Measure History pull request!

Comparing the color differences in the bubbles.

Before
After

Thanks, @hossenlopp  I meant to add a screenshot with the color change. I did like the previous colors, but using the existing colors seems simpler to me. As a bonus, the foreground and background have better contrast as well.

I'm showing this weird green (X)

I had a patient passing in v5. I edited the patient so it would fail in V5 but pass in V3. I updated to V3. The summary view displayed as expected but the coloring in the measure history is weird.

(related to previous comment)
If I go back to measure_history_rebase branch, this displays as expected:

@edeyoung thanks for the help! updated that and rebased.


Querying for some locations result into an error

I'm getting this error:
Cannot read property 'name' of undefined

Using the following GraphQL query
{
  location(id: 31) {
    residents {
      id
      origin {
        id
      }
    }
  }
}

I've a similar error with this GraphQL query
query {   locations(page: 1) {     results {       id       name       type       dimension       residents {         id         name         status         species         image         location {           name         }         episode {           name         }       }     }   } }

Thank you both for reporting!


python312Packages.scales: use pytestCheckHook; modernize

This builds on the work done in #334466 as part of #326513. This fixes outstanding notes about migrating to pyproject and modernizes the rest of the Nix code. I cherry-picked the commit from the previous PR to ensure proper authorship notices are retained.
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

[x] 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

[x] 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

[x] Fits CONTRIBUTING.md.

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

Thanks! I was thinking we could probably just drop this as it’s only used as an optional dependency for one other package, but the end result of this PR looks good to me. I don’t suppose you’d be interested in being a maintainer for the package?

Doesn't seem like too much of a maintainence burden, I'll adopt the package. If it becomes a hassle in the future, since I don't use it and it's only an optional dependency, we can definitely revisit dropping it.


[Website] Wrap the project with docker to ensure redundancy

[Website] Wrap the project with docker to ensure redundancy

Solved at https://github.com/tpportugal/tpp_website/commit/6e88bc31951c6d18d7583949b56e4081cac326e1


malloc(): memory corruption: 0x0000010007c2ef90 while running UNLV test for Spanish

tesseract -v
tesseract 4.0.0-beta.1-331-g1b68
leptonica-1.76.0
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 : libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.4 : libopenjp2 2.3.0
bash  ./unlvtests/runalltests.sh ~/ISRI-OCRtk 4-beta_fast ../tessdata_fast spa
Testing on set spn.3B in directory /home/ubuntu/ISRI-OCRtk/spn.3B to unlvtests/results/spn.3B
7722_016.3B 17.38
*** Error in `tesseract': malloc(): memory corruption: 0x0000010007c2ef90 ***
======= Backtrace: =========
/lib/powerpc64le-linux-gnu/libc.so.6(+0x85d18)[0x3fff86345d18]
/lib/powerpc64le-linux-gnu/libc.so.6(+0x942c4)[0x3fff863542c4]
/lib/powerpc64le-linux-gnu/libc.so.6(__libc_malloc+0x74)[0x3fff86356624]
/usr/lib/powerpc64le-linux-gnu/libstdc++.so.6(_Znwm+0x2c)[0x3fff86569a5c]
/usr/lib/powerpc64le-linux-gnu/libstdc++.so.6(_Znam+0x18)[0x3fff86569bb8]
/usr/local/lib/libtesseract.so.4(_Z11block_edgesP3PixP5PDBLKP12C_OUTLINE_IT+0x140)[0x3fff86ba7840]
/usr/local/lib/libtesseract.so.4(_Z13extract_edgesP3PixP5BLOCK+0x64)[0x3fff86b834b4]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract7Textord15find_componentsEP3PixP10BLOCK_LISTP13TO_BLOCK_LIST+0x19c)[0x3fff86bdd6ac]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract7Textord11TextordPageENS_11PageSegModeERK6FCOORDiiP3PixS6_S6_bP13BLOBNBOX_LISTP10BLOCK_LISTP13TO_BLOCK_LIST+0x8e4)[0x3fff86bd4674]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract9Tesseract11SegmentPageEPK6STRINGP10BLOCK_LISTPS0_P9OSResults+0x290)[0x3fff86b19e50]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract11TessBaseAPI9FindLinesEv+0x1c4)[0x3fff86ad7d84]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract11TessBaseAPI9RecognizeEP10ETEXT_DESC+0x50)[0x3fff86ad9b00]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract11TessBaseAPI11ProcessPageEP3PixiPKcS4_iPNS_18TessResultRendererE+0x2ac)[0x3fff86ada35c]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract11TessBaseAPI25ProcessPagesMultipageTiffEPKhmPKcS4_iPNS_18TessResultRendererEi+0x168)[0x3fff86ada588]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract11TessBaseAPI20ProcessPagesInternalEPKcS2_iPNS_18TessResultRendererE+0x5d4)[0x3fff86ade1a4]
/usr/local/lib/libtesseract.so.4(_ZN9tesseract11TessBaseAPI12ProcessPagesEPKcS2_iPNS_18TessResultRendererE+0x28)[0x3fff86ade318]
tesseract[0x10002c94]
/lib/powerpc64le-linux-gnu/libc.so.6(+0x2309c)[0x3fff862e309c]
/lib/powerpc64le-linux-gnu/libc.so.6(__libc_start_main+0xb8)[0x3fff862e3298]
======= Memory map: ========
10000000-10010000 r-xp 00000000 08:02 141                                /usr/local/bin/tesseract
10010000-10020000 r--p 00000000 08:02 141                                /usr/local/bin/tesseract
10020000-10030000 rw-p 00010000 08:02 141                                /usr/local/bin/tesseract
10006b40000-10007c40000 rw-p 00000000 00:00 0                            [heap]
3fff85d70000-3fff85d80000 r-xp 00000000 08:02 55008                      /usr/lib/powerpc64le-linux-gnu/libjbig.so.0
3fff85d80000-3fff85d90000 rw-p 00000000 08:02 55008                      /usr/lib/powerpc64le-linux-gnu/libjbig.so.0
3fff85d90000-3fff85dc0000 r-xp 00000000 08:02 181                        /lib/powerpc64le-linux-gnu/liblzma.so.5.0.0
3fff85dc0000-3fff85dd0000 rw-p 00020000 08:02 181                        /lib/powerpc64le-linux-gnu/liblzma.so.5.0.0
3fff85dd0000-3fff85de0000 r-xp 00000000 08:02 28375                      /lib/powerpc64le-linux-gnu/libdl-2.23.so
3fff85de0000-3fff85df0000 r--p 00000000 08:02 28375                      /lib/powerpc64le-linux-gnu/libdl-2.23.so
3fff85df0000-3fff85e00000 rw-p 00010000 08:02 28375                      /lib/powerpc64le-linux-gnu/libdl-2.23.so
3fff85e00000-3fff85e70000 r-xp 00000000 08:02 8914                       /usr/lib/powerpc64le-linux-gnu/libopenjp2.so.2.3.0
3fff85e70000-3fff85e80000 r--p 00060000 08:02 8914                       /usr/lib/powerpc64le-linux-gnu/libopenjp2.so.2.3.0
3fff85e80000-3fff85e90000 rw-p 00070000 08:02 8914                       /usr/lib/powerpc64le-linux-gnu/libopenjp2.so.2.3.0
3fff85e90000-3fff85f10000 r-xp 00000000 08:02 55120                      /usr/lib/powerpc64le-linux-gnu/libwebp.so.5.0.4
3fff85f10000-3fff85f20000 r--p 00070000 08:02 55120                      /usr/lib/powerpc64le-linux-gnu/libwebp.so.5.0.4
3fff85f20000-3fff85f30000 rw-p 00080000 08:02 55120                      /usr/lib/powerpc64le-linux-gnu/libwebp.so.5.0.4
3fff85f30000-3fff85fc0000 r-xp 00000000 08:02 55010                      /usr/lib/powerpc64le-linux-gnu/libtiff.so.5.2.4
3fff85fc0000-3fff85fd0000 r--p 00080000 08:02 55010                      /usr/lib/powerpc64le-linux-gnu/libtiff.so.5.2.4
3fff85fd0000-3fff85fe0000 rw-p 00090000 08:02 55010                      /usr/lib/powerpc64le-linux-gnu/libtiff.so.5.2.4
3fff85fe0000-3fff85ff0000 r-xp 00000000 08:02 235                        /usr/lib/powerpc64le-linux-gnu/libgif.so.7.0.0
3fff85ff0000-3fff86000000 r--p 00000000 08:02 235                        /usr/lib/powerpc64le-linux-gnu/libgif.so.7.0.0
3fff86000000-3fff86010000 rw-p 00010000 08:02 235                        /usr/lib/powerpc64le-linux-gnu/libgif.so.7.0.0
3fff86010000-3fff86090000 r-xp 00000000 08:02 54997                      /usr/lib/powerpc64le-linux-gnu/libjpeg.so.8.0.2
3fff86090000-3fff860a0000 r--p 00070000 08:02 54997                      /usr/lib/powerpc64le-linux-gnu/libjpeg.so.8.0.2
3fff860a0000-3fff860b0000 rw-p 00080000 08:02 54997                      /usr/lib/powerpc64le-linux-gnu/libjpeg.so.8.0.2
3fff860b0000-3fff860e0000 r-xp 00000000 08:02 221                        /lib/powerpc64le-linux-gnu/libpng12.so.0.54.0
3fff860e0000-3fff860f0000 r--p 00020000 08:02 221                        /lib/powerpc64le-linux-gnu/libpng12.so.0.54.0
3fff860f0000-3fff86100000 rw-p 00030000 08:02 221                        /lib/powerpc64le-linux-gnu/libpng12.so.0.54.0
3fff86100000-3fff86120000 r-xp 00000000 08:02 262                        /lib/powerpc64le-linux-gnu/libz.so.1.2.8
3fff86120000-3fff86130000 r--p 00010000 08:02 262                        /lib/powerpc64le-linux-gnu/libz.so.1.2.8
3fff86130000-3fff86140000 rw-p 00020000 08:02 262                        /lib/powerpc64le-linux-gnu/libz.so.1.2.8
3fff86140000-3fff86170000 r-xp 00000000 08:02 1338                       /usr/lib/powerpc64le-linux-gnu/libgomp.so.1.0.0
3fff86170000-3fff86180000 r--p 00020000 08:02 1338                       /usr/lib/powerpc64le-linux-gnu/libgomp.so.1.0.0
3fff86180000-3fff86190000 rw-p 00030000 08:02 1338                       /usr/lib/powerpc64le-linux-gnu/libgomp.so.1.0.0
3fff86190000-3fff86260000 r-xp 00000000 08:02 28374                      /lib/powerpc64le-linux-gnu/libm-2.23.so
3fff86260000-3fff86270000 r--p 000c0000 08:02 28374                      /lib/powerpc64le-linux-gnu/libm-2.23.so
3fff86270000-3fff86280000 rw-p 000d0000 08:02 28374                      /lib/powerpc64le-linux-gnu/libm-2.23.so
3fff86280000-3fff862a0000 r-xp 00000000 08:02 27216                      /lib/powerpc64le-linux-gnu/libpthread-2.23.so
3fff862a0000-3fff862b0000 r--p 00010000 08:02 27216                      /lib/powerpc64le-linux-gnu/libpthread-2.23.so
3fff862b0000-3fff862c0000 rw-p 00020000 08:02 27216                      /lib/powerpc64le-linux-gnu/libpthread-2.23.so
3fff862c0000-3fff86470000 r-xp 00000000 08:02 27212                      /lib/powerpc64le-linux-gnu/libc-2.23.so
3fff86470000-3fff86480000 r--p 001a0000 08:02 27212                      /lib/powerpc64le-linux-gnu/libc-2.23.so
3fff86480000-3fff86490000 rw-p 001b0000 08:02 27212                      /lib/powerpc64le-linux-gnu/libc-2.23.so
3fff86490000-3fff864b0000 r-xp 00000000 08:02 167                        /lib/powerpc64le-linux-gnu/libgcc_s.so.1
3fff864b0000-3fff864c0000 rw-p 00010000 08:02 167                        /lib/powerpc64le-linux-gnu/libgcc_s.so.1
3fff864c0000-3fff866a0000 r-xp 00000000 08:02 198                        /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.21
3fff866a0000-3fff866b0000 ---p 001e0000 08:02 198                        /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.21
3fff866b0000-3fff866c0000 r--p 001e0000 08:02 198                        /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.21
3fff866c0000-3fff866d0000 rw-p 001f0000 08:02 198                        /usr/lib/powerpc64le-linux-gnu/libstdc++.so.6.0.21
3fff866d0000-3fff86a10000 r-xp 00000000 08:02 276                        /usr/lib/powerpc64le-linux-gnu/liblept.so.5.0.3
3fff86a10000-3fff86a20000 r--p 00330000 08:02 276                        /usr/lib/powerpc64le-linux-gnu/liblept.so.5.0.3
3fff86a20000-3fff86a30000 rw-p 00340000 08:02 276                        /usr/lib/powerpc64le-linux-gnu/liblept.so.5.0.3
3fff86a30000-3fff86dc0000 r-xp 00000000 08:02 624                        /usr/local/lib/libtesseract.so.4.0.0
3fff86dc0000-3fff86dd0000 r--p 00380000 08:02 624                        /usr/local/lib/libtesseract.so.4.0.0
3fff86dd0000-3fff86de0000 rw-p 00390000 08:02 624                        /usr/local/lib/libtesseract.so.4.0.0
3fff86de0000-3fff87090000 rw-p 00000000 00:00 0
3fff87090000-3fff870b0000 r-xp 00000000 00:00 0                          [vdso]
3fff870b0000-3fff870f0000 r-xp 00000000 08:02 28371                      /lib/powerpc64le-linux-gnu/ld-2.23.so
3fff870f0000-3fff87100000 r--p 00030000 08:02 28371                      /lib/powerpc64le-linux-gnu/ld-2.23.so
3fff87100000-3fff87110000 rw-p 00040000 08:02 28371                      /lib/powerpc64le-linux-gnu/ld-2.23.so
7733_028.3B 25.40nd terminated by signal 6:00 0                          [stack]

Was this done with local code which allows three arguments for unlvtests/runalltests.sh? The code in git master only allows two arguments.

Yes. I did not want to post code till I had tested it. It seems to be failing on a particular file. I will upload it. On another PC the file is recognized with --psm 3 but fails with --psm 6 which is the one being used in the scripts.

It fails the same way with tessdata_fast and tessdata. So it seems to be a --psm issue. The image was rotated. I do not know whether this is the only one which is rotated in the dataset.

I can reproduce the problem and get this output from Valgrind:
[...]
Page 1
==32503== Conditional jump or move depends on uninitialised value(s)
==32503==    at 0x2B8BB0: tvfscanf(_IO_FILE*, char const*, __va_list_tag*) (scanutils.cpp:486)
==32503==    by 0x2B825A: tfscanf(_IO_FILE*, char const*, ...) (scanutils.cpp:234)
==32503==    by 0x272B01: read_unlv_file(STRING, int, int, BLOCK_LIST*) (blread.cpp:54)
==32503==    by 0x1753CD: tesseract::Tesseract::SegmentPage(STRING const*, BLOCK_LIST*, tesseract::Tesseract*, OSResults*) (pagesegmain.cpp:115)
==32503==    by 0x1363CD: tesseract::TessBaseAPI::FindLines() (baseapi.cpp:2291)
==32503==    by 0x130CF1: tesseract::TessBaseAPI::Recognize(ETEXT_DESC*) (baseapi.cpp:802)
==32503==    by 0x1322D3: tesseract::TessBaseAPI::ProcessPage(Pix*, int, char const*, char const*, int, tesseract::TessResultRenderer*) (baseapi.cpp:1176)
==32503==    by 0x131A84: tesseract::TessBaseAPI::ProcessPagesMultipageTiff(unsigned char const*, unsigned long, char const*, char const*, int, tesseract::TessResultRenderer*, int) (baseapi.cpp:1013)
==32503==    by 0x132052: tesseract::TessBaseAPI::ProcessPagesInternal(char const*, char const*, int, tesseract::TessResultRenderer*) (baseapi.cpp:1129)
==32503==    by 0x131B1E: tesseract::TessBaseAPI::ProcessPages(char const*, char const*, int, tesseract::TessResultRenderer*) (baseapi.cpp:1032)
==32503==    by 0x12E00C: main (tesseractmain.cpp:537)
==32503==  Uninitialised value was created by a stack allocation
==32503==    at 0x272A60: read_unlv_file(STRING, int, int, BLOCK_LIST*) (blread.cpp:41)
==32503==
==32503== Invalid write of size 8
==32503==    at 0x1CF142: block_edges(Pix*, PDBLK*, C_OUTLINE_IT*) (scanedg.cpp:55)
==32503==    by 0x1C628F: extract_edges(Pix*, BLOCK*) (edgblob.cpp:339)
==32503==    by 0x1F7CF1: tesseract::Textord::find_components(Pix*, BLOCK_LIST*, TO_BLOCK_LIST*) (tordmain.cpp:221)
==32503==    by 0x1F5F88: tesseract::Textord::TextordPage(tesseract::PageSegMode, FCOORD const&, int, int, Pix*, Pix*, Pix*, bool, BLOBNBOX_LIST*, BLOCK_LIST*, TO_BLOCK_LIST*) (textord.cpp:239)
==32503==    by 0x17572A: tesseract::Tesseract::SegmentPage(STRING const*, BLOCK_LIST*, tesseract::Tesseract*, OSResults*) (pagesegmain.cpp:171)
==32503==    by 0x1363CD: tesseract::TessBaseAPI::FindLines() (baseapi.cpp:2291)
==32503==    by 0x130CF1: tesseract::TessBaseAPI::Recognize(ETEXT_DESC*) (baseapi.cpp:802)
==32503==    by 0x1322D3: tesseract::TessBaseAPI::ProcessPage(Pix*, int, char const*, char const*, int, tesseract::TessResultRenderer*) (baseapi.cpp:1176)
==32503==    by 0x131A84: tesseract::TessBaseAPI::ProcessPagesMultipageTiff(unsigned char const*, unsigned long, char const*, char const*, int, tesseract::TessResultRenderer*, int) (baseapi.cpp:1013)
==32503==    by 0x132052: tesseract::TessBaseAPI::ProcessPagesInternal(char const*, char const*, int, tesseract::TessResultRenderer*) (baseapi.cpp:1129)
==32503==    by 0x131B1E: tesseract::TessBaseAPI::ProcessPages(char const*, char const*, int, tesseract::TessResultRenderer*) (baseapi.cpp:1032)
==32503==    by 0x12E00C: main (tesseractmain.cpp:537)
==32503==  Address 0xcb151a0 is 512 bytes inside an unallocated block of size 1,101,888 in arena "client"
==32503==
[...]

The code in tvfscanf is buggy for a format string like "%d %d %d %d %*s": it does not handle the "*" correctly.

From the comments in src/ccutil/scanutils.h I see that it was added to have a replacement for fscanf which does not depend on the current locale. We already have problems caused by locale which might be fixed by using that replacement.
So we simply have to fix the implementation in src/ccutil/scanutils.cpp.

https://www.globalyzer.com/gzserver/help/reference/localeSensitiveMethods/fscanf.html

Use the appropriate version of the function as required for internationalization support, noting the following:

Prior to calling one of these functions, ensure that the current locale is set properly by calling setlocale, as string formatting is dependent on the LC_NUMERIC locale category. See String Formatting in C and C++ for a discussion on locale-sensitive formatting in internationalized applications.

Pull request #1648 fixes the bug in tvfscanf. The test scenario still fails, maybe because of a bug in block_edges.

The bug does not depend on the OCR engine. It also happens with old releases (I even tested 3.04.00).

Interestingly, it works with --psm 3.

... and it does not depend on the language. It also fails with eng.traineddata.

Does it happen with other rotated images, too?

Please see https://github.com/tesseract-ocr/tesseract/issues/1651 for results of recognition with rotated images. The program did not crash but recognition is wrong except for image rotated right with --psm 3.

I currently assume that the bug is related to rotated images with an .uzn file, in this case 7733_005.3B.uzn. It looks like the coordinates from the .uzn file are for the original image, but used on a rotated pix, which results in wrong coordinates, notably overflow.

@stweil Thank you for the investigation. So, it is error in the UNLV test data.
We can run the testsuite after deleting this filename from the pages file. I am making a few changes to the script, since there is no 1995 data for Spanish for comparison.
Should I change the --psm in the script to be 3 or 1 rather than 6?

unlv config file
tessedit_write_unlv 1
tessedit_pageseg_mode 6

So the psm should be 6 only.

Any of the UNLV test images produces the same error if I change the corresponding .uzn file to use illegal box dimensions. Pull request #1655 catches such cases.

I now looked on the image for the first time. It does not need rotation, but Leptonica obviously rotates it (why?). That causes a mismatch with the .uzn file.

Converting the original image to .png and then back to .tif results in an image which is processed without problems.

I opened the .tif in irfanview and it shows rotated.

I used Gimp which reports a width of 3312 pixel. So do other commands:
$ file ISRI-OCRtk/spn.3B/3/7733_005.3B.tif
ISRI-OCRtk/spn.3B/3/7733_005.3B.tif: TIFF image data, big-endian, direntries=16, height=2560, bps=1, compression=bi-level group 4, PhotometricIntepretation=WhiteIsZero, name=UNLV-ISRI-01, description=Converted: Tue Nov 15 08:58:17 1994, orientation=upper-right, width=3312
$ tiffinfo /home/stweil/ISRI-OCRtk/spn.3B/3/7733_005.3B.tif
TIFF Directory at offset 0x38b3e (232254)
  Subfile Type: (0 = 0x0)
  Image Width: 3312 Image Length: 2560
  Resolution: 300, 300
  Bits/Sample: 1
  Compression Scheme: CCITT Group 4
  Photometric Interpretation: min-is-white
  Orientation: row 0 rhs, col 0 top
  Samples/Pixel: 1
  Rows/Strip: 2560
  Planar Configuration: single image plane
  DocumentName: UNLV-ISRI-01
  ImageDescription: Converted: Tue Nov 15 08:58:17 1994

I had downloaded the tar file for Spanish from code.google archive, since @zdenop's alt site on sourceforge was showing a very small file size for this. (See Readme.md for details).
Since saving file as PNG and again as tif fixes the problem, I'll suggest that Zdenko recreate the tar file for sourceforge. Then we can use that as source for testing.
@stweil Thank you for troubleshooting this and also fixing couple of other bugs along the way.

I now analysed all TIFF files from the UNLV tests. 7733_005.3B.tif is the only one which has explicit orientation information. The funny thing is that this orientation information just says to use the default orientation (1). Therefore I would expect that neither Irfanview nor Leptonica should rotate it. Maybe @DanBloomberg knows why Leptonica rotates this image.

I misinterpreted the output from tiffdump. The orientation of the image is not 1, but 6, which says the image should be rotated and vertically flipped. So Leptonica does the right thing, but the orientation tag in the image is wrong.

@stweil Is it ok to close this issue now?

Yes, thank you.


Error creating load balancer

Rancher versions:
rancher/server: v1.6.11
Infrastructure Stack versions:
kubernetes: rancher/k8s:v1.8.3-rancher2
Operating system and kernel:
RancherOS v1.1.0 (4.9.45)
Type/provider of hosts:
AWS
Setup details:
Full HA AWS external DB
Environment Template:
Kubernetes (aws cloud provider)
Steps to Reproduce:
Follow the steps in the docs to add an ELB load balancer service:
https://rancher.com/docs/rancher/v1.6/en/kubernetes/providers/#elastic-load-balancer-elb-as-a-kubernetes-service
Results:
Error creating load balancer (will retry): Failed to ensure load balancer for service default/nginx-lb: Multiple tagged security groups found for instance i-0df*****; ensure only the k8s security group is tagged
Found this: https://github.com/kubernetes/kubernetes/issues/26787

I will add that it creates the ELB with the tag:
kubernetes.io/service-name | default/nginx-lb
Is rancher/k8s supposed to add some tags to the hosts automatically?

To report back in, this happens if choosing multiple security groups during host set up. Recreating the hosts with a single security group fixed the problem. I will leave the issue open as I still think its a bug.

Thanks for pointing out that you had to actually recreate the hosts rather than just clean up the security groups @truedat101 . That save me some time when I found this issue.

Do I need to remove only the workers and then re-add them using the custom add host?  Didn't seem to work. Or do I need to re-add every single host in the k8s cluster?

@stonefury you have to add the hosts with a single security group during host set up. First fix a security group that covers your needs, then just do a clone on your existing hosts but use only the single security group. When the clone is up, drop the broken instance. Rinse and repeat until done. Should work.

@7wonders really appreciate your advice.  I have it working.  I created a brand new cluster with EC2 instances with only 1 sg, and that worked fine.
My existing cluster, I created new EC2 instances with one security group and added them and that worked too.  Actually I had rancher provision the EC2 instance for me and generate it's own security group, and that worked. I could create the elb after that.

Thanks for your report!
With the release of Rancher 2.0, development on v1.6 is only limited to critical bug fixes and security patches.
If you think we should keep this issue open, please let me know.


[R-package] silence more logs in unit tests

Contributes to #4862.
This PR proposes additional changes to silence logs in the R package's tests.
Notes for Reviewers
As of #5209, it's safe to change the verbosity in calls to lightgbm() without worrying about validation and early stopping.
Using the following code, I found that this PR reduces the output of the R package's tests from 636 lines to 73 lines.
sh build-cran-package --no-build-vignettes
R CMD INSTALL --with-keep.source ./lightgbm_<IP_ADDRESS>.tar.gz
cd R-package/tests
Rscript testthat.R > ../../out.log 2>&1
echo "log lines from tests: $(cat ../../out.log | wc -l)"

I see what looks like a bunch of networking-related issues across different R CI jobs.
r-package (windows-latest, MINGW, R 3.6, cmake) (build link)
Downloading https://cran.r-project.org/bin/windows/base/old/3.6.3/R-3.6.3-win.exe
Invoke-WebRequest: D:\a\LightGBM\LightGBM\.ci\test_r_package_windows.ps1:12
Line |
  12 |      Invoke-WebRequest -Uri $url -OutFile $destfile
     |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | No connection could be made because the target machine actively refused it.

r-sanitizers (ubuntu-latest, R-devel, gcc ASAN/UBSAN) (build link)
Warning: unable to access index for repository https://cran.r-project.org/src/contrib:
  cannot open URL 'https://cran.r-project.org/src/contrib/PACKAGES'

And I see CRAN unavailable from my laptop as well.
curl -I cran.r-project.org
# curl: (7) Failed to connect to cran.r-project.org port 80: Connection refused

curl -I http://cran.r-project.org
# curl: (7) Failed to connect to cran.r-project.org port 80: Connection refused

curl -I https://cran.r-project.org
# curl: (7) Failed to connect to cran.r-project.org port 443: Connection refused

I think CRAN may be down.

I think CRAN may be down.

Yeah, it seems so. Still down...

Looks like it is STILL down 😫
Dirk makes a good point in https://stat.ethz.ch/pipermail/r-devel/2022-May/081749.html...other mirrors exist. I'm going to push a commit proposing switching to https://cran.rstudio.com/, which is up right now and which I expect might continue to have higher availability, since it is backed by a for-profit company and presumably supported by an on-call support staff.

Just update this to latest master now that #5230 has been merged. That should help with CI. Will merge this if CI jobs all pass.


C# encode to a given array

This is the implementation for what was discussed in: #144
Sorry this took me longer to get to than I had hoped. The final result was a little different than what I original speced out. Here's what's implemented:
New overloads for BebopWriter.Create()

BebopWriter.Create(int initialCapacity)

Creates a new byte[] buffer with a size equal to initialCapacity

BebopWriter.Create(byte[] buffer)

Uses the input buffer when encoding

C# Compiler creates a new EncodeIntoBuffer(byte[] outBuffer) method for each record (along with a static version like the normal Encode() method)

EncodeIntoBuffer() is given a byte[] to write out the seralized record into. If outBuffer is not big enough to hold the final serialized message, it is expanded like a normal call to Encode(). ie a new byte[] object is allocated and copied to.
Return type is different from Encode(). Returns instance of readonly struct BebopWriteResult
BebopWriteResult has 3 properties

Result

Enum of type WriteResult
Value will either be Success or SuccessButGrewBuffer

Written

How many bytes were written to the buffer

Buffer

Reference the the buffer with the final serialized message
If encoded into a given buffer, and the entire message fit into that buffer, this is the same reference to the input buffer
If the message did not fit into the original buffer and it was grown, ie a new byte[] object was allocated, Buffer is a reference to that new array

There are also some Benchmarks added to show the new functionality.

@AndrewMD5 Feel free to give it another review. I changed how this is implemented. The constructor to BebopWriter takes a boolean flag to know if it's allowed to resize. If it can't, it throws an exception. I removed the struct/enum that returned a result of the write since now any return is valid.

@AndrewMD5 Feel free to give it another review. I changed how this is implemented. The constructor to BebopWriter takes a boolean flag to know if it's allowed to resize. If it can't, it throws an exception. I removed the struct/enum that returned a result of the write since now any return is valid.

Sorry for the late review! Only one change requested and then it LGTM

Looks like test are failing @ProgrammerAl
The build failed. Fix the build errors and run again.
   Compiling bebop v0.1.0 (/home/runner/work/bebop/bebop/Runtime/Rust)
   Compiling integration-testing v0.1.0 (/home/runner/work/bebop/bebop/Laboratory/Integration/Rust)
    Finished dev [unoptimized + debuginfo] target(s) in 7.73s
     Running `Rust/target/debug/examples/encode`
Testing that all implementations can decode all encodings...
rs.enc
memory allocation of<PHONE_NUMBER>04 bytes failed
cs.enc
Rust failed to decode decode c#.
cpp.enc
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1180,33): error CS0508: 'Album.EncodeImmutably(int)': return type must be 'ImmutableArray<byte>' to match overridden member 'BaseBebopRecord.EncodeImmutably(int)' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1130,22): error CS0534: 'Album' does not implement inherited abstract member 'BaseBebopRecord.EncodeIntoBuffer(byte[])' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]

The build failed. Fix the build errors and run again.
C# decode failed.
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1180,33): error CS0508: 'Album.EncodeImmutably(int)': return type must be 'ImmutableArray<byte>' to match overridden member 'BaseBebopRecord.EncodeImmutably(int)' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1130,22): error CS0534: 'Album' does not implement inherited abstract member 'BaseBebopRecord.EncodeIntoBuffer(byte[])' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]

The build failed. Fix the build errors and run again.
C# failed to decode rust.
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1180,33): error CS0508: 'Album.EncodeImmutably(int)': return type must be 'ImmutableArray<byte>' to match overridden member 'BaseBebopRecord.EncodeImmutably(int)' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1130,22): error CS0534: 'Album' does not implement inherited abstract member 'BaseBebopRecord.EncodeIntoBuffer(byte[])' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]

The build failed. Fix the build errors and run again.
C# failed to decode c++.
Offset is outside the bounds of the DataView
TypeScript failed to decode c#.
terminate called after throwing an instance of 'bebop::MalformedPacketException'
  what():  malformed Bebop packet
C++ failed to decode c#
Error: Process completed with exit code 1.

Looks like test are failing @ProgrammerAl
The build failed. Fix the build errors and run again.
   Compiling bebop v0.1.0 (/home/runner/work/bebop/bebop/Runtime/Rust)
   Compiling integration-testing v0.1.0 (/home/runner/work/bebop/bebop/Laboratory/Integration/Rust)
    Finished dev [unoptimized + debuginfo] target(s) in 7.73s
     Running `Rust/target/debug/examples/encode`
Testing that all implementations can decode all encodings...
rs.enc
memory allocation of<PHONE_NUMBER>04 bytes failed
cs.enc
Rust failed to decode decode c#.
cpp.enc
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1180,33): error CS0508: 'Album.EncodeImmutably(int)': return type must be 'ImmutableArray<byte>' to match overridden member 'BaseBebopRecord.EncodeImmutably(int)' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1130,22): error CS0534: 'Album' does not implement inherited abstract member 'BaseBebopRecord.EncodeIntoBuffer(byte[])' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]

The build failed. Fix the build errors and run again.
C# decode failed.
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1180,33): error CS0508: 'Album.EncodeImmutably(int)': return type must be 'ImmutableArray<byte>' to match overridden member 'BaseBebopRecord.EncodeImmutably(int)' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1130,22): error CS0534: 'Album' does not implement inherited abstract member 'BaseBebopRecord.EncodeIntoBuffer(byte[])' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]

The build failed. Fix the build errors and run again.
C# failed to decode rust.
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1180,33): error CS0508: 'Album.EncodeImmutably(int)': return type must be 'ImmutableArray<byte>' to match overridden member 'BaseBebopRecord.EncodeImmutably(int)' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]
Error: /home/runner/work/bebop/bebop/Laboratory/Integration/schema.cs(1130,22): error CS0534: 'Album' does not implement inherited abstract member 'BaseBebopRecord.EncodeIntoBuffer(byte[])' [/home/runner/work/bebop/bebop/Laboratory/Integration/IntegrationTesting.csproj]

The build failed. Fix the build errors and run again.
C# failed to decode c++.
Offset is outside the bounds of the DataView
TypeScript failed to decode c#.
terminate called after throwing an instance of 'bebop::MalformedPacketException'
  what():  malformed Bebop packet
C++ failed to decode c#
Error: Process completed with exit code 1.

Looks like I didn't enable this functionality for Unions. Got that in the latest commit and added a union type to one of the schemas so this isn't missed again in the future.


feat(module:tag): borderless mode

PR Checklist
Please check if your PR fulfills the following requirements:

[✔] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[✔] Tests for the changes have been added (for bug fixes / features)
[✔] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[✔] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?
Ant design provides a borderless mode for its tag component, which is not available in ng-zorro.
What is the new behavior?
Implemented borderless mode for tag component.
Does this PR introduce a breaking change?
[ ] Yes
[✔] No

Other information

make pass the linter

Thank you for checking my pr.
Linter problems are now fixed.


fixing javadocs

This PR fixes the Java doc build for the website.

Interesting. Thanks for looking!
On Sat, Jun 6, 2020 at 12:19 PM Nicholas Nezis<EMAIL_ADDRESS>wrote:

@nicknezis commented on this pull request.
In
examples/src/java/org/apache/heron/examples/streamlet/SimplePulsarSourceTopology.java
https://github.com/apache/incubator-heron/pull/3536#discussion_r436293741
:

to you under the Apache License, Version 2.0 (the

"License"); you may not use this file except in compliance

with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,

software distributed under the License is distributed on an

"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

KIND, either express or implied.  See the License for the

specific language governing permissions and limitations

under the License.

*/

-package org.apache.heron.examples.streamlet;
Interesting. I was able to recreate the issue. Apparently at some point I
had run bazel build --config=darwin examples/src/java/... and that made
the problem go away. After running bazel clean --expunge, the issue came
back. I'll keep looking into it.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-heron/pull/3536#discussion_r436293741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQPBH54OOQTGP7M2ORQCTTRVKJEJANCNFSM4NVGCYKQ
.

Cool. Let me try to build again!
On Sun, Jun 7, 2020 at 5:56 AM Josh Fischer<EMAIL_ADDRESS>wrote:

Merged #3536 https://github.com/apache/incubator-heron/pull/3536 into
master.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-heron/pull/3536#event-3416460933,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQPBHYNI5BOUUUQLB4VG6TRVOFBDANCNFSM4NVGCYKQ
.


Lavalink link broken

https://docs.rs/songbird/0.1.8/songbird/index.html is linking to lavalink at https://github.com/Frederikam/Lavalink which is dead.

https://github.com/freyacodes/Lavalink
this is the new link btw


Prepare Pydicer documentation outline and overview

Outline of documentation provided for PyDicer (list examples etc).

Hey team! Please add your planning poker estimate with Zenhub @anees-amir @fahimirfanalam @LoisHolloway @pchlap

Proposed documentation outline:

Home
Examples

Getting Started
Working with Converted Data
Dataset Cleaning
Data Analysis
nnUNet Training
Auto-segmentation Inference

Guides

Configuration

Developers

Contributing
Code of Conduct

Reference
Input

Configuration
Preprocessing
Conversion
Visualisation
Dataset Preparation
Generation
Analyse


iOS 14 Beta 4 & 5 crash

When scrolling through MoviesList or MovieDetail, the app crashes: Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [inf nan]

This seems like a bug with SwiftUI, can anyone else confirm?

@Dimillian This crash still exists on iOS 14 Beta 5. Do you know if this is a SwiftUI issue or issue with the app itself?

@Dimillian Any idea on why this might be happening?

@Dimillian Any idea on a fix? I'm trying to build a similar app to learn SwiftUI and my app is also crashing because of this.

I don't have any idea for now, I guess store update across the app don't play nice anymore :/ I'll try to take time to dig into it later on.

@Dimillian Ok thank you. Could this be a SwiftUI issue, should I spend some time trying to fix it or could it be fixed on a future Beta?

Fixed in Beta 6.


Create Entity requires disambiguationCallId. Update casing and name c…

…hange

https://app.shortcut.com/golden/story/22988/update-godel-both-to-return-the-disambiguation-token-to-the-user-after-disambiguation-and-to-allow-the-user-to-provide-the


How to determine X/Y coordinates of a mouse click (or double click)

Hello guys,
I would like to ask you if is possible somehow select particular point on HeatMap. Better, double click on point to get X, Y coords of this point.
Additional question. Is possible to have, let's say circle heatmap where points outside of circle will not affect with their values the intensity of of color points inside circle. In other words, I don't want points from outside the circle to have impact on the coloring inside the circle. Is possible to have them for example vith value Double.NaN?
thank you very much.
BR.
kali

Hey @kalikadze, I think I can help you out here!
Determine Mouse Position When Clicked
Catch the MouseClicked event triggered by the FormsPlot control. You could do the same thing with the double click event.

public Form1()
{
    InitializeComponent();
    formsPlot1.plt.PlotSignal(ScottPlot.DataGen.Sin(51));
    formsPlot1.plt.PlotSignal(ScottPlot.DataGen.Cos(51));
    formsPlot1.Render();
}

private void formsPlot1_MouseClicked(object sender, MouseEventArgs e)
{
    double x = formsPlot1.plt.CoordinateFromPixelX(e.X);
    double y = formsPlot1.plt.CoordinateFromPixelY(e.Y);
    Text = $"Clicked X={x} Y={y}";
}

The window title shows the mouse position after every click
"Hidden" Values in Heatmaps
It sounds like your goal is to plot a rectangular heatmap where not every square has data. You could get creative with a custom colormap (where the lowest color is Color.Transparent), but that sounds somewhat complex.
I like the idea of Double.NaN being ignored and not rendered though. @Benny121221 you work a lot with these heatmaps, what do you think? I see #667 is being actively developed, maybe this is a good feature to sneak in with that PR?

I'll close this issue but @Benny121221 feel free to open a new issue / discussion / PR if you want to discuss the heatmap topic further

I like the idea of Double.NaN being ignored and not rendered though.

I'm unsure what you mean, do you want NaN values to be mapped to the lowest intensity colour? Or mapped to transparent? Currently, the occurrence of any NaN value breaks the heatmap (every pixel is mapped to the lowest intensity colour). Personally
I'm unsure that either makes sense for NaN, and I think the best idea is to replace them with a more appropriate value (the minimum of the heatmap if one wants the lowest intensity colour, and a sentinel such as double.NegativeInfinity if one wants transparency). Note that if one wants transparency one needs to use the transparencyThreshold parameter. You could also set every NaN value to double.NegativeInfinity and use scaleMin if you want the clipping behaviour.
I'm very hesitant to hand down an interpretation of NaN as a real (or in the case of infinities, a hyperreal) number, especially if that interpretation would conflict with the rest of the library (where NaN is treated as an error). For example, I believe NaN came up in a previous issue and it broke someones signal plot. The solution there was not to quietly treat NaN as just another number (or even remove the NaN value and continue plotting as normal), it was to add diagnostic capabilities to prevent NaN from finding it's way into a signal plot #546.
In case you're curious, the reason NaN breaks heatmaps is because by definition (in IEEE 754) NaN > x and NaN < x will always return false, for all values of x. As you can imagine that makes finding the maximum and minimum difficult, which means the heatmap cannot be normalized properly.

I like the idea of Double.NaN being ignored and not rendered though.

I'm unsure what you mean, do you want NaN values to be mapped to the lowest intensity colour? Or mapped to transparent?

I was thinking normalized intensities would contain NaNs for empty data points, so a NaN check before DrawRectangle() would allow only non-NaN points to be rendered

set every NaN value to double.NegativeInfinity and use scaleMin if you want the clipping behaviour

That sounds like a fine solution as well!

I believe NaN came up in a previous issue and it broke someone's signal plot.
The solution there was...

How I treat NaN in data has changed a bit with time and experience. The direction I'm going now is that I try to throw an exception ASAP if NaN is detected in plottables (like Signal and Scatter) which do not support them.
I think it would be ok to disallow NaN in some plottables but permit others, so it's up to you if you prefer NaN, Infinity, or something else (bool[,] Visible?)

by definition (in IEEE 754) NaN > x and NaN < x will always return false, for all values of x. As you can imagine that makes finding the maximum and minimum difficult, which means the heatmap cannot be normalized properly.

I write safer (albeit marginally slower) code using Math.Min() and Math.Max() for comparisons where input data could contain NaN. Those methods return NaN if either of the inputs is NaN, so NaNs propagate through the system. If you decide that NaN is forbidden, this is a good way of simultaneously finding min/max and detecting if NaN is in an array.

the best idea is to replace [NaN] with a more appropriate value [Infinity]

I like this idea! This way we accept NaN but replace it quickly and work with NegativeInfinity. What do you think?

the best idea is to replace [NaN] with a more appropriate value [Infinity]

I like this idea! This way we accept NaN but replace it quickly and work with NegativeInfinity. What do you think?

I meant replace NaN in user code... That's why I listed two possible "appropriate values", negative infinity, and the min of the given data. I think depending on the desired behaviour, both could be appropriate.
Worth noting that negative infinity would break heatmaps as well without a user-defined scaleMin, so negative infinity doesn't solve the problem where heatmaps cannot determine a real min and max, which leads to them rendering as all one colour (in the case of NaNs and positive infinity it's the minimum intensity, in the case of negative infinity its the maximum intensity, and in the case of negative and positive infinity I'm not actually sure as I didn't bother to test which effect is "stronger").
So in my opinion, if NaN is silently replaced with negative infinity it still leads to a broken plot in most cases (those without a non-null scaleMin), while still having the problem where we axiomatically define something which is by definition not a number to be a number.
Negative infinity does have the benefit that it's still a "wonky" number, and while debugging a user who sees negative infinity is going to think "huh, I guess I gotta do some checks on what numbers I pass in", whereas if they see the minimum of the numbers they passed in they're unlikely to notice it.
I still think the best solution is to not accept NaN, throwing immediately if possible (and if not add a ValidateData method to scan for NaN when called). Heatmaps already have support for transparency so I don't see the need to create a (in my opinion) hacky workaround. That being said, I'm noticing that the transparency threshold acts as if it's much lower than it is, I made a PR to fix it: #668

Hey @Benny121221, thanks for your input! It's a recurring pattern that missing data and magic floating-point numbers really complicate plotting...
What do to with NaN

if NaN is silently replaced with negative infinity it still leads to a broken plot

I still think the best solution is to not accept NaN, throwing immediately if possible

I agree! I'm guessing the best thing to do is check every value of intensities for NaN right at the top of this method? Depending on what you think you can add it in #668 or I can add the check myself after merging it.
https://github.com/swharden/ScottPlot/blob/5cbf9262001a539c34bb9a5b9aca691b5ef483a7/src/ScottPlot/Plottable/Heatmap.cs#L37-L38
The OP's goal

Heatmaps already have support for transparency so I don't see the need to create a (in my opinion) hacky workaround

@kalikadze originally asked "let's say circle heatmap where points outside of circle will not affect with their values the intensity of of color points inside circle". What is the recommended way to display such this data into the heatmap? Create a 2D array of values and set all the "empty" values to a number lower than TransparencyThreshold?
Until I hear otherwise I'll assume @kalikadze is monitoring control rod temperatures in a nuclear reactor. It's the only reason I can think of to have a circular heatmap 🙃

Create a 2D array of values and set all the "empty" values to a number lower than TransparencyThreshold?

Yep, that's the best way to do it. Please note that TransparencyThreshold is broken, this is fixed in #668.

Hello guys,
thank you for your perfect inputs! Meanwhile i started to finding solution for my problem, and i finish up with something similair like you proposed there :)
I tried to find some way how to vizualize data from silicon wafers. So, i don't messing up  with a nuclear reactor :D

I did it as you said, yesterday evening :)
Started with a double  array [,], init with values double.MinVal (using this like null or invalid data), then I filled up with my measured data (circular shape), All invalid values are set sligthly below min value (depends on range of max-min), then visualisation threshold is set also mear to min value a but a bit higher as a "invalid data", then setup scale and result you can see above.
In circle are also sometimes invalid data, so then are displayed transparent spots here.
Then i need to determine x/y from chart, and you answer was really helpfull for me, because for now i did not have solution.
Anyway, i am really thanks for your perfetcs inputs and for scottplot, its an amazing tool.
Now i see, you don't want using NaN values in data, and how about nullble double? Is possible, that plot will just ignorate nullable doubles? Perhaps you already coming through this discussion, i am just curious :)
Because i noticed now in version <IP_ADDRESS> runchart (plot) does not accept NaN (it was accepted in 42 version, which i used before) and i think it will be great to have possibility in chart for null data (just ignore record and create a gap in plot) But maybe the realization is not so easy as my imagination :)
Thanks guys ;)
kali

Now i see, you don't want using NaN values in data, and how about nullble double? Is possible, that plot will just ignorate nullable doubles? Perhaps you already coming through this discussion, i am just curious :)

This isn't too difficult, in #457 I dismissed the idea, although I cannot find why. I think the transparency threshold idea is tailored more to overlaying a heatmap over an image, for example in this image from #424

The low intensity values are transparent to allow whats beneath show through. In your case, it's not that you want to show only high intensity values, it's that you don't have values there, and the transparency thresholding is a workaround. So, I decided to add it to #668.

Hi Benny, thanks for it. I think it will be great to have double? as data source for case, that som part of data is ommitted.
Thank you. Have a nice day.
kali


Let xtras::spawner::Actor manage ping tasks

Fixes https://github.com/itchysats/itchysats/issues/2051.
It does so by spawning the ephemeral ping tasks via the xtras::spawner::Actor (as opposed to using Tasks directly). This
actor will clean up the task handles internally when they are no longer needed.
We are still able to tie the lifetime of theses tasks to the lifetime of the ping::Actor because:

Actors are dropped when all their (strong) xtra::Addresses are dropped.
We store the only (strong) xtra::Address to the spawner::Actor inside of ping::Actor.

This means that whenever ping::Actor is dropped, the last xtra::Address<spawner::Actor, Strong> is dropped, stopping all the ongoing tasks that were spawned through it.

I don't think that the additional layer of abstraction is helpful (the Spawner). It has somewhat cumbersome API and just hides away the fact that things are being spawned in separate futures.
The TaskMap could be used directly, with less overhead and same benefits.
That said, thanks for adding TaskMap!

thanks for incorporating these changes,  it looks much nicer! I suspect we could get away without xtra::Actor abstraction, I'll try to give it a stab in the morning! (same idea that you came up with  but instead of Actor just modified version of Tasks that wraps futures with a send from mpsc channel back to some tokio::select! macro.
Main motivation is that it would make the starting easier (no need for Option<>) and it would remove the somewhat antipattern of routinely dispatching things back to ourselves - with a lot of tasks, the actor mailbox could become a bottleneck.
I'll write a POC in the morning, and will link it here!

bors r+


Event refactor

About the PR
The gist:

StationEvent converted into abstract entity system inheritor
Removes ugly IStationEventManager and the old events window (in favor of the commands). Window will be reimplemented later even better with dynamic
Adds autocompletions to game rule commands
Reworks old station event test into a generic all game rules test
Gameticker now keeps track of all events that have been added
Station events are now full game rules in their own right, with data defined in their game rule configuration

Since station events are now game rules, you can run multiple events at the same time (not multiple of the same one tho) and they can be added with the same commands

Decouples management of events (now handled by gameticker since they're just rules) from how events are scheduled

BasicStationEventScheduler is the old impl based on /tg/, and it is now also a game rule
Presets now have to specify the event scheduler they use by putting it in their rules. Consequently, sandbox/sussy/traitordm etc no longer have events run.

This is a hard prereq for dynamic since I want to write my own event schedulers for that and dynamic will use a lot of the same gamerule stuff
Fixes #9462
Fixes #8174

ready for review