Infinity mask breaks gradient

I'm trying to do softmax over selected indices, using infinity mask to silent out the unwanted ones. However, the gradient of those unwanted entires become nan as opposed to 0.
The reason I didn't use boolean mask is that the mask indices are different in my batch, which can't end up with a nice matrix form. If there's workaround here I'll be more than happy to adopt.
The code I tested the infinity mask is
import numpy as np
import tensorflow as tf

a = tf.placeholder(tf.float32, [5])
inf_mask = tf.placeholder(tf.float32, [5])

b = tf.multiply(a, inf_mask)
sf = tf.nn.softmax(b)

loss = (sf[2] - 0)
grad = tf.gradients(loss, a)

sess = tf.Session()

a_np = np.ones([5])
np_mask = np.ones([5]) * 4
np_mask[1] = -np.inf

print sess.run([sf, grad], feed_dict={
    a: a_np,
    inf_mask: np_mask
})

sess.close()

The output is [array([ 0.25,  0.  ,  0.25,  0.25,  0.25], dtype=float32), [array([-0.25,   nan,  0.75, -0.25, -0.25], dtype=float32)]]
The mask is working but the gradient has a nan, which should have been 0 I think.

Could you ask on StackOverflow to see if anybody has a more elegant solution?

Yes, there's a solution of using np.finfo(np.float32).min instead of -np.inf https://stackoverflow.com/questions/45310221/tensorflow-infinity-mask-breaks-gradient/45310834?noredirect=1#comment77584966_45310834.
Also, it seems doing the mask (a 0-1 mask instead of negative infinity mask) after exponential also works.
I'm not sure how robust these methods are though. Hope someone can clarify. Thanks!
import numpy as np
import tensorflow as tf

a = tf.placeholder(tf.float32, [5])
inf_mask = tf.placeholder(tf.float32, [5])
zero_one_mask = tf.placeholder(tf.float32, [5])
exp_a = tf.exp(a)

b = tf.multiply(exp_a, zero_one_mask)
sf = b / tf.reduce_sum(b)

# b = tf.multiply(a, inf_mask)
# sf = tf.nn.softmax(b)

loss = (sf[2] - 0)
grad = tf.gradients(loss, a)

sess = tf.Session()

a_np = np.ones([5])
np_mask = np.ones([5])
np_mask[1] = 0

print sess.run(grad, feed_dict={
    a: a_np,
    zero_one_mask: np_mask
})

sess.close()

softmax is written to avoid numerical inaccuracy for ill-conditioned finite values numbers. It does this by subtracting off the max abs value and doing the computation around that. That means that injecting infinities to its arguments will give you nans as you are seeing. This numerically robust computation is key for many models. I think if you can get away with the 0 to 1 solution that is pretty decent. You could look at some of the sparse cross entropy softmax with logits functions for maximum robustness and the ability to have a sparse subset of values.

Do you have some examples for "sparse cross entropy softmax with logits functions"? Thanks!

Once you start feeding in infinities, then I expect there'll be NaN's in gradients. Fundamental reason is that gradients are obtained using simple algebraic transformations which only make sense for finite numbers. The robust way of handling things would be to use boolean masks.
It looks like "really large number" works in this case, although in general things can overflow and give unexpected nan. For instance, the example below produces nan gradient.
x = tf.placeholder(tf.float32)
y = tf.exp(x)
z = tf.exp(-y)
grad = tf.gradients(z,[x])[0]
print sess.run(grad, feed_dict={x: 1e10})

Wont multiplying 0-1 mask after softmax function work as well?

So between masking with a very big negative number and doing softmax by hand (calculating sum of exponentials and stuff), which one is more robust/numerically stable?

@hongzimao @sy2737 I think you guys were on the right track originally, just didn't debug things quite correctly. You wanted a-inf_mask, not multiply. The second solution posted above is still dangerous. stable softmax should be e^(a-max(a)).
The key is that exp(-inf)==0, max(a, -inf)==a and a-inf==-inf. Unfortunately, 0*inf==nan, so making the mask correctly is tricky.
Two most numerically stable options would be either -inf mask or just using a sparse softmax (which might be better depending on what you are doing).
Below is an example of using -inf mask. It has some specifics because of broadcasting but you should be able to make it into whatever you need. Note that if your intention is to use this for loss calculations, you should be doing something else.

Use tf.sequence_mask to create a mask from sequence lengths
Create an infinity mask (this is the ugly part)
-- tf.where to get the indices
-- tf.tile to make as many infs as required (broadcasting doesn't seem to work)
-- tf.scatter_nd to make the mask using the indices and the infs
Then just tf.nn.softmax(logits - infmask, axis=1)

def masked_softmax(logits, mask):
    """
    Masked softmax over dim 1, mask broadcasts over dim 2
    :param logits: (N, L, T)
    :param mask: (N, L)
    :return: probabilities (N, L, T)
    """
    v = tf.shape(logits)[2]
    indices = tf.cast(tf.where(tf.logical_not(mask)), tf.int32)
    inf = tf.constant(np.array([[np.inf]], dtype=np.float32), dtype=tf.float32)
    infs = tf.tile(inf, [tf.shape(indices)[0], v])
    infmask = tf.scatter_nd(
        indices=indices,
        updates=infs,
        shape=tf.shape(logits))
    _p = tf.nn.softmax(logits - infmask, axis=1)
    return _p

Unfortunately, as @yaroslavvb mentioned the masked_softmax implementation by @bstriner broke for me when computing gradients, producing NaNs.
A simple workaround that got it working for me was replacing np.inf with tf.float32.max. This, of course, incurs some penalty as the padded values will not be completely negligible, but I think it is the most numerically stable approach.
I'm also asking if there are any other downsides to this approach as I'm only just starting out with Tensorflow and Machine Learning in general, so I'd appreciate knowing if this approach is actually breaking anything.

I recently dealt with a similar problem involving reduce_max() over a tensor where I couldn't apply a boolean mask since that would yield a "jagged" tensor. Instead of "turning off" values with negative infinite (or pos inf for reduce_min), I suggest simply replacing unwanted values with an arbitrary slice of the tensor (for a matrix you can pick the first row, assuming it's True in the mask). You willl need to tile the tensors appropriately since the broadcasting support is lackluster. Pseudocode:
matrix = [
    [1, 2],
    [5, 6],
    [2, 4],
]

mask = [
    True,
    False,
    True,
]

arbitary_row = tf.boolean_mask(matrix, mask)[0, :]
masked = tf.where(mask, matrix, arbitary_row)
max_val = tf.reduce_max(masked, axis=0)

print(max_val)
>> [2, 4]

My solution to this problem:
def maskedSoftmax(logits, mask):
    indices = tf.where(mask)
    values = tf.gather_nd(logits, indices)
    result = tf.sparse_softmax(tf.SparseTensor(indices, values, logits.shape))
    return tf.scatter_nd(result.indices, result.values, result.dense_shape)

@NickRyder You can adapt the sparse_logsoftmax below. Inputs are dense logits and sparse indices. It gives you the normalized logits in a dense matrix. You can then use the sparse_crossentropy_loss below to get the logits at the labels.
def sparse_logsoftmax(logits, idx):
    dense_shape = tf.cast(tf.shape(logits), tf.int64)
    logits_values = tf.gather_nd(params=logits, indices=idx)
    sparse_logits = tf.SparseTensor(indices=idx, values=logits_values, dense_shape=dense_shape)
    lmax = tf.sparse_reduce_max(sp_input=sparse_logits, axis=-1, keep_dims=True)
    lmax = tf.stop_gradient(lmax)
    normed_logits = logits - lmax
    normed_exp_values = tf.exp(tf.gather_nd(params=normed_logits, indices=idx))
    sparse_normed_exp = tf.SparseTensor(indices=idx, values=normed_exp_values, dense_shape=dense_shape)
    normed_sum = tf.log(tf.sparse_reduce_sum(sp_input=sparse_normed_exp, axis=-1, keep_dims=True)) + lmax
    lsm = logits - normed_sum
    return lsm

def sparse_crossentropy_loss(logits, labels):
    n = tf.shape(labels)[0]
    idx = tf.stack((tf.range(n), labels), axis=-1)
    nll = - tf.reduce_mean(tf.gather_nd(params=logits, indices=idx))
    return nll

@hongzimao @sy2737 I think you guys were on the right track originally, just didn't debug things quite correctly. You wanted a-inf_mask, not multiply. The second solution posted above is still dangerous. stable softmax should be e^(a-max(a)).
The key is that exp(-inf)==0, max(a, -inf)==a and a-inf==-inf. Unfortunately, 0*inf==nan, so making the mask correctly is tricky.
Two most numerically stable options would be either -inf mask or just using a sparse softmax (which might be better depending on what you are doing).
Below is an example of using -inf mask. It has some specifics because of broadcasting but you should be able to make it into whatever you need. Note that if your intention is to use this for loss calculations, you should be doing something else.

Use tf.sequence_mask to create a mask from sequence lengths
Create an infinity mask (this is the ugly part)
-- tf.where to get the indices
-- tf.tile to make as many infs as required (broadcasting doesn't seem to work)
-- tf.scatter_nd to make the mask using the indices and the infs
Then just tf.nn.softmax(logits - infmask, axis=1)

def masked_softmax(logits, mask):
    """
    Masked softmax over dim 1, mask broadcasts over dim 2
    :param logits: (N, L, T)
    :param mask: (N, L)
    :return: probabilities (N, L, T)
    """
    v = tf.shape(logits)[2]
    indices = tf.cast(tf.where(tf.logical_not(mask)), tf.int32)
    inf = tf.constant(np.array([[np.inf]], dtype=np.float32), dtype=tf.float32)
    infs = tf.tile(inf, [tf.shape(indices)[0], v])
    infmask = tf.scatter_nd(
        indices=indices,
        updates=infs,
        shape=tf.shape(logits))
    _p = tf.nn.softmax(logits - infmask, axis=1)
    return _p

I've adapted the -np.inf solution together with sparse_softmax_cross_entropy_with_logits and it worked flawlessly.
The only problem is that I expected it to be faster since we are only applying softmax to a subset of labels, but it takes the same time as the standard softmax over all the labels (10000+).
What is going on here? Are all the gradients being calculated even for the inf mask?
Is there a more effecient solution that ignores masked values, like tf.sparse.softmax suggested by @bstriner ?

tf.SparseTensor

To extend @LordBlackhawk's elegant solution for batched 2D logits, you just need to first tile the mask first:
   mask = tf.tile(tf.expand_dims(mask,axis=0),[tf.shape(logits)[0],1,1])

I've just tried @LordBlackhawk solution that uses tf.sparse.softmax.  It's 2x slower than @bstriner's np.inf together with sparse_softmax_cross_entropy_with_logits.
Both solutions are very elegant and using them provided sharper convergence and lower loss since the labels are restricted. But none of them is faster than the standard tf.nn.softmax.
This is baffling to me since I’m using thousands of labels but each record only has a really small percentage of non-masked labels that need to be updated. I expected the cost to be similar to having a single softmax with the same number of logits as the length of the largest subset of labels, in this case hundreds.

@hongzimao ,
We see that you are using older version of tensorflow (1.x) which is not actively supported. We recommend that you upgrade to latest stable version of tensorflow 2.6.0 and let us know if the issue still persists in newer versions .Thanks!


✨[Feature Request]: Adding Google Authentication

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
@Anishkagupta04 I want to add Google Authentication using Firebase. Kindly assign me this issue.
Use Case
Using Authentication anyone can sign in the Page using his/her own email address.
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@varshith257 @Anjaliavv51 There is no level given for this in the Pull Request . Kindly see this.


Can't use localsConvention in cssLoaderOptions

My next.config.js file looks like this:
const withCSS = require('@zeit/next-css');
const path = require('path');

const cssModuleRegex = /\.module\.css$/;

module.exports = withCSS({
  cssModules: true,
  cssLoaderOptions: {
    localsConvention: 'dashes',
    getLocalIdent: (loaderContext, _, localName) => {
      const fileName = path.basename(loaderContext.resourcePath);

      if (cssModuleRegex.test(fileName)) {
        const name = fileName.replace(/\.[^/.]+$/, '');
        return `${name}__${localName}`;
      }

      return localName;
    },
  },
});

The getLocalIdent bit works fine, but for some reason localsConvention is ignored. My imported styles still don't have camelCase names - e.g. .some-class can only be accessed by importedStyle['some-class'], not importedStyle.someClass.
I can't for the life of me figure out why, am I doing something wrong?

have you resolve the problem?

The documentation for css-loader options points to the master branch, but the plugin imports ^2.1.0.
The localsConvention option is actually very new, previously it was camelCase with slightly different values.
Here is the correct reference: https://github.com/webpack-contrib/css-loader/blob/v2.1.0/README.md#camelcase
TL;DR - { camelCase: 'dashes' }

Hi, thanks for creating an issue. We currently recommend using https://nextjs.org/docs/basic-features/built-in-css-support as the plugins have been deprecated in favor of the built-in support.


Minor fix to rkt version in group vars

Signed-off-by: Bogdan Dobrelya<EMAIL_ADDRESS>

ci check this


Payload getter for std.typecons.Typedef

bearophile_hugs reported this on 2014-04-19T10:23:08Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=12597
CC List

andrej.mitrovich (@AndrejMitrovic)
Bastiaan
josipp
monkeyworks12

Description
Currently if you want to call a function sin/cos on a Typedef (here used to define a strongly typed angle), you need a cast:

void main() {
    import std.typecons: Typedef;
    import std.math: sin;
    alias Angle = Typedef!double;
    Angle x = 0.5;
    auto y1 = sin(x); // Error.
    auto y2 = sin(cast(double)x); // OK.
}

So to avoid the unsafe cast I suggest to add a getter to Typedef:

auto y3 = sin(x.get);

andrej.mitrovich (@AndrejMitrovic) commented on 2014-04-19T10:35:32Z
Looks fairly innocent, but what if the original type is a user-defined type that already defines the get() method?

andrej.mitrovich (@AndrejMitrovic) commented on 2014-04-19T12:23:32Z
(In reply to bearophile_hugs from comment #2)
> (In reply to Andrej Mitrovic from comment #1)
>
> > what if the original type is a user-defined type
> > that already defines the get() method?
>
> Then perhaps you need to write this?
>
> auto y3 = sin(x.get.get);

That would cause existing and generic code to break. For example:

-----
module test;

import std.typecons;

struct S
{
    int get() { return 0; }
}

alias S2 = Typedef!S;

void main()
{
    S2 s2;
    auto x = s2.get();  // works now
}
-----

If we want a solid Typedef in D2 then we have to take this into account as well.

bearophile_hugs commented on 2014-04-22T21:40:07Z
(In reply to bearophile_hugs from comment #7)

>because then getting the type is one typedef away.

Sorry, I meant to write one typeof away.

andrej.mitrovich (@AndrejMitrovic) commented on 2014-04-24T10:58:47Z
Would this getter give ref access? If so, we might as well make the `Typedef_payload` field public. Otherwise we could make a UFCS function that would avoid symbol conflicts:

-----
V getValue(T)(T t)
    /* if (isTypedef!T) */
{
    return t.Typedef_payload;
}
-----

This would be usable via:

Typedef!Type x;
x.getValue();  // assuming 'Type' doesn't define getValue
getValue(x);   // workaround if 'Type' *does* define getValue

Let me know what you think.

andrej.mitrovich (@AndrejMitrovic) commented on 2014-04-22T21:21:52Z
You seem to have filed https://issues.dlang.org/show_bug.cgi?id=11706 before, maybe we should just implement that instead? Then the cast would be safe.

monkeyworks12 commented on 2014-09-24T21:26:33Z
I think this enhancement request should be closed now that https://github.com/D-Programming-Language/phobos/pull/2116 has been merged. With that PR, your first example now becomes:

void main() {
    import std.typecons: Typedef;
    import std.math: sin;
    alias Angle = Typedef!double;
    Angle x = 0.5;
    auto y1 = sin(x); // Error.
    auto y2 = sin(cast(TypedefType!Angle)x); // OK.
}

A bit verbose, but it accomplishes what you want and is more DRY and safer than cast(double)x.

bearophile_hugs commented on 2014-04-19T12:47:30Z
(In reply to Andrej Mitrovic from comment #3)

> That would cause existing and generic code to break.

I see. On the other hand currently Typedef has several problems, and all or almost all bug reports/ERs on it are mine, so I doubt there is a lot of existing code that uses it :-)

andrej.mitrovich (@AndrejMitrovic) commented on 2014-04-19T12:50:49Z
(In reply to bearophile_hugs from comment #4)
> (In reply to Andrej Mitrovic from comment #3)
>
> > That would cause existing and generic code to break.
>
> I see. On the other hand currently Typedef has several problems, and all or
> almost all bug reports/ERs on it are mine, so I doubt there is a lot of
> existing code that uses it :-)

Yeah I know. But there are plenty of people on IRC that keep asking about it though, I typically don't recommend them to use Typedef since it's full of bugs.

bearophile_hugs commented on 2014-04-24T11:21:07Z
(In reply to Andrej Mitrovic from comment #9)

> we might as well make the `Typedef_payload` field public.

Yes, making that field public could be the simplest solution. But the field needs to be renamed to a nicer/shorter name, perhaps like "_data".

> Otherwise we could make a UFCS function that
> would avoid symbol conflicts:
>
> -----
> V getValue(T)(T t)
>     /* if (isTypedef!T) */
> {
>     return t.Typedef_payload;
> }
> -----
>
> This would be usable via:
>
> Typedef!Type x;
> x.getValue();  // assuming 'Type' doesn't define getValue
> getValue(x);   // workaround if 'Type' *does* define getValue
>
> Let me know what you think.

Seems good, but to reduce the frequency of name clashes I'd like a less generic/common name, like "typedefVal". And if possible it should return by reference:

Typedef!Int x;
x.typedefVal++;

bearophile_hugs commented on 2014-04-22T21:38:43Z
(In reply to Andrej Mitrovic from comment #5)

> there are plenty of people on IRC that keep asking about it
> though, I typically don't recommend them to use Typedef since it's full of
> bugs.

While not strictly necessary, something like typedef/Typedef is sometimes useful. In Haskell there's a built-in way to do it, using "newtype", and the GHC compiler has one or more non-standard extensions (GeneralizedNewtypeDeriving) to improve the use of newtype.

(In reply to Andrej Mitrovic from comment #6)
> You seem to have filed https://issues.dlang.org/show_bug.cgi?id=11706
> before, maybe we should just implement that instead? Then the cast would be
> safe.

The need to find the underlying type and the underlying value are both present. So I think we need both enhancements. (I have also just added a note to Issue 11706 ). If you want to implement only one of the two, then I suggest to implement a way to get the underlying value, because then getting the type is one typedef away.

bearophile_hugs commented on 2014-04-19T12:21:15Z
(In reply to Andrej Mitrovic from comment #1)

> what if the original type is a user-defined type
> that already defines the get() method?

Then perhaps you need to write this?

auto y3 = sin(x.get.get);

bearophile_hugs commented on 2014-09-26T08:50:22Z
(In reply to monkeyworks12 from comment #13)

> But casting to TypedefType!(typeof(x)) is always safe,

If it's always safe it shouldn't look dangerous, so it it shouldn't look like "cast(" in a textual search.

> so if you want such a function, it's trivial to add one yourself.
> The main problem (getting the underlying type of a Typedef) is solved.
>
> auto typedefVal(T)(T val)
> {
>     return cast(TypedefType!T)val;
> }

Yes, this ER asks for such safe function in Phobos.

josipp commented on 2022-04-03T19:13:39Z
(In reply to bearophile_hugs from comment #14)
> (In reply to monkeyworks12 from comment #13)
>
> > But casting to TypedefType!(typeof(x)) is always safe,
>
> If it's always safe it shouldn't look dangerous, so it it shouldn't look
> like "cast(" in a textual search.
>
>
> > so if you want such a function, it's trivial to add one yourself.
> > The main problem (getting the underlying type of a Typedef) is solved.
> >
> > auto typedefVal(T)(T val)
> > {
> >     return cast(TypedefType!T)val;
> > }
>
> Yes, this ER asks for such safe function in Phobos.

Could this be integrated into the definition of `std.conv.to(T)`?
The module `std.conv` is described as a one-stop-shop for converting
different types into each other, after all.

I see a very clear objective here to safely and explicitly cast the underlying
value to its corresponding type, and the `to` template is very well-suited
for that kind of transformation.

Bastiaan commented on 2018-03-13T12:40:33Z
(In reply to bearophile_hugs from comment #15)
> (In reply to bearophile_hugs from comment #14)
>
> > > auto typedefVal(T)(T val)
> > > {
> > >     return cast(TypedefType!T)val;
> > > }
> >
> > Yes, this ER asks for such safe function in Phobos.
>
> But it's better to add a template constraint to that T to be sure it's a
> Typedef.

No need:

/// Instantiating with a non-Typedef will return that type
static assert(is(TypedefType!int == int));

bearophile_hugs commented on 2014-09-26T10:07:25Z
(In reply to bearophile_hugs from comment #14)

> > auto typedefVal(T)(T val)
> > {
> >     return cast(TypedefType!T)val;
> > }
>
> Yes, this ER asks for such safe function in Phobos.

But it's better to add a template constraint to that T to be sure it's a Typedef.

bearophile_hugs commented on 2014-09-25T21:09:19Z
(In reply to monkeyworks12 from comment #11)
> I think this enhancement request should be closed now that
> https://github.com/D-Programming-Language/phobos/pull/2116 has been merged.
> With that PR, your first example now becomes:
>
> void main() {
>     import std.typecons: Typedef;
>     import std.math: sin;
>     alias Angle = Typedef!double;
>     Angle x = 0.5;
>     auto y1 = sin(x); // Error.
>     auto y2 = sin(cast(TypedefType!Angle)x); // OK.
> }
>
> A bit verbose, but it accomplishes what you want and is more DRY and safer
> than cast(double)x.

This ER asks for a function like "typedefVal" that's usable like:

auto y2 = x.typedefVal.sin; // OK.

Casts are unsafe, their usage should be minimized in D code. So this ER is still valid.

monkeyworks12 commented on 2014-09-26T04:24:56Z
(In reply to bearophile_hugs from comment #12)
> (In reply to monkeyworks12 from comment #11)
> > I think this enhancement request should be closed now that
> > https://github.com/D-Programming-Language/phobos/pull/2116 has been merged.
> > With that PR, your first example now becomes:
> >
> > void main() {
> >     import std.typecons: Typedef;
> >     import std.math: sin;
> >     alias Angle = Typedef!double;
> >     Angle x = 0.5;
> >     auto y1 = sin(x); // Error.
> >     auto y2 = sin(cast(TypedefType!Angle)x); // OK.
> > }
> >
> > A bit verbose, but it accomplishes what you want and is more DRY and safer
> > than cast(double)x.
>
> This ER asks for a function like "typedefVal" that's usable like:
>
> auto y2 = x.typedefVal.sin; // OK.
>
> Casts are unsafe, their usage should be minimized in D code. So this ER is
> still valid.

But casting to TypedefType!(typeof(x)) is always safe, so if you want such a function, it's trivial to add one yourself. The main problem (getting the underlying type of a Typedef) is solved.

auto typedefVal(T)(T val)
{
    return cast(TypedefType!T)val;
}


I tried to compile the 1.8 version program.Use this command “make px4fmu-v5_default”  。I need your help. It reminds me of this information.thanks！

[100%] Linking CXX executable ../../nuttx_px4fmu-v5_default.elf
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_fpclassify.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_fpclassify.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_cos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_cos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_sin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_sin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_atan.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_atan.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_cos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_cos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fabs.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fabs.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fmax.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fmax.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fmin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fmin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fpclassify.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_fpclassify.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_sin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_sin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_tan.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_tan.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_acos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_acos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_asin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_asin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_atan2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_atan2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_sqrt.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-w_sqrt.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_acos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_acos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_asin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_asin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_atan2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_atan2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_exp.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_exp.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_fmod.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_fmod.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_log.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_log.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_log10.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_log10.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_pow.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-wf_pow.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_acos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_acos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_asin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_asin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_atan2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_atan2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_rem_pio2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_rem_pio2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_sqrt.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-e_sqrt.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_acos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_acos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_asin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_asin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_atan2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_atan2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_exp.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_exp.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_fmod.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_fmod.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_log.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_log.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_log10.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_log10.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_pow.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_pow.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_rem_pio2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_rem_pio2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_sqrt.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-ef_sqrt.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-k_cos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-k_cos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-k_rem_pio2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-k_rem_pio2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-k_sin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-k_sin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_cos.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_cos.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_rem_pio2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_rem_pio2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_sin.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_sin.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_tan.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-kf_tan.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_atan.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_atan.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_fabs.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_fabs.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_floor.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_floor.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_lib_ver.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_lib_ver.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_matherr.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_matherr.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_nan.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_nan.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_rint.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_rint.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_scalbn.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_scalbn.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_finite.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_finite.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_floor.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_floor.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_nan.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_nan.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_scalbn.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_scalbn.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_copysign.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-s_copysign.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_copysign.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/lib/libm.a(lib_a-sf_copysign.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_powisf2.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_powisf2.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixsfdi.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixsfdi.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixdfdi.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixdfdi.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixunssfdi.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixunssfdi.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixunsdfdi.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_fixunsdfdi.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(bpabi.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(bpabi.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_divdi3.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_divdi3.o)
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: error: ../../nuttx_px4fmu-v5_default.elf uses VFP register arguments, /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_udivdi3.o) does not
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/lib/gcc/arm-none-eabi/4.9.3/libgcc.a(_udivdi3.o)
collect2: error: ld returned 1 exit status
platforms/nuttx/CMakeFiles/nuttx_px4fmu-v5_default.elf.dir/build.make:268: recipe for target 'nuttx_px4fmu-v5_default.elf' failed
make[3]: *** [nuttx_px4fmu-v5_default.elf] Error 1
CMakeFiles/Makefile2:9361: recipe for target 'platforms/nuttx/CMakeFiles/nuttx_px4fmu-v5_default.elf.dir/all' failed
make[2]: *** [platforms/nuttx/CMakeFiles/nuttx_px4fmu-v5_default.elf.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:153: recipe for target 'px4fmu-v5_default' failed
make: *** [px4fmu-v5_default] Error 2
root@ubuntu:/home/pix/code/Firmware#

Please use the officially supported GCC 7.2.1 arm toolchain. You are running 4.9.3.

@mhkabir any ideas for people who are using older versions because for 32-bit linux? Namely, raspbian?


Feature 405 point to grid

Added Point2Grid wrapper
Added Point2Grid.conf which uses test data found on kiowa
Added a unit test file containing 1 unit test
Edited quicksearch keywords file
Edited met_util.py to add a few name lookups

I made some in-line edits/suggestions. You will also need to add:

Documentation file for use case in docs/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.py
A section for the new wrapper and all of the possible config variables in docs/Users_Guide/wrappers.rst
An item for each new config variables in the Glossary: docs/Users_Guide/glossary.rst

Thanks George! I will work on the documentation. I could not actually find your inline comments. I am probably doing something incorrectly. I added one of my own just as a sanity check.

@fisherhucar I see the inline comments in the Conversation and also if you go to "Files changed." Let me know if you are still having issues finding them.

Yep, I tried both of those but I don't seem to see them. Maybe a quick
screen share after the 11:00 meeting?
On Tue, May 19, 2020 at 10:31 AM George McCabe<EMAIL_ADDRESS>wrote:

@fisherhucar https://github.com/fisherhucar I see the inline comments
in the Conversation and also if you go to "Files changed." Let me know if
you are still having issues finding them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/METplus/pull/466#issuecomment-630934478, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHAUIKGSRRK6NVMYBWEWRWTRSKX7VANCNFSM4NELL6UQ
.

--
Hank Fisher       Research Applications Laboratory
303-497-2817      National Center for Atmospheric Research
<EMAIL_ADDRESS>P.O. Box 3000, Boulder CO 80307-3000

Ah, I had to submit my review before you could see them. You should be able
to see them now.
On Tue, May 19, 2020 at 10:42 AM Hank Fisher<EMAIL_ADDRESS>wrote:

Yep, I tried both of those but I don't seem to see them. Maybe a quick
screen share after the 11:00 meeting?
On Tue, May 19, 2020 at 10:31 AM George McCabe<EMAIL_ADDRESS>wrote:

@fisherhucar https://github.com/fisherhucar I see the inline comments
in the Conversation and also if you go to "Files changed." Let me know if
you are still having issues finding them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/METplus/pull/466#issuecomment-630934478, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AHAUIKGSRRK6NVMYBWEWRWTRSKX7VANCNFSM4NELL6UQ
.

--
Hank Fisher Research Applications Laboratory
303-497-2817 National Center for Atmospheric Research
<EMAIL_ADDRESS>P.O. Box 3000, Boulder CO 80307-3000
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/METplus/pull/466#issuecomment-630941845, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFSSZN54MJWEP52M6RZPTE3RSKZHTANCNFSM4NELL6UQ
.

--
George McCabe - Software Engineer III
National Center for Atmospheric Research
Research Applications Laboratory
303-497-2768
My working day may not be your working day. Please do not feel obliged to
reply to this email outside of your normal working hours.

There they are! Thanks.
Hank
On Tue, May 19, 2020 at 10:49 AM George McCabe<EMAIL_ADDRESS>wrote:

Ah, I had to submit my review before you could see them. You should be able
to see them now.
On Tue, May 19, 2020 at 10:42 AM Hank Fisher<EMAIL_ADDRESS>wrote:

Yep, I tried both of those but I don't seem to see them. Maybe a quick
screen share after the 11:00 meeting?
On Tue, May 19, 2020 at 10:31 AM George McCabe<EMAIL_ADDRESS>wrote:

@fisherhucar https://github.com/fisherhucar I see the inline
comments
in the Conversation and also if you go to "Files changed." Let me know
if
you are still having issues finding them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/METplus/pull/466#issuecomment-630934478, or
unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AHAUIKGSRRK6NVMYBWEWRWTRSKX7VANCNFSM4NELL6UQ

.

--
Hank Fisher Research Applications Laboratory
303-497-2817 National Center for Atmospheric Research
<EMAIL_ADDRESS>P.O. Box 3000, Boulder CO 80307-3000
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/METplus/pull/466#issuecomment-630941845, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AFSSZN54MJWEP52M6RZPTE3RSKZHTANCNFSM4NELL6UQ
.

--
George McCabe - Software Engineer III
National Center for Atmospheric Research
Research Applications Laboratory
303-497-2768
My working day may not be your working day. Please do not feel obliged to
reply to this email outside of your normal working hours.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/METplus/pull/466#issuecomment-630945719, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHAUIKASEZIQDN3INN5XJN3RSK2DPANCNFSM4NELL6UQ
.

--
Hank Fisher       Research Applications Laboratory
303-497-2817      National Center for Atmospheric Research
<EMAIL_ADDRESS>P.O. Box 3000, Boulder CO 80307-3000


one question about lexicons

Is the "twitter.json" file under the path "socialsent/socialsent/data/lexicons/" a public lexicon or lexicon constructed by your approach?

This is a public lexicon. It was taken from 2015 SemEval task 10E: http://saifmohammad.com/WebPages/SCL.html#ETSL


Fix clang version

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

The latest clang version is "14<IP_ADDRESS>.1" (see below). However brew expects "14<IP_ADDRESS>.2" to be the latest, making brew doctor to request an update for a non-existent version.
% /Library/Developer/CommandLineTools/usr/bin/clang --version
Apple clang version 14.0.3 (clang-14<IP_ADDRESS>.1)
Target: arm64-apple-darwin22.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
brew(main):001:0> MacOS::CLT.outdated?
=> true
brew(main):002:0> MacOS::CLT.detect_clang_version
=> "14<IP_ADDRESS>.1"
brew(main):003:0> MacOS::CLT.latest_clang_version
=> "14<IP_ADDRESS>.2"

Thanks for the PR anyway!


共享功能

Type: Feature Request
我想共享功能套用在别的代码里
VS Code version: Code 1.95.3 (f1a4fb101478ce6ec82fe9627c43efbf9e98c813, 2024-11-13T14:50:04.152Z)
OS version: Windows_NT x64 10.0.19042
Modes:
[DrawPlayer.zip](https://github.com/user-attachments/files/17791459/DrawPlayer.zip)

Sorry, I don't understand what functionality exactly you mean


trying to sync up build script bootstrap name

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


devServer.root undefined when serving stencil library

Describe the bug

nx build "components" "--verbose"
After setting up a new nx workspace and running the following command to add a stencil project:

npx nx g @nxext/stencil:lib components --style=’scss’ --buildable=true --publishable=true --importPath='components'

I receive the following error when running npx nx serve components:

nx run components:build --verbose
Cannot read property 'replace' of undefined
TypeError: Cannot read property 'replace' of undefined
at /Users/foobar/dev/design-system.npm/node_modules/@nxext/stencil/src/executors/stencil-runtime/prepare-config-and-outputarget-paths.js:92:117
at Generator.next ()
at /Users/foobar/dev/design-system.npm/node_modules/tslib/tslib.js:117:75
at new Promise ()
at __awaiter (/Users/foobar/dev/design-system.npm/node_modules/tslib/tslib.js:113:16)
at prepareConfigAndOutputargetPaths (/Users/foobar/dev/design-system.npm/node_modules/@nxext/stencil/src/executors/stencil-runtime/prepare-config-and-outputarget-paths.js:66:34)
at /Users/foobar/dev/design-system.npm/node_modules/@nxext/stencil/src/executors/build/executor.js:37:92
at Generator.next ()
at fulfilled (/Users/foobar/dev/design-system.npm/node_modules/tslib/tslib.js:114:62)

This is with the latest version, 12.2.0. and node 14.17.
Adding the following to the StencilJs config:
  devServer: {
    root: '/'
  },

resolved the undefined error, but after that the serve/build commands still silently fail with an nondescript error.
Edit:
Other issues encountered: providing a logger to resolve an error from a missing logger. The build also fails on a missing 'flags' property ("Cannot read property 'flags' of null")
An updated working example/demo of an nx stencil monorepo would be helpful. The existing demo appears to use nx v1 rather than v2.

I'm having the same issues and I'm not sure why since it's been about 2 months since I've tried this plugin and it worked. Let me know what I can do about it. This is the report:

   Node : 16.13.0
   OS   : darwin x64
   yarn : 1.22.17

   nx : 13.10.3
   @nrwl/angular : 13.10.3
   @nrwl/cypress : 13.10.3
   @nrwl/detox : Not Found
   @nrwl/devkit : 13.10.3
   @nrwl/eslint-plugin-nx : 13.10.3
   @nrwl/express : Not Found
   @nrwl/jest : 13.10.3
   @nrwl/js : 13.10.3
   @nrwl/linter : 13.10.3
   @nrwl/nest : Not Found
   @nrwl/next : Not Found
   @nrwl/node : Not Found
   @nrwl/nx-cloud : 13.3.1
   @nrwl/nx-plugin : Not Found
   @nrwl/react : 13.10.3
   @nrwl/react-native : Not Found
   @nrwl/schematics : Not Found
   @nrwl/storybook : 13.10.3
   @nrwl/web : 13.10.3
   @nrwl/workspace : 13.10.3
   typescript : 4.6.3
   rxjs : 7.4.0
   ---------------------------------------
   Community plugins:
         @ns3/nx-jest-playwright: 2.3.0
         @nxext/stencil: 13.2.3

After I set up the devServer.root property to /, I get the following error, which is kinda weird since I am already passing the verbose flag:
$ nx run ui:serve --verbose

> nx run ui:serve --verbose

Cannot read properties of undefined (reading 'error')

 ————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 >  NX   Running target "ui:serve" failed

   Failed tasks:

   - ui:serve

   Hint: run the command with --verbose for more details.

So it seems that if you call your library ui, the entire stencil library doesn't work. Could we validate the name of the project and maybe not allow it?


DS-3522: Ensure Submission Policies are removed in XMLWorkflow

https://jira.duraspace.org/browse/DS-3522
This is #1672 for dspace-6_x.

Merged. This needs porting to master


unknown segfault

I had been attempting to use the Version 2.2 release, but #329 was also affecting me, so now I'm trying to use master 4474f2a01ecfcb07c0b75e33a41817d45fabc92a, but I'm getting a segfault in some cases.
Unfortunately the log file doesn't show any related failures.  I'm on Ubuntu 18.04 with a 4.14.175 kernel, if that helps.  I'm posting the tail of the log file, but I'm not sure it helps?
user@d-8-3-1:/dev/shm/fuzz/honggfuzz/604479/grepB2$ honggfuzz --debug --verbose --logfile hf02.log -i inputs --output outputs/grepB2_honggfuzz/queue -n 2 -W outputs/grepB2_honggfuzz/crashes --max_file_size 1048576 -w dict/consts.txt --stdin_input -- ./lava-hf/bin/grep \(.\).\(.\)
Segmentation fault
user@d-8-3-1:/dev/shm/fuzz/honggfuzz/604479/grepB2$ tail -n 20 hf01.log
[2020-06-11T23:14:13+0000][D][62672] files_writeBufToFile():86 Written '4' bytes to '/proc/self/oom_score_adj'
[2020-06-11T23:14:13+0000][D][18856] arch_traceAttach():913 Attached to PID: 62672
[2020-06-11T23:14:13+0000][D][18855] arch_checkWait():225 pid=62671 returned with status: EXITED, exit code: 1
[2020-06-11T23:14:13+0000][D][18855] subproc_New():368 Forking new process for thread: 0
[2020-06-11T23:14:13+0000][D][18856] arch_checkWait():225 pid=62672 returned with status: EXITED, exit code: 1
[2020-06-11T23:14:13+0000][D][18855] subproc_New():419 Launched new process, pid=62673, thread: 0 (concurrency: 2)
[2020-06-11T23:14:13+0000][D][18856] subproc_New():368 Forking new process for thread: 1
[2020-06-11T23:14:13+0000][D][62673] subproc_New():407 Launching './lava-hf/bin/grep' on file '/dev/fd/1021' (stdin mode)
[2020-06-11T23:14:13+0000][D][62673] files_writeBufToFile():86 Written '4' bytes to '/proc/self/oom_score_adj'
[2020-06-11T23:14:13+0000][D][18855] arch_traceAttach():913 Attached to PID: 62673
[2020-06-11T23:14:13+0000][D][18856] subproc_New():419 Launched new process, pid=62674, thread: 1 (concurrency: 2)
[2020-06-11T23:14:13+0000][D][62674] subproc_New():407 Launching './lava-hf/bin/grep' on file '/dev/fd/1021' (stdin mode)
[2020-06-11T23:14:13+0000][D][62674] files_writeBufToFile():86 Written '4' bytes to '/proc/self/oom_score_adj'
[2020-06-11T23:14:13+0000][D][18856] arch_traceAttach():913 Attached to PID: 62674
[2020-06-11T23:14:13+0000][D][18856] arch_checkWait():225 pid=62674 returned with status: STOPPED with signal: 11 (Segmentation fault)
[2020-06-11T23:14:13+0000][D][18855] arch_checkWait():225 pid=62673 returned with status: STOPPED with signal: 11 (Segmentation fault)
[2020-06-11T23:14:13+0000][D][18855] sanitizers_PidForTid():120 Tid 62673 has Pid 62673
[2020-06-11T23:14:13+0000][D][18856] sanitizers_PidForTid():120 Tid 62674 has Pid 62674
[2020-06-11T23:14:13+0000][D][18855] sanitizers_parseReport():139 fopen('outputs/grepB2_honggfuzz/crashes/HF.sanitizer.log.62673', 'rb'): No such file or directory
[2020-06-11T23:14:13+0000][D][18856] sanitizers_parseReport():139 fopen('outputs/grepB2_honggfuzz/crashes/HF.sanitizer.log.62674', 'rb'): No such file or directory

Maybe some rlimits are too low?
Please try playing with the --rlimit_ arguments (i.e. increasing their default values), I suspect it might be --rlimit_stack

I haven't make any progress with this issue.  My limits are the normal defaults and I've tried various stack limits up to 512.  Sometimes I get a log with no failures, sometimes I get the arch_prepareParentAfterFork():199 Couldn't attach to pid=34475 failure in the log.  I don't believe I had this error with v2.1?
Any ideas on what else to try?
Limits:
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1031284
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1048576
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Spring cleaning, please re-open if needed


Mesa: Device select Vulkan layer appears to be missing

Describe the bug
Someone analysed my steam system info when I was asking for help with issues with Elden Ring in https://github.com/ValveSoftware/Proton/issues/5613#issuecomment-1076358061. I don't know much about what this means, but I thought I'd raise it as it seems important:

Hello, looking at your current system information, Mesa's device select vulkan layer appears to be missing. While DXVK and VKD3D-Proton may deal with that, you may unexpectedly end up using lavapipe (Mesa's CPU based Vulkan render pipeline) instead of your GPU. This is something to ask your distro's package maintainer for Mesa about.

Notify maintainers
@primeos
@vcunat
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
~
❯ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.16.15, NixOS, 22.05 (Quokka)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4pre20211001_4f49615`
 - channels(root): `"home-manager, nixos-21.11pre321644.5e2018f7b38"`
 - channels(ashe): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Steam System Info
Gist can be found here (it's too big to directly paste here).

Have you read https://nixos.org/manual/nixos/unstable/index.html#sec-gpu-accel-vulkan and does vulkaninfo work?
Vulkan works on NixOS but I've never tested it with Steam games (/ Proton).

So for convenience here's my configuration.nix file so you can see what I had: https://github.com/Ashe/dotfiles/blob/c06cdaaebec0666c0cfc74c6d94dda61616f27d0/system/configuration.nix
As for vulkaninfo I get this error:
~
❯ nix-shell -p vulkan-tools.out --run vulkaninfo
ERROR: [Loader Message] Code 0 : /nix/store/s88zdqxzw3x3ppxrz1n8b2qpaniz36v4-mesa-21.3.7-drivers/lib/libvulkan_intel.so: undefined symbol: wl_proxy_marshal_flags
ERROR: [Loader Message] Code 0 : /nix/store/s88zdqxzw3x3ppxrz1n8b2qpaniz36v4-mesa-21.3.7-drivers/lib/libvulkan_radeon.so: undefined symbol: wl_proxy_marshal_flags
ERROR: [Loader Message] Code 0 : /nix/store/s88zdqxzw3x3ppxrz1n8b2qpaniz36v4-mesa-21.3.7-drivers/lib/libvulkan_lvp.so: undefined symbol: wl_proxy_marshal_flags
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
ERROR at /build/source/vulkaninfo/vulkaninfo.h:687:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER

Prior to the comment I linked, it was pointed out that I was using amdvlk and not radv and so I switched. I read the manual and saw that

Adding the amdvlk package to hardware.opengl.extraPackages makes amdvlk the default driver and hides radv and lavapipe from the device list

and so I figured removing amdvlk from my configuration would tell my system to use radv instead, but it seems that that also means that I'm opening myself up to using lavapipe as well, have I done something wrong?

undefined symbol: wl_proxy_marshal_flags might be caused by impurities, IIRC. vulkaninfo from nix-shell -p vulkan-tools.out --run vulkaninfo might not be compatible with Mesa from /nix/store/s88zdqxzw3x3ppxrz1n8b2qpaniz36v4-mesa-21.3.7-drivers. Is it possible that your user Nixpkgs channel is outdated?
I noticed such issues when I performed a Wayland update: https://github.com/NixOS/nixpkgs/pull/148588

nixos-21.11pre321644.5e2018f7b38

That's commit from October 2021.  On that commit there's mesa-21.2.3.

I installed vulkan-tools via my configuration and not nix-shell -p and it does seem to work - here's the output: https://termbin.com/bsio
Not really sure why nix-shell -p is so different.

nixos-21.11pre321644.5e2018f7b38

That's commit from October 2021. On that commit there's mesa-21.2.3.

Wait.. are we saying I'm not using the latest version of NixOS? I'm on unstable I swear, I should be up to date right?

I'm not really familiar with vulkaninfo output but https://termbin.com/bsio LGTM:
VkPhysicalDeviceDriverProperties:
---------------------------------
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 21.3.7
	conformanceVersion = <IP_ADDRESS>

Anyway, this isn't a Mesa packaging issue as Vulkan is working (at least I'm not aware of any issues).
I have no idea if it works with Steam games as I'm neither packaging nor using Steam (currently).

Not really sure why nix-shell -p is so different.

Your user channel is likely outdated (nix-channel --list, nix-channel --update, etc.).
Anyway, that's about all I can help with as this isn't a Mesa packaging issue.

I apologise if this was a waste of time - I thought that maybe there was something important to relay when people identified some stuff with my steam information. Thanks for checking this out for me, I do appreciate it!

It's fine, at least it's documented/searchable via GitHub's issue tracker now :)
We just often lack time to help with such setup specific issues while Discourse was created for community support (etc.), AFAIK.
And the /run/opengl-driver/ impurities do unfortunately result in many similar issues (https://github.com/NixOS/nixpkgs/issues/95808 often comes up).


FTP over TLS behaviour in .NET Standard 1.4 not good enough

FTP OS: Embedded
FTP Server: bftpd
Computer OS: Windows 10
UWP build 16299 supports .NET Standard 2.0, where the library works well with FTP over TLS. The problem is in UWP build 15063 and lower, or other .NET Standard 1.4 platforms. When using the library with UWP (lower than build 16299), the library doesn't send AUTH TLS even when EncryptionMode is set to Explicit.
.NET Standard 1.4 doesn't support SslStream so this version of library doesn't support FTP over TLS. However I think there should be some errors when somebody tries to use that. Maybe NotSupportedException should be thrown when using ConnectAsync().
Logs :
# ConnectAsync()
Status:   Connecting to <IP_ADDRESS>:21
Response: 220 bftpd 2.2.1 at <IP_ADDRESS> ready.
Command:  USER anonymous
Response: 230 User logged in.
Command:  FEAT
Response: 211 End
Response: 211-Extensions supported:
Response: XPWD
Response: EPRT
Response: EPSV
Response: ALLO
Response: APPE
Response: MDTM
Response: XCWD
Response: XCUP
Response: XMKD
Response: XRMD
Response: REST
Response: SIZE
Response: FEAT
Response: UTF8
Status:   Text encoding: System.Text.UTF8Encoding
Command:  OPTS UTF8 ON
Response: 200 UTF8 ON
Command:  SYST
Response: 215 UNIX Type: L8
Status:   Auto-detected UNIX listing parser

# GetListingAsync("/", Auto)
Command:  TYPE I
Response: 200 Transfer type changed to BINARY

# OpenPassiveDataStreamAsync(PASV, "LIST /", 0)
Command:  PASV
Response: 227 Entering Passive Mode (192,168,1,1,203,236)
Status:   Connecting to <IP_ADDRESS>:52204
Command:  LIST /
Response: 150 BINARY data connection established.
+---------------------------------------+
Listing:  drwxrwxrwx   3 0        0        0 Jan 01  1970 shares
-----------------------------------------
Status:   Disposing FtpSocketStream...

# CloseDataStream()
Response: 226 Directory list has been submitted.
Status:   Disposing FtpSocketStream...
Status:   Confirmed format Unix

So on the .NET Standard 1.4 platform you want the library to throw a NotSupportedException?

@robinrodricks Yes, that's the behaviour I expect. Or we can disable encryption setting on .NET Standard 1.4.

Run this code and tell me what you get on your platform
string ver = Assembly.GetEntryAssembly()?.GetCustomAttribute<TargetFrameworkAttribute>()?.FrameworkName;

Closing as no response given.


Default kudu/scm access restrictions prohibit devops deployment

Unfortunatly the default 'deny all' rule in the App Service ➟ Networking ➟ Access Restrictions ➟ SCM prohibits all deployment from a Linux DevOps agent with a non intuitive error.
It will be great to mention this in the documentation.
Also as hosted agents have shared/moving IPs, it is very difficult to manage those access restrictions.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7a40a853-83d6-844a-4752-8b00909c9ffb
Version Independent ID: e3121964-de38-2a57-2414-c1e29a880477
Content: Deploy an Azure Web App - Azure Pipelines
Content Source: docs/pipelines/targets/webapp.md
Product: devops
Technology: devops-cicd
GitHub Login: @andyjlewis
Microsoft Alias: alewis

We lost a couple of days on this with a lot of head-scratching.  Would be great if this could be mentioned in the doco, with a recommended workaround.

@epizut Thank you for your feedback. I added clarifications with links for more details. The updated article will go live shortly.

Your are welcome
Le mar. 8 sept. 2020 à 19:22, PRMerger12<EMAIL_ADDRESS>a
écrit :

Closed #4847
https://github.com/MicrosoftDocs/azure-devops-docs/issues/4847.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-devops-docs/issues/4847#event-3742033373,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM5ZLCYPLAIBYAMFOZEE4DSEZR6LANCNFSM4ICMJRRA
.


messagepack bug in http (in) plugin

Describe the bug
The http (in) plugin will not accept a messagepack request that should succeed if it accepts a messagepack request that fails.
To Reproduce
Create
mkdir -p /containers/fluentd
cd /containers/fluentd
mkdir ./output
ls -lnd ./output

compose.yaml
/containers/fluentd/docker-compose.yaml
services:
 fluentd:
   restart: always
   image: fluent/fluentd:edge
   command: fluentd -c /fluentd/etc/fluent.conf
   user: 1000:1000
   ports:
     - 8888:8888
   volumes:
     - ./fluent.conf:/fluentd/etc/fluent.conf:ro
     - ./output:/var/fluentd/output

fluent.conf
/containers/fluentd/fluent.conf
# http input
<source>
  @type http
  port 8888
  bind <IP_ADDRESS>
</source>

# file output
<match myapp.access>
  @type file
  path /var/fluentd/output/myapp.access
  <buffer>
    timekey 86400
    timekey_wait 600
    timekey_use_utc true
  </buffer>
</match>

compose up
docker compose up -d

check
1. Successful Requests
msgpack=`echo -e "\x81\xa3bar\xa3bar"`

curl \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "msgpack=$msgpack" \
http://localhost:8888/myapp.access

2. Failure Requests
msgpack=`echo -e "\x81\xa3bar\xa3bar"`

curl \
-X POST \
-H "Content-Type: application/msgpack" \
-d "msgpack=$msgpack" \
http://localhost:8888/myapp.access

400 Bad Request
undefined method `delete' for 109:Integer

      if t = @default_keep_time_key ? record[@parser_time_key] : record.delete(@parser_time_key)
                                                                       ^^^^^^

3. Same request as 1
msgpack=`echo -e "\x81\xa3bar\xa3bar"`

curl \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "msgpack=$msgpack" \
http://localhost:8888/myapp.access

400 Bad Request
undefined method `delete' for 115:Integer

      if t = @default_keep_time_key ? record[@parser_time_key] : record.delete(@parser_time_key)
                                                                       ^^^^^^^

Expected behavior
"3. Same request as 1" succeeds
Your Environment
- Fluentd version: 1.16.2
- TD Agent version:
- Operating system: Ubuntu 22.04.3 LTS
- Kernel version: 5.15.0-87-generic

Your Configuration
# http input
<source>
  @type http
  port 8888
  bind <IP_ADDRESS>
</source>

# file output
<match myapp.access>
  @type file
  path /var/fluentd/output/myapp.access
  <buffer>
    timekey 86400
    timekey_wait 600
    timekey_use_utc true
  </buffer>
</match>

Your Error Log
fluentd -c /fluentd/etc/fluent.conf
2023-11-20 01:27:06 +0000 [info]: init supervisor logger path=nil rotate_age=nil rotate_size=nil
2023-11-20 01:27:06 +0000 [info]: parsing config file is succeeded path="/fluentd/etc/fluent.conf"
2023-11-20 01:27:06 +0000 [info]: gem 'fluentd' version '1.16.2'
2023-11-20 01:27:06 +0000 [info]: using configuration file: <ROOT>
  <source>
    @type http
    port 8888
    bind "<IP_ADDRESS>"
  </source>
  <match myapp.access>
    @type file
    path "/var/fluentd/output/myapp.access"
    <buffer>
      timekey 86400
      timekey_wait 600
      timekey_use_utc true
      path "/var/fluentd/output/myapp.access"
    </buffer>
  </match>
</ROOT>
2023-11-20 01:27:06 +0000 [info]: starting fluentd-1.16.2 pid=7 ruby="3.1.4"
2023-11-20 01:27:06 +0000 [info]: spawn command to main:  cmdline=["/usr/bin/ruby", "-Eascii-8bit:ascii-8bit", "/usr/bin/fluentd", "-c", "/fluentd/etc/fluent.conf", "--plugin", "/fluentd/plugins", "--under-supervisor"]
2023-11-20 01:27:07 +0000 [info]: #0 init worker0 logger path=nil rotate_age=nil rotate_size=nil
2023-11-20 01:27:07 +0000 [info]: adding match pattern="myapp.access" type="file"
2023-11-20 01:27:07 +0000 [info]: adding source type="http"
2023-11-20 01:27:07 +0000 [info]: #0 starting fluentd worker pid=16 ppid=7 worker=0
2023-11-20 01:27:07 +0000 [info]: #0 fluentd worker is now running worker=0
2023-11-20 01:27:24 +0000 [error]: #0 failed to process request error_class=NoMethodError error="undefined method `delete' for 109:Integer\n\n      if t = @default_keep_time_key ? record[@parser_time_key] : record.delete(@parser_time_key)\n                                                                       ^^^^^^^"
2023-11-20 01:27:53 +0000 [error]: #0 failed to process request error_class=NoMethodError error="undefined method `delete' for 115:Integer\n\n      if t = @default_keep_time_key ? record[@parser_time_key] : record.delete(@parser_time_key)\n

Additional context
No response

Thanks for you report, I can reproduce it.
In this case, the request body including msgpack= in the second request is passed to msgpack parser:
https://github.com/fluent/fluentd/blob/74db9477f445ef83384eca6da8d6c2049945d8cd/lib/fluent/plugin/in_http.rb#L577
Because it's invalid msgpack sequence, broken data is remained in https://github.com/fluent/fluentd/blob/74db9477f445ef83384eca6da8d6c2049945d8cd/lib/fluent/plugin/parser_msgpack.rb#L35
It will breaks also following data.
Someone should reset @unpakcer in msgpack parser on each request.

@ashie can i work on this bug?

@Athishpranav2003
Thanks!
but looks like this is already fixed in the current master.

I confirmed the following PR fixed this issue.

#4474

I confirmed the following PR fixed this issue.

#4474

Oh... this issue still remains in v1.16.x because it does not include #4474.

Oh i see, only backport is pending
Its fine, i will look at other issues and pick up something which interests me.

only backport is pending

#4474 is a large fix and has some specification changes, so it is not preferable to backport it to v1.16.
It is a difficult problem how to handle this issue on v1.16...

I'm not sure yet, but it might be a good idea to backport just this commit about parser_msgpack to v1.16.

https://github.com/fluent/fluentd/pull/4474/commits/8433ca7ff78525bf89e2fea0f58a048ff1e2b6a9

Or, as @ashie says in https://github.com/fluent/fluentd/issues/4346#issuecomment-1846623604, it might still be needed to consider the possibility that some data remains in the unpacker of parser_msgpack when an unexpected error occurs.


sm2: Allow setting 0 length SM2 dist ID param

Fixes #18022
Checklist

[x] tests are added or updated

This pull request is ready to merge

Merged to master and 3.0 branches. Thank you for the reviews.


Add new Metrics about branch lifecycle

In my opinion, there are some  branch indicators are metrics for community healthy.
The branch lifecycle managment  reflect the community is active,the maintainer is concern the develop branch is merge into master branch,and after merge the develop branch should be deleted , the branch list is clear for anyone to understand the status of branch.
we can metrics how many branchs are still on the branch list have already been merged and not deleted.

King,
Are we wanting to keep a list of branches at a point in time, and show delta's related to:

branches deleted between t1 and t2
branches added between t1 and t2
total branches along t1, t2, tn .... ?

Hi Sean, I agree with you 👍 .
others metrics for example :

How many branches have been merged but not deleted?

How long branch have been merged and not deleted?

How many branches have been open more than XXX days?

etc.
these are interesting metrics .

@king-gao : When you ask this question:
"How many branches have been open more than XXX days?"
I think you are asking about "branch on an open pull request?"

@sgoggins yes ,  If the PRs were been merged , shall we need to delete them in the public repo?
like the picture below , there are many branchs. why we are not delete them?

We discussed this during the call for Evolution WG on 10/21 -- (Also notes from the Asia Pacific Call)
Examining the lifecycle of a branch

Branch deletion?
Branch dormancy?

What is the indicator of branch “death”. For example, if a branch has the word “patch” in a name, then it is likely a dormant branch. Especially if it had never been involved since the changes in the branch were merged.
It seems we need to include both branch dormancy and branch deletion as indicators of a branch lifecycle.
What are the differences between how branches are managed in GitLab, BitBucket and GitHub? This is something to consider during the building of this metric.
To understand the local lifecycle, we would technically (literally, technically) have to cull that information from the git log.
Platforms don’t keep track of local branch changes, but the git log does.

Notes from the Asia Pacific Call:
Open Issue discussion: Open branch lifecycle: https://github.com/chaoss/wg-evolution/issues/368
What do we do with branches that are not needed anymore?
Question: How do we know if a branch is not needed anymore?
Can we have a metrics focused on telling us how many branches have not been active in the last X months?
List of those branches
How many branches have been opened for more than X days
How many branches have been merged and are still open upstream
This would be useful to know in order to clean the house, delete branches, etc.

This metric is now released: https://chaoss.community/metric-branch-lifecycle/


Logical operator support

Hi,
I have a variable of size n that stores 0 or positive numbers at every index. I want to change all the number > 0 to 1. I tried using logical operators but I do not think there is support for that. Is there any way of doing this using constraint? I cannot decalre this as a boolean variable initially as this variable stores the sum of a column of a matrix in an intermediate step. I can only change it after that.

You can create a dummy boolean variable to make a boolean constraint:
bool_constraint = [expr == cvxpy.Variable(n, boolean=True)]


File Select window hidden behind Dialog

Describe the bug
When using the blurscreen flag and you have file select as an option, the window will be stuck behind the Dialog window. You have to press escape to close the file browser to interact with the Dialog screen again
While the file select is active, you cannot interact with the Dialog window, and any updates are not shown. If you press escape it will update to the proper state.
To Reproduce
Steps to reproduce the behavior:

Create JSON file and activate as normal with the blurscreen flag to true and a fileselect option
Run Dialog command
Click to select a file/folder

Example json:
{
    "title" : "Folder Selection",
    "moveable" : true,
    "height" : "700",
    "width" : "900",
    "button1text" : "OK",
    "button1disabled" : false,
    "button2text" : "Cancel",
    "button2disabled" : false,
    "blurscreen" : true,
    "message" : "Please select a folder to save your document to",
    "textfield" : [
        {
            "title" : "Folder Location",
            "fileselect" : true,
            "filetype" : "folder"
        }
    ]
}

Expected behavior
Finder window to show in front of the Dialog prompt
Screenshots

Desktop (please complete the following information):

macOS version: 14.4.1 and 15.1
swiftDialog version <IP_ADDRESS>77

I will look at this as even when --blurscreen is not enabled, the file selector is displayed behind the Dialog.


How much faster is Crystal compared to Ruby and JRuby in their lastest versions?

It is the same as asking, "How much faster is C++ compared to Ruby and JRuby in their latest versions?".  It is not. It is totally different language.
It is much-much faster. Since it is not a dynamic language. And it is not even a virtual machine language. You don't have any interpretation here. It just compiles down to native code, like C++, Rust, Go and other system languages.

What would be interesting to measure, is how fast Crystal in comparison to C++/Rust/Go.

It all depends on the programs you are writing.
There are a couple of benchmarks here and there. There are also some in the samples directory, mostly written by @kostya, which show very good performance.
All of these benchmarks show that Crystal can get performance similar to C/C++/Rust by only programming in Crystal. And since you have access to raw pointers and memory (if you need to), you can optimize bottlenecks without ever leaving the language. I think this is the most important point. It's bad when you suddenly realize a language is not good enough for some task and you need to rewrite a portion of it in another language.

Great! When will be available for production?

Heh, a good question. With open source projects, I think they become production-ready, once somebody actually starts using it in production, discovers whole lot of bugs and problems, reports them (probably with pull request) and they got fixed, and then something may be considered production-ready.
So, if you like some project and want it to be production-ready, start using it now, report issues, contribute, make your friends do the same, ie: expand community. And eventually it becomes production-quality.

And as far as I know, manastech company already uses it for something in production.. Am I right @asterite ?

@waterlink Well, we use it in an internal app. The app is a Slack bot that communicates with Google, Quickbooks and Brium, and uses Redis as a backend. So far it's working great :-)
There's also @jhass 's DeBot which is used in our IRC channel and it's also working great. Or this. And this. And also crystalshards.
But I wouldn't consider these "production" as there's no client paying. The best thing to do, as @waterlink  says, is to learn and use the language and try to build things with it, reporting bugs and proposing changes/enhancements, to the point where you feel confident it's "production ready".

The performance is very good, just the usage of the "--release" option (which enables optimizations) is a bit poorly documented, which is an obvious pitfall for newcomers.

If we take the Ruby code from https://clifff.com/blog/2013/04/21/ruby-is-too-slow-for-programming-competitions/ and convert it to Crystal (also borrowing the palindrome test function from the Go implementation because reversing strings is too slow), then we get something like:
def int_palindrome?(num)
  n = num
  reverse = 0.to_i64
  while num > 0
    dig = num % 10
    reverse = reverse * 10 + dig
    num = num / 10
  end
  n == reverse
end

argf = File.open(ARGV[0]).read.split("\n")
argf.shift
count = 0
argf.each do |input|
  count += 1
  found = 0
  start, finish = input.split(" ").map {|a| a.to_i64 }
  sqrt_start = Math.sqrt(start).to_i64
  sqrt_finish = Math.sqrt(finish).to_i64
  (sqrt_start..sqrt_finish).each do |x|
    if int_palindrome?(x)
      square = x * x
      if int_palindrome?(square) && (start..finish).covers?(square)
        found += 1
      end
    end
  end
  puts "Case ##{count}: #{found}"
end

And then we can compare the performance of Crystal and Go (the Ruby benchmark is not included because it is way too slow):
wget https://gist.githubusercontent.com/clifff/5430194/raw/750151829069b4cc2ce93e52494c38e17745a30b/C-large-1.in

go build -o C-go C.go
crystal build --release -o C-crystal C.cr

time ./C-go < C-large-1.in > /dev/null

real	5m3.071s
user	5m2.789s
sys	0m0.160s

time ./C-crystal C-large-1.in > /dev/null

real	3m13.956s
user	3m13.715s
sys	0m0.025s

@ssvb very nice! I guess LLVM optimizes better than Go.
I think that program shows that it's good to have primitive integer values in the language, even though you have to be more careful sometimes (like, in your example you have to specify you want Int64). Fixnum to BigNum promotion is nice and convenient, but bans your language from many scenarios.

@asterite Regarding the integer types size, it might be a good idea to ensure that the "to_i" method of String just throws an exception if the value does not fit, so that the absence of Fixnum to BigNum promotion is somewhat compensated. This would make porting code from Ruby safer.
https://code.google.com/codejam is ongoing, and the programming languages usage statistics is here: http://www.go-hero.net/jam/15/languages :-)

@ssvb Yes, it should raise. Right now we are using C's atoi but I also plan to implement custom parsing logic so we support underscores, like in Ruby. I just added this issue

I'll close this, you have many answers here plus some benchmarks in the wild (or benchmarks you can do)


Change parameters order

Instead of this order
jira-cli issue set estimation IPLUI-2911 --original=0d
It'd be great to place the ticket at the end
jira-cli issue set estimation --original=0d IPLUI-2911

Also jira-cli should be cli-jira to fit with tool's name


Audio clips won't finish sending if you click to another user

If I record an audio clip, and then click to another user before it's finished sending, the audio clip never sends it just stays with it's in progress spinner indefinitely.
Ugh, has happened to me so many times, would love to see this fixed my audio clips are dropping like flies :(
(Still love the software though & thanks a lot for the app)

Might have been a bug with messenger.com as just tried and can't seem to replicate
If it still occurs let me know and I'll reopen


Add retry to redhat master.cf

Fixes: #204

Testing errors appear unrelated to code-change.

@raphink @mcanevet can someone look at this?

LGTM.


azure devops

Does not work with azure DevOps feeds

No clue. Fee free to test it out. This tool is no longer maintained, though.


Unable to get gdbus call to an extension in a GNOME pod

I am working on getting CI testing built for an application that interacts with a GNOME extension. I'm trying to use gnome-shell-pod to help with this.
To start with I want to demonstrate that I can get a gdbus call to the extension to work after it's been installed and enabled, but I am unable to do this.
With this script
# Run the container in detached mode.
POD=$(podman run --rm --cap-add=SYS_NICE --cap-add=IPC_LOCK -td ghcr.io/schneegans/gnome-shell-pod-38)

do_in_pod() {
  podman exec --user gnomeshell --workdir /home/gnomeshell "${POD}" set-env.sh "$@"
}

pushd<EMAIL_ADDRESS>gnome-extensions pack --force
podman cp<EMAIL_ADDRESS>${POD}:/home/gnomeshell
do_in_pod gnome-extensions install --force<EMAIL_ADDRESS>rm<EMAIL_ADDRESS>popd

# This is necessary otherwise wait-user-bus.sh gives
# "Failed to get credentials: No data available"
sleep 5

# Wait until the user bus is available.
do_in_pod wait-user-bus.sh

# Start GNOME Shell.
do_in_pod systemctl --user start "gnome-xsession@:99"

# Wait some time until GNOME Shell has been started.
sleep 5

do_in_pod gnome-extensions list
do_in_pod gnome-extensions enable<EMAIL_ADDRESS>do_in_pod gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Extensions/UserActivity --method org.gnome.Shell.Extensions.UserActivity.Details

# Now we can stop the container again.
podman stop ${POD}

I get this output.
<EMAIL_ADDRESS>~
~
<EMAIL_ADDRESS>Error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Object does not exist at path ?/org/gnome/Shell/Extensions/UserActivity?

I see the extension is present in the list, but it is not found by the gdbus call.
On the non-pod host (a 23.10 VM) I see the following:
$ gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell/Extensions/UserActivity --method org.gnome.Shell.Extensions.UserActivity.Details
('{"wid":1917105287,"name":"gnome-terminal-server","class":"gnome-terminal-server","window":"user@mantic: ~","last_input":"2024-04-06T08:11:39.741Z","pid":3404,"layer":2}',)

So I am clearly missing something out. What is it that I am missing?

Hi there! My first guess would be that a little sleep could help after do_in_pod gnome-extensions enable<EMAIL_ADDRESS>This is most likely an asynchronous operation and it may take some time until the interface is available....
Does this help?

Unfortunately not; even with a 60 second wait. This reflects the behaviour I saw when I was doing the same thing interactively where I never was able to get the interface to come up.


TypeError: Cannot read property 'textContent' of null

Error: TypeError: Cannot read property 'textContent' of null
Happens with some css selectors.

Happens when selecting dynamic elements on the site which are not loaded/loaded differently via jsdom. Working on a headless browser method to get around this issue.


Implement "require_upload_port" option to "upload" section per board

[ ] Add require_upload_port option to boards which require $UPLOAD_PORT for uploading process (avrdude and etc).
[ ] Check require_upload_port in def BeforeUpload(target, source, env):

For example,
    "uno": {
        "build": {
            "core": "arduino",
            "extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO",
            "f_cpu": "16000000L",
            "mcu": "atmega328p",
            "variant": "standard"
        },
        "framework": "arduino",
        "name": "Arduino Uno",
        "platform": "atmelavr",
        "upload": {
            "maximum_ram_size": 2048,
            "maximum_size": 32256,
            "protocol": "arduino",
            "require_upload_port" : true,
            "speed": 115200
        }
    },

WARNING! require_upload_port option should have all boards which use avrdude, but don't use usbtiny protocol. raspduino board also requires require_upload_port.

This bug blocks https://github.com/ivankravets/platformio/issues/106