Add quantized version of nms

This PR introduces the forward pass of quantized nms on CPU.

@fmassa this is still WIP but a first pass would be helpful to make sure this is going in the right direction :)
As far as I can tell from a quick snippet below, the results seem to be consistent with that of the non-quantized version:

quick test
import torch
import numpy as np
from torchvision import ops

def create_tensors_with_iou(N, iou_thresh):
    # taken from test_ops. Makes sure at least one box should be removed
    # Note: this might not actually happen as we convert to ints but should be
    # the case most of the time
    boxes = torch.rand(N, 4) * 100
    boxes[:, 2:] += boxes[:, :2]
    boxes[-1, :] = boxes[0, :]
    x0, y0, x1, y1 = boxes[-1].tolist()
    iou_thresh += 1e-5
    boxes[-1, 2] += (x1 - x0) * (1 - iou_thresh) / iou_thresh
    scores = torch.rand(N) * 100
    return boxes, scores

n_removed = 0
for seed in range(1000):
    torch.manual_seed(seed)
    for iou_threshold in (.5, .8, .9):

        n_boxes = 200
        boxes, scores = create_tensors_with_iou(n_boxes, iou_threshold)

        # use integer values and clamp to the quint8 range for a fair comparison
        boxes = boxes.to(torch.int).to(torch.float).clamp(0, 255)
        scores = scores.to(torch.int).to(torch.float).clamp(0, 255)

        qboxes = torch.quantize_per_tensor(boxes, scale=1, zero_point=0, dtype=torch.quint8)
        qscores = torch.quantize_per_tensor(scores, scale=1, zero_point=0, dtype=torch.quint8)

        keep = ops.nms(boxes, scores, iou_threshold)
        qkeep = ops.nms(qboxes, qscores, iou_threshold)

        n_removed += (boxes.size(0) - keep.size(0))
        assert (keep == qkeep).all()

print(f"looks good. Removed {n_removed} boxes in total")

This is a great starting point!
A few things I think would be good to do next:

add tests
try seeing if it's possible to remove the dequantize_val calls, as for the operations we do here the scale and zero_point can be factored out and might get cancelled in most locations

Thanks for the review @fmassa!
Regarding using an int type higher than int8: there are different quantized dtypes, the biggest one being torch.qint32. Should we use long instead of float then?
Regarding malformed boxes and the risk of overflow, there was a similar discussion in https://github.com/pytorch/vision/issues/2582 (see in particular https://github.com/pytorch/vision/issues/2582#issuecomment-783404716). I realize https://github.com/pytorch/pytorch/issues/36853 was just closed so I'll try to submit another PR with the enforcement on the Python side so that the function can't be called from Python on degenerate boxes. Do we still need to take care of degenerate boxes on the C++ side?

I would recommend first opening an issue to discuss adding torch.assert_async to torchvision, as assert_async can make the CUDA context invalidated in case of asserts (so the user would need to restart the runtime).

Do we still need to take care of degenerate boxes on the C++ side?

We don't currently handle degenerate boxes at all in the implementation. My comments were about underflows that can happen due to the unsigned type being used.

@fmassa what's the rationale behind enforcing the same results between float nms and qnms on degenerate boxes?
The docstring of nms is quite clear regarding the expected format:

boxes (Tensor[N, 4])): boxes to perform NMS on. They are expected to be in (x1, y1, x2, y2) format with 0 <= x1 < x2 and 0 <= y1 < y2.

From my understanding, that means that the results are undefined on degenerate boxes, so for now I don't see a reason to enforce consistency on undefined results. But perhaps I'm missing something?
I think that the correct way to go would be to validate the boxes in Python before they're passed to the C++ functions. Whether we can use assert_async is not clear yet, but maybe we could at least do the validation for CPU tensors? That would prevent any inconsistency between float nms and qnms as qnms only supports CPUs anyway.

From my understanding, that means that the results are undefined on degenerate boxes, so for now I don't see a reason to enforce consistency on undefined results. But perhaps I'm missing something?

It's to avoid surprises to the user. But let's not worry about that now then, and just put a comment in the code saying that there might be underflow happening

I updated the PR to explicitely use floats for temp variables storing the coordinates. This has a (very) minimal memory overhead over using [u]int[8] (leaving variable declarations with auto), but allows the compiler to produce vectorized instructions which significantly improves computation time. In addition this completely avoids underflows (which IMHO don't even happen anyway https://github.com/pytorch/vision/pull/3601#discussion_r603290629). On a small benchmark over 500 boxes:
nms on floats:
386 µs ± 12.3 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

qnms on qint32 with explicit auto declaration:
2.06 ms ± 84.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

qnms on qint32 with explicit float declration
399 µs ± 11.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

Similar improvements are observed on the other quantized dtypes.
Overall I observed that qnms is slightly slower than nms, but still of the same order of magnitude. Note that  it's not unexpected for a quantized version to be slower than its non-quantized counterpart. For example hardsigmoid on a 10 000 long tensor gives:
float 3.75 µs ± 50 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
quint8 5.59 µs ± 314 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
qint8 5.32 µs ± 295 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
qint32 44.9 µs ± 1.21 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)


Update Azure Resource Management Core Readme File

Fix issue https://github.com/Azure/azure-sdk-for-net/issues/24922
@scottaddie, @AlexGhiondea, @archerzz for notification.

@scottaddie, @AlexGhiondea, @archerzz  Please help review this PR.

@scottaddie Please help us merge this PR. Thanks.

@archerzz  Do you have permission to merge this PR? If so, please help me merge.


Noetic-devel catkin_make issue

When I try to catkin_make I am getting the following error:
error: ‘class teb_local_planner::TebLocalPlannerReconfigureConfig’ has no member named ‘selection_dropping_probability’
There are identical errors for other members and when I check TebLocalPlannerReconfigure.cfg, they seem to be there.
Any idea what I am doing wrong?
Thank you

Figured out the problem. I had sudo apt-get it before and that was causing issues. Uninstalled it and now it builds fine.


LSTM: Training: Can lstmtraining make full use of CPU?

Hi.

I have installed Tesseract: 4.00.00alpha with Leptonica: 1.74.2. (including training tools) on Ubuntu Server 16.04 LTS

I am training a chi_sim model from scratch. However,  lstmtraining cannot make full use of CPU. It only takes (500%~600%) / 2800% . Command line as follow:
tesseract-master/training/lstmtraining \
  --traineddata $dir/traineddata
  --net_spec '[1,48,0,1 Ct3,3,16 Mp3,3 Lfys64 Lfx96 Lrx96 Lfx512 O1c111]' \
  --model_output $checkpoint \
  --learning_rate 20e-4 \
  --train_listfile $train_listfile \
  --eval_listfile $eval_listfile \
  --max_image_MB 30000 \
  --max_iterations 600000

Thank you!

Please use the latest code beta.1 and check whether you get same amount of
resource usage.
On Sat 17 Mar, 2018, 11:40 PM 530154436<EMAIL_ADDRESS>wrote:

Hi.

I have installed Tesseract: 4.00.00alpha with Leptonica: 1.74.2.
(including training tools) on Ubuntu Server 16.04 LTS

I am training a chi_sim model from scratch. However, lstmtraining cannot
make full use of CPU. It only takes (500%~600%) / 2800% . Command line
as follow:
tesseract-master/training/lstmtraining
--traineddata $dir/traineddata
--net_spec '[1,48,0,1 Ct3,3,16 Mp3,3 Lfys64 Lfx96 Lrx96 Lfx512 O1c111]'
--model_output $checkpoint
--learning_rate 20e-4
--train_listfile $train_listfile
--eval_listfile $eval_listfile
--max_image_MB 30000
--max_iterations 600000
[image: question]
https://user-images.githubusercontent.com/24240399/37558626-742711fc-2a51-11e8-96d0-c9140c1836b0.png
Thank you!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/1397, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AE2_o3SdeHqlXQOEW_KD5kMlzGyQsjj9ks5tfVGcgaJpZM4Su58o
.

@Shreeshrii  I have updated source code to tesseract 4.0.0-beta.1，but still get same amount of
resource usage.

@stweil Any suggestions.
I remember there being another similar issue.

Tesseract 4 uses a fixed number of threads for parts of the training process. Therefore no, it won't make full use of a CPU with 28 cores, at least not with the current code. It would need a more detailed analysis to check whether using more cores could speed up the training. Maybe memory bandwidth is the limiting factor, then only reducing the data size (float instead of double) would help.

@Shreeshrii @stweil  Okay, thank you very much!

@zdenop  Label with
4.0x
LSTM training
Performance

@530154436 @Shreeshrii @stweil  Hi I have a question . I type --net_spec '[1,48,0,1 Ct3,3,16 Mp3,3 Lfys64 Lfx96 Lrx96 Lfx512 O1c111]'  like that . It doesn't work. and I receive an error
Invalid network spec:01c111]
Missing ] at end of [Series]!
Failed to create network from spec: [1,48,0,1 Ct3,3,16 Mp3,3 Lfys64 Lfx96 Lrx96 Lfx512 O1c111]
but I delete [  ] it does work . Why this accident take place ? it doesn't matter?

@godofcheerup  the first character of 'O1c111' should be the capital letter 'O' ， not number zero '0'.

@Shreeshrii @stweil
I am sorry,  I cannot access https://groups.google.com/d/forum/tesseract-ocr
in China, so I come to here to ask question :
Are all the data files for tesseract version 4 created by  the same net_spec
'[1,36,0,1 Ct3,3,16 Mp3,3 Lfys48 Lfx96 Lrx96 Lfx256 O1c111]' in TrainingTesseract 4.00 ?
If not , can you write a wiki document about net_spec trained for all language data files?
I am training a minority language Tai Le with tesseract 4, but I don't know how to change net_spec for best traineddata.
Thank you very much!

Please see
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files-in-tessdata_fast#version-string--40000alpha--network-specification
for the network spec used for tessdata_fast files.
You can specify complete network spec if you train from scratch.
You can also specify a layer to replace if you use
https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#training-just-a-few-layers
On Tue, Jun 26, 2018 at 2:03 PM Chen Yuxing<EMAIL_ADDRESS>wrote:

@Shreeshrii https://github.com/Shreeshrii @stweil
https://github.com/stweil
I am sorry, I cannot access
https://groups.google.com/d/forum/tesseract-ocr
in China, so I come to here to ask question :
Are all the data files for tesseract version 4 created by the same net_spec
'[1,36,0,1 Ct3,3,16 Mp3,3 Lfys48 Lfx96 Lrx96 Lfx256 O1c111]' in
TrainingTesseract 4.00 ?
If not , can you write a wiki document about net_spec trained for all
language data files?
I am training a minority language Tai Le with tesseract 4, but I don't
know how to change net_spec for best traineddata.
Thank you very much!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/1397#issuecomment-400226458,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_o5YWaGKItL946uWKg11JQj1iNOv0ks5uAfHRgaJpZM4Su58o
.

--

भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com

Sorry, I haven't find them on the wiki document, I just search the word 'net_spec' in github and find here. Thanks for your answer so quickly ! @Shreeshrii

@Shreeshrii  Hello sir, Sorry for disturbing you again， I have tried your option, and found the cmd below can list the version string includes the net_spec that was used to train :
training/combine_tessdata -d tessdata/fast/heb.traineddata
I mean combind_tessdata  can list net_spec  from the tessdata_fast file, but cannot list net_spec from the tessdata_best file.
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files-in-tessdata_fast
And in the wiki above, it says:

tessdata_best (Sep 2017) best results on the eval data, slower, Float models, can be used as base for finetune training

So I think if I use the net_spec given from the tessdata_best file of a similar language Thai or Lao, whether  I can train a better traineddata fast and well ?

The network spec is copied within version string in MOST but NOT ALL
traineddata files.
You can use the files from tessdata_best to use as 'base' for continue_from
training, whether it shows the network spec in version or not. When you run
training the network spec might be displayed.
On Fri, Jun 29, 2018 at 2:30 PM Chen Yuxing<EMAIL_ADDRESS>wrote:

@Shreeshrii https://github.com/Shreeshrii Hello sir, Sorry for
disturbing you again， I have tried your option, and found the cmd below can
list the version string includes the net_spec that was used to train :
training/combine_tessdata -d tessdata/fast/heb.traineddata
I mean combind_tessdata can list net_spec from the tessdata_fast file, but
cannot list net_spec from the tessdata_best file.
https://github.com/tesseract-ocr/tesseract/wiki/Data-Files-in-tessdata_fast
And in the wiki above, it says:
tessdata_best (Sep 2017) best results on the eval data, slower, Float
models, can be used as base for finetune training
So I think if I use the net_spec given from the tessdata_best file of a
similar language Thai or Lao, whether I can train a better traineddata fast
and well ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tesseract-ocr/tesseract/issues/1397#issuecomment-401294430,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE2_ozbbZ-vdnpbFt9yR-8z105wwMdH0ks5uBezHgaJpZM4Su58o
.

--

भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com


Ingesting groups to LDAP source for metadata-ingestion.

We would like to ingest LDAP groups using the metadata-ingestion library.
For this, a small addition is needed to the code.

Hi @adriaanslechten. Thanks for raising this issue. Do you have any interest in contributing the changes to the Metadata Ingestion framework?

This was actually merged in #2434 - I guess we just forgot to close this issue
@shirshanka can you close this?

I think I mistagged the PR, so indeed should be closed.

Closed via #2434


Update osquery to 2.9.0

osquery has released 2.9.0 with some security related fixes. https://github.com/facebook/osquery/releases/tag/2.9.0

Hopefully it will be as easy as last time.


Feature Request Kill all states for a rule

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
No
A clear and concise description of what the problem is including your motivation for the request,
When adding rules, specifically reject/block rules, there should be an easier way of killing all states that match a permit rule.
So for example, if i have a single rule that says "Permit ANY ANY" and then later on create a rule that says "Block <IP_ADDRESS>/32 to Anywhere", the states for <IP_ADDRESS> still exists for the permit any any rule.
Describe the solution you like
A clear and concise description of what you want to happen.
There is an option now in pfsense to kill all flows for a rule which is useful in situations as i described above. Or maybe there is additional filtering upstream that needs to see new flows so you still need a method of killing all sessions that match a rule.
Describe alternatives you considered
Either disable then reenable a rule.
Either hunt through the sessions table and kill all states for a IP or network
Additional context
Add any other context or screenshots about the feature request here or links to relevant forum thread or similar
No

From the rules page you can use the inspect button to find all associated states, adding a button on the states page to drop all for this (selected) rule shouldn't be to hard and prevents having to select all in the grid below. The firewall rules page is already quite full, not sure we do want to add more there for a relative edge case.

Ah i see what you mean. Is the States table updated dynamically? Right now i see 18 entries. If I kill everything here will that take into account a 19th or 20th entry that comes up?

not at the moment, but if we would add an action to kill all for the selected rule, it will.

It should work with https://github.com/opnsense/core/commit/1fa623cfd9d1afc4104918644389e31f4da096ee now, looks like we missed a spot in the previous code (not showing the "kill" button for the selected states).


Implement deployer as Ansible API

Define node type lifecycle interfaces via Ansible playbooks: deploy, configure, start, stop,

We have a rudimentary implementation with system calls. Needs replacing

We'll try and use ansible awx (https://github.com/ansible/awx) and just translate tosca to ansible

Ansible awx (docker was not running) https://github.com/ansible/awx
Polemarch (too complex. Hard to manage ssh private keys)  https://github.com/vstconsulting/polemarch
Semaphore (seems simple some minor issues with using the client)
Used https://github.com/ansible-semaphore/semaphore

Done


Clickable gantt tasks

Adding click capabilities to gantt diagrams
The problem of lack of interaction in gantt diagrams has been previously mentioned in several issues:
issue #715, issue #540.
I recently came across the same problem when I wanted to add interactive gantt diagrams to a web-based project of mine. Therefore, I propose this solution to be added to the project.
Syntax
The syntax is inspired by the flowchart syntax for click events. Yet, it is not the same and, in my view, has some properties that exceed the capabilities of flowchart interactions.
So how does it work?
Have a look at this example:
gantt

  section Clickable
    Visit mermaidjs           :active, cl1, 2014-01-07,2014-01-10
    Calling a callback        :cl2, after cl1, 3d

    click cl1 href "https://mermaidjs.github.io/"
    click cl2 call ganttTestClick("test", test, test)

The processed gantt diagram looks like this:

By specifying ganttTestClick like so:
function ganttTestClick(a, b, c) {
  console.log("a:", a)
  console.log("b:", b)
  console.log("c:", c)
}

clicking on the second task would result in this console output:
a: test
b: test
c: test

And clicking on the first task would open the mermaid documentation (https://mermaidjs.github.io/).
Details
Click
click is a keyword that introduces interaction commands. Just as in flowcharts, it must be followed by a valid task-id.
By appending a href or call command to click, the corresponding action is attached to the task-id that is specified by click.
Href
This is different to the flowchart syntax but I think that href actually improves readability.
href is to be appended by a double quoted link.
By clicking on the task with id id1, the browser would scroll to the element with id example:
click id1 href "#example"

Call
With this pull request, executing javascript functions by clicking on a task becomes possible.
click id1 call callback(1,2,3,"test", test, bla, "    keep my whitespace    ")

The above call command binds the function callback to the task with id id1. When clicked on the specified task, the function callback is executed with all arguments specified inside the parentheses.
By leaving the parentheses empty, no arguments are passed to callback.
Function arguments
The following points must be considered when working with function arguments

The arguments specified inside the parentheses are delimited by commas
Double quotes are optional, they can be left out if desired
When a string contains a comma, it must be surrounded by double quotes
Double quotes at the start and the end of a string are removed before the string is
passed to the specified callback
If a string is not surrounded by double quotes, .trim() is called. This removes all
whitespace before and after the string. Strings with starting or trailing whitespace should be
surrounded by double quotes when the whitespace should be preserved.

Combinations
click allows any desired combination of href and click.
click cl1 call ganttTestClick() href "https://mermaidjs.github.io/"
click cl1 href "https://mermaidjs.github.io/" call ganttTestClick()

are both valid commands.

Pull Request Test Coverage Report for Build 741

22 of 126 (17.46%)  changed or added relevant lines in 4 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-1.3%) to 52.991%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/mermaidAPI.js
0
1
0.0%

src/diagrams/gantt/ganttRenderer.js
0
18
0.0%

src/diagrams/gantt/ganttDb.js
14
51
27.45%

src/diagrams/gantt/parser/gantt.js
8
56
14.29%

Files with Coverage Reduction
New Missed Lines
%

src/diagrams/gantt/parser/gantt.js
1
43.75%

Totals

Change from base Build 716:
-1.3%

Covered Lines:
2059

Relevant Lines:
3853

💛  - Coveralls

Thanks for your work. Had a quite tough merge between pr #804 and #788. Maybe you could help checking that nothing broke?

Thanks! Merging!

Thank you so much for merging! I guess that merge was not the easiest one, with the code coming from an absolute JS, and JISON beginner. Love to see this project still being actively developed!


AddingPassivatingScopeTest expects DeploymentException, but Weld throws DefinitionException

While running the CDI TCK (4.0.8 or higher) using
mvn clean install -U -Dit.test=AddingPassivatingScopeTest

The following is logged using GlassFish 7.0.6-SNAPSHOT, which includes Weld 5.1.0.FINAL:
17:13:20.998156  SEVERE                 main quillian.container.glassfish.clientutils.GlassFishClientUtil.getResponseMap While Deploying Application: AddingPassivatingScopeTestb781b1478f39301846c5223fa0d65747ec1f08e --exit_code: FAILURE, message: Error occurred during deployment: Exception while loading the app : CDI definition failure:Exception List with 1 exceptions:
Exception 0 :
org.jboss.weld.exceptions.DefinitionException: WELD-000118: Only normal scopes can be passivating. Scope interface org.jboss.cdi.tck.tests.full.extensions.lifecycle.bbd.broken.passivatingScope.EpochScoped
	at org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.addScope(BeforeBeanDiscoveryImpl.java:92)
	at org.jboss.cdi.tck.tests.full.extensions.lifecycle.bbd.broken.passivatingScope.BeforeBeanDiscoveryObserver.observe(BeforeBeanDiscoveryObserver.java:30)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)

There is an org.jboss.weld.exceptions.DefinitionException at the core here. Yet, the test is:
    @ShouldThrowException(DeploymentException.class)
    @Deployment
    public static WebArchive createTestArchive() {
        return new WebArchiveBuilder().withTestClassPackage(AddingPassivatingScopeTest.class)
                .withBeansXml(new BeansXml(BeanDiscoveryMode.ALL))
                .withExtension(BeforeBeanDiscoveryObserver.class).build();
    }

Should this be  @ShouldThrowException(DefinitionException.class)? Or is Weld wrong here? Or should we just transform a DefinitionException to a DeploymentException?

As a workaround, the exception transformer can scan for "Only normal scopes can be passivating." and return a DeploymentException for that. But it feels like an error still.

@arjantijms please use latest TCK version (4.0.10 ATM), this was discussed in https://github.com/jakartaee/cdi-tck/issues/431
4.0.8 was a wrongly done TCK release that can break existing impls which is what you are seeing - the reason being that the test logic was changed but it wasn't excluded so older versions of Weld won't pass it.
The relevant issue is https://github.com/jakartaee/cdi-tck/pull/444
The short of it is:

TCK test was wrong and excepted wrong exception (different than what spec said)
TCK test was changed but not excluded (wrongly) in 4.0.8
Latest TCK should have the test changed and excluded as well
Weld did what TCK expected and was therefore wrong as well
Latest Weld (5.1.1.Final) has a fix for this as well

Interesting, with TCK 4.0.10 and Weld 5.1.1 I had even more errors:
[ERROR] Failures:
[ERROR]   ApplicationContextSharedTest>Arquillian.run:138->testApplicationContextShared:94 expected [true] but found [false]
[ERROR]   ApplicationContextSharedTest>Arquillian.run:138->testApplicationScopeActiveDuringCallToEjbTimeoutMethod:110 expected [true] but found [false]
[ERROR]   InactiveConversationTest>Arquillian.run:138->testContextNotActiveExceptionThrown:73 expected [true] but found [false]
[ERROR]   ProcessBeanAttributesNotFiredForBuiltinBean>Arquillian.run:138->testProcessBeanAttributesNotFired:51 expected [true] but found [false]
[ERROR]   BuiltinMetadataSessionBeanTest>Arquillian.run:138->testInterceptorMetadata:71 » EJB jakarta.ejb.EJBException: jakarta.ejb.CreateException: Could not create stateless EJB
[INFO]
[ERROR] Tests run: 1833, Failures: 5, Errors: 0, Skipped: 0

But indeed, not the StackOverflow one/wrong deployment exception.

Curious, I am not even aware of these tests being changed in any way and Weld changes were pretty small too.
I OFC ran all the tests without container and with WFLY and had no failures there.

But indeed, not the StackOverflow one/wrong deployment exception.

I don't think I encountered SO at any point with Weld/WFLY either 🤷

I don't think I encountered SO at any point with Weld/WFLY either 🤷

This might have been specific to the GlassFish exception transformer. It sets the cause of the new Deployment of Definition exception to the original exception. The Arquillian loop gets the cause, transforms it again, causing an infinite loop.

The exception is thrown in org.jboss.weld.bean.builtin.InterceptorMetadataBean in this method:
 @Override
    protected Interceptor<?> newInstance(InjectionPoint ip, CreationalContext<Interceptor<?>> creationalContext) {
        Contextual<?> bean = getParentCreationalContext(creationalContext).getContextual();
        if (bean instanceof Interceptor<?>) {
            return SerializableProxy.of(getBeanManager().getContextId(), (Interceptor<?>) bean);
        }
        throw new IllegalArgumentException("Unable to inject " + bean + " into " + ip);
    }

The creationalContext being passed in there has as contextual org.jboss.weld.bean.builtin.InterceptorMetadataBean (same instance for which the method is being called), and as parent a creationalContext with the dreaded SessionBeanImpl as contextual.

The bean manager had a change it seems, which may have affected selection of the parent creational context.

Just the getReference() method which was in reaction to the TCK challenge (https://github.com/jakartaee/cdi-tck/issues/454) and it's fix (https://github.com/jakartaee/cdi-tck/pull/462) which showed that we were creating it incorrectly. IIRC, there was an edge case where the dependent object destruction would not be executed at all.

On GF we're seeing the following exception now:

Are you seeing this for org.jboss.cdi.tck.tests.full.implementation.builtin.metadata.BuiltinMetadataBeanTest as well? There is a very similar setup injecting and verifying Interceptor<T> but you're not mentioning that in your earlier comment.
BTW I am able to run BuiltinMetadataBeanTest with and without WFLY and pass that on Weld and I can OFC run BuiltinMetadataSessionBeanTest on WFLY and pass that too :confused:

The creationalContext being passed in there has as contextual org.jboss.weld.bean.builtin.InterceptorMetadataBean (same instance for which the method is being called), and as parent a creationalContext with the dreaded SessionBeanImpl as contextual.

If I take a look at the debug of the same test on WFLY, the creationalContext I am seeing has this contextual:

Implicit Bean [jakarta.enterprise.inject.spi.Interceptor] with qualifiers [@Default]

And it's parent context has following contextual:

Interceptor [class org.jboss.cdi.tck.tests.implementation.builtin.metadata.session.YoghurtInterceptor intercepts @Frozen]

And just to be complete, parent's parent is what has the contextual of the session bean (Session bean [class org.jboss.cdi.tck.tests.implementation.builtin.metadata.session.Yoghurt with qualifiers [@Any @Default]; local interfaces are [Yoghurt]).
There should be a hierarchy of three CCs because the session bean will always have one(1). Then interceptors are always a dependent instances of the beans they intercept so that's stored in (1). Interceptor is a bean with its own CC(2) where it can store any dependent objects it manages (three in this case). And finally, the Interceptor<T> bean, injected into YoghurtInterceptor and stored in (2), is a bean as well and should automatically have it's own CC(3) - which is why Weld looks for parent of (3) to determine what bean it belongs to.
That's just what I can glimpse from looking at Weld code and the TCK test setup.
You might want to look into how GF creates that CC and passes it around. Apparently, it is likely something in the integration code GF uses as I am not seeing these errors anywhere in my setup. Unless I am missing something obvious...

since the CC creation changed only for invocations of BM#getReference(), try looking for usages of that in the integration code.

Thanks for the hint, that seems to be indeed the issue.
For some reason a boolean was added that prevents creating the proper creational context.
In 5.1.1
// 5.1.1
    @Override
    public Object getReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext) {
        Preconditions.checkArgumentNotNull(bean, "bean");
        Preconditions.checkArgumentNotNull(requestedType, "requestedType");
        Preconditions.checkArgumentNotNull(creationalContext, CREATIONAL_CONTEXT);
        if (!BeanTypeAssignabilityRules.instance().matches(requestedType, bean.getTypes())) {
            throw BeanManagerLogger.LOG.specifiedTypeNotBeanType(requestedType, bean);
        }
        // Ensure that there is no injection point associated
        final ThreadLocalStackReference<InjectionPoint> stack = currentInjectionPoint.push(EmptyInjectionPoint.INSTANCE);
        try {
            return getReference(bean, requestedType, creationalContext, false, false);
        } finally {
            stack.pop();
        }
    }

private Object getReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext, boolean noProxy, boolean createChildCc) {
        if (creationalContext instanceof CreationalContextImpl<?> && createChildCc) { // TRUE && FALSE
            creationalContext = ((CreationalContextImpl<?>) creationalContext).getCreationalContext(bean);
        }
        if (!noProxy && isProxyRequired(bean)) {
            if (creationalContext != null || ContextualInstance.getIfExists(bean, this) != null) {
                if (requestedType == null) {
                    return clientProxyProvider.getClientProxy(bean);
                } else {
                    return clientProxyProvider.getClientProxy(bean, requestedType);
                }
            } else {
                return null;
            }
        } else {
            return ContextualInstance.get(bean, this, creationalContext);
        }
    }

And in 5.1.0:
public Object getReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext) {
        Preconditions.checkArgumentNotNull(bean, "bean");
        Preconditions.checkArgumentNotNull(requestedType, "requestedType");
        Preconditions.checkArgumentNotNull(creationalContext, CREATIONAL_CONTEXT);
        if (!BeanTypeAssignabilityRules.instance().matches(requestedType, bean.getTypes())) {
            throw BeanManagerLogger.LOG.specifiedTypeNotBeanType(requestedType, bean);
        }
        // Ensure that there is no injection point associated
        final ThreadLocalStackReference<InjectionPoint> stack = currentInjectionPoint.push(EmptyInjectionPoint.INSTANCE);
        try {
            return getReference(bean, requestedType, creationalContext, false);
        } finally {
            stack.pop();
        }
    }

public Object getReference(Bean<?> bean, Type requestedType, CreationalContext<?> creationalContext, boolean noProxy) {
        if (creationalContext instanceof CreationalContextImpl<?>) { // TRUE
            creationalContext = ((CreationalContextImpl<?>) creationalContext).getCreationalContext(bean);
        }
        if (!noProxy && isProxyRequired(bean)) {
            if (creationalContext != null || ContextualInstance.getIfExists(bean, this) != null) {
                if (requestedType == null) {
                    return clientProxyProvider.getClientProxy(bean);
                } else {
                    return clientProxyProvider.getClientProxy(bean, requestedType);
                }
            } else {
                return null;
            }
        } else {
            return ContextualInstance.get(bean, this, creationalContext);
        }
    }

I'm not really sure why you would purposely skip creating a required contextual context AND default to that (instead of making it an optional thing), but I'm also sure there's probably a good reason I'm not aware of.
I'll try to see how I can work around this.
Thanks again!

Glad it helped you pinpoint the issue! :)

I'm not really sure why you would purposely skip creating a required contextual context AND default to that (instead of making it an optional thing), but I'm also sure there's probably a good reason I'm not aware of.

The reason is partially visible in the changed TCK test I linked earlier (https://github.com/jakartaee/cdi-tck/pull/462) and partially from the test in the Weld PR - they are similar but not identical.
With previous code, there were some cases in which beans intantiated this way would not correctly destroy their dependant instances when they got destroyed.

I'll try to see how I can work around this.

I have no idea how the GF code around this looks like (feel free to share some links and bits) but if you can't find a way around this, we can also look into exposing some API in Weld that would allow you to get the bean reference similarly to what it was, it just shouldn't be default way. That being said, with direct dep on Weld internals, you should be able to achieve similar CC structure.

The workaround or the solution was to cast WeldManager (as obtained from WeldBootstrap) to BeanManagerImpl.
Even when depending directly on Weld internals, having to cast always feels like you're doing something you maybe should not be doing. It might be better if the getReference() method with the extra boolean and the previous behaviour was in WeldManager?
see: https://github.com/eclipse-ee4j/glassfish/pull/24480/files#diff-632c2418ab3227ac685a60ae02348a9683a24be6a2f15953d700367fb37ea623R387

That's some good information there, thanks!
I can see this is happening only in case of resolving interceptors this way - why does GF need to manually obtain their instances?
Is it in some way reproducing the interceptor chain for EJBs?
To give some more context - the ability to resolve Interceptor instance via BM#getReference() itself is questionable (in pure CDI terms) as interceptors are dependent objects of the beans they intercept so resolving them separately is...weird.
However, at least in Weld this somehow worked; whether by accident or intentionally, I do not know. What I do know is that even Weld didn't have any test coverage for this.
Nonetheless, the difference between using BM#getReference() for standard bean(1) and for interceptor(2) lies in the creational context object you pass in. In case of (1) it is simply the CC of that given bean but for (2) you'd actually need to pass in CC with a parent (because interceptor is dependent) that's not really doable via non-Weld APIs.

It might be better if the getReference() method with the extra boolean and the previous behaviour was in WeldManager?

Instead, WeldManager could expose a method allowing you to create a child CC that you can then pass to getReference()
So something like:
<T> CreationalContext<T> createChildCreationalContext(Contextual<T> contextual, CreationalContext<?> parent);
Where contextual is the Interceptor bean and parent is the CC you have.
Or, better still, I could fix the getReference() implementation to keep creating child CC in case the Bean parameter is instance of Interceptor. I think that would be the most sensible approach.

This is a CDI issue, and we're discussing Weld, but since we're discussing Weld….
I'm not sure the issue is related to some special characteristic of interceptors.  I think it has to do with Dependent-scoped dependencies of Dependent-scoped objects.
I think the fix that Weld put in in getReference in 5.1.1.Final happens to cause one very specific test to pass while conveniently not ever really getting involved in other tests, so you don't necessarily see what it's doing elsewhere (particularly since getInjectableReference completely bypasses this path and continues to create (properly, IMHO) child CCs "all the way down").
The root cause of what Arjan is observing is the orphaning of a "second level" CreationalContext child that is supposed to handle the destruction of Dependent-scoped dependencies of a Dependent-scoped object.  Interceptors are always Dependent-scoped, so Dependent-scoped dependencies of them (such as TransactionalInterceptorDependency in the test under discussion) happen to illustrate this problem.
In 5.1.0.Final, where CCs are properly created hierarchically "all the way down" in all cases, the CC holding TransactionalInterceptorDependency is effectively orphaned. It points to its parent, but its parent can't "see" it. So when you destroy AccountTransaction, its direct Dependent-scoped objects—just the TransactionalInterceptor—are destroyed.  However, by the time you invoke destroy on the TransactionalInterceptor bean, the CreationalContext holding its dependencies is no longer reachable, because the CreationalContext being released can't "see" its child. Anything housed in that child just sits there and the test fails.
The fix (telling getReference to not create child CCs in certain cases) seems to basically result in the sharing of sorts of a CreationalContext in specific cases, so that (Dependent-scoped) TransactionalInterceptor's dependencies—namely (also Dependent-scoped) TransactionalInterceptorDependency—are housed "alongside" it.  When you destroy AccountTransaction, and thus release the CC housing TransactionalInterceptor, you therefore destroy TransactionalInterceptor (of course) but also, by a sort of happenstance, TransactionalInterceptorDependency. The test passes, but something "feels" very off.
Additionally, this breaks the current (apparently incidental?!) behavior of getReference which previously worked "all the way down" and in all cases to enable this particular test to pass (which it does).
I think a better solution might be to restore the (IMHO correct) behavior of every prior version of Weld's implementation of getReference (as I think Arjan is also suggesting?) and somehow (not sure how yet) special-case the situation where you have a Dependent-scoped object with Dependent-scoped dependent objects. In this case if you could "unorphan" the CreationalContexts present at its dependents' creation I think the test would pass and this multi-level destruction that the test relies on would be carried out more idiomatically.

See also:

https://issues.redhat.com/browse/WELD-2745
https://github.com/weld/core/pull/2848/

@arjantijms you should no longer need the workaround with Weld 5.1.1.SP1, the behavior of BM#getReference should be back to what it did before. The release will land in Central momentarily, it'd be great if you could give it a shot.

@manovotn Thanks! I'll try it out

@manovotn Results seem good. TCK passes and PR done: https://github.com/eclipse-ee4j/glassfish/pull/24498

Glad to hear that, can we close this issue?

Yes, I'll close it. Thank you so much for all your kind help and patience! :)


fixed partially

Jumping to task only works if the task list is being displayed already. So it will not work only when the user firstly uses alias-related commands and then add or edit a task. I can't seem to figure out why if the left panel reloads the jump to task feature doesn't work.
Selective reloading in place now.

Coverage decreased (-0.06%) to 69.964% when pulling 274644b526b5c1d53c748067a065c824b5c32a2f on fix-jump-to into 6a90668097dae987bb611b34fde40c4a2c13a197 on master.

Coverage decreased (-0.06%) to 69.964% when pulling 2db6811eeeaa465e768466fef0424d9884325aa0 on fix-jump-to into 6a90668097dae987bb611b34fde40c4a2c13a197 on master.

Coverage decreased (-0.05%) to 69.976% when pulling a94ca9e7d5ea8ccf00c90ca6f08e0c48d68bd2ad on fix-jump-to into 6a90668097dae987bb611b34fde40c4a2c13a197 on master.

Coverage decreased (-0.05%) to 69.976% when pulling b1e607d04d293664a3a5dcc98a27cd2ac2e41425 on fix-jump-to into 6a90668097dae987bb611b34fde40c4a2c13a197 on master.

Coverage decreased (-0.1%) to 69.892% when pulling ea174346ddec7d02730cb37454da0dae99fca864 on fix-jump-to into 6a90668097dae987bb611b34fde40c4a2c13a197 on master.

Please fix conflict and then merge into master @KnytJC


🐛 BUG:A request to the Cloudflare API (/accounts/XXXXXXXXXXXX/workers/scripts/my-repo) failed

Which Cloudflare product(s) does this pertain to?
Workers for Platforms, Workers Runtime, Wrangler core
What version(s) of the tool(s) are you using?
wrangler 3.19.0
What version of Node are you using?
v18.16.1
What operating system are you using?
Mac
Describe the Bug
I'm encountering an error when making a request to the Cloudflare API for my Workers script. The error message is as follows: 'Uncaught TypeError: Cannot read properties of undefined (reading 'exports') at worker.js:4216:14, at worker.js:41842:4, and at worker.js:41843:3. The error code provided is 10021. This issue occurs when I attempt to deploy my script to Cloudflare Workers via the API. It seems to be related to an issue within the script where it's trying to access properties of an undefined object.'
Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
Uploading 23 new assets...
Skipped uploading 63 existing assets.
-- START CF API REQUEST: PUT https://api.cloudflare.com/client/v4/accounts/964c073adede740f17620ca0126b3d22/storage/kv/namespaces/d7096ce374734ceca0b5d446199ed363/bulk
HEADERS: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
INIT: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
-- END CF API REQUEST
-- START CF API RESPONSE: OK 200
HEADERS: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
RESPONSE: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
-- END CF API RESPONSE
Uploaded 100% [23 out of 23]
Removing 23 stale assets...
-- START CF API REQUEST: DELETE https://api.cloudflare.com/client/v4/accounts/964c073adede740f17620ca0126b3d22/storage/kv/namespaces/d7096ce374734ceca0b5d446199ed363/bulk
HEADERS: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
INIT: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
-- END CF API REQUEST
-- START CF API RESPONSE: OK 200
HEADERS: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
RESPONSE: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
-- END CF API RESPONSE
↗  Done syncing assets
-- START CF API REQUEST: PUT https://api.cloudflare.com/client/v4/accounts/964c073adede740f17620ca0126b3d22/workers/scripts/kitaguni?include_subdomain_availability=true&excludeScript=true
HEADERS: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
INIT: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
-- END CF API REQUEST
Total Upload: 2472.44 KiB / gzip: 597.24 KiB
-- START CF API RESPONSE: Bad Request 400
HEADERS: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
RESPONSE: omitted; set WRANGLER_LOG_SANITIZE=false to include sanitized data
-- END CF API RESPONSE

✘ [ERROR] A request to the Cloudflare API (/accounts/964c073adede740f17620ca0126b3d22/workers/scripts/kitaguni) failed.

  Uncaught TypeError: Cannot read properties of undefined (reading 'exports')
    at worker.js:4216:14
    at worker.js:41842:4
    at worker.js:41843:3
   [code: 10021]

  If you think this is a bug, please open an issue at:
  https://github.com/cloudflare/workers-sdk/issues/new/choose

Hi @murata-hiroki :) We haven't heard from you in a while, so we’re going to close this issue for now. If this is still a problem, please feel free to open a new issue referencing this one. please be sure to include an updated summary and any additional requested details, followup, or context and we will revisit and investigate further. thanks!


Fix default sa permissions

Codecov Report

Merging #45 (0fc225c) into main (06aa078) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #45   +/-   ##
=======================================
  Coverage   25.13%   25.13%
=======================================
  Files           1        1
  Lines         187      187
=======================================
  Hits           47       47
  Misses        134      134
  Partials        6        6

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 06aa078...0fc225c. Read the comment docs.


How to: inner tables with padding in inner cells

How can we reproduce this bug?
<container>
  <row>
    <columns style="background-color: yellow;">
      <container>
        <row>
          <columns style="background-color: red">

Col 1

          </columns>
          <columns style="background-color: green">

Col 2

          </columns>
        </row>
      </container>
    </columns>
  </row>
</container>

What did you expect to happen?
I would like to still have padding in inner cells of inner tables

What happened instead?
No padding in inner cells

What email clients does this happen in?
All. Is there a workaround to keep the inner cells of inner tables with padding as if they were the outer row. I can make it work with something like this
                            th.columns .columns:not(.first) {
                              padding-left: 8px !important;
                            }
                            th.columns .columns:not(.last) {
                              padding-right: 8px !important;
                            }

But in a mobile device it doesn't work well, particularly if I have images in each column (columns stacked but images are not correclty aligned due padding added).
Any idea?

As stated in the issue template, issues are for bugs only, if you need help please post your question on the Foundation form or on StackOverflow.
That being said, you should (re)read the Grid section of the documentation, you aren't supposed to have multiple container elements in your email.

@Deckluhm Sorry, my mistake in reporting the issue when what I need is just some help. I am going to close it and ask for help on suggested sites (Foundation Forum, Stack Overflow).
Anyway, I've just read the Grid section and I can't see any statement telling me that I should not have multiple containers or nested containers.

I'm not a Foundation for Emails expert and I might be wrong but, even if it's not well explained in the documentation, you are not supposed to have nested container inside row (like you do).
You should take a look at these templates examples, maybe that will help you doing what you want.

Thank you @Deckluhm. I think the problem is not in the nested contaier. The problem is in the nested rows and columns, which I think it's valid from a framework perspective. I have the same result with this (not multiple containers).
<container>
  <row>
    <columns style="background-color: yellow;">
        <row>
          <columns style="background-color: red">

Col 1

          </columns>
          <columns style="background-color: green">

Col 2

          </columns>
        </row>
    </columns>
    <columns style="background-color: blue;">
    <row>

Test

    </row>
    </columns>
  </row>
</container>


Let the config app accept values that can be converted to the right type

one remark. rest ok. (untested)

Successfully tested. OK.


Rename cache/test/ to cache/unit_tests/

For consistency with other subsystems.

I added a fix for CacheDir test to pass CI.


[WIP] build docker image in travis

Fixes Issue
Description of Change
builds docker image in travis
can also run docker deploy from travis
Have test cases been added to cover the new functionality?
N/A

The issue with this PR is that the call to docker occurs before the maven site is deployed. The docker build file grabs the latest version of dependency-check from the maven site hosted at: http://jeremylong.github.io/DependencyCheck/current.txt
So to make this work we would need to utilize a different mechanism to get the latest version. Additionally, the docker container should only be built on tagged versions. Lastly, to build the correctly tagged docker images we have been using the publish_docker.sh

understood
let me try throwing that change into the POM, that way it's using the built copy instead of a remote copy

@jeremylong let me know if this is more of what you're looking for. dockerfile-maven provides the ability to build and deploy docker images directly from maven. a little bit of authentication work would have to be done from within travis to get deploys working, but it's not impossible at all.
if that's the case, might want to delete publish_docker.sh as well and just use maven to deploy

Thanks - this looks great.  On the next (non-emergency) release I will merge the PR.  I'll likely move the maven plugin to a profile and setup travis to publish when it processes a tagged version.


KCVM: Instruction struct

Previously Instruction was an enum. That enum is now InstructionKind which is a field of the new struct Instruction.
This enables adding a source_offset field in the future. It would have been very annoying to add a source_offset field to each variant of the enum. Now it can be a field of the struct.

Yeah, my thoughts exactly.


Fixing indentation, line length, & js comments in NDT layout

This PR fixes indentation & js comments in the NDT layout to conform with standards defined for the rest of the site.  There are no code changes with this PR, only:

indentation spacing changes from 4 spaces to 2 spaces as the rest of the site uses,
changing the existing js comments to jsdoc conventions for formatting, and
ensuring line length is < 80 cols

Doing a separate PR for this so it doesn't junk up other existing PRs with so many line changes to review.  Will rebase other PRs once merged.

This change is

Comments from the review on Reviewable.io


Disable Ctrl-C in docker attach

Hello.
I'm using docker create -it --name mycontainer ... alpine
then docker attach mycontainer (my inittab spawned to /bin/login).
It works nicely. But I don't want the container to be killed when Ctrl-C is sent to pid 1
Is there a config to do it?
I like the behavior in systemd. Even to stop pid 1, it must be overriden with STOPSIGNAL SIGRTMIN+3 in the Dockerfile.
Here is my example on systemd: https://hub.docker.com/r/nggit/systemd-debian
Thanks!

i don't use docker, and most likely never will, so you'll have to debug it a little.
are you spawning sysvinit inside the container ?  OpenRC doesn't maintain sysvinit, and has no control over what it does.  so you'd have to manage those settings.
from outside the container, look at the Sig* fields in /proc//status to see what the various docker & init processes are using.  you can decode them to see if SIGINT (Ctrl+C) is blocked/ignored.


Use international ISO 8601 dates in the changelog

Also, I've added dates for versions >= 0.9.2 (taken from git tags).

Great, thank you!


Changing nats password not possible

Using BOSH v253
We changed the property properties.nats.password https://github.com/cloudfoundry/bosh/blob/master/release/jobs/nats/spec#L33 and redeployed bosh with bosh-init.
After that all vms are in state unresponsive agent. Running bosh stop --hard or bosh recreate is not possible, because bosh tries to get the state of the agent and times out Error 450002: Timed out sending 'get_state'.
It would be possible by deleting all deployments or manually fixing the agent on every VM. Is there any other solution for a running system?

you can currently recover vms via bosh cck with recreate option.
we do have planned enhancement to bosh deploy mechanism to forcefully continue on when bosh deploy cannot communicate with a vm.
also we are planning to evaluate our usage of nats and switch to a different mechanism for communication which may completely eliminate credential rotation problem.
Sent from my iPhone

On Feb 23, 2016, at 4:17 AM, Amin Chawki<EMAIL_ADDRESS>wrote:
Using BOSH v253
We changed the property properties.nats.password https://github.com/cloudfoundry/bosh/blob/master/release/jobs/nats/spec#L33 and redeployed bosh with bosh-init.
After that all vms are in state unresponsive agent. Running bosh stop --hard or bosh recreate is not possible, because bosh tries to get the state of the agent and times out Error 450002: Timed out sending 'get_state'.
It would be possible by deleting all deployments or manually fixing the agent on every VM. Is there any other solution for a running system?
—
Reply to this email directly or view it on GitHub.

Ok thanks.

Additionally: Changing blobstore password is not possible. Shall we open something in addition or can you create an item in tracker for this @cppforlife?

@voelzmo issue marked as "planned-enhancement". i will add a story when we are getting closer to implementing this functionality.

I think I understand this a bit better now..
When the NATS password is changed existing VMs continue to fetch the old NATS password from bosh-registry because it's stored in the database at registry_instances.settings. If you manually update that JSON and HUP bosh-agent then the VM will reconnect and BOSH will report it as healthy.
Would it be feasible for BOSH to rewrite all of these entries when the password changes? Would bosh-agent retry the settings service to pick these up again?

Is this functionality any closer to being implemented? From the CloudFoundry Slack, it looks like it might be possible in the future with cloud config and CredHub.

Just pinging again on behalf of the cloud.gov team... Is this anywhere in your plans?

@mogul in the next release of BOSH (soon), we're implementing mutual TLS for NATS communications. This will eliminate the need for passwords when connecting to the NATS server (for new stemcells).
Note: to be backwards compatible, we still support password authentication for old stemcells.
With mutual TLS, we'll have the ability to rotate certificate with potentially zero downtime.

Commenting because we were confused about the changes required and I ended up here from a Google search once again..
Once you've enabled mutual TLS and disabled nats.allow_legacy_agents, you can omit the following because they are no longer used:

nats.user and nats.password properties
username:password@ from the agent.mbus URL property

But you still need a username and password in the URLs for cloud_provider.mbus and cloud_provider.properties.agent.mbus because they are used for the NATS-like interface that a VM callsback to when you are bootstrapping with bosh-init or bosh create-env.

Hi,
Can anyone please let me know how can I change the new NATS password into Bosh or remove the bosh registry linking to old NATS password? As I have changed the new NATS password on my Pivotal deployment but NATS old password is still linking and throwing an error:
Registrar.nats-connection-failed","log_level":2,"data":{"error":"nats: authorization violation","nats-hosts":

@wickyhasan to give some context:

Historically, NATS communication only used username/password for authentication and authorization. Changing NATS username/password or rotating them was not possible without hitting the unresponsive VMs situation.
Starting with BOSH version 264 and linux stemcell version 3468 we added the ability for mutual TLS communication for the BOSH NATS. When communication is done through mTLS, the NATS username/password are not used for any authentication or authorization. But we still kept the ability for NATS clients to authenticate over username/password for backword compatibility reasons (For example an older stemcell).
If the operator knows that all the relevant components (BOSH Director and stemcells) support mTLS NATS communication, we added a configuration to the NATS server job in the BOSH release to only allow mTLS connections and drop username/password authentication.  As stated above this is the flag nats.allow_legacy_agents. This flag, when set to false, will guarantee that the communication is over mTLS.
At some point we will remove that flag and only allow mTLS NATS communication. But due to the older stemcell support, this did not happen yet.

Question: What is the reason you are trying to change the NATS password ? Which version of the director and stemcells you are using ?


Game Result Submission: 11/04/2024 17:03 (UTC 7) - Score: 0 - Mode: 0 - Win: 0

🎉 Game Result Submission
Please fill in the following details:
- 👤 Name:  Chung
- 🔗 GitHub Profile Link:  https://github.com/ChunhThanhDe
- 💬 Message: test
- 🖼 Screenshot

Note: 🎯

Ensure your information is accurate, as it will be added to the leaderboard.
You can upload images to GitHub first and insert the link here. 📸

Have fun playing! 🎉

accept

accept

accept


ISPN-12316 Convert expiration to no longer use transactions

https://issues.redhat.com/browse/ISPN-12316

what about TxPutFromLoadInterceptor? I think it needs to overwrite visitRemoveExpiredCommand otherwise it tries to interact with the tx using visitRemoveCommand.

I guess we don't have any hibernate expiration tests :D

Actually I am not sure if we need to change TxPutFromLoadInterceptor, I will look a bit closer.

Updated per comments.

Squashed commits together.

failures not related. integrated! thanks @wburns !


Considerations for internetless reading

Load Remaining Unread button. Ideally for mobile. General theory: if a thread is 3k posts, and you've read all but the last 200 posts, be able to load them all at once without any read posts for easy internetless browsing.
Split view=flat into two things. One is a "load for internetless viewing". This can include more than the present version does, but should be done with a StreamingResponse of some kind or a precomputed version fetched from the database, or both. Second is "download for backup", which is as stripped of extras as possible and can be done in a background worker and emailed.
Possible: go with the last thing, Load Remaning Unread could be done by using the "internetless viewing" link with an anchor.

load them all at once without any read posts

When I'm coming back to a thread, I like to reread the past few posts for context. Unfortunately, how many posts of context are needed tends to vary.

This is about why I asked for at_id; I use it to load a lot of replies at once when I’m nowhere near a 500-post page boundary. I think that some UI improvements (including exposing it in the UI) would get a lot of the way to the Load Remaining Unread part (the rest would need to wait for streaming responses so it can be “load remaing instead of “load next 500”).
If streaming responses are ever implemented for the offline browsing view=flat or the load remaining unread, I think a user-account option for maximum loaded replies would be good. Servers aren’t the only type of computers which have memory limits with huge web pages.


Support for IBM Kubernetes (k8s)/OpenShift cloud

Description

[ ] get documentation on IBM Cloud

operational guide

in general
how to get access to a sgx-enabled VM and/or container and, for containers, what the intended deployment model is (e.g., how is kernel device passed, is container supposed to run psw or will the psw socket be shared from host, and if so how, ..)

any scriptability options

[ ] get access to IBM Cloud
[ ] investigate technical approach for

[ ] using docker images with k8s
[ ] converting docker-compose to k8s (see, e.g., https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/)
[ ] to run docker/docker-compose equivalents from within a container.

might require shared volumes for source on dev container so volume mounts work

[ ] general fabric-on-kubernetes guides (see e.g., FAB-11240 which seems
tasked to do exactly that but as-of-2020-07-07 seems still very early WIP ..)
[ ] might also require refactoring standard chaincode to use external builder (otherwise it would expect docker to build and run the corresponding chaincode)

[ ] implement/documentation aspects:

[ ] Core FPC with integration tests (but not docker-compose; ie., demo only via mock)
[ ] Full FPC support (including docker-compose and docker-compose based demo)
[ ] fpc chaincode running scalably via k8s (in external builder, see #320). [For some related information, see, e.g., medium article

[ ] stagging

[ ] most bang for the buck probably would be to do chaincode-deployment to k8s via external builders while still running the infrastructure via docker(-compose) in our tests. Note: docker(-compose) use and related scripts are only for tests so doing that first without doing scalable chaincode enablement would not be thaat useful in a production environment wherreas the converse is useful.

Link to feature or bug
Link to dependent issues

Any updates here? Interested in running an FPC peer node on IKS. Thanks!

FYI: from HL mailing list some work on (general) fabric and k8s
[Hyperledger Fabric] Hyperledger Fabric Operator
We just released the first version of a project to deploy Hyperledger Fabric on Kubernetes using Operators.
It supports:

Create certificates authorities (CA)
Create peers
Create ordering services
Create resources without manual provisioning of cryptographic material
Domain routing with SNI using Istio
Run chaincode as external chaincode in Kubernetes
Support Hyperledger Fabric 2.2 and 2.3
Managed genesis for Ordering services
E2E testing including the execution of chaincodes in KIND

You can find the instructions on GitHub:
https://github.com/kfsoftware/hlf-operator
There's also an external builder operator available at GitHub, which is also used by the operator:
https://github.com/kfsoftware/externalbuilder
Thanks for your attention and feel free to contribute or contact me for any issues :)
Regards.

PR #539 demonstrates FPC deployment using K8s.


add prettifier for display bytes of data on vmstats charts

https://www.npmjs.com/package/pretty-bytes
our memory comes in kilobytes, as you can see from the current /1024/1024 GiB logic

i'll follow the use of the npm package that bring us a more flexible use of the presentation of the bytes, but we keep it as a low priority for now.


Cleanup metadata and add documentations for it

This PR:

adds documentation at Metadata with some doctests.

renames:

all_fields -> columns
index_fields -> index_columns
column_fields -> data_columns
index_names -> index_names (no change)
index_info -> index_pairs

I tried to keep the original intention and avoid name conflict between field and column.
Also, index_info -> index_pairs, for now because it's literally pairs. Wasn't clear what it was when I first saw.

fixes a bug (one line fix) at set_index:
kdf = ks.DataFrame({
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12],
    'D': [13, 14, 15, 16],
    'E':[17, 18, 19, 20]})
kdf1 = kdf.set_index("A")
kdf1.to_spark().show()

 Failed example:
     kdf1.to_spark().show()  # doctest: +NORMALIZE_WHITESPACE
 Expected:
     +---+---+---+---+---+
     |  A|  B|  C|  D|  E|
     +---+---+---+---+---+
     |  1|  5|  9| 13| 17|
     |  2|  6| 10| 14| 18|
     |  3|  7| 11| 15| 19|
     |  4|  8| 12| 16| 20|
     +---+---+---+---+---+
 Got:
     +-----------------+---+---+---+---+---+
     |__index_level_0__|  A|  B|  C|  D|  E|
     +-----------------+---+---+---+---+---+
     |                0|  1|  5|  9| 13| 17|
     |                1|  2|  6| 10| 14| 18|
     |                2|  3|  7| 11| 15| 19|
     |                3|  4|  8| 12| 16| 20|
     +-----------------+---+---+---+---+---+

Note that __index_level_0__ doesn't exist in metadata anymore. To make it synced, it selects all fields in metadata at set_index.

Codecov Report

Merging #290 into master will decrease coverage by 0.07%.
The diff coverage is 95.28%.

@@            Coverage Diff             @@
##           master     #290      +/-   ##
==========================================
- Coverage   93.49%   93.41%   -0.08%
==========================================
  Files          33       33
  Lines        3212     3221       +9
==========================================
+ Hits         3003     3009       +6
- Misses        209      212       +3

Impacted Files
Coverage Δ

databricks/koalas/selection.py
86.4% <100%> (ø)
:arrow_up:

databricks/koalas/generic.py
94.93% <100%> (ø)
:arrow_up:

databricks/koalas/groupby.py
97.95% <100%> (ø)
:arrow_up:

databricks/koalas/ml.py
96.15% <100%> (ø)
:arrow_up:

databricks/koalas/typedef.py
80.37% <100%> (ø)
:arrow_up:

databricks/koalas/series.py
92.17% <93.75%> (ø)
:arrow_up:

databricks/koalas/frame.py
94.67% <93.75%> (-0.36%)
:arrow_down:

databricks/koalas/metadata.py
97.72% <96.55%> (+0.05%)
:arrow_up:

databricks/koalas/__init__.py
88.88% <0%> (-3.71%)
:arrow_down:

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 5c5c9a9...26f7c24. Read the comment docs.

I like the rest, but I don't think index_pairs is the right name. "pairs" does not describe what that variable is, but rather the current data structure (a pair of objects). It's less intuitive than a name that describes the purpose of the variable. Also if we ever add more information to make it not a "pair", which is pretty likely, we will need to rename a lot of code.

How about index_mapping (since it maps Spark column to Koalas index name?).  I dont mind reverting the naming change too.

Yea maybe just index_map.


Are chapters supported?

I'm currently working with some podcasts and I'm specifically trying to pull out their chapters. From what I can tell a CHAP (chapter) frame should be returned in an AllFrames() call, but only a TIT2 frame is being returned. Here's my code:
func main() {
	mp3, err := id3v2.Open(os.Args[1], id3v2.Options{Parse: true})
	if err != nil {
		panic(err)
	}
	defer mp3.Close()

	for key, frame := range mp3.AllFrames() {
		fmt.Println(key)
		fmt.Println(frame)
	}
}

Is this the correct method or does the library not support chapters? Also, here's the specific file I'm working with:
https://audio.fireside.fm/podcasts/audio/b/b44de5fa-47c1-4e94-bf9e-c72f8d1c8f5d/episodes/2/2bedf85e-f897-41e5-b498-243b1dea12b4/2bedf85e-f897-41e5-b498-243b1dea12b4.mp3
Edit: I think I should be looking for CHAP frames and not CTOC frames.

Hi! Thank you for submitting this issue. The problem is that the second frame in the tag (COMM) has invalid size format: 11010000 on binary. It isn't allowed by specification (all sizes should always start with 0) and id3v2 can't parse these size correctly.

Related to #13

Fixed in https://github.com/bogem/id3v2/commit/3845103da5b1698289b82a90f5d2559b770bd996


add dockerfile

Add Dockefile for this issue.

Hello, that's great thanks. But I couldn't make it to pass through step:
Step 7 : ADD / /opt/mongoclient
 ---> 7f82b4fd2093
Removing intermediate container 249b6f8e3a91
Step 8 : RUN /usr/local/bin/meteor update
 ---> Running in 4a386c9bdccb

, It stuck at meteor update command. Could you please have a look at it ?
Thanks

After a while it throws:
Step 8 : RUN /usr/local/bin/meteor update
 ---> Running in f5daa360eb64
npm-container: updating npm dependencies -- mongodb, mongodb-backup,
mongodb-restore, tunnel-ssh, cheerio, winston...

/root/.meteor/packages/templating/.<IP_ADDRESS>yb8nj++os+web.browser+web.cordova/plugin.compileTemplatesBatch.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:116
      throw error;
            ^
Error: EXDEV, rename '/opt/mongoclient/packages/npm-container/.npm/package'
The command '/bin/sh -c /usr/local/bin/meteor update' returned a non-zero code: 8

Thanks for check this PR.
Actually, meteor update command takes 2-4 minutes (depends on each enviroment).
Below output is docker build (always with  time  RUN operaions) output on my enviroment.
https://gist.github.com/alu/b5d781bd4215ca0326c62d0a44251af7
The exception will always occur?

It's my pleasure. Thanks for the file.
In ubuntu it sometimes stuck (I've waited for 15 minutes at least) and sometimes throws this exception.
In windows it always stuck.
Cheers

I've removed local directory and it worked !! Thanks !


Why is transform required for drawing text at position?

For something like rectangle it's:
rectangle(
	[1.0, 0.0, 0.0, 1.0], // RGBA
	[0.0, 0.0, 100.0, 100.0], // [x, y, w, h]
	context.transform, graphics
);

But for text it's:
let transform = context.transform.trans(10.0, 100.0);

text::Text::new_color([0.0, 0.0, 0.0, 1.0], 32).draw(
	"Hello world!",
	&mut font,
	&context.draw_state,
	transform, graphics
).unwrap();

Why does text require transform, and not just x and y coordinates?

I opened https://github.com/PistonDevelopers/graphics/issues/1137

Closing.

Thank you 😄


unable to build entangled

I'm getting errors when trying to build entangled successfully. Please let me know if there's any other information I can provide besides what's mentioned below.
The relevant version details are
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.0.2

$ cabal --version
cabal-install version <IP_ADDRESS>
compiled using version <IP_ADDRESS> of the Cabal library

$ uname -sro
Linux 5.18.11-arch1-1 GNU/Linux

I executed cabal update before executing cabal build.
The build failure message is as follows

cabal build failure log
...
...
(truncated output of packages being downloaded)
Downloading  dhall-1.41.1
Downloaded   dhall-1.41.1

Failed to build Diff-0.4.1.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/Diff-0.4.1-0c322c2d5f201beb5f4c8dacc0ab8fb66b609be065dcae8aa35486ed294eead9.log
):
Configuring library for Diff-0.4.1..
Preprocessing library for Diff-0.4.1..
Building library for Diff-0.4.1..
[1 of 3] Compiling Data.Algorithm.Diff ( src/Data/Algorithm/Diff.hs, dist/build/Data/Algorithm/Diff.o, dist/build/Data/Algorithm/Diff.dyn_o )

src/Data/Algorithm/Diff.hs:27:1: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
27 | import Prelude hiding (pi)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Algorithm/Diff.hs:29:1: error:
    Could not find module ‘Data.Array’
    There are files missing in the ‘array-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
29 | import Data.Array (listArray, (!))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build OneTuple-0.3.1.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/OneTuple-0.3.1-2d059e0c49342ad011734dfacc7e73ce7f168c8db95dba3f1a13766fe4d583f0.log
):
Configuring library for OneTuple-0.3.1..
Preprocessing library for OneTuple-0.3.1..
Building library for OneTuple-0.3.1..
[1 of 3] Compiling Data.Tuple.Solo  ( src/Data/Tuple/Solo.hs, dist/build/Data/Tuple/Solo.o, dist/build/Data/Tuple/Solo.dyn_o )

src/Data/Tuple/Solo.hs:23:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
23 | module Data.Tuple.Solo (
   |        ^^^^^^^^^^^^^^^

src/Data/Tuple/Solo.hs:29:1: error:
    Could not find module ‘Data.Orphans’
    There are files missing in the ‘base-orphans-0.8.6’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
29 | import Data.Orphans ()
   | ^^^^^^^^^^^^^^^^^^^^^^

src/Data/Tuple/Solo.hs:36:1: error:
    Could not find module ‘GHC.Tuple’
    There are files missing in the ‘ghc-prim-0.7.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
36 | import GHC.Tuple (Solo (Solo))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build Only-0.1.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/Only-0.1-5e3974dcd58516950877319c8cda51640309d081d80a5d9dcee58a6e7ae4cbdb.log
):
Configuring library for Only-0.1..
Preprocessing library for Only-0.1..
Building library for Only-0.1..
[1 of 1] Compiling Data.Tuple.Only  ( src/Data/Tuple/Only.hs, dist/build/Data/Tuple/Only.o, dist/build/Data/Tuple/Only.dyn_o )

src/Data/Tuple/Only.hs:6:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
6 | module Data.Tuple.Only where
  |        ^^^^^^^^^^^^^^^

src/Data/Tuple/Only.hs:8:1: error:
    Could not find module ‘Control.DeepSeq’
    There are files missing in the ‘deepseq-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
8 | import           Control.DeepSeq (NFData (rnf))
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Tuple/Only.hs:9:1: error:
    Could not find module ‘Data.Data’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
9 | import           Data.Data       (Data)
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Tuple/Only.hs:10:1: error:
    Could not find module ‘Data.Typeable’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
10 | import           Data.Typeable   (Typeable)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/Tuple/Only.hs:11:1: error:
    Could not find module ‘GHC.Generics’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
11 | import           GHC.Generics    (Generic)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build QuickCheck-2.14.2.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/QuickCheck-2.14.2-0acf2bef83ccd7b3c5bb2ed65a7a68e9d341b62afc8e16c099cc19cffb6dcba2.log
):
Configuring library for QuickCheck-2.14.2..
Preprocessing library for QuickCheck-2.14.2..
Building library for QuickCheck-2.14.2..
[ 1 of 16] Compiling Test.QuickCheck.Exception ( src/Test/QuickCheck/Exception.hs, dist/build/Test/QuickCheck/Exception.o, dist/build/Test/QuickCheck/Exception.dyn_o )

src/Test/QuickCheck/Exception.hs:8:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
8 | module Test.QuickCheck.Exception where
  |        ^^^^^^^^^^^^^^^^^^^^^^^^^

src/Test/QuickCheck/Exception.hs:16:1: error:
    Could not find module ‘Control.Exception’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
16 | import qualified Control.Exception as E
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build StateVar-1.2.2.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/StateVar-1.2.2-5418cd17e7bc5d255ecbac856de427c7f041d9658febb445a6133a010cd0151c.log
):
Configuring library for StateVar-1.2.2..
Preprocessing library for StateVar-1.2.2..
Building library for StateVar-1.2.2..
[1 of 1] Compiling Data.StateVar    ( src/Data/StateVar.hs, dist/build/Data/StateVar.o, dist/build/Data/StateVar.dyn_o )

src/Data/StateVar.hs:72:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
72 | module Data.StateVar
   |        ^^^^^^^^^^^^^

src/Data/StateVar.hs:86:1: error:
    Could not find module ‘Control.Concurrent.STM’
    There are files missing in the ‘stm-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
86 | import Control.Concurrent.STM
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:87:1: error:
    Could not find module ‘Control.Monad.IO.Class’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
87 | import Control.Monad.IO.Class
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:88:1: error:
    Could not find module ‘Data.IORef’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
88 | import Data.IORef
   | ^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:89:1: error:
    Could not find module ‘Data.Typeable’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
89 | import Data.Typeable
   | ^^^^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:90:1: error:
    Could not find module ‘Foreign.ForeignPtr’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
90 | import Foreign.ForeignPtr
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:91:1: error:
    Could not find module ‘Foreign.Ptr’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
91 | import Foreign.Ptr
   | ^^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:92:1: error:
    Could not find module ‘Foreign.Storable’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
92 | import Foreign.Storable
   | ^^^^^^^^^^^^^^^^^^^^^^^

src/Data/StateVar.hs:94:1: error:
    Could not find module ‘Data.Functor.Contravariant’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
94 | import Data.Functor.Contravariant
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build appar-0.1.8.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/appar-0.1.8-6586165814aa330bd57ee334d74c986c541905c796b5ec65fcaf90f23693e9ea.log
):
Warning: appar.cabal:20:37: version operators used. To use version operators
the package needs to specify at least 'cabal-version: >= 1.8'.
Configuring appar-0.1.8...
Preprocessing library for appar-0.1.8..
Building library for appar-0.1.8..

on the commandline: warning:
    -Wnoncanonical-monadfail-instances is deprecated: fail is no longer a method of Monad
[1 of 5] Compiling Text.Appar.Input ( Text/Appar/Input.hs, dist/build/Text/Appar/Input.o, dist/build/Text/Appar/Input.dyn_o )

Text/Appar/Input.hs:3:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
3 | module Text.Appar.Input where
  |        ^^^^^^^^^^^^^^^^

Text/Appar/Input.hs:5:1: error:
    Could not find module ‘Data.ByteString.Char8’
    There are files missing in the ‘bytestring-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
5 | import qualified Data.ByteString.Char8 as S
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Text/Appar/Input.hs:6:1: error:
    Could not find module ‘Data.ByteString.Lazy.Char8’
    There are files missing in the ‘bytestring-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
6 | import qualified Data.ByteString.Lazy.Char8 as L
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build lib:attoparsec-internal from attoparsec-0.14.4.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/attoparsec-0.14.4-l-attoparsec-internal-1c84e1b8d306a0bc15d57271cf3b505ff3b7b23cdc550eef674cc593ba7435c4.log
):
Configuring library 'attoparsec-internal' for attoparsec-0.14.4..
Preprocessing library 'attoparsec-internal' for attoparsec-0.14.4..
Building library 'attoparsec-internal' for attoparsec-0.14.4..
[1 of 6] Compiling Data.Attoparsec.ByteString.FastSet ( internal/Data/Attoparsec/ByteString/FastSet.hs, dist/build/attoparsec-internal/Data/Attoparsec/ByteString/FastSet.o, dist/build/attoparsec-internal/Data/Attoparsec/ByteString/FastSet.dyn_o )

internal/Data/Attoparsec/ByteString/FastSet.hs:19:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
19 | module Data.Attoparsec.ByteString.FastSet
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:35:1: error:
    Could not find module ‘Data.Bits’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
35 | import Data.Bits ((.&.), (.|.), unsafeShiftL)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:36:1: error:
    Could not find module ‘Foreign.Storable’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
36 | import Foreign.Storable (peekByteOff, pokeByteOff)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:37:1: error:
    Could not find module ‘GHC.Exts’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
37 | import GHC.Exts (Int(I#), iShiftRA#)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:38:1: error:
    Could not find module ‘GHC.Word’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
38 | import GHC.Word (Word8)
   | ^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:39:1: error:
    Could not find module ‘Data.ByteString’
    There are files missing in the ‘bytestring-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
39 | import qualified Data.ByteString as B
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:40:1: error:
    Could not find module ‘Data.ByteString.Char8’
    There are files missing in the ‘bytestring-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
40 | import qualified Data.ByteString.Char8 as B8
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:41:1: error:
    Could not find module ‘Data.ByteString.Internal’
    There are files missing in the ‘bytestring-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
41 | import qualified Data.ByteString.Internal as I
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

internal/Data/Attoparsec/ByteString/FastSet.hs:42:1: error:
    Could not find module ‘Data.ByteString.Unsafe’
    There are files missing in the ‘bytestring-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
42 | import qualified Data.ByteString.Unsafe as U
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build auto-update-0.1.6.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/auto-update-0.1.6-79e633b7d738a606fee5954a7a406dd5e8f899b3c2afde18062cf4d48c29bf2d.log
):
Configuring library for auto-update-0.1.6..
Preprocessing library for auto-update-0.1.6..
Building library for auto-update-0.1.6..
[1 of 5] Compiling Control.AutoUpdate ( Control/AutoUpdate.hs, dist/build/Control/AutoUpdate.o, dist/build/Control/AutoUpdate.dyn_o )

Control/AutoUpdate.hs:31:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
31 | module Control.AutoUpdate (
   |        ^^^^^^^^^^^^^^^^^^

Control/AutoUpdate.hs:47:1: error:
    Could not find module ‘Control.Concurrent’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
47 | import           Control.Concurrent      (forkIO, threadDelay)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Control/AutoUpdate.hs:48:1: error:
    Could not find module ‘Control.Concurrent.MVar’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
48 | import           Control.Concurrent.MVar (newEmptyMVar, putMVar, readMVar,
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

Control/AutoUpdate.hs:50:1: error:
    Could not find module ‘Control.Exception’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
50 | import           Control.Exception       (SomeException, catch, mask_, throw,
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

Control/AutoUpdate.hs:52:1: error:
    Could not find module ‘Control.Monad’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
52 | import           Control.Monad           (void)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Control/AutoUpdate.hs:53:1: error:
    Could not find module ‘Data.IORef’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
53 | import           Data.IORef              (newIORef, readIORef, writeIORef)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Failed to build base-compat-0.12.1.
Build log (
/home/proteus/.cabal/logs/ghc-9.0.2/base-compat-0.12.1-277f1271cdde81a9712609f89d9ca45c50bf1d48490dd150fff5e32081ea7d7e.log
):
Configuring library for base-compat-0.12.1..
Preprocessing library for base-compat-0.12.1..
Building library for base-compat-0.12.1..
[  1 of 122] Compiling Control.Concurrent.Compat ( src/Control/Concurrent/Compat.hs, dist/build/Control/Concurrent/Compat.o, dist/build/Control/Concurrent/Compat.dyn_o )

src/Control/Concurrent/Compat.hs:12:1: error:
    Could not find module ‘Control.Concurrent’
    There are files missing in the ‘base-<IP_ADDRESS>’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
12 | import Control.Concurrent as Base
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cabal: Failed to build Diff-0.4.1 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build OneTuple-0.3.1 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build Only-0.1 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build QuickCheck-2.14.2 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build StateVar-1.2.2 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build appar-0.1.8 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build lib:attoparsec-internal from attoparsec-0.14.4 (which is
required by exe:entangled from entangled-1.3.0). See the build log above for
details.
Failed to build auto-update-0.1.6 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.
Failed to build base-compat-0.12.1 (which is required by exe:entangled from
entangled-1.3.0). See the build log above for details.

Looks like I wasn't familiar about the situation of Haskell on Arch Linux. I install ghc-static and configured cabal to use only a few globally installed haskell packages to avoid dynamic loading and entangled builds fine.
Sorry for the noise.


Save and retrieve data in hdf5

Adds options to save and retrieve data in hdf5

Thanks !

Oops, forgot to mention but it wasn't ready for merging.

Oh, If only the travis build is the problem, then I can commit about that.

Nope, need to add some other stuff two. You can keep this closed, I will create a new PR when other commits are ready.

Oh okay ! Sorry for the trouble.

No issues.


Cloud Databases - 413 while respecting limits

I'm using Pyrax to back up all of my cloud databases.  Recently we added a sixth cloud DB instance, and our backup script began to throw the 413 exception (OverLimit).
I believe I'm respecting the limits (100/min on this particular endpoint, and 25/min or 2/sec on POST endpoints in general) - this script should generate 1 request per two seconds, for a total of six.
The relevant code:
databases = cloud_databases.list()

for db in databases:
        if db.status.upper() != 'ACTIVE':
            print 'Did not run backup on %s: Status was %s' % (db.name, db.status)
            continue

        backupName = '%s-%s' % (db.name, dateString)
        backup = db.create_backup(backupName)
        print 'Successfully created backup %s' % backupName

        # Respect rate limits
        sleep(2)

This is something you should take up with the actual Rackspace support as pyrax itself doesn't do anything around limits except tell you when the server says you're over them. It doesn't look like you did anything wrong on the pyrax end of things, and the sleep(2) should certainly have respected the 2/sec limit.
I hate to suggest bumping up sleep times, but as a quick workaround, does a sleep of 3 or 4 seconds make a positive difference? If it doesn't and/or you don't want to do that in your code, that info should be helpful to support.

I tested it with a 10 second sleep time, and I got the same failure.  I'll contact support.  Thanks!


refactor(build): upgrade to webpack 2

Tasks

[x] Upgrade webpack
[x] Upgrade webpack-dev-middleware
[x] Upgrade webpack-hot-middleware
[x] Replace file-loader with url-loader
[x] Simplify project configuration
[x] Fix caching by bundling webpack manifest separately
[x] Add dirty-chai to test suite
[x] Upgrade to bootstrap 4 (alpha)
[x] Use local bootstrap sass dependency, not web-based version
[x] Replace babel-preset-es2015 with babel-preset-env
[x] Add normalize js file for polyfills (fetch and Promise). Separate bundle.
[x] Pull changes from https://github.com/davezuko/react-redux-starter-kit/pull/1091
[x] Pull changes from https://github.com/davezuko/react-redux-starter-kit/pull/1189
[x] Rewrite README
[x] Update PostCSS configuration (dropped, replaced w/ css-loader config only)

Merging this as is since it maintains nearly an identical feature set to what existed before but on a shiny new webpack 2 foundation. Some scripts have been rearranged. Would rather breathe some life back into the project than let this sit as well, we can iterate as needed.


esp8266-weather-station-color - problem with 2,4" ST7789V LCD Display

Hi Marcel,
I think that you make a great job at this project.
I have got a one questions. You can help me with make a new code in this project for 2,4 "ST7789V LCD Display?
A lot of people have problems with this driver because it uses the display with the ST7789V driver, and the project is based on libraries for ILI9341. Thanks a lot.

We only write and support software for free for the hardware we have in our shop, sorry. However, it's probably not too difficult to use the Adafruit driver https://github.com/adafruit/Adafruit-ST7735-Library.


Host of issues after upgrading to v3.6.1

Web Browser: Safari
Local OS: macOS
Remote OS: Raspberry Pi OS Debian Buster
Remote Architecture: armv7l
Version: 3.6.1 62735da69466a444561ab9b1115dc7c4d496d455

Ever since I upgraded to v3.6.1, I've not been able to use code-server properly.

Most of the time I get Activating Extensions in the status bar
Open Preview to the side won't open
Color theme get randomly reset upon refresh (#2231)

Browser console log:

Meanwhile, downgrading to v3.6.0.
sudo npm install -g<EMAIL_ADDRESS>--unsafe-perm

same issue

Most of the reported problems applies for me. One thing I might add:
.vscode/launch.json is not recognized in 3.6.1 and can not create new one.

#2262

#2259

I'm quite surprised as to why 3.6.1 hasn't been pulled yet. @code-asher

It seems these issues are related to Safari and how VS Code now loads
the web worker extension host.
It looks like they have a fix in the works which I think should be out
with the next version (probably the next week or two).
I'm hesitant to pull the release since it doesn't affect other browsers
and because the last time I did that I broke things downstream. >.<

Looks like the issues are still there in v3.7.1

Yeah, unfortunately. :( I think they'll be resolved once we upgrade to
VS Code 1.51.1 though which I'm currently working on. I'll update this
issue once that's merged.

It seems there are still issues after the upgrade (different ones though). Will need to dig further.

issues are still there in v3.7.2

My issues seem to be fixed with the 3.7.3. Thanks

Settings are persistent
launch and tasks files under .vscode are visible to debugger

My plugin activation issues #2243 have been fixed as well! :thumbsup:

Reopening this since there’s an active milestone.

It's closed even though the milestone is active because the issue is technically fixed on the latest development version - it helps because it shows up as a completed task on the milestone.
Closing again!


Prepare for v0.5.0 release

Codecov Report

Merging #9 (b274180) into master (6919b9a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master        #9   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          205       205
=========================================
  Hits           205       205

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 6919b9a...b274180. Read the comment docs.


Functionality Updates

Took into consideration issue #5 with updates from existing Pull Request
Updated to provide the following functionality:

Update Descriptions on Cards
Add Comments to Cards
Get list of members' first names on board (mostly used for testing. Is not throttled and may kick hubot)
Add members to cards

@syntax922 I just merged #6 , can you rebase against origin/master so I can merge this?

@syntax922 also, thanks so much for the PR, this is great!

@codeimpossible Sorry for being a complete n00b to github. How do I rebase this as requested? (should I have the base as fragcastle?)

No worries! I'll post some instructions for you when I get back on my
desktop ( on my phone now )
On Thursday, March 10, 2016, syntax922<EMAIL_ADDRESS>wrote:

@codeimpossible https://github.com/codeimpossible Sorry for being a
complete n00b to github. How do I rebase this as requested? (should I have
the base as fragcastle?)
—
Reply to this email directly or view it on GitHub
https://github.com/hubot-scripts/hubot-trello/pull/7#issuecomment-194996498
.

@codeimpossible I've updated now to include the search functionality. I'd love for you to take a look!

Looking good! I didnt see anything major, there was the one indentation that I think won't generate the correct js - but I am not 100% sure about it.

I have this code running successfully on my test box, but if I can definitely change the depth (still learning CS sorry)


self-update component missbehaviour

Updates to a lower or constant verison

After a deep analysis of the self-update command, I found out that the Updater is using an endpoint for packagist api v1 which is causing this error.
the endpoint shows even the deleted tags and branches which is kind of confusing for me.
It is expected to be fixed either by overriding the default command codes with a custom command.