'./locale' path not found in moment/src/lib/locale/locales.js

WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in 'D:\project-fed\ecloud\client-web\node_modules\moment\src\lib\locale'

I found that there is something wrong with the function below
function loadLocale(name) {
    var oldLocale = null;
    // TODO: Find a better way to register and load all the locales in Node
    if (!locales[name] && (typeof module !== 'undefined') &&
            module && module.exports) {
        try {
            oldLocale = globalLocale._abbr;
            var aliasedRequire = require;
            aliasedRequire('./locale/' + name);
            getSetGlobalLocale(oldLocale);
        } catch (e) {}
    }
    return locales[name];
}

aliasedRequire('./locale/' + name);, should it be ../locale/ ?

I see this same warning when I use webpack to bundle up moment. Any idea when this error was introduced?

I have the same warning using angular-cli any solution?

Having the same issue. Do you know of any workarounds / fixes?

Same issue - looks like a path issue with './locale' vs '../locale'. Is anyone looking into this bug?

https://github.com/moment/moment/issues/2979
Looks like it's been the case for years, why they won't fix it I have no idea. I just ran into this as well when trying to use jsnext:main in webpack instead of main.

The above didn't work for me but following this tutorial helped fix it for me.
https://alligator.io/angular/custom-webpack-config/

I do
import * as moment from 'moment';

and that works.

I do
import * as moment from 'moment';

and that works.

inside the webpack? I am thinking about how to do this with Laravel Mix..

@marcelogarbin oh sorry I haven't messed with Laravel since version 4. I apologize but .I don't know how to make it work with laravel mix.

Just import like below and it's work :
import moment from 'moment/moment';

@yaasinhamidi's solution did the trick

I do
import * as moment from 'moment';

and that works.

Where should this line be put?

Experiencing this same issue for the first time after updating to 2.25.0. I am also using Laravel Mix (note, i never experienced this issue on any previous versions).

my workaround is to get back to 2.24.0

I am facing the same issue after updating

Until it is fixed, rolling back to v2.24.0 solves this issue.

Rolling back to v.2.24.0 worked for me as well.

for anyone else experiencing this issue, i had to also force the versions of moments that other packages in my node_modules/ folder pulled in as dependencies to v2.24.0 as well
using yarn, adding this line to package.json sorted things for me
"resolutions": {
		"**/moment": "2.24.0"
	},

Hello Guys!
I faced the same issue from last few hours and finally I have resolved it through changing moment version.
In the above comments i saw the final solution.
Reason:
moment release the new version 17 hours ago from 2.24.0 to 2.25.0
Solution:
Step 1: change the versions

"moment": "2.24.0",
"moment-timezone": "^0.5.28",

Step 2: If you are using yarn please add resolutions in your package.json file like this
"dependencies" {
"moment": "2.24.0",
"moment-timezone": "^0.5.28"
},
"resolutions": {
"moment": "2.24.0"
},
Thank You.

Even if you have, following block. The package-lock.json will create a new version i.e. 2.5.1. So change it to "moment": "2.24.0" till the issue is addressed.
"dependencies" {
"moment": "^2.24.0", ----------------> "moment": "2.24.0"
},

i rolled back to 2.24.0 but still having same warning while using node

It's weird I started getting this error today after re installing dependencies, the suggested fix of ignoring the locale plugins with webpack didn't work. What worked was leaving the version fixed at 2.24.0 as suggested by @sachins81 . I wonder if something relevant changed in recent commits? @ichernev

i rolled back to 2.24.0 but still having same warning while using node
@nitindevelopermca Make sure it's "2.24.0" and not "^2.24.0". (Worked for me after changing it)

I just rolled back to "^2.18.1" and everything seems working fine

Same issue using react

Same issue using react, moment isnt a dependancy of my project so I can't roll it back

You can run this commands for now.
npm install<EMAIL_ADDRESS>--save
I had the same case and when I search somehow antd was using moment as a dependency and i hope the moment issue will be closed in next release while i saw they released a new version so please first try the latest version which is 2.25.1 then try to add moment as a dependency.
Thank You!

It helped me to change to the fixed version 2.24.0 inside the dependencies and inside the resolutions. I have it inside my code and as a dependency of react and antd.
If you have several workspaces don't forget to change in all package.json files. I forgot this at first.

same problem happened in v2.25.1, then I try to add these in package.json(I use yarn):
"dependencies" {
  "moment": "2.24.0"
},
"resolutions": {
  "moment": "2.24.0"
},

Same error here. I heve
"dependencies": {
    "moment": "^2.25.1"
}

and when I run npm run production I get:
WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/var/www/apf.local/html/node_modules/moment/src/lib/locale'
 @ ./node_modules/moment/src/lib/locale/locales.js
 @ ./node_modules/moment/src/lib/locale/locale.js
 @ ./node_modules/moment/src/moment.js
 @ ./resources/js/app.js
 @ multi ./resources/js/app.js

With ~2.24.0 version, everything working as expected.

Hello Guys!
I faced the same issue from last few hours and finally I have resolved it through changing moment version.
In the above comments i saw the final solution.
Reason:
moment release the new version 17 hours ago from 2.24.0 to 2.25.0
Solution:
Step 1: change the versions

"moment": "2.24.0",
"moment-timezone": "^0.5.28",

Step 2: If you are using yarn please add resolutions in your package.json file like this
"dependencies" {
"moment": "2.24.0",
"moment-timezone": "^0.5.28"
},
"resolutions": {
"moment": "2.24.0"
},
Thank You.

Just import like below and it's work :
import moment from 'moment/moment';

great! it works!

Thanks .
Its work fine. just import the line bellow:
import * as moment from 'moment/moment';

Just import like below and it's work :
import moment from 'moment/moment';

Fantastic fix :) solved a major headache with this

Fantastic fix :) solved a major headache with this
Mediocre fix, if someone doesn't have antd as dependency directly.
I've encountered the same problem but I don't have momentjs in dependencies. But antd does.
And npm can't work with resolutions.
The only solution for me right now is downgrading antd.

I have the same issue in my React app which, for some reason, started to show up out of the blue. I've been using moment in this app forever and had never noticed this error. It actually became an error in my case as my React wouldn't compile because of it.
I then tried import moment from 'moment/moment'; which fixed the compilation issue but I still get the following warning everytime I run the app.
./node_modules/moment/src/lib/locale/locales.js
Module not found: Can't resolve './locale' in 'C:\Users\myname\source\repos\myapp\node_modules\moment\src\lib\locale'

The only saving grace is that it, at least, compiles and runs fine.

I have the same issue with create-react-app (typescript template) too.I tried import moment from 'moment';.Then I got the error :
./node_modules/moment/src/lib/locale/locales.js Module not found: Can't resolve './locale' in 'D:\MyName\Learning\ProjectName\node_modules\moment\src\lib\locale'

@devayarhlaine I have post a temporary solution in above comments please check it.
Its was a moment new version issue.

Same s above:
I have the same issue with "Cannot find module 'moment'" too.
Using the solution with "import * as moment from 'moment/moment' solved one issue.
But then I got the error :
./node_modules/moment/src/lib/locale/locales.js Module not found: Can't resolve './locale' in 'D:\MyName\Learning\ProjectName\node_modules\moment\src\lib\locale'
and downgrading isn't a solution (in my opinion :-).
Got this error when upgrading from angular 8 to angular 9.1.
Upgrading to moment 2.25.1 solved the issue #5486 ("TS2307: Cannot find module 'moment'. "), but the locale error remained.

For those using the command "yarn create react-app ", the fix is to edit node_modules/react-scripts/config/webpack.config.js to add the alias as suggested by svk31 like below.
moment$: path.resolve(root_dir, "node_modules/moment/moment.js")

Insert the above line into the alias block at line number 311.
alias: {
  // Support React Native Web
  // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
  'react-native': 'react-native-web',
  // Allows for better profiling with ReactDevTools
  ...(isEnvProductionProfile && {          'react-dom$': 'react-dom/profiling',
  'scheduler/tracing': 'scheduler/tracing-profiling',        }),
  ...(modules.webpackAliases || {}),
  moment$: path.resolve(root_dir, "node_modules/moment/moment.js")
},

Just import like below and it's work :
import moment from 'moment/moment';

Fantastic fix!!!

Just import like below and it's work :
import moment from 'moment/moment';

Worked for me

loooks like root of issue is caused by "module" field in package.json (https://github.com/moment/moment/commit/9ce89e7fea881b39be23b8c0646f7ef7817985d9)
here is PR to fix it https://github.com/moment/moment/pull/5503

Yup, removing "module": "./src/moment.js", from package.json made the warning go away for me. BTW, mine is a React app -- create-react-app and I'm using "moment": "^2.25.1". Even though I was using the latest version, I was still getting this error but updating the package.json seems to fix the issue. Thanks @ApacheEx

I have fix this error, at least for me.
I went to node_modules/moment/src/lib/locale/
I modified the locales.js file, ctrl+f  and search './locale'+name line.
Change it to './'+name.
I don't know why is pointing to same folder and '/.locale' + name, this is why the error says can't resolve ./locale
If it helps, thumbs up. This kind of errors are the worse...

Having the same problem, reverted to 2.24 until a fix is available

I have the same issue with 2.24 and 2.25.1 version
WARNING in ./node_modules/moment/src/lib/locale/locales.js

We are having the same issue with moment 2.22

Just import like below and it's work :
import moment from 'moment/moment';

Where should this line be put?

Just import like below and it's work :
import moment from 'moment/moment';

Where should this line be put?

In file that you want use momentjs on ecmascript
Like below:
import moment from 'moment/moment'; import ConfigNewsItems from './../manifest/config'; (() => {   const diffProperties = ['years', 'months', 'weeks', 'days', 'hours', 'minutes', 'seconds'];   const localKeys = {     years: 'jaren',     months: 'maanden',     weeks: 'weken',     days: 'dagen',     hours: 'uren',     minutes: 'minuten',     seconds: 'seconden',     year: 'jaar',     month: 'maand',     week: 'week',     day: 'dag',     hour: 'uur',     minute: 'minuut',     second: 'second',   };   const now = moment(moment.now());   document.querySelectorAll(.${ConfigNewsItems.timeDiffModulePrefixName}).forEach((el) => {     // eslint-disable-next-line radix     const timePosted = parseInt(el.getAttribute(ConfigNewsItems.attributeTimeStampPrefixName));     const releaseDate = moment(timePosted);     let difference = {};     const min = {       type: '',       value: null,     };     const tempMin = [];     for (let i = 0; i < diffProperties.length; i++) {       // eslint-disable-next-line radix       const tempDiff = parseInt(now.diff(releaseDate, diffProperties[i], true));       difference = { ...difference, ...{ [diffProperties[i]]: now.diff(releaseDate, diffProperties[i], true) } };       if (tempDiff > 0) {         tempMin.push({           type: diffProperties[i],           value: tempDiff,         });       }     }     for (let i = 0; i < tempMin.length; i++) {       if (min.value === null || min.value > tempMin[i].value) {         min.value = tempMin[i].value;         min.type = tempMin[i].type;       }     }     if (min.value === 1) {       min.type = min.type.substr(0, min.type.length - 1);     }     el.innerHTML = ConfigNewsItems.timePhrase.replace('{value}', min.value).replace('{type}', localKeys[min.type]);   }); })();

Just import like below and it's work :
import moment from 'moment/moment';

Where should this line be put?

In the file that you want use momentjs on ecma script like below :
 import moment from 'moment/moment'; import ConfigNewsItems from './../manifest/config'; (() => {   const diffProperties = ['years', 'months', 'weeks', 'days', 'hours', 'minutes', 'seconds'];   const localKeys = {     years: 'jaren',     months: 'maanden',     weeks: 'weken',     days: 'dagen',     hours: 'uren',     minutes: 'minuten',     seconds: 'seconden',     year: 'jaar',     month: 'maand',     week: 'week',     day: 'dag',     hour: 'uur',     minute: 'minuut',     second: 'second',   };   const now = moment(moment.now());   document.querySelectorAll(.${ConfigNewsItems.timeDiffModulePrefixName}).forEach((el) => {     // eslint-disable-next-line radix     const timePosted = parseInt(el.getAttribute(ConfigNewsItems.attributeTimeStampPrefixName));     const releaseDate = moment(timePosted);     let difference = {};     const min = {       type: '',       value: null,     };     const tempMin = [];     for (let i = 0; i < diffProperties.length; i++) {       // eslint-disable-next-line radix       const tempDiff = parseInt(now.diff(releaseDate, diffProperties[i], true));       difference = { ...difference, ...{ [diffProperties[i]]: now.diff(releaseDate, diffProperties[i], true) } };       if (tempDiff > 0) {         tempMin.push({           type: diffProperties[i],           value: tempDiff,         });       }     }     for (let i = 0; i < tempMin.length; i++) {       if (min.value === null || min.value > tempMin[i].value) {         min.value = tempMin[i].value;         min.type = tempMin[i].type;       }     }     if (min.value === 1) {       min.type = min.type.substr(0, min.type.length - 1);     }     el.innerHTML = ConfigNewsItems.timePhrase.replace('{value}', min.value).replace('{type}', localKeys[min.type]);   }); })();

Just import like below and it's work :
import moment from 'moment/moment';

Where should this line be put?

In the file that you want use momentjs on ecmascript like below:
import moment from 'moment/moment';
(() => {
    const now = moment(moment.now());
     console.log(now);
}

2.25.3 should fix this issue.
Please open another issue if you still have challenges.
Or, you can try Stack Overflow for more individual questions.

This alias with the WebPack config fixes an issue for me:
resolve: {
  extensions: ['.js', '.ts'],
  alias: {
    './locale': 'moment/locale'
  }
}

If you are using moment-timezone:
https://github.com/moment/moment-timezone/issues/837

i fix this with this:
import moment from 'moment'; import 'moment/locale/pt-br';
it works, and the locale is set to 'pt-br', and all others languages works too.

For me following worked (hint by @wizardion )
// demo logic
const lang = getLang();
import(`moment/locale/${lang}.js`);


Fixed filename

Signed-off-by: sudeeptarlekar<EMAIL_ADDRESS>Notion card
NA
Summary
Fixed Filename for common component
Type of change
Code Enhancement

@sudeeptarlekar Can you please take the latest changes from develop and re-run the job again?


unexpected keyword argument 'previous_alignments'

Traceback (most recent call last):
  File "/home/zeng/work/pycharm/Tacotron-2/train.py", line 32, in <module>
    main()
  File "/home/zeng/work/pycharm/Tacotron-2/train.py", line 26, in main
    tacotron_train(args)
  File "/home/zeng/work/pycharm/Tacotron-2/tacotron/train.py", line 183, in tacotron_train
    train(log_dir, args)
  File "/home/zeng/work/pycharm/Tacotron-2/tacotron/train.py", line 73, in train
    model.initialize(feeder.inputs, feeder.input_lengths, feeder.mel_targets, feeder.token_targets)
  File "/home/zeng/work/pycharm/Tacotron-2/tacotron/models/tacotron.py", line 106, in initialize
    maximum_iterations=max_iters)
  File "/home/zeng/tf_gpu_py3/lib/python3.5/site-packages/tensorflow/contrib/seq2seq/python/ops/decoder.py", line 286, in dynamic_decode
    swap_memory=swap_memory)
  File "/home/zeng/tf_gpu_py3/lib/python3.5/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2816, in while_loop
    result = loop_context.BuildLoop(cond, body, loop_vars, shape_invariants)
  File "/home/zeng/tf_gpu_py3/lib/python3.5/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2640, in BuildLoop
    pred, body, original_loop_vars, loop_vars, shape_invariants)
  File "/home/zeng/tf_gpu_py3/lib/python3.5/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2590, in _BuildLoop
    body_result = body(*packed_vars_for_body)
  File "/home/zeng/tf_gpu_py3/lib/python3.5/site-packages/tensorflow/contrib/seq2seq/python/ops/decoder.py", line 234, in body
    decoder_finished) = decoder.step(time, inputs, state)
  File "/home/zeng/work/pycharm/Tacotron-2/tacotron/models/custom_decoder.py", line 123, in step
    (cell_outputs, stop_token), cell_state = self._cell(inputs, state)
  File "/home/zeng/work/pycharm/Tacotron-2/tacotron/models/Architecture_wrappers.py", line 194, in __call__
    attention_layer=None)
  File "/home/zeng/tf_gpu_py3/lib/python3.5/site-packages/tensorflow/contrib/seq2seq/python/ops/attention_wrapper.py", line 973, in _compute_attention
    cell_output, previous_alignments=previous_alignments)
TypeError: __call__() got an unexpected keyword argument 'previous_alignments'

Hi,Rayhane-mamah, greate job! I try to train the model,but get this error.it seems that previous_alignments is not a parameter in LocationSensitiveAttention ? anything wrong?

Hello,
You need tensorflow 1.6 indeed.
@butterl I didn't want to add it there to not affect pre installed tensorflow gpu. I will however try to add working version for tf 1.4.

@Rayhane-mamah ,I hope it works for tf 1.4 too.

It doesn't for now, I will try adding this dependency in the next 24 hours if you don't want to upgrade.
Sorry for the inconvenience.

Hello again,
Tensorflow 1.6 is not longer a must, I added the possibility to use the project with tensorflow 1.4 in this commit (0330bd0161e4530acbb7bc2db00a1db95b2dc107).
For that purpose I added the attention_old.py file. It might have been possible to simply change the function call in the same existing attention.py file, but I wanted to avoid any conflicts so I made a copy of the attention file and adapted the call function to work with Tensorflow 1.4 API.
If there still are some issues, please report them.

@Rayhane-mamah that's great, thank you!

@Rayhane-mamah can you tell me more about this issue please. thank you

Hello @Rayhane-mamah
when i try to train the model, it raise an error with Tensorflow 1.4 .
is there a way to fix it ? thank you ~
Traceback (most recent call last):
  File "train.py", line 81, in <module>
    main()
  File "train.py", line 75, in main
    train(args, log_dir, hparams)
  File "train.py", line 27, in train
    checkpoint = tacotron_train(args, log_dir, hparams)
  File "/root/synthetic/tacotron-2/tacotron/train.py", line 329, in tacotron_train
    train(log_dir, args, hparams)
  File "/root/synthetic/tacotron-2/tacotron/train.py", line 139, in train
    model, stats = model_train_mode(args, feeder, hparams, global_step)
  File "/root/synthetic/tacotron-2/tacotron/train.py", line 75, in model_train_mode
    is_training=True)
  File "/root/synthetic/tacotron-2/tacotron/models/tacotron.py", line 69, in initialize
    zoneout=hp.tacotron_zoneout_rate, scope='encoder_LSTM'))
  File "/root/synthetic/tacotron-2/tacotron/models/modules.py", line 139, in __init__
    name='encoder_fw_LSTM')
  File "/root/synthetic/tacotron-2/tacotron/models/modules.py", line 39, in __init__
    self._cell = tf.nn.rnn_cell.LSTMCell(num_units, state_is_tuple=state_is_tuple, name=name)
TypeError: __init__() got an unexpected keyword argument 'name'

@Rayhane-mamah, Thank you for your answer. I tried your "new" attention.py file, again I hit the "TypeError: __call __ () got an unexpected keyword argument 'previous_alignments'
" error.
But before that I would like to try your repo. i used the preprocess step and on training:
python3.5 train.py
Using TensorFlow backend.

#############################################################

Tacotron Train

###########################################################

Checkpoint path: logs-Tacotron-2/taco_pretrained/tacotron_model.ckpt
Loading training data from: training_data/train.txt
Using model: Tacotron-2
Hyperparameters:
  allow_clipping_in_normalization: True
  attention_dim: 128
  attention_filters: 32
  attention_kernel: (31,)
  cin_channels: 80
  cleaners: english_cleaners
  clip_mels_length: True
  cross_entropy_pos_weight: 20
  cumulative_weights: True
  decoder_layers: 2
  decoder_lstm_units: 1024
  embedding_dim: 512
  enc_conv_channels: 512
  enc_conv_kernel_size: (5,)
  enc_conv_num_layers: 3
  encoder_lstm_units: 256
  fft_size: 1024
  fmax: 7600
  fmin: 125
  frame_shift_ms: None
  freq_axis_kernel_size: 3
  gate_channels: 512
  gin_channels: -1
  griffin_lim_iters: 60
  hop_size: 256
  input_type: raw
  kernel_size: 3
  layers: 24
  log_scale_min: -32.23619130191664
  mask_decoder: True
  mask_encoder: True
  max_abs_value: 4.0
  max_iters: 2500
  max_mel_frames: 900
  max_time_sec: None
  max_time_steps: 13000
  min_level_db: -100
  num_freq: 513
  num_gpus: 1
  num_mels: 80
  out_channels: 30
  outputs_per_step: 1
  postnet_channels: 512
  postnet_kernel_size: (5,)
  postnet_num_layers: 5
  power: 1.2
  predict_linear: False
  prenet_layers: [256, 256]
  quantize_channels: 65536
  ref_level_db: 20
  rescale: True
  rescaling_max: 0.999
  residual_channels: 512
  sample_rate: 22050
  signal_normalization: True
  silence_threshold: 2
  skip_out_channels: 256
  smoothing: False
  stacks: 4
  stop_at_any: True
  symmetric_mels: True
  tacotron_adam_beta1: 0.9
  tacotron_adam_beta2: 0.999
  tacotron_adam_epsilon: 1e-06
  tacotron_batch_size: 32
  tacotron_data_random_state: 1234
  tacotron_decay_learning_rate: True
  tacotron_decay_rate: 0.2
  tacotron_decay_steps: 40000
  tacotron_dropout_rate: 0.5
  tacotron_final_learning_rate: 1e-05
  tacotron_initial_learning_rate: 0.001
  tacotron_random_seed: 5339
  tacotron_reg_weight: 1e-06
  tacotron_scale_regularization: False
  tacotron_start_decay: 50000
  tacotron_swap_with_cpu: False
  tacotron_teacher_forcing_decay_alpha: 0.0
  tacotron_teacher_forcing_decay_steps: 220000
  tacotron_teacher_forcing_final_ratio: 0.0
  tacotron_teacher_forcing_init_ratio: 1.0
  tacotron_teacher_forcing_mode: constant
  tacotron_teacher_forcing_ratio: 1.0
  tacotron_teacher_forcing_start_decay: 10000
  tacotron_test_batches: 48
  tacotron_test_size: None
  tacotron_zoneout_rate: 0.1
  train_with_GTA: False
  trim_silence: True
  upsample_conditional_features: True
  upsample_scales: [16, 16]
  use_all_gpus: False
  use_bias: True
  use_lws: True
  wavenet_adam_beta1: 0.9
  wavenet_adam_beta2: 0.999
  wavenet_adam_epsilon: 1e-06
  wavenet_batch_size: 4
  wavenet_data_random_state: 1234
  wavenet_dropout: 0.05
  wavenet_ema_decay: 0.9999
  wavenet_learning_rate: 0.0001
  wavenet_random_seed: 5339
  wavenet_swap_with_cpu: False
  wavenet_test_batches: None
  wavenet_test_size: 0.0441
Loaded metadata for 13100 examples (24.06 hours)
Segmentation fault (core dumped)

Our latest version are independent from tensorflow's attention wrappers so this issue should be fixed.


Server hello_request(0) sometimes makes BCJSSE client break connection with unexpected_message(10)

We don't have a reproduction scenario, but we ran into an issue / limitation in BCJSSE in bctls-<IP_ADDRESS>, so we'd like to report that here.
(This is not blocking us anymore, since we have switched to a completely different endpoint which doesn't trigger this behavior.)
What follows is based on Wireshark traces and BCJSSE stack traces, but unfortunately I cannot share any of those.

The context is a Java 8 JVM where both the BCFIPS and BCJSSE providers are registered (and SunJSSE is not), not in approved-only mode and FIPS mode respectively, using bc-fips-<IP_ADDRESS>.jar and bctls-fips-<IP_ADDRESS>.jar.  The JVM is the client, talking to a .NET endpoint that only supports TLS 1.2.
We observe that

(A) the first SSL connection worked fine but raised warning(1) no_renegotiation(100) alert: Renegotiation not supported;
(B) follow-up connections with that same session id, instead of raising that warning, fail with fatal alert unexpected_message(10).

For (A) that initial no-error connection, it seems the following is happening:

The initial handshake must have completed successfully, including a session id in the ServerHello.  (No session tickets play a role, it seems.)
Some application data must have been sent to the .NET server.
A TLS handshake message is received.
In org.bouncycastle.tls.TlsClientProtocol.handleHandshakeMessage(short, HandshakeMessageInput) (line 762-777) this turns out to be a Hello request (0), which is different from a 'server hello' (2).
Based on RFC 2246 <IP_ADDRESS> and the fact that it has already sent application data, the BCJSSE client TlsClientProtocol looks to see if it must do renegotiation:

        case HandshakeType.hello_request:
        {
            assertEmpty(buf);

            /*
             * RFC 2246 <IP_ADDRESS> Hello request This message will be ignored by the client if the
             * client is currently negotiating a session. This message may be ignored by the client
             * if it does not wish to renegotiate a session, or the client may, if it wishes,
             * respond with a no_renegotiation alert.
             */
            if (isApplicationDataReady())
            {
                handleRenegotiation();
            }
            break;
        }
   }

And in the parent class's TlsProtocol.handleRenegotiation() it decides, for some reason, to refuseRenegotiation().

That results in the client sending the no_renegotiation(100) alert, logged as Client raised warning(1) no_renegotiation(100) alert: Renegotiation not supported.
So far so good, everything still working according to spec, as far as I can see.
Now compare this to (B) a failing TCP connection.  So in a request where the client tries to resume the initial session using that earlier session id, again from logged stack traces and the bctls-fips-<IP_ADDRESS>.jar source code, it seems that that same Hello request (0) instead makes the communication fail:

The initial handshake completes, including in ClientHello the previous ServerHello's session ID.
Application data is sent to the .NET server.
Two server handshake messages come in.  One of them is probably a Hello (0).
When that is received, slightly earlier in the interaction, the same method org.bouncycastle.tls.TlsClientProtocol.handleHandshakeMessage(short, HandshakeMessageInput) concludes that this is a resumed session, so it and it checks that it is in the 'just received Server Hello' state, and the handshake message is Finished (20):

        if (securityParameters.isResumedSession())
        {
            if (type != HandshakeType.finished || this.connection_state != CS_SERVER_HELLO)
            {
                throw new TlsFatalAlert(AlertDescription.unexpected_message);
            }

That is not the case, and fatal unexpected_message(10) is raised.

From TLS 1.0 RFC 2246 mentioned in the code comment quoted above, and the actually relevant TLS 1.2 RFC 5246, it looks like BCJSSE <IP_ADDRESS>, in the first part of org.bouncycastle.tls.TlsClientProtocol.handleHandshakeMessage(), assumes that in a 'resumed session' connection it will only ever receive a 'Finished (20)' handshake message, right after ServerHello.
And that assumption is, as far as I can see, violated by this .NET TLS server, which happily sends a Hello request (0) message.
Note that both RFCs say
<IP_ADDRESS>.  Hello Request

   When this message will be sent:

      The HelloRequest message MAY be sent by the server at any time.

so the fact that BCJSSE fails when this message is received at a time that it doesn't expect it, seems to be a bug?

And I don't yet see a workaround.  Specifically, I haven't (yet) found way to disable session resume in the BCJSSE client.  (That would be costly w.r.t. performance / TLS connection set-up time, but it should theoretically work: It would skip over the if (securityParameters.isResumedSession()) block in TlsClientProtocol.handleHandshakeMessage() where the unexpected_message(10) fatal alert is raised.)

Thanks for the report and the detailed analysis. I have applied a straight-forward fix of letting hello_request (resp. client_hello in TlsServerProtocol) handling fall through to the main switch statement.

BTW, BCJSSE supports the following boolean system properties (both default to "true") that would let you unconditionally disable session resumption:
org.bouncycastle.jsse.client.enableSessionResumption
org.bouncycastle.jsse.server.enableSessionResumption

Thanks @peterdettman!  As I wrote earlier, we are not in a position to test this in any way, but in due course we will just upgrade to a newer BCJSSE and start using your fixed code.
So feel free to close, if you have no reason to keep this issue open.


Add per-queue stats for rabbitmq.

We achieve this by replacing the existing python script with a plugin packaged by NYTimes which does per-queue stats out of the box.
Note the lack of testing - I've not even proved this works manually so it probably should not be merged for now.
I'm not sure how to examine the collectd output in a vm, nor whether I am doing the right thing with puppet.
Does anything (e.g. alerting) rely on the existing stat names?
I think we have decided it is OK to have access to the internet from our production machines. Thus, pip will work - at least it seems we expect this in other places in govuk-puppet. Is this correct, or do we need to ensure the package is available in some private repository before live environments can install it?
Advice welcome!
@benhyland and @tijmenb

Does anything (e.g. alerting) rely on the existing stat names?

Instances of icinga::check::graphite in this repo take a target parameter which is the name of a Graphite stat which might be affected by this.

I think we have decided it is OK to have access to the internet from our production machines. Thus, pip will work - at least it seems we expect this in other places in govuk-puppet. Is this correct, or do we need to ensure the package is available in some private repository before live environments can install it?

That's right, production has fairly unrestricted internet access. For some stuff (eg Debian packages) we prefer to cache them using aptly but we don't have anything like that for pip packages at the moment.

Thanks for the comments.
I can't find any icinga::check::graphites that reference rabbitmq, so I think we're safe there.
I've pushed the other improvements.

I agree, I can't see any either. If there is any monitoring based on this we'll notice because it will start alerting, so I think this is relatively safe to merge and test in integration when you're ready :+1:


fix callback_url

Custom url callback wasn't taking in consideration

Nice, thank you for PR, can you fix Version to 0.5.2

Sure, I just did :)

🚀 thanks @ocarta-l , merged and ready to release.


@payloadcms/live-preview should not have a dependency on react

Link to reproduction
https://github.com/payloadcms/payload/blob/040f3a34d187fff380a8002cf83b4ed693b29cca/packages/live-preview/package.json#L20
To Reproduce
Install @payloadcms/live-preview.
Describe the Bug
The framework-agnostic SDK for live-preview (@payloadcms/live-preview) has an unnecessary dependency on react. No react code is used within the SDK (or if there is and I could not find it, that should not be the case).
Payload Version
<EMAIL_ADDRESS>

I also found some disparities in the @payloadcms/live-preview-react package that have been fixed up here: https://github.com/payloadcms/payload/pull/3545


Use Promise from any-promise?

This module doesn't require global typings in production, it'd be good to type it for ES5 without typings and use the ES6 typings instead.

I see any-promise typings are included in the NPM package. Would it be enough to add this at the top of every file?
import Promise = require('any-promise')

Sadly, only if the user also included any-promise. Probably the best solution is to bundle es6-promise or any-promise typings. I don't suppose you've been using either of them with 2.0? After that Bluebird PR, I suspect they are both also broken.

But any-promise is a dependency of path-to-regexp, so it is in node_modules?
No, I'm still on TS1.8. What happened to Bluebird?

Oh, sorry, was https://github.com/types/npm-bluebird/pull/29. Why would someone have path-to-regexp installed? Just to check, this is mz.

Sorry, it's late. I meant mz. Edited my comment.

If you want to add it as a dep go ahead :) I use target: ES6 everywhere so as long as it is compatible with native promises I'm fine with it


New dar bt0(20161028)

Fixed:
--UnZipping root folders
--UnZipping corrupted archives
--UnZipping files with too long path
Added:
--Error messages
--Exit with corrupted files


any issue you would recommend to clear for level 1

Initiative (Required)
GSSoC (Girl Script Summer of Code) 🌸
Additional Info
No response

I am the mentor of this project.
@Dhruvi-tech Hello
I appreciate your pull issue, can you describe me and give screenshot after update the output!!

sure


IndentationError: unindent does not match any outer indentation level

The script completely fails:
$ python-formatter ldap_extension.py
Unable to format 'ldap_extension.py'
Traceback (most recent call last):
  File "/usr/local/bin/python-formatter", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/formatter/main.py", line 32, in main
    formatter.format_path(file_, args.recursive)
  File "/usr/local/lib/python2.7/dist-packages/formatter/formatter.py", line 45, in format_path
    self.format_file(path)
  File "/usr/local/lib/python2.7/dist-packages/formatter/formatter.py", line 57, in format_file
    code = self(name)
  File "/usr/local/lib/python2.7/dist-packages/formatter/formatter.py", line 35, in __call__
    compile(formatted, '', 'exec')
  File "", line 30
    @abstractproperty
                    ^
IndentationError: unindent does not match any outer indentation level

The file processed was this one:
https://billy.knut.univention.de/websvn/filedetails.php?repname=dev&path=%2Fbranches%2Fucs-4.2%2Fucs-4.2-0%2Fbase%2Funivention-lib%2Fpython%2Fldap_extension.py

Could it be that the server is down? I'm unable to reach it it seems. Can you attach the file here perhaps?
It's definitely a bug which I have to fix :)

ldap_extension.py

The latest release has fixed the issue. It turns out that tab indented files were not supported yet ;)
Thanks for the help!


Keeps disconnecting on Sublime Text 4

This issue only exists on Sublime Text 4, but I thought it should be made visible so the plugin could be updated if needed when ST4 releases.

Checkout https://dev.to/aubreypwd/how-i-configured-niginx-valet-to-stop-the-504-gateway-time-out-during-long-xdebug-sessions-174i
You might have to get PHP execution time to last longer.
ST4 works great with local PHP.

I recommend you to try Debugger extension.

I recommend you to try Debugger extension.

I have used it, of course, I prefer this extension.

I recommend you to try Debugger extension.

I have used it, of course, I prefer this extension though.

Ah, sorry, I just thought you're unaware on other possible options. Sure, this extension has it pros.

I recommend you to try Debugger extension.

I have used it, of course, I prefer this extension though.

Ah, sorry, I just thought you're unaware on other possible options. Sure, this extension has it pros.

Thank you!

I recommend you to try Debugger extension.

Thanks for the recommendation, it looks way better! Was able to spin it up quickly.


Initial commit

This is my initial attempt at creating a unified databrowserAPI. I am open for discussions.

I have issues with the flavour:
localhost:7777/metadata_search/freva/file?flavour=cmip6

returns
  File "/home/afast/miniconda3/envs/python311/lib/python3.11/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/afast/workspace/FREVA/github-freva/databrowserAPI/src/databrowser/run.py", line 140, in metadata_search
    solr_search = SolrSearch(
                  ^^^^^^^^^^^
TypeError: databrowser.core.SolrSearch() got multiple values for keyword argument 'flavour'

Same happens for uniq_keq

Good catch, those are path variables. If you give them as query parameters it'll fail. We can throw a meaningful error or silently try to pop the keys from the query params. Would a meaningful error message be better to teach people how to use it?

As already mentioned, I actually don't like the "ignore keys"-way. Meaningful error messages would be nice.

Another thing: I assume, that I will use the flavor-Thing always with translate=false on. I just tried it out on nextgems. It works on the facets (e.g. "ensembles" stay "ensembles" like in freva). But you still give me the translated primary facets. I would strongly prefer that the primary facets will not be translated as well.
Only thing I expect to change with translate=false ist the facet_mapping-Object

Two more things:

variables is not a primary facet, I think it should be
I would like to have the possibility to reduce the shown facets. The plugin-setup typically just queries a single facet like 'show me everything from facet project where the following search criteria are true'. This is not possible with the current API. Of course I could just filter it client-side but I don't want to as it wasted resources for nothing.


SMTP Connector

Can we have a general SMTP connector for Ballerina. This is a very useful connector to have, that is currently missing. Several users have also asked for this functionality.
With jBallerina, we should be able to easily wrap the Java Mail functionality using a Ballerina connector and implement the functionality quickly. Long term effort would be to implement the protocol from scratch, so it can be used in the native Ballerine runtime as well.

I published a library on central for this - https://central.ballerina.io/hemikak/smtp

Basic client connector for receiving and sending email introduced with 1.2.0. This will further improve.
https://ballerina.io/v1-2/learn/by-example/send-and-receive-emails.html


[MATLAB] Add remaining tests for arrow tabular object display

Describe the enhancement requested
The current arrow tabular object display tests only cover basic test cases. Please add more test cases to ensure its quality.
Component(s)
MATLAB

take


Feature Request: Show diff when you however over git colours in the gutter

GitLens Version: 4.3.3
VSCode Version: 1.14.2
OS Version: Win10
Not sure if possible in VSCode but it'd be great if you could show the diff when you hover over the git gutter similar to this in Sublime Text - https://github.com/jisaacks/GitGutter

Never mind just found this issue created by yourself!
I'll close this for now. https://github.com/Microsoft/vscode/issues/28080


Support all the versions of .net that Serilog does.

As of Serilog 2.4.0:

net45
net46
netstandard1.0
netstandard1.3

We currently have net452 only.

If we do this we need to switch to .net core. This also unfortunately means that we have to give up ConcurrentBag to support netstandard1.0. We also need to give up Ncrunch because I haven't been able to get it to work with .netcore. We will probably just revert back to using Xunit only as well because the other two don't support netstandard 1.0.

There is an option to only support netstandard1.3 and above. Some sinks do this.

Supported as much as we could. Done.


Consider backporting PMU support for Alder Lake

Is your feature request related to a problem? Please describe.
There is no PMU driver for the Intel Alder Lake platform. Hardware event sampling does not work with VTune or perf.
vtune -collect hotspots -knob sampling-mode=hw -knob sampling-interval=0.5 /home/trym/source/stud/tdt4186/practical2/build/release/webserver /tmp 8889 12 24
vtune: Error: Unable to perform driverless collection on this platform.
vtune: Error: Cannot enable event-based sampling collection: Architectural Performance Monitoring version is 0. Make sure the vPMU feature is enabled in your hypervisor.

root@DESKTOP-CMKEO60:~# dmesg | grep -i pmu
[    0.177428] Performance Events: unsupported p6 CPU model 151 no PMU driver, software events only.

Describe the solution you'd like
Backport the driver or provide an alternate solution.
Additional context
AFAIK, the only workarounds are to use Hyper-V or dual boot.
https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.13-Perf-Alder-Lake
<EMAIL_ADDRESS>cpuid.txt

Reportedly a newer kernel alone is not enough: https://github.com/microsoft/WSL/issues/4678#issuecomment-1138625875
Your cpuid report does not list the features either:
   Architecture Performance Monitoring Features (0xa):
      version ID                               = 0x0 (0)
      number of counters per logical processor = 0x0 (0)
      bit width of counter                     = 0x0 (0)
      length of EBX bit vector                 = 0x0 (0)
      core cycle event not available           = false
      instruction retired event not available  = false
      reference cycles event not available     = false
      last-level cache ref event not available = false
      last-level cache miss event not avail    = false
      branch inst retired event not available  = false
      branch mispred retired event not avail   = false
      fixed counter  0 supported               = false
...
      fixed counter 31 supported               = false
      number of fixed counters                 = 0x0 (0)
      bit width of fixed counters              = 0x0 (0)
      anythread deprecation                    = false

@benhillis
are you aware of this issue and is there maybe even a fix coming?
It's very frustrating not to have PMU support for Alderlake…
(Especially since Hyper-V supports it, as @trympet pointed out)

I've hit this today again, since I wanted to profile something under Linux.
Why is this not being fixed?!? "Plain" Hyper-V already supports PMU's with Alderlake!
I hope you can understand that this is really frustrating as a user 😞...

This is also an issue for me as well.

This is also an issue for me as well +1.

I've also asked on Twitter: https://twitter.com/clemenswasser/status/1669265762991714304
Seems like we're just being ghosted 💀, which is extremely disappointing since many require performance counters support and they already work when using Hyper-V...
@benhillis @craigloewen-msft ping, are you working on this?

I've once again looked into this and this still hasn't been fixed. In the old issue, I noticed this comment: https://github.com/microsoft/WSL/issues/4678#issuecomment-1142331647
Which seems to have documented the root of the issue pretty well. The problem is that the WSL VM hasn't activated Perfmon (the arch_perfmon feature is missing), which seems to be a hard requirement for newer Intel CPUs for performance counters to work on Linux. Instructions for enabling Perfmon are in the Hyper-V documentation. I could validate this by running the following command:
$ cpuid | grep 'performance monitor'
      performance monitor support available    = false
      performance monitor support available    = false
[...]

Sadly, we can't just call Set-VMProcessor MyVMName -Perfmon @("ipt", "pmu", "lbr", "pebs") on the WSL VM, as it seems to be hidden. I only managed to list the vm by running hcsdiag list, but it seems to absent for all hyper-v commands.
@benhillis @craigloewen-msft
Since we now know what is missing, could you please activate all Perfmon features for the WSL VMs so that perf and other software which use performance counters now finally work on newer CPUs?


The area covered by focus color exceeds the border in delete blob dialog

Storage Explorer Version: 1.11.2
Build: 20191217.4
Branch: hotfix/1.11.2
Platform/OS: Windows 10/ Linux Ubuntu 18.04
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Expand one Non-ADLS Gen2 storage account -> Blob Containers.
Select one blob container which contains one blob at least.
Select one blob and right click it -> Click 'Delete'.
Select all descriptions in delete dialog -> Observe the area covered by focus color.

Expect Experience:
The area covered by focus color doesn't exceed the border.
Actual Experience:
The area covered by focus color exceeds the border.

More Info:

This issue doesn't reproduce for one ADLS Gen2 blob.

This issue doesn't reproduce on MacOS.

Won't fix.


lose value with nested fields :(

https://github.com/ant-design/ant-design/issues/4711

looks like in case of redux, i HAVE to flat the object.
this will not work
{
 name: { value: "aaa" },
 config: { nested: { value: "bbb" }}
}

this WILL work:
{
 name: { value: "aaa" },
 config.nested: { value: "bbb" }
}

There is no any information about flatting object. You need to fix documentation or bug (if it's supposed behavior).


Change all functions accepting unions of polyvariants to have upper boundaries

Relates to https://github.com/SentiaAnalytics/bs-css/issues/172

Ok, I went on and changed all functions in Css.rei that I was able to identify. It still builds and seems to work correctly, so based on my limited knowledge it should be fine.
This change allows me to define a theme like this and still use bs-css
type themePrint = {
  .
  "textColor": [ | `hex(string)],
  "baseFontSize": [ | `pt(int)],
  "baseMargin": [ | `pt(int)],
  "pageWidth": [ | `mm(float)],
  "pageHeight": [ | `mm(float)],
};

Thank you for that work, appreciate.
one thing I don't understand in your pr, is why you had to introduce all these utility functions, like lengthToString, colorToString, ....
Also, I don't understand why you had to transform simple types like borderBottomLeftRadius.

With utility functions I followed the same pattern as with already existing marginToString. They are just there to make the code less verbose but can be of course replaced with the actual switch statement it that is seemed better. Personally I'd probably hide them inside an Utils module or something.
If you don't understand why I had to transform simple types, that makes two of us. :) I also found it a bit weird but if I didn't do it, compiler would error when using the upper boundary in .rei files. It just seemed to be a way to make compiler happy. I'm not aware if we are e.g. losing some type safety with that or what's going on but that was the only way I was able to make it work. Would be awesome if someone who actually understands ReasonML would explain this to me too.

Oh, in case you're wondering, I did ask/discuss about using the upper boundary in general in ReasonML discord in bindings-to-libraries just few days ago where people more experienced than me told it would be the "more correct" way to type this kind of API. So I'm not just pulling this out of my sleeve :D

I understand  <  when signature is [ | A | B ] but not when it's only A .

Yep, it compiles for some reason when one only adds the < in unions. Probably because they are already implemented with pattern matching switch statements. However, for a consistent behavior one needs to add them to the non-union versions too where there is only one type. Otherwise it won't behave correctly in those situations.

Hi, I've changed the signature of union types in master, so I close this pr.

@giraud Nice job.
There's one problem though. I installed the master version and started getting this error in my code:
  19 ┆   getHeightWithFooter(dimensions, theme##print##footerHeight),
  20 ┆ ),
  21 ┆ paddingLeft(theme##print##pageMargin),
  22 ┆ paddingRight(theme##print##pageMargin),
  23 ┆ boxSizing(`borderBox),

  This has type:
    [ `mm(float) ]
  But somewhere wanted:
    Css.Types.Length.t
  The first variant type does not allow tag(s)
  `calc, `ch, `cm, `em, `ex, `inch, `pc, `percent, `pt, `px, `pxFloat, `rem,
  `vh, `vmax, `vmin, `vw, `zero

I think this happens because this signature is missing the upper boundary
https://github.com/SentiaAnalytics/bs-css/blob/master/src/Css.rei#L759
I'm pretty confident that, while being syntactically more ugly, it's necessary to add the upper boundary  also to the rest of the function signatures if one wants to achieve a consistent behavior. It's because e.g. Css.Types.Length.t is already a variant https://github.com/SentiaAnalytics/bs-css/blob/master/src/Css_AtomicTypes.rei#L51-L74, even if it's alone, not just a simple type.

@TomiS can you give me an exact code that doesn't compile ?

@giraud I'll make a separate minimal test repository as soon as I've finished my current work thingy.

@giraud Ok, here we go:
https://github.com/TomiS/bs-css-demo/tree/master/src
This repository should demonstrate the use case quite nicely, I hope. (check the comments in the beginning of the files). I checked it build with my fork but fails current with bs-css master.

@TomiS , answered in your repo.

@giraud Wow, thanks. I need some time to let that sink in. I'll comment as soon as I have totally understood it.


Thanks for your work, How can I export the model as Mesh ply or obj format

This is still an open research question. This codebase does not support this.


awslog tag can't witch docker-compose but works from rancher-ui

Rancher versions:
rancher/server: stable  1.6.16
rancher/agent:
Infrastructure Stack versions:
healthcheck: 0.3.6
ipsec:
network-services:
scheduler:0.8.3
kubernetes (if applicable):
Docker version: (docker version,docker info preferred)
17032
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
ubuntu 16.04
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
aws
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
cattle
Steps to Reproduce:

setup from rancher ui , tag works.
but if we use rancher-cli
rancher --env ${RANCHER_ENV} up -d
--stack ${RANCHER_STACK}
--rancher-file ${RANCHER_COMPOSE_FILE}
--file ${DOCKER_COMPOSE_FILE}
--force-upgrade

lost the value of log tags
Results:

cc @henry-zhang

It is interpreted as template, you can use # notemplating on top of the file to skip the templating as described here: https://rancher.com/docs/rancher/v1.6/en/cli/variable-interpolation/#escaping-double-brackets
Let me know if this doesn't solve the issue.

not works , rancher cli drop the "# notemplating" to rancher-server


Playing ads (via IMA SDK) when ExoPlayer is inside MediaSessionService

Hello!
I’m experimenting with Media3 library, and I encountered one issue. It’s related to how AdsLoader is constructed and the fact that the recommended solution for background playback is to keep ExoPlayer instance inside MediaSessionService.
Some background:
I’m creating an app which allows users to watch videos and listen to music. I would like to be able to make both play in the background. I decided to use approach from https://developer.android.com/guide/topics/media/media3/getting-started/playing-in-background#using-mediasessionservice, and I put ExoPlayer instance inside MediaSessionService. Let’s say I have PlayerActivity which binds to the PlaybackService via:
...

controllerFuture = MediaController.Builder(
    this,
    SessionToken(this, ComponentName(this, PlaybackService::class.java))
)
.buildAsync()

...

Inside PlaybackService ExoPlayer instance is created inside onCreate method.

Everything works great until I need to load ads through IMA SDK. To configure IMA SDK, when constructing AdsLoader, we need to pass AdViewProvider. It’s not possible to do inside a Service, and since we keep ExoPlayer instance in it, we cannot provide it on the PlayerActivity level. AdViewProvider cannot be changed after AdsLoader is built. I mean, we can pass null, and it makes ads audio-only but then in the PlayerActivity we wouldn’t have video ads played.
My problem/question is how can I configure IMA SDK/AdViewProvider to be able to play video ads when running PlayerActivity and still be able to background the playback using MediaSessionService and the whole session approach?
I can’t find any obvious solution for this problem. Maybe I’m missing something as Media3 library is still in beta, and its documentation covers only simpler cases.

A controller talks to the session through a Binder. Generally this requires any arguments that are sent over the Binder to be Parcelable. If I understand correctly the problem you are facing as you can not send the ViewGroup or the AdOverlayInfo to the service.
I don't think there is an easy solution for this that would generally work across processes. This is the requirement on the library level for the communication between controller and session.
If you as an app can make sure that your service is running in the same process you probably can workaround this yourself by adding something to your service that allows to pass these argument to the service in a conventional Java way , that the library can not do.

Thank you for your answer and suggested solution 👍

Hi @ziem did you find a workaround ? I'm having the same problem. I try to override the onbind method and treat the MediaLibraryService as a normal service but I couldn't find a way to build the MediaController with the SessionToken and bind the service in the same instance.


Support  recursively detecting presence of header files for auto-include when completing

Hi,
I am always bothered by auto-include when using code completion just like this:
// this is my common.h
#include <stdio.h>
// something

#include <common.h>
#include <stdio.h>
printf("hello world\n");

I have included <common.h> header, but when I type printf function and complete it, clangd auto-include <stdio.h> for me. Sometimes this may cause errors. For now I use --header-insertion=never in my config file.
So as describes in the title, is it possible to implement a feature to let clangd know I have included <stdio.h> in <common.h>, i.e. recursively detecting the presence of header files. Personally, I think it is hard to implement, and it may cause performance loss when project is a little big.(I'm not familiar with the principle of clangd this kind of tools.)
Thanks!

cc @VitaNuo, @hokein, as you have worked on include-cleaner, maybe you have an idea of the level of difficulty of implementing this and the likely performance impact?

Oops, I overlooked that we already have #70 open for this. Let's close this as a duplicate of that one.


Fix output image consistency issue

It seems that the task information provided by TestTaskSkipEventsServiceProvider, which is necessary to decide whether we should restore the cache to the output directory, isn't saved correctly. Therefore, I removed TestTaskSkipEventsServiceProvider and now always restore the cache. The performance impact appears to be minimal, and consistency is more important.

The reason why the test fail is that when the test fail testTask.doLast{} will not executed so intermediateDir is not updated.
  @Test
  fun verifyAndRecord_changeDetect() {
    RoborazziGradleProject(testProjectDir).apply {
      record()
      val recordFileHash1 = getFileHash("$screenshotAndName.testCapture.png")
      changeScreen()

      verifyAndRecordAndFail()

      val recordFileHash2 = getFileHash("$screenshotAndName.testCapture.png")
      assert(recordFileHash1 != recordFileHash2)

@lukas-mercari
I think it is better to merge this fix, but we aren't able to reproduce the problem in our repository. Could you take a look?

@takahirom I believe the requirement to reproduce this is to make sure the task is taking from both configuration and build cache. (I can reproduce in the same way that I reproduced #374.)
Build cache: Because it means that the tests will be skipped.
Configuration cache: In this case the skip detection will not work properly because expectingTestNames is not initialised correctly.

@takahirom I upgraded to the latest version in our CI/CD pipeline, but it seems that sometimes we get the following exception:
...
Caused by: java.io.IOException: Source file wasn't copied completely, length of destination file differs.
	at kotlin.io.FilesKt__UtilsKt.copyRecursively(Utils.kt:329)
	at kotlin.io.FilesKt__UtilsKt.copyRecursively$default(Utils.kt:288)
	at io.github.takahirom.roborazzi.RoborazziPlugin$apply$configureRoborazziTasks$6$8.afterSuite(RoborazziPlugin.kt:366)
	at jdk.internal.reflect.GeneratedMethodAccessor1126.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	... 44 more

My hypothesis is that it might happen that while one suite finished (and afterSuite is called), another is still generating images -- and thus files in the intermediate dir keep changing.

👀

@lukas-mercari
Thanks. I saw a similar issue. Are you running a single variant?
https://github.com/takahirom/roborazzi/issues/377#issuecomment-2130691611

@takahirom Yes, we only run a single variant per runner. (E.g. ./gradlew recordRoborazziDebug)

@lukas-mercari
If your hypothesis is correct, we might have to check if it is the root suite. Are you seeing multiple 'Roborazzi: test.doLast Copy files' logs?
https://stackoverflow.com/a/68518970

In any case, we might need to include this if statement.
https://github.com/search?q="suite.parent+%3D%3D+null"&ref=opensearch&type=code

@lukas-mercari
Could you please take a look at this PR?
https://github.com/takahirom/roborazzi/pull/385/files

Are you seeing multiple 'Roborazzi: test.doLast Copy files' logs?

Yes, I can see multiple logs (when running recording :sample-android:recordRoborazziDebug). Confirmed that the approach to find the root test suite seems to work!


How can I resize inputTensor with TfLiteParser?

Hi, I am trying to apply armnn + TfLiteParser.
Our system is running TfLite and uses the resizeInputTensor function to reduce the inputTensor in TfLite.
I want to resize the input tensor after reading the same tflite model from armnnTfLiteParser, but I have not found a way to do it.
Please let me know if there is a possible way.

Hi @MatteoArm. Thank you for your reply.

Hi, I am implementing mtcnn in armnn where pnet needs dynamic changing of input tensor shape, any update about the resizeInputTensor similar to tensorflowlite Interpreter::ResizeInputTensor?

Hi @choice17 it's proving hard to implement as the memory layout is connected to lots of things in both Arm NN and Compute Library. We are working on it but it's not going to be soon.

Hi, same here trying to use model with dynamic input shape. Hope to see this feature supported soon. At the mean time, is there any workaround I could use to apply this kind of models with ArmNN for now? Thanks


Unable to read Markdown file on Windows

# VS Code console
[Extension Host] current file /c:/Users/mark/mdm/README.md
ERR [Extension Host] Error: ENOENT: no such file or directory, open 'C:\c:\Users\mark\mdm\README.md' # HERE

{
    "$mid": 1,
    "fsPath": "c:\\Users\\mark\\mdm\\README.md",
    "_sep": 1,
    "external": "file:///c%3A/Users/mark/mdm/README.md",
    "path": "/c:/Users/mark/mdm/README.md",
    "scheme": "file"
}

3c26a89


[BUG] latest firefox broke the theme

Describe the problem
buttons got inverted basically
Version
latest
OS
windows 10
Firefox Version
113.0
Install Options
none
Colour Theme
default
Additional info

Please tick the boxes

[X] You are using a current version of the theme. (check the date associated with the version)
[X] You've checked that this issue hasn't already been raised

And for weeks now, latest releases have been bugging the whole browser in two ways. the one above and this one below:

I can't use the browser on full screen, also the buttons still inverted

 And for weeks now, latest releases have been bugging the whole browser in two ways. the one above and this one below:  I can't use the browser on full screen, also the buttons still inverted

This still happens when pasting the whitesur folder inside the chrome folder, only with this custom version for Adaptive Tab Bar Color. The AdamXweb's works just fine

@F3R96 Greetings! I apologize sincerely for my delayed response, as I was not notified about the issue by GitHub, which contributed to the delay. Also, I’m sorry for the inconvenience caused by the issue itself.
I would like to inquire if the problem persists in the most recent versions of everything. If it does, I will transition to Windows to conduct some testing.

@F3R96 @lukasong I finally got to debug the CSS theme on Windows 11. With the newest version, all problems should have been lifted now, except there’s a small misalignment in the right click menu.
I’m terribly sorry for the inconvenience!

The issue was mainly caused by a small section in csd.css. The AdamXweb’s version works because there’s a syntax error in front of it, which disables the section and thus stops the issue from happening.


Missing cases of Variant type syntax highlighting

Godot version
v4.2.dev6.official [57a6813bb]
System information
Godot v4.2.dev6 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1050 Ti (NVIDIA; <IP_ADDRESS>42) - Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz (4 Threads)
Issue description
The type Variant is does not get highlighting in the following situations:
signal my_signal(arg:Variant)

func _ready() -> void:
	var _x := func(a:Variant) -> void:
		prints(a)

Steps to reproduce
In any script declare a signal with a explicitly typed Variant parameter, or declare an anonymous "lambda" method with a Variant parameter as shown above, and observe the lack of syntax highlighting for the Variant token.
Minimal reproduction project
N/A

Fixed by #82516 (not included in 4.2 dev 6).


docs: Cleanup proofs.

Cleanup verify proofs.
Add trusted setup files glossary entry.
Alphabetize glossary.

@cedoor Please review and merge.


Investigate high number of messages for client id: check_connection_c8y

Describe the bug

On my local test device which uses mosquitto file persistence shows an unusually large number of messages for the check_connection_c8y client id, ~1000 messages.
Message stats
$ sudo mosquitto_db_dump --stats /var/lib/mosquitto/mosquitto.db
DB_CHUNK_CFG:        1
DB_CHUNK_MSG_STORE:  1814
DB_CHUNK_CLIENT_MSG: 1804
DB_CHUNK_RETAIN:     17
DB_CHUNK_SUB:        54
DB_CHUNK_CLIENT:     10

Client stats
$ sudo mosquitto_db_dump --client-stats /var/lib/mosquitto/mosquitto.db
SC: 2 SS: 92 MC: 0 MS: 0   tedge-mapper-az
SC: 8 SS: 352 MC: 804 MS: 97311   tedge-mapper-aws
SC: 1 SS: 41 MC: 1000 MS: 877020   check_connection_c8y
SC: 0 SS: 0 MC: 0 MS: 0   last_will_c8y_mapper
SC: 5 SS: 319 MC: 0 MS: 0   c8y-configuration-plugin
SC: 13 SS: 579 MC: 0 MS: 0   tedge-agent
SC: 4 SS: 196 MC: 0 MS: 0   c8y-log-plugin
SC: 16 SS: 789 MC: 0 MS: 0   tedge-mapper-c8y
SC: 4 SS: 224 MC: 0 MS: 0   c8y-firmware-plugin
SC: 1 SS: 37 MC: 0 MS: 0   nodered

Legend
SC = subscriptions
SS = subscription size
MC = message count
MS = message size

To Reproduce

This is more an investigation ticket into a potena

Build (see the instrucitons in the context)
Check the mosquitto db message statussudo mosquitto_db_dump --stats /var/lib/mosquitto/mosquitto.db

Check the mosquitto db client statisticssudo mosquitto_db_dump --client-stats /var/lib/mosquitto/mosquitto.db

Expected behavior

The expected behaviour is hard to define exactly, however having 1000 messages stored seems excessive.
Screenshots

Environment (please complete the following information):

OS [incl. version]: Debian 11 (bullseye)
Hardware [incl. revision]: Raspberry Pi 4
System-Architecture [e.g. result of "uname -a"]: Linux lumber 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux
thin-edge.io version [e.g. 0.1.0]: 0.12.1~82+gfefb27f7

Additional context

How to build mosquitto_db_dump
git clone https://github.com/eclipse/mosquitto
cd mosquitto/apps/db_dump
make
sudo ./mosquitto_db_dump /var/lib/mosquitto/mosquitto.db

# or you can move it into /usr/bin/, so that is is accessible from anywhere
sudo cp ./mosquitto_db_dump /usr/bin/

mosquitto_db_dump source code

This is no longer applicable as publishing to c8y/s/dat is now done with QoS=0 (https://github.com/thin-edge/thin-edge.io/pull/2420). tedge > 0.13.0 (next release after 0.13.0)


Performance gap between TiProxy and HAProxy grows as the dataset size grows

Problem
When running sysbench, the more data TiDB returns, the performance gap between TiProxy and HAProxy grows.
Test Result

Create a TiDB cluster with HAProxy and TiProxy, each of which has 2 CPU cores.
Run sysbench with --tables=10 --table-size=1000000 --threads=32 oltp_read_only --skip_trx=true --point_selects=0 --sum_ranges=0 --order_ranges=0 --distinct_ranges=0 --simple_ranges=1 --range_size={range_size}
Check the QPS and CPU of TiProxy and HAProxy.

Range size
QPS
HAProxy CPU
QPS per 100% CPU

10
32480
120%
27100

100
27462
140%
19600

1000
7420
110%
6740

10000
757
90%
840

Range size
QPS
TiProxy CPU
QPS per 100% CPU

10
30955
180%
17200

100
14655
190%
7710

1000
2112
200%
1060

10000
221
200%
110

As we can see, when the range size is 10, the performance of HAProxy is less than twice of TiProxy. But when the range size is 10000, the performance of HAProxy is almost 8 times of TiProxy.
Reason
In MySQL, each row is wrapped in a MySQL packet.

TiProxy reads data, allocates memory, and writes data for each MySQL packet because TiProxy needs to check the status.
HAProxy simply forwards data from the server to the client and doesn't need to parse MySQL packets.

Thus, TiProxy is more impacted by the row count.
Code Analysis

WritePacket and ReadPacket become the hot path, so this code should be optimized:

WriteOnePacket calls 2 NewReader and that allocates memory twice.
ReadPacket grows slice in data = append(data, buf), which is unncessary.
var header [4]byte escapes to the heap because header is passed as a parameter to other functions.
The read/write buffer size is 16K, which means for 1000 rows, it calls syscall read/write 8 times.
io.ReadFull contains unnecessary boundary check, function calls and interface conversion.

I believe that this could be solved by processing mysql packet instead of mysql packet without header and with only body.

1,3. actor models like gnet typically have one global buffer per connection.
Maybe we should also check results of tracing.

I believe that this could be solved by processing mysql packet instead of mysql packet without header and with only body.

How?

1,3. actor models like gnet typically have one global buffer per connection.
Maybe we should also check results of tracing.

I checked it before but it's not easy to fix now.

How?

Most packets are just forwarded without processing. Packets processed are somewhat special, e.g. they may never use more than one mysql packet to represent, or they are in the handshake process... etc.
That said, we could just forward the original mysql packet as is, instead of parsing the high level packet.

How?

Most packets are just forwarded without processing. Packets processed are somewhat special, e.g. they may never use more than one mysql packet to represent, or they are in the handshake process... etc.
That said, we could just forward the original mysql packet as is most of the time, instead of parsing the high level packet.

But we still need to parse the leader bytes of each packet to know whether there are more packets to return. Once the data is read packet by packet, there's little space to optimize.

That said, we could just forward the original mysql packet as is most of the time, instead of parsing the high level packet.

But we still need to parse the leader bytes of each packet to know whether there are more packets to return. Once the data is read packet by packet, there's little space to optimize.

Yes. So buffering is needed. We only peek the header and then write the whole buffer... That is, however, easier to implement in actor models than the current models.


Toggle set default to false

Issue description:
Hello i can't set toggle to default off. O tried "off", "0", false,"false" but nothing help is it possible to set on default to off?
Version used:
3.0.38

> Kirki::add_field( 'wbtheme', [
>                      'type'     => 'toggle',
>                     'settings' => 'fixed_navbar',
>                     'label'    => esc_html__( 'Fiksiran navbar', 'wbtheme' ),
>                     'section'  => 'general_navbar',
>                     'default'  => '0',
>                     'priority' => 8,
>                     'transport' => 'postMessage',
>                     'js_vars'     => array(
>                             array(
>                                     'element'  => '.header-blue',
>                                     'function' => 'toggleClass',
>                                     'class'    => 'sticky-top',
>                                     'value'    => true,
>                             ),
>                             array(
>                                     'element'  => '.header-blue',
>                                     'function' => 'toggleClass',
>                                     'class'    => 'boxshadowsidebar',
>                                     'value'    => true,
>                             ),
>                     ),
>             ] );

What doesn't work? Can you please be a little more specific? Does it have the wrong value when you open the customizer? Does it save the changes? Or is the issue related to the js_vars argument in your code?

yes, it save changes, it change but on load customizer don't set toggle button to off
i need default option that is off(false) and when you want sticky-top you must set that option to on (click on toggle button to make it blue).

I don't know what you're doing to print the header in the template itself, but it should be something like this:
<?php
$header_classes = [
	'header-blue'
];
if ( get_theme_mod( 'fixed_navbar', false ) ) {
	$header_classes[] = 'sticky-top';
	$header_classes[] = 'boxshadowsidebar';
}
?>
<div class="<?php echo esc_attr( implode( ' ', $header_classes ) ); ?>">
	.....

Or like this:
<div class="header-blue<?php echo ( get_theme_mod( 'fixed_navbar', false ) ) ? ' sticky-top boxshadowsidebar' : ''; ?>">
	.....

Do you have something like the above implemented?
js_vars will handle changes to values updating the preview via postMessage, but it doesn't have any effect on the initial status - or that status outside the customizer. There will have to be a PHP implementation in place as well


No Output Report in File when build fails under webpack 4

When eslint-loader ends webpack build with exit status 2 no outputReport will be written to specified file. Only with emitWarning set to true the outputReport will be written to file.
This seems to be an issue with webpack 4.+ since a downgrade to<EMAIL_ADDRESS>resolved this issue.
I do not know if this concerns all webpack 4 versions but definitely the latest webpack 4 release (4.29.6).

I have experienced the same problem. Moreover, in my case, neither emitWarning nor emitError help. Versions I am using:

webpack 4.29.6
eslint-loader 2.1.2

@jo-te
In v3 it will only be possible when using absolute path to outputReport.filePath


Why is needed to configure the 'NSContactsUsageDescription'?

First you have to add a string in the app info.plist for NSContactsUsageDescription.

why is this needed? I would expect the NSUserTrackingUsageDescription

Sorry, you're absolutely right. I fixed this issue with the documentation.


I'm running out of energy/time to implement other things like many_till etc, but this seems to me to be a good enough building block for now.

Coverage remained the same at 100.0% when pulling 31d6013f63d94b8f748d2cf403798ad341dfcfcf on implement_should_fail into 27e17879d2bc3dea18cbf0d669cb034a483219bb on master.

Coverage remained the same at 100.0% when pulling 31d6013f63d94b8f748d2cf403798ad341dfcfcf on implement_should_fail into 27e17879d2bc3dea18cbf0d669cb034a483219bb on master.

Coverage remained the same at 100.0% when pulling 31d6013f63d94b8f748d2cf403798ad341dfcfcf on implement_should_fail into 27e17879d2bc3dea18cbf0d669cb034a483219bb on master.


Load pybind11 in CMakeLists.txt for python_module to fix build

Two small changes:

python3-config is not always available, and when it's missing the PYTHON_MODULE_EXTENSION variable is the empty string (so the module appears to install but is not importable)
pybind11's cmake integration was not actually loaded when building the ImageStreamIOWrap python module with pip, so the other path of this conditional was not taken

Cool beans, thanks for the PR!

Thanks for merging! @DasVinch can you bump the submodule revision in milk-org/milk as well?

yup, done.

Ah, rats. Found a quoting problem. Opening a second PR.


Add deleteRoom function

What?

Adds deleteRoom function

Why?

Because it's possible with REST API but wasn't in the library

I get a "Missing token subject" without supplying a user id, but I can enter any random user id and it works. This would be a problem on the API side I guess?

@morrislaptop thanks for this one too!
I've got a pending change to our server-side implementation that removes the requirement for a user ID to be present in the token provided when deleting a room.
As such I'll hold off on merging this until the server-side change is live. Then I'll merge this PR with the user ID removal tweak and cut a new release to make all of your changes available 👍


Max number of elements that .rellax class can be applied to?

Hi,
Context: I am experimenting as to how many elements I can apply parallax to using rellax.js.
So basically I have this simple home page, where I create this tile grid

For every tile, a div is generated - The background-img is set to a tile image (only 3 different images used: black tile, pink tile and blue tile).
Each of these divs all share these properties:
width: 100%;
height: 900px;
position: fixed;
left: 0;
top: 0;
background-repeat: no-repeat;
background-size: 70px !important;
In total, about 1120 divs are created. The only divs that I assigned the .rellax class to are only the 3 pink tiles (got a little covered by the menu bar on the first image).
The rendering would just be completely broken (the menu even disappears):

What I did try to do was reduce the number of tile divs, and still only apply parallax to the 3 pink tiles. When I reduced it to 4 rows (112 tiles) the parallax functions perfectly:

However, using generating more than 112 tile divs would just break the rendering completely.
Just wondering if this a framework limitation or browser (chrome) limitation? and if not, there has to be some issue with my code (I've only added the .rellax class to the 3 pink tiles. No data attributes, and I also only call the "var rellax = new Rellax('.rellax');" after all the tiles have loaded).
I am happy to provide any missing information,
Any help would be appreciated - Many Thanks!

UPDATE: I found that instead of using  for each tile and assigning the background-image property, it worked fine if I used the  element and link reference the tile img via src.

Sorry missed this one, but great that you found a solution!!
I'd love to see the final result when you get a chance to send it over.


UIIN-1368: Update permission for because of renaming of instance-bulk endpoint

Purpose
Update permission for because of the renaming of instance-bulk endpoint in the scope of the UIIN-1368.

@zburke, @mkuklis please review.

@zburke, done.

@zak, please merge as I don't have rights.


[Life] Use PiecewiseConstantHazardDistributions from SurvivalDistributions.jl

Once SurvivalDistributions.jl is registered, we should move up the current implementation of the Life random variable to leverage the PiecewiseConstantHazardDistributions that are in SurvivalDistributions.jl to offload the management of the random variable to SurvivalDistributions.jl instead of having it here.

pending on https://github.com/JuliaRegistries/General/pull/106966


Interactive API beta

A new Python API was introduced. It allows defining Federated Learning tasks, data loaders, and models in an interactive environment such as Jupyter Notebook taking advantage of the introduced interactive API component.
Defined objects are then serialized and may be transferred to a remote node.
Fixes #13

I have read the CLA Document and I hereby sign the CLA

I would like to make sure that metrics returning from tasks that are not declared in the plan are aggregated and treated correctly by the aggregator.

I would like to make sure that metrics returning from tasks that are not declared in the plan are aggregated and treated correctly by the aggregator.


Billing - convert invoiceID to ObjectID

Minor change to make sure the invoiceID is always persisted as an ObjectId().
Migration of old transactions should be necessary, but the information is not yet used by the UI and a SynchronizeInvoice endpoint is planned. This endpoint will somehow fix old transactions as well.

@LucasBrazi06 : Minor change to normalize invoiceID in billing data


rollout support patchPodTemplateMetadata

Ⅰ. Describe what this PR does
Rollout add patchPodTemplateMetadata field.
Rollout will add labels[alicloud.service.tag]=gray in workload.spec.template, then the microservices governance solutions MSE and Isito can identify which pod is base version and which is grey version.
apiVersion: rollouts.kruise.io/v1alpha1
kind: Rollout
metadata:
  name: rollout-b
  annotations:
    rollouts.kruise.io/trafficrouting: mse-traffic
spec:
  objectRef:
    ...
  strategy:
    canary:
      steps:
      - pause: {}
        replicas: 1
      patchPodTemplateMetadata:
        labels:
          alicloud.service.tag: gray

Codecov Report

Merging #157 (1ae9843) into master (7139171) will decrease coverage by 0.01%.
The diff coverage is 46.66%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
- Coverage   43.67%   43.67%   -0.01%
==========================================
  Files          50       50
  Lines        5259     5273      +14
==========================================
+ Hits         2297     2303       +6
- Misses       2575     2581       +6
- Partials      387      389       +2

Flag
Coverage Δ

unittests
43.67% <46.66%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...chrelease/control/canarystyle/deployment/canary.go
55.95% <11.11%> (-5.39%)
:arrow_down:

...hrelease/control/canarystyle/deployment/control.go
74.35% <100.00%> (ø)

pkg/controller/rollout/rollout_canary.go
42.95% <100.00%> (+0.20%)
:arrow_up:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

/lgtm

/approve


Memory module token replacement is broken

Reproduce steps
Configure a memory module with a label like:
label = RAM %gb_used%/%gb_free%
Expected behavior
The memory tokens are replaced by the actual values
Actual behavior
The first memory token is displayed literally.

If the label tokens are the same (i.e: %gb_total%/%gb_total%) or if i only use one token, the values are displayed correctly. I have the impression that the issue only happens when combining two tokens from the same "family" (gb_* , mb_* , percentage_*)

Yes, it's fixed!


failed to connect to local tailscaled; it doesn't appear to be running (sudo systemctl start tailscaled ?)

root@GDR-SVR:~# tailscale up --advertise-routes=<IP_ADDRESS>/24
Downloading 'https://pkgs.tailscale.com/stable/'
Connecting to <IP_ADDRESS>:443
Writing to stdout

Download completed (24496 bytes)
Downloading Tailscale 1.32.2_mipsle ..
Downloading 'https://pkgs.tailscale.com/stable/tailscale_1.32.2_mipsle.tgz'
Connecting to <IP_ADDRESS>:443
Writing to stdout
tailscale_1.32.2_mipsle/tailscale
-                    100% |*******************************| 18924k  0:00:00 ETA
Download completed (19378646 bytes)
Done!
failed to connect to local tailscaled; it doesn't appear to be running (sudo systemctl start tailscaled ?)
root@GDR-SVR:~# /etc/init.d/tailscale start
root@GDR-SVR:~# tailscale up --advertise-routes=<IP_ADDRESS>/24,<IP_ADDRESS>/24,<IP_ADDRESS>/24
failed to connect to local tailscaled; it doesn't appear to be running (sudo systemctl start tailscaled ?)
root@GDR-SVR:~#

I dont know why, but after extract and start tailscale always showing failed to connect to local tailscaled; it doesn't appear to be running (sudo systemctl start tailscaled ?) all depedency was allready installed. Thanks.

When i try to run tailscaled
root@GDR-SVR:~# tailscaled
logtail started
Program starting: v1.32.2-t2f1a945ad-g07d934fd1, Go 1.19.2-ts3fd24dee31: []string{"/tmp/tailscaled"}
LogID: 15948aadd6aea50b8d8c83a0ca14bdc3c22505bab899b2b691ae1e9a5fb726ff
logpolicy: using system state directory "/var/lib/tailscale"
wgengine.NewUserspaceEngine(tun "tailscale0") ...
wgengine.NewUserspaceEngine(tun "tailscale0") error: creating router: exec: "iptables": executable file not found in $PATH
flushing log.
logger closing down
logtail: upload: log upload of 542 bytes compressed failed: Post "https://log.tailscale.io/c/tailnode.log.tailscale.io/f05cf57f31d9d9b99194915190e41ce53864debbbf16f01ff4b408c76bcded75": context canceled
createEngine: creating router: exec: "iptables": executable file not found in $PATH
root@GDR-SVR:~#

im using OpenWrt 22.03.2 btw.

Doesn't look like you have iptables installed? Try running opkg install iptables-nft

emm.. make sense, the default openwrt 22 now using nft.


there is a badcase

there is a badcase
strip.StripTags(<tex>0<x<2</tex>)
get          0
expect   0<x<2

must use < replace<
<tex>0<x<2</tex>


Orin Nano Support

Hi all,
I was trying to follow the Getting Started Guide and I ran into an issue flashing the BSP image.  When I go to flash, I get a hang at Waiting for USB storage device flashpkg on my Linux host.
On the debug console, the Orin Nano gets stuck in a busy wait loop.
From searching around, it sounds like it might be a device tree issue for my board type.  I see the antmicro BSP was developed for the Orin NX 16GB (P3767-0000) but I have the Orin Nano 8GB (P3767-0003).
Could you point me to instructions on how to update the demo BSP for the Orin Nano 8GB?

I'm assuming my issue is related to either having an Orin Nano or installed JetPack6 previously.  Is there a link you suggest for building up a new BSP for the baseboard?  I was looking at the Module Adaptation Guide, not sure if that's the right place to start.

Moving this discussion over to the meta-antmicro repo, looks like it might be more relevant there.


Bug duplicate path

What happened?
Duplicate path
https://user-images.githubusercontent.com/77621271/153897214-61043152-148b-49b0-af83-578bc7887a92.mp4
Reposilite version
3.x
Relevant log output
No response

I have this issue too!

It's pretty much related to Vue and router handler that changes URI faster than renders a new list of entries :/


Autodiff support in Numba

Feature request
It would be great if Numba supported automatic differentiation. Maybe using  Enzyme would be the easiest way as it operates directly on the IR of LLVM. Another possible source of inspiration could be Taichi.

I'd been meaning to look into Enzyme, as it also seems to support CUDA-specific techniques. @adam-urbanczyk have you any thoughts or experiments in the direction of AD support for Numba that you could add here?

Nothing too specific. My use case is estimating probability distributions and I'd be already quite happy with jacobians and hessians of the functions from math and being able to differentiate through if statements.

I think this is an area none of the Numba maintainers have any significant amount of experience with, so it'll be difficult for us to push forward on this without a significant amount of hand-holding, but maybe we can establish some scope here with a bit of further discussion. To kick this off, I have a few questions:

What is a small example of a bit of code that you'd like to be able to write?
What would Numba do / generate under the hood - for example what would some expected transformation of this code look like?
How was that transformation derived?

In contrast Enzyme dev here, with little Numba internal knowledge. Regardless happy to help and this has been something that definitely would be really useful to a lot of people.
In particular what you see by forward, etc is that Enzyme supports several different AD algorithms/modes. Forward mode gets the derivative of all results wrt a single input, reverse mode gets the derivative of all inputs wrt an output (gradient), and vector modes thereof change single in either of the above to one’s choice of N.
I think the first question here is what communication mechanism makes the most sense. The easiest thing to get working is that Enzyme has a LLVM module pass that replaces all AD calls with a call to a newly generated derivative function. Alternatively, there’s also an API that takes an LLVM function and returns a newly generated derivative function. The API level has more flexibility, but requires a bit more setup.
Regardless either way I imagine the overall pipeline to be Numba generated LLVM, and via a choice of above, during compilation Numba calls Enzyme to generate the derivative functions.

Fellow Enzyme-dev here who already looked at Numba and is already working on a prototype - would be really happy to link up to get a more complete coverage and move to have what you are envisioning @adam-urbanczyk
What I think we can consciously move towards is support for

Forward-Mode
Vector Forward-Mode
Reverse-Mode
Vector Reverse-Mode

What kind of target platforms are you thinking of? From an Enzyme perspective Threads, & OpenMP are the easiest. CUDA might be possible? We do not support Intel Threading Building Blocks (TBB) at the current moment, but it would be a matter of software engineering understanding for TBB into Enzyme.
@gmarkall do I understand it correctly that Numba does not use CUDA-Streams, or CUDA-Graphs for its CUDA support?

cc @ lukasheinrich

Hi,
This is a great initiative. as @ludgerpaehler says, there has already been some effort in this direction.
in terms of API, I think it makes sense to stay as close as possible to the JAX
i.e.
def f(x):
  ...

 numba.jvp(f...)
 numba.vjp(f,...)
 numba.grad(f,..)
 numba.value_and_grad(f,..)

etc

cc @niklasschmitz

@gmarkall do I understand it correctly that Numba does not use CUDA-Streams, or CUDA-Graphs for its CUDA support?

Apologies for the delay in my reply here. It doesn't use graphs, but it supports streams: https://numba.readthedocs.io/en/latest/cuda-reference/host.html#stream-management

@gmarkall coming back to the original question, is the description good enough? Do you need more details?
@ludgerpaehler can you share the code you are working on? Do you know if enzyme supports higher order derivatives (specifically calculation of hessians)?

You can indeed use Enzyme to take arbitrary higher order derivatives.

@gmarkall coming back to the original question, is the description good enough? Do you need more details?

I guess so - as my experience in this area is extremely limited, I feel that the most I can do is to help facilitate the discussion and experimentation by those more qualified than myself, and that seems to be happening so I'd imagine it is good enough...
Perhaps others who have commented in this thread can suggest if any more detail or clarification is required, if necessary.

@ludgerpaehler is numba-enzyme open sourced / do you plan to open source it?

Enzyme project lead, but without much numba experience. I haven't seen where any of @ludgerpaehler's tests are or its current state, but I think the first part of an upstream Enzyme-Numba would probably be building an llvmlite (https://github.com/numba/llvmlite) with Enzyme or building Enzyme against the LLVM in the corresponding llvmlite. If there's any llvmlite maintainers around for a chat, I'd be happy to help set it up.

Hi :) Giving an updated talk next week at EuroAD, will gladly post the slides after the talk

Slides appear to be here: https://www.autodiff.org/Docs/euroad/25th EuroAd Workshop - Ludger Paehler - Numba-Enzyme: Differentiable JIT 8217 d Python.pdf

The given example of numba vs JAX performance is very poor IMHO due to using loopy code with JAX. I would be interested in real-world examples which fundamentally require loopy (not vectorized) functions.

@clemisch
yes, and no I'd argue - the picked example is a micro-micro benchmark to illustrate the different behavior of the two JIT-compilers. It is just focussing on that one isolated behavior not more, not less. It is definitely not indicative of the behavior on real-world applications where many different language features come together. For the paper we will also have real-world benchmarks which come closer to what you are describing, i.e. non-trivial work inside of the loops.
@adam-urbanczyk
Sorry for the long silence, yes it is definitely to be open-sourced. Currently pushing to finish the last bits of it for an initial alpha-release in the coming weeks, to then take it from there.  As @wsmoses touched upon, a lot of the stuff Enzyme needs is integrated at the llvmlite level so it is a highly open question how/if that can long-term be upstreamed. But just to set expectations, this is an alpha-release, so it's definitely not at the level where that can, or should be considered.
What the alpha-release will be:

Forward-mode
Reverse-mode
Only on CPU for now

In terms of features etc. we will then have to slowly take it from there. Also, please find here the updated master-slides for said presentation with a bit more clarity.

Otherwise, what is the benefit of implementing autodiff with numba? Apart from being an interesting academic problem, of course.

Uhm, weird question. The benefit is that users of numba will be able to use autodiff.

@ludgerpaehler Is this something you're still working on? Would be fantastic to have this feature, even if it's not polished...

Alright, thanks. I am unfortunately not knowledgable enough to help, but I hope someone will take up the task.

That sounds like a reasonable plan to me! Let me know how I can be of help.


Allow for different attack/damage when Throwing a weapon

Like versatile changes the formula when the weapon is used with two hands, there are also features that provide bonuses specifically to thrown weapons

Initially it would probably just be properly swapping between bonuses.mwak and bonuses.rwak, but there should probably be an additional set of bonuses based on attack mode (or steal BaB for better bonus handling). In 4.0 we should be able to get this working with damage bonuses, but attack bonuses are blocked by the roll refactor.


Upstream commonLabels regression

There is a regression in Kustomize 3.5.5 affecting release v0.1.1-beta.0
Upstream issue: https://github.com/kubernetes-sigs/kustomize/issues/2479

The issue affects all three providers supported by Kubestack (see plans below), but the apply only fails on GKE. EKS and AKS apply without error.
GKE: https://github.com/kbst/terraform-kubestack/runs/700272064?check_suite_focus=true#step:9:439
EKS: https://github.com/kbst/terraform-kubestack/runs/700272058?check_suite_focus=true#step:9:602
AKS: https://github.com/kbst/terraform-kubestack/runs/700272048?check_suite_focus=true#step:9:562


Chores: added ability to remove iptables

Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Fixes: #25804
<!-- Enter the release note text here if needed or remove this section! -->

@swastik959 please take a look at discussion in original issue and this comment, I think you should simply change the condition on this line https://github.com/cilium/cilium/blob/v1.13/install/kubernetes/cilium/templates/cilium-agent/daemonset.yaml#L227 to one described in this comment: https://github.com/cilium/cilium/issues/25804#issuecomment-1597338651 . poststart-eni.bash is a no-op on non-AWS clusters, so I think it's going to work fine.

So, it seems like you'd like the option to flush all iptables rules on startup. That is... dangerous... but I see how it could be useful. My suggestions

Add a Helm option, nodeinit.FlushIptables, disabled by default, which warns of the potential dangers
Update the PR to use the correct iptables commands. The easiest way to flush all tables is to use iptables-restore, please experiment with that
Make sure you clear ip6tables as well :-)

@squeed looking at the script that we are currently using, we would only run iptables-restore if there are rules matching AWS-SNAT-CHAIN: https://github.com/cilium/cilium/blob/v1.13/install/kubernetes/cilium/files/agent/poststart-eni.bash#L14
Does this behaviour really needs a flag to gate it?

Something to keep in mind here, but does it really make sense to have Cilium clear iptables that it did not create and therefore does not manage?

@christarazi we already do that to mitigate an issue caused by these iptables rules, I feel like the OG issue is about making sure that we do it in every affected environment.

@swastik959 if you still intend to push this PR forward, please include a release note on your original PR comment.

Does this behaviour really need a flag to gate it?

@nebril there might be cases where eni mode is disabled, but there still are stale aws rules lying around. Alternatively, we may be chaining off of AWS and thus should not touch any AWS rules. At this point, none of these options are good.
Also, we should not clear iptables if we just restart cilium, so anything like this should go in nodeinit, not in the agent.

@squeed the reason this behaviour was moved to agent was that node-init didn't work on Bottlerocket OS :(.
I am not opposed to adding the flag, but it's one more config value to keep track off and if we can figure out a way without it, I would strongly prefer it.

there might be cases where eni mode is disabled

You mean cases where eni mode is disabled/enabled during cluster lifecycle?

It's not clear how this PR helps remove iptables rules. Moving to draft. Please feel free to continue working on this PR and mark it ready to review when it's ready.


Add test.log to .gitignore

Coverage decreased (-0.6%) to 98.204% when pulling 2dfa05067503155149d99feed597a0d1ec2a4f29 on elebow:add-test-log-to-gitignore into 255577350fc2aa428073592bf9d9fe15fd110fa7 on anqxyr:master.

Coverage decreased (-0.6%) to 98.204% when pulling 2dfa05067503155149d99feed597a0d1ec2a4f29 on elebow:add-test-log-to-gitignore into 255577350fc2aa428073592bf9d9fe15fd110fa7 on anqxyr:master.


Update pt_BR translation

Several updates and fixes for Brazilian Portuguese.

:+1:

Thanks, it's merged :)