Why Cannot StackTrace Be Found Using stackTraceId After LiveObject Is Enabled?

After liveobject is enabled，Occasional occurrence stackTrace can't be found in dictionary

Thank you for your interest in async-profiler.
To report a bug, please include the following information:

OS version, JDK version and async-profiler version;
command line to start the profiler;
expected behavior versus actual behavior;
exact error message if any;
sequence of actions that leads to the problem;
an example program or any other information that helps to reproduce the issue.

Thanks for the reply，The questions are as follows:
In the case of disable liveobject ,Line 196 of the code in the figure， modes.LIVEOBJECT = false ，The memory collection report is correct.
But in the case of enable liveobject  , Line 196 of the code in the figure， modes.LIVEOBJECT = true,  Occasional Error Reported During Memory Collection. When the backend receives the JFR file for parsing, stackTrace cannot be found in the dictionary using stackTraceId. As a result, the parsing fails and the Java backend reports a null pointer error, as shown in the following figure.

Thanks for the reply，The questions are as follows:
In the case of disable liveobject ， modes.LIVEOBJECT = false ，The specific command line code is as follows，The memory collection report is correct.
But in the case of enable liveobject ,  modes.LIVEOBJECT = true, Occasional Error Reported During Memory Collection. When the backend receives the JFR file for parsing, stackTrace cannot be found in the dictionary using stackTraceId. As a result, the parsing fails and the Java backend reports a null pointer error, as shown in the following figure.
I tried different JDK versions, such as JDK11 JDK17.0.1 and so on have this problem.
The command line code is as follows:
std::stringstream command;
command << "start,jfr=7"
<< ",jstackdepth=" << CNP_Constants::MAX_FRAME_COUNT()
<< ",threads=true";
if (modes.CPU) {
command << ",event=cpu,interval="
<< (timeIntvl.empty() ? std::to_string(CNP_Constants::DEFAULT_TIME_INTERVAL()) : timeIntvl) << "ms";
}
if (modes.MEMORY) {
command << ",alloc="
<< (dataIntvl.empty() ? std::to_string(CNP_Constants::DEFAULT_DATA_INTERVAL()) : dataIntvl) << "k";
}
if (modes.LATENCY) {
command << ",wall="
<< (timeIntvl.empty() ? std::to_string(CNP_Constants::DEFAULT_TIME_INTERVAL()) : timeIntvl) << "ms"
<< ",filter=RANDOM";
}
if (modes.LIVEOBJECT) {
if (CNP_AgentGlobal::jvm_version() >= JVM_VERSION_11) {
command << ",live";
}
}
The Java backend reports the following error:
java.lang.NullPointerException: Cannot read field "methods" because "stackTrace" is null
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.SampleConverter.lambda$getLines$1(SampleConverter.java:161)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.SampleConverter.getLines(SampleConverter.java:158)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.SampleConverter.handleSample(SampleConverter.java:151)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.SampleConverter.handleAllocationSample(SampleConverter.java:132)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.SampleConverter.parseJfr(SampleConverter.java:185)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.JfrIngester.handlePData(JfrIngester.java:89)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.JfrIngester.lambda$receiveData$0(JfrIngester.java:52)
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.WorkerGroup.lambda$submit$0(WorkerGroup.java:52)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
The Java backend reads the JFR code as follows，error is line StackTrace stackTrace = (StackTrace)stackTraces.get((long)id);
private Line[] getLines(JfrReader jfrReader, int stackTraceId, Dictionary stackTraces) {
return (Line[])this.stackToLine.computeIfAbsent(stackTraceId, (id) -> {
StackTrace stackTrace = (StackTrace)stackTraces.get((long)id);
long[] methods = stackTrace.methods;
byte[] types = stackTrace.types;
Line[] lines = new Line[methods.length];
        for(int i = 0; i < methods.length; ++i) {
            int line = stackTrace.locations[i] >>> 16;
            long methodId = this.getMethodId(types[i], methods[i], jfrReader);
            lines[methods.length - 1 - i] = new Line(methodId, line);
        }

        return lines;
    });
}

dsadasdsadsa

saddsadsa

I suspect there is a bug in this line of code. Why is the second parameter of this recordSample 0 when live is enabled?
void ObjectSampler::recordAllocation(jvmtiEnv* jvmti, JNIEnv* jni, EventType event_type,
jobject object, jclass object_klass, jlong size) {
AllocEvent event;
event._total_size = size > _interval ? size : _interval;
event._instance_size = size;
event._class_id = lookupClassId(jvmti, object_klass);
if (_live) {
    u64 trace = Profiler::instance()->recordSample(NULL, 0, event_type, &event);
    live_refs.add(jni, object, size, trace);
} else {
    Profiler::instance()->recordSample(NULL, event._total_size, event_type, &event);
}

}

java.lang.NullPointerException: Cannot read field "methods" because "stackTrace" is null
at com.huawei.cloud.profiler.cp.ingester.ingest.jfr.SampleConverter.lambda$getLines$1(SampleConverter.java:161)

This exceptions does not come from async-profiler. It's a part of Huawei software.
Could you please share a .jfr file that you suspect is wrong?

I found a case when a LiveObject sample with stackTraceId == 0 could have been recorded. Presumably, this is the same issue as you observe.
I pushed the fix, please check if it helps. If not, please provide a corresponding .jfr file.

rightjfrfile.zip
This is a correct jfr file. After the jfr file is parsed using IDEA, each stack trace is correct.
wrongjfrfile.zip
This is a jfr file with liveobject enabled. After parsing the jfr file with IDEA, you can see that some of the Stack Trace is null. I'm not sure if this null is a bug.

OK, I understand the problem. Both of these .jfr files are valid, but the second one indeed has allocation events without stack traces. The reason is that async-profiler does not currently support "normal" allocation profiling together with "live" object profiling. When live option is set, only profiler.LiveObject events are relevant, but not jdk.ObjectAllocationInNewTLAB. This is the limitation of the current design, but this may be fixed in the future.

Thank you, I understand.

This will break live object profiling.
I know how to support both allocation and live object profiling at the same time, but the fix is not that trivial.

Thank you. I look forward to solving this problem soon.

The issue has been fixed in #1009.
Now it's possible to profile allocations and live objects at the same time.


Update ESMA_cmake and ESMA_env, other fixes

Description

This PR is mainly to update the ESMA_cmake and ESMA_env versions for MAPL. v3.6.0 of ESMA_cmake broke make tests but v3.6.1 fixes it. ESMA_env v3.4.0 moves GEOS to use Intel 2021.2 by default.
This also has a few other bugfixes:

@bena-nasa discovered that if you don't use Baselibs/real pFlogger, then the pflogger_stub needs to provide yaFyaml. We were depending on it from PFLOGGER::pflogger transitiveness.

It might be good for @weiyuan-jiang or @rmontuoro to make sure I didn't break any UFS stuff. I can't remember if it was UFS or Harvard that wanted the pflogger stub...
Related Issue

Motivation and Context

Keeps MAPL up-to-date with GEOSgcm
How Has This Been Tested?

I did run MAPL with it. I'll make sure to do a test with full GEOS soon. → GEOSgcm run is zero-diff. Unblocking, undrafting.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[x] I have tested this change with a run of GEOSgcm (if non-trivial)
[x] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[x] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

Note: I also removed a duplicate find_package(YAFYAML REQUIRED). We had two


Install has a hiccup

When re-installing this extension, RF shows the "Do you want to reinstall" dialog. But then it does not actually do that. The old extension is removed, but the new one is not copied.
The only way seems to be to drag the new extension into the plugins folder.

Fixed


No Available Trade Routes

Describe the bug
I installed CQUI during an existing save. After doing so, when a trade route ended, I no longer see any available trades.
I have not had a chance to test in a new game, but will later today.
To Reproduce
Steps to reproduce the behavior:

Have an existing save on a vanilla Civ VI install (plus DLC).
Have existing trade routes
Save and close
Install CQUI
Load the existing save
Wait for a trade route to finish
Observe that no trade routes are seen

Expected behavior
Trade routes render appropriately.
Screenshots

General informations

OS: Nobara Linux (running Civ VI under Wine, so it is the Windows version)
Version <IP_ADDRESS> (970508)
Expansion: Gathering Storm
Other mods: None

*Save game and logs
quicksave.Civ6Save.zip

Are you sure that your save has traderoutes in vanilla? Game mechanics alone can cause this behaviour, and that may be fully expected

Yup! I had trade routes prior to installing the mod.
-Geran
On Sun, Feb 18, 2024 at 2:26 AM, Perkele @.***(mailto:On Sun, Feb 18, 2024 at 2:26 AM, Perkele < wrote:

Are you sure that your save has traderoutes in vanilla? Game mechanics alone can cause this behaviour, and that may be fully expected
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


 Commit names should be more or less descriptive.

Right, I've assumed touch event will be a separate story in the future.
Re design, that's true as well, I didn't have better idea for now, and I guess Micheal can change that in the future anyway.


Android Basics: LiveData

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-livedata
In which task and step of the codelab can this issue be found?
7. Use LiveData with data binding
Describe the problem
In "Step 2: Convert layout file to data binding layout" the first step states "Open game_frament.xml, select code tab" however the correct file name is game_fragment.xml, not game_frament.xml.
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Thank you so much for reporting this issue. This is fixed and will be published soon.


typo in MP:0001460 "abnormal olfactory -discrimination memory"?

MP:0001460 abnormal olfactory -discrimination memory
Surely that must lose the space before the hyphen or the hyphen itself?
abnormal olfactory-discrimination memory
abnormal olfactory discrimination memory

fixed


Merge alternate master to master

Changes

Make volumes and mountpoints blocks compatible with ec2 and fargate launch types
Shouldn't be passing task_volume for FARGATE launch type except if non-persistent storage is required

@SaiPrasannaGopularam Im not sure whoever originally wrote this, but the input takes a list of objects and then only ever renders the first element into the task config. I don't think it's worth fixing since this is not something we will use in the short term.

Both the elements from the object is being used in the container definition inside mountpoints block.
The reason for this fix is, it throwed an error when I tried applying without any volume mounted on to the container


Add LICENSE file. See #546

Never mind, closing. I didn't realize the LICENSE.md file already existed.


pip command in postinstall script can cause error

When working with @Decos14 today, we encountered the following error:
><EMAIL_ADDRESS>postinstall
> python3 -m venv .venv && cd tools && node pyrun.mjs pip install -U pip && node pyrun.mjs pip install -r requirements.txt
Requirement already satisfied: pip in c:\users\devli\desktop\numberscope\frontscope\.venv\lib\site-packages (22.2.2)
Collecting pip
  Using cached pip-22.3-py3-none-any.whl (2.1 MB)
ERROR: To modify pip, please run the following command:
C:\Users\devli\Desktop\Numberscope\frontscope\.venv\Scripts\python.exe -m pip install -U pip
[notice] A new release of pip available: 22.2.2 -> 22.3
[notice] To update, run: C:\Users\devli\Desktop\Numberscope\frontscope\.venv\Scripts\python.exe -m pip install --upgrade pip
npm ERR! code 1
npm ERR! path C:\Users\devli\Desktop\Numberscope\frontscope
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c C:\Users\devli\AppData\Local\Temp\postinstall-a368a58a.cmd
npm ERR!      C:\Users\devli\AppData\Local\npm-cache\_logs\2022-11-01T21_21_51_006Z-debug-0.log

The culprit seems to be node pyrun.mjs pip install -U pip. We removed that clause from the script and the postinstall script was able to finish without error.
@Decos14's computer runs Windows 11, I believe.

The obvious fix seems to be to change node pyrun.mjs pip install -U pip to node pyrun.mjs python -m pip install -U pip and see if the problem persists.

But I wonder if creating the venv gives you pip automatically if you have a newish (>=3.5) version of Python...

I suppose it has to.

The entire point of that clause was to be sure we are always running with the latest version of pip, which venv may not install (as encountering this error amply illustrates). I 100% agree with the obvious solution and recommend that a PR implementing it be filed.


feat: sort proposal votes in modal

Summary
We should show biggest votes first.
Closes: https://github.com/snapshot-labs/sx-ui/issues/532
Test plan

Check votes modal there: http://localhost:8080/#/gor:0xcebbae8f9e86f58532837e701650ffdba85738c6/proposal/3

Screenshot

Sorting is good. Noticed problem with alignment is votes modal @Sekhmet

@j0hnfl0w what do you mean by alignment? The text being aligned to the right? Maybe it should be center-aligned in small container that lives on the right.

https://github.com/snapshot-labs/sx-ui/issues/539


which mfcc.conf do you use?

hi,
First of all thank you for your fantastic project!
I have no idea which mfcc.conf file used in your project, the conf/mfcc.conf is not in your project.
Hope your soon reply.
thanks!

Hi,
mfcc.conf is from the voxceleb recipe in kaldi. I forgot to add the symlink from pytorch_run.sh. It should be added after the recent commit.
Best,
Manoj

Hi,
Thanks for your quick reply!
I found when I set the num_workers=2 at DataLoader in train_xent.py, it will throw an error as follow:
Traceback (most recent call last):   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/multiprocessing/queues.py", line 234, in _feed   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/multiprocessing/reduction.py", line 51, in dumps   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/site-packages/torch/multiprocessing/reductions.py", line 333, in reduce_storage RuntimeError: unable to open shared memory object </torch_20266_1801196515> in read-write mode Traceback (most recent call last):   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/multiprocessing/queues.py", line 234, in _feed   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/multiprocessing/reduction.py", line 51, in dumps   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/site-packages/torch/multiprocessing/reductions.py", line 337, in reduce_storage   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/multiprocessing/reduction.py", line 191, in DupFd   File "/home/lcf/anaconda3/envs/python36/lib/python3.6/multiprocessing/resource_sharer.py", line 48, in __init__ OSError: [Errno 24] Too many open files
Is it not support multi-processing in loading data?

I faced the same issue, and unfortunately I couldn't find a solution. From what I understood: since we are serially accessing a egs.*.scp, it is not possible to read them with num_workers > 0.
Let me know if you find a workaround!
Best,
Manoj

I found it can be solved by add the code below at train_xent.py
import torch.multiprocessing as mp
mp.set_sharing_strategy('file_system')

but it can face a new problem. When I set num_workers=32, it can work, but the code always executes the for loop part for _, (X, Y) in par_data_loader: and can't executes print('Archive processing time: %1.3f' %(time.time()-archive_start_time)) and print('Validation accuracy is %1.2f precent' %(valAcc)).
The reason why I want to use multiple processes to load data is that I found these code has very low GPU utilization and is slow to train.
Finally I found that the main reason for affecting the training speed is not the problem of data loading, but the problem of model definition.
In the models.py script, the following code is very time-consuming:
if self.training:
    x = x + torch.randn(x.size()).to(self.device)*eps

After I modify it as below, the training speed is much faster
        if self.training:
            #x = x + torch.randn(x.size()).to(self.device)*eps
            shape = x.size()
            noise = torch.cuda.FloatTensor(shape) if torch.cuda.is_available() else torch.FloatTensor(shape)
            torch.randn(shape, out=noise)
            x += noise*eps

When I set num_workers=32, it can work, but the code always executes the for loop part for _, (X, Y) in par_data_loader: and can't executes print('Archive processing time: %1.3f' %(time.time()-archive_start_time)) and print('Validation accuracy is %1.2f precent' %(valAcc))

Does the logging statement  if batchI-loggedBatch >= args.logStepSize: execute?

After I modify it as below, the training speed is much faster
if self.training:
#x = x + torch.randn(x.size()).to(self.device)eps
shape = x.size()
noise = torch.cuda.FloatTensor(shape) if torch.cuda.is_available() else torch.FloatTensor(shape)
torch.randn(shape, out=noise)
x += noiseeps

I can confirm the speedup! Do you want to create a PR?

The if batchI-loggedBatch >= args.logStepSize: is executed, and the batchI will larger than numBatchsPerArk but can't break the for loop mention above.
yes, I will create a PR, thanks!


Republika crawler crash

Solved #11
Fix datetime format when parsing, and add another case when get next page link

Hi @imrenagi,
Please review this, thanks


Inference - ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 3 dimensions. The detected shape was (10, 1, 45) + inhomogeneous part.

Hello @YixingHuang, I am trying to run inference on one of my test subjects.
I have prepared the files and config files such that:

I have a main volume for inference, path is specified in testChannels_t1c.cfg
I have a prior volume, path is specified in testPriorChannels_t1c.cfg
I have a ROI volume. It is a binary nifti file that is a brain mask. The path is specified in testRoiMasks.cfg
I have a nifti with GT, binary mask of lesions. The path is specified in TestGtLabels.cfg

When runnning the inference with the following command I am getting an error. Do you have an idea what may be wrong?
python deepMedicRun -model ./examples/configFiles/deepMedicPlus/model/modelConfig_wide1_deeper.cfg -test ./examples/configFiles/deepMedicPlus/test/testConfig.cfg -load ./examples/output/saved_models/pretrainedModels/deepMedicWide1.high_sensitivity.model.ckpt -dev cuda0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~         Segmenting subject with index #0       ~~~~~~~~
 Loading subject with 1st channel at: /home/kucharsd/Documents/Git/DeepMedicPlus/DeepMedicPlus/examples/data_test/PATIENT1002_VISIT2_T1CE.nii.gz
 WARN: Loaded labels are dtype [float64]. Rounding and casting to [int16]!
 WARN: Loaded ROI-mask is dtype [float64]. Rounding and casting to [int16]!
Starting to (tile) extract Segments from the images of the subject for Segmentation...
Finished (tiling) extracting Segments from the images of the subject for Segmentation.
Ready to make predictions for all image segments (parts).
Total number of Segments to process:20
Processed 0/20 segments.

ERROR: Caught exception from main process: setting an array element with a sequence. The requested array has an inhomogeneous shape after 3 dimensions. The detected shape was (10, 1, 45) + inhomogeneous part.
Traceback (most recent call last):
  File "/home/kucharsd/Documents/Git/DeepMedicPlus/DeepMedicPlus/deepMedicRun", line 180, in <module>
    session.run_session(sess_device, model_params)
  File "/home/kucharsd/Documents/Git/DeepMedicPlus/DeepMedicPlus/deepmedic/frontEnd/testSession.py", line 129, in run_session
    res_code = inference_on_whole_volumes(*([sessionTf, cnn3d] +
  File "/home/kucharsd/Documents/Git/DeepMedicPlus/DeepMedicPlus/deepmedic/routines/testing.py", line 566, in inference_on_whole_volumes
    array_fms_to_save) = predict_whole_volume_by_tiling(log, sessionTf, cnn3d,
  File "/home/kucharsd/Documents/Git/DeepMedicPlus/DeepMedicPlus/deepmedic/routines/testing.py", line 272, in predict_whole_volume_by_tiling
    feeds_dict = prepare_feeds_dict(cnn3d.get_main_feeds('test'), channs_of_tiles_per_path)
  File "/home/kucharsd/Documents/Git/DeepMedicPlus/DeepMedicPlus/deepmedic/routines/testing.py", line 207, in prepare_feeds_dict
    feeds_dict.update({feeds['x_prior']: np.asarray(channs_of_tiles_per_path[1], dtype='float32')})
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 3 dimensions. The detected shape was (10, 1, 45) + inhomogeneous part.

Finished.

I guess that it is your data size problem. Please try to use similar/same preprocessing pipeline as ours. For example, also make your volume size into 240 * 240 * 155 with an isotropic voxel size of 1 mm.

Thank you, after the changes it worked. The segmentation however identifies whole brain as tumor. I assume that it is due to preprocessing reasons, I will investigate that, thanks again for your help.

Good to hear that. Please try to follow our preprocessing pipeline if you want to use our pretrained models.
You can also use your own preprocessing pipeline, but you need to fine tune or completely retrain the models.


Add an high-quality editor screenshot

The JPEG version is meant to be linked to in Web pages (specifically, godotengine/godot's README) whereas the 4K PNG version is better suited to other use cases.

Thanks!


Updated Hornbill SSO tutorial

The Hornbill platform UI around SSO setup has changed, updated the images and instructions to reflect that.

@microsoft-github-policy-service agree company="Hornbill"

@jeevansd
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@SteveGoldthorpe, thanks for the request!!
Creating a separate PR for your changes in our private repo for better content validation and the PR will merge within 24 hrs.
#please-close


feat: Install specific cri-tools package on debian derivatives

What problem does this PR solve?:
The cri-tools package is a dependency of kubeadm. However, kubeadm installs the latest cri-tools version. And while the kubeadm is compatible with the container runtime, the latest cri-tools version may not be.
For example, on January 20, 2023, kubeadm v1.25.x installs cri-tools v1.26.0. The former is compatible with containerd v1.5.x, but the latter is not.
Please see https://github.com/kubernetes/release/issues/2866 for more details.
Which issue(s) does this PR fix?:

https://d2iq.atlassian.net/browse/D2IQ-95429

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

On Debian-based Linux distributions, install a version of the cri-tools package known to be compatible with both the Kubernetes and container runtime versions.

Once this merges, I'll backport to release-1.24 (DKP 2.4.x) and release-1.19 (DKP 2.3.x)

Added a comment, squashed it into an earier commit, and force-pushed.


Update Houdini's Imagemagic policy.xml file

This makes a few tweaks to the Imagemagic policy.xml file.
Based on the descriptions in ImageMagicks Architecture writeup, I propose these changes below:

Changedisk to 10GiB. Some suggest unlimited but that makes me nervous. Honestly, 10 makes me nervous, too, but I do think we should raise this somewhat. If this limit is hit, then the process stops, so I wonder if that's why we stopped before, as the files left behind are all about the same size.
This is output from the houdini container's tmp file from our test cloud server setup:

bash-5.0# ls /tmp/ -lh
total 6G
-rw-------    1 nginx    nginx       1.4G Dec  6 20:33 magick-PURM5dZzxSr1wXYuTGrVq0xjJGGhjJDe
-rw-------    1 nginx    nginx       1.4G Dec  6 20:31 magick-fLKslbEtDwDbMMjRiqKACrh8eTPIklcD
-rw-------    1 nginx    nginx       1.4G Dec  6 20:32 magick-hUP7nuVA04WR66zLQei3H5zTQCcECNKO
-rw-------    1 nginx    nginx       1.4G Dec  6 20:30 magick-lCBNjyTogqEBMGwUUjGM7sA2PGeKjmFG
bash-5.0#

Add in <policy domain="cache" name="synchronize" value="True"/>, which, in theory will make sure all things are flushed to disk, which will ensure that it will better handle when the system runs out of disk space.  ImageMagick Doc

<policy domain="cache" name="synchronize" value="True"/>
Set to True to ensure all image data is fully flushed and synchronized to disk. There is a performance penalty, however, the benefits include ensuring a valid image file in the event of a system crash and early reporting if there is not enough disk space for the image pixel cache.

It's unclear to me what affect, say, increasing the memory or map resource would have, or if we should add area as well.


manifest returning 500

see https://iiifpres.bdrc.io/wvo:bdr:MW23703_S0011::bdr:I1490/manifest
from https://library.bdrc.io/show/bdr:MW23703_S0011
filename from image list not in bvm: @eaDir/14900531.tif@SynoEAStream

related to https://github.com/buda-base/archive-ops/issues/759

could this one be related? https://iiifpres.bdrc.io/wvo:bdr:MW3CN1302_0005-5::bdr:I3CN1308/manifest
filename from image list not in bvm: I3CN13080679.jpg


Extensibility Point for Claims Persisted in ASP.NET Core Cookie

I have an Identity Server 4 with an OIDC External Provider to an ADFS that utilizes implicit flow to get an id_token.
When I use the OIDC provider to implicity request an id token, I can visually inspect the id token returned and it has all the claims that I want, additionally the IClaimsIdentity for that request looks good. However, if I make a subsequent request to the Identity Server, the IClaimsIdentity that is being created via the Cookie is missing a bunch of Claims that I want to leverage.
I understand that not all the Claims are being persisted to the cookie out of concern for the cookie size, however I can't seem to find an extensibility point (other than writing my own oidc-callback route and do the SignIn myself, which I want to avoid if I can) where I can add a couple Claims when doing the Sign In.
Is there any documentation or guidance about how to add my Claims to the cookie?

I'm confused. All of the moving parts that you describe above are all extensibility points in the sense that the entire UI is your custom code. So I don't follow how you can't get the UI code to put the claims you want in the cookie at IdentityServer.
I'd suggest you build a stand alone ASP.NET Core to connect to your ADFS and get that to work the way you want. Then simply copy that into your IdentityServer.

I haven't written any code to handle the oidc-callback and call SignIn to
persist the cookie. I made the assumption that this callback/logic is being
provided, or at least extended, by the Identity Server code but it sounds
like that this is all provided by the ASP.NET Core authentication provider
that I've set up?
On Tue, Jun 9, 2020 at 5:46 PM Brock Allen<EMAIL_ADDRESS>wrote:

I'm confused. All of the moving parts that you describe above are all
extensibility points in the sense that the entire UI is your custom code.
So I don't follow how you can't get the UI code to put the claims you want
in the cookie at IdentityServer.
I'd suggest you build a stand alone ASP.NET Core to connect to your ADFS
and get that to work the way you want. Then simply copy that into your
IdentityServer.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/IdentityServer/IdentityServer4/issues/4493#issuecomment-641637842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSPUP6XJLSKGK3LOIOENN3RV3CWLANCNFSM4NZ3IX5Q
.


UG fixes: low hanging fruit

Closes:

#145
#151
#152
#180
#191

Codecov Report

Merging #200 (0a1dca1) into master (89764f4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #200   +/-   ##
=========================================
  Coverage     65.21%   65.21%
  Complexity      587      587
=========================================
  Files           111      111
  Lines          2452     2452
  Branches        257      257
=========================================
  Hits           1599     1599
  Misses          741      741
  Partials        112      112

Continue to review full report at Codecov.

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


Launching container from image with significantly-sized VOLUME is slow

Inside a Sysbox container, launching a container from an image derived from a Dockerfile that includes a VOLUME  directive (and where  contains a 'significant' amount of data, in my test case ~300Mb) is unreasonably slow.

Hi @struanb, I was able to repro the very severe slowdown you are seeing, and have root-caused it to Sysbox intercepting a couple of syscalls (fchown and llistxattr), both of which are used extensively when the inner Docker pulls & extracts the image, and when it copies the image's contents to a volume. If I remove the interception of those syscalls, the inner container image pull and start time are same as you would experience them at host level.
There is a reason Sysbox intercepts those syscalls inside the container, but it's usually to cover corner cases, so the cost of intercepting them may not be worthwhile. I am thinking how to solve this. One possibility is to make the interception of those syscalls configurable, with the default being to not intercept.

A solution for this has been merged and will be present in the upcoming v0.5.0 release.
The solution is to tell Sysbox to not intercept the *xattr() syscalls by passing the SYSBOX_ALLOW_TRUSTED_XATTR=FALSE env var to the container, as follows:
docker run --runtime=sysbox-runc -it --rm -e SYSBOX_ALLOW_TRUSTED_XATTR=FALSE <Sysbox-Container-Image>

Alternatively, one can ask Sysbox to do this for all containers by editing the sysbox-mgr systemd unit and adding the --allow-trusted-xattr=false flag to the sysbox-mgr's command line.
After doing this, the problem mentioned in this PR is resolved. For example, starting the newsnowlabs/dockside inside a Sysbox container now takes only a few seconds (similar to starting it at host level).
One caveat: the reason Sysbox intercepts the *xattr() syscalls in the first place is to allow the trusted.overlay.opaque xattr to be set from within the container's user-namespace (otherwise setting that attribute fails, which in turn causes older versions of Docker to sometimes fail when pulling images). Starting with Docker 20.10.9 and in hosts with kernel >= 5.11 this is not required (i.e., Docker uses a different attribute call user.overlay.opaque). Thus, if you want to use SYSBOX_ALLOW_TRUSTED_XATTR=FALSE, do so on hosts with kernel >= 5.11 and install the latest version of Docker inside the Sysbox container.

Note that this solution applies to the upcoming v0.5.0 release. It's not present in v0.4.1.

Closing.


Git LFS fails if a lfs object is larger than the memory of the agent

Describe the bug
As per the bug reported at https://github.com/git-lfs/git-lfs/issues/3524, it appears that git stores the entire thing in memory before writing it out to disk. If a git-lfs object is larger than the available memory on the agent then it will get OOM killed during the checkout process.
Steps To Reproduce
Steps to reproduce the behavior:

Create a git-lfs repo with a large file (say 700MB)
Attempt to use an agent with 512MB to checkout the previously created repo

Expected behavior
The repository should be successfully checked out.
Actual behaviour
The checkout fails with a OOM error, leaving the repo in an unrecoverable state because the git lock is held.
Stack parameters (please complete the following information):

AWS Region: ap-southeast-2
Version v5.11.0

Hi @kbrownlees is this still an issue for you? Have you had any success with the workarounds in the issue you linked: https://github.com/git-lfs/git-lfs/issues/3524. We are interested to know if we can improve the agent's checkout behaviour.

@triarius I worked around this by making our uploader workers have quite a lot more memory. So it is 'working' but not ideal since they are quite a lot more expensive than the ec2 instances I was using before.

I suspect you can do something along the lines of exporting GIT_LFS_SKIP_SMUDGE=1 in an environment hook to make the git checkout skip the lfs files, and then running git lfs pull in a post-checkout hook. It's probably best to make these job lifecycle hooks that live on the agent: See https://buildkite.com/docs/agent/v3/hooks#hook-locations-agent-hooks, so that they are run for every job.
However, I have prepared a plugin that does the same thing: https://github.com/triarius/git-lfs-pull-buildkite-plugin. This should be easier to try out, provided you add it to all the steps, including the pipeline upload step, which lives in the pipeline definition in the web UI.
I've had success with the plugin on a ~1 GB file on a t3a.nano (which has 0.5 GB of RAM).


Runtime error when calling clBuildProgram, prompting symbol lookup error: /usr/local/lib/libVC4CL.so: undefined symbol: _ZN4vc4c11Precompiler10precompileERSiRSt10unique....

My machine is Raspberry PI 3 Model B Plus Rev 1.3.
I have installed VC4C, VC4CL and VC4CLStdLib according to the guide from https://github.com/doe300/VC4CL/wiki/How-to-get. I found the error when calling function clBuildProgram to build the .cl file on runtime, but I only use vc4c to compile the same .cl file, it is successful. The following is detailed error information of calling function clBuildProgram.
symbol lookup error: /usr/local/lib/libVC4CL.so: undefined symbol: ZN4vc4c11Precompiler10precompileERSiRSt10unique_ptrISiSt14default_deleteISiEENS_13ConfigurationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_8OptionalISD_EESH
However I find the symbol in libVC4CC.so and libVC4CL.so.
pi@raspberrypi:~ $ nm /usr/local/lib/libVC4CL.so | grep _ZN4vc4c11Precompiler10precompileERSiRSt10unique
     U _ZN4vc4c11Precompiler10precompileERSiRSt10unique_ptrISiSt14default_deleteISiEENS_13ConfigurationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_8OptionalISD_EESH_

pi@raspberrypi:~ $ nm /usr/local/lib/libVC4CC.so | grep _ZN4vc4c11Precompiler10precompileERSiRSt10unique
00842780 T ZN4vc4c11Precompiler10precompileERSiRSt10unique_ptrISiSt14default_deleteISiEENS_13ConfigurationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_8OptionalISD_EESJ

The OS is Raspbian Stretch with desktop and recommended software from official website(https://www.raspberrypi.org/downloads/raspbian/).

pi@raspberrypi:~/workspace/test $ gcc -w -g -I/usr/include main.c -o main -lOpenCL -lVC4CL -lVC4CC -L/usr/local/lib
/usr/local/lib/libVC4CL.so：‘vc4c::Compiler::compile(std::istream&, std::ostream&, vc4c::Configuration, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, vc4c::Optional<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > const&)’ undefined references
/usr/local/lib/libVC4CL.so：对‘vc4c::Precompiler::precompile(std::istream&, std::unique_ptr<std::istream, std::default_deletestd::istream >&, vc4c::Configuration, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, vc4c::Optional<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > const&, vc4c::Optional<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >)’undefined references
collect2: error: ld returned 1 exit status
I hope the following information can be useful.
CL_PLATFORM_VENDOR, vendor: doe300
GPU Name: VideoCore IV GPU

Can't see the issue from the output.
Do you have the same problem, if you build the VC4CL library from source using the existing VC4C library to link against?
What GCC version are you running?

Thank you very much for your reply.
GCC version is:
pi@raspberrypi:~ $ gcc --version
gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I use the existing VC4CC and VC4CL library instead of building the VC4CL library from source code. I find the existing libVC4CL.so generated on 29th March, I will try to download the latest code from github and build libVC4CL to link the existing VC4CC library. Check whether there is still the same problem.

I have downloaded the VC4CL source code from github, commit NO 7ac88be. I build and install libVC4CL on Raspberry PI 3 B+, and successfully run OpenCL to link the existing VC4CC library.
Thank you very much, doe300.

Then I guess the latest VC4CL library is too old (since there haven't been any new commits in a while) and something changed in the VC4C public interface which made changes in the available symbols.  This should be fixed with the next commit on VC4CL.


Performance question for NodeJs

Dear,
I started yesterday developing a Node-Red contribution, to allow OpenCv.js to be used in our dataflows.  Must admit that I'm new to OpenCv, but I'm already very enthousiastic about this project!
I tried the Canny Edge Detection example from npm, but the performance was not really what I expected.  I executed the tests on my Raspberry Pi 3 running NodeJs version 7.9.0.
Issue 1 - descending execution duration
I repeated the same test (on the same image) a couple of times, and the execution durations were descending (and becoming rather stable after about 3 tests):

8631 millisecs
1333 millisecs
1103 millisecs
591  millisecs
568  millisecs

And even the CPU consumption was descending:

Does this make any sense?
Issue 2 - high execution duration
Don't know about native OpenCv performance, but for example on this forum I found following measurement:
A pure OpenCV VideoCapture vc(0) grabbing loop (no display, no waitKey) gets about 30 fps at 640x480 with nearly no CPU load. Adding a Canny edge filter, I still get 30 fps at 640x480 but CPU load increases to 250% (out of the 400% for all cores).
I realize that (w)asm is slower than native C++, but are my execution times normal?  If not normal, is there any kind of troubleshooting I can do to find the root cause?
I would also have expected that more CPU would be used in this case, but it seems only a single core is being used.  Hopefully somebody can help me out ...
Thanks a lot !!!
Bart Butenaers

Hi,
forgot to mention that I used the same input image as in the tutorial, which has even a lower resolution (402x402) as in the forum link above.
Could the cause be:

My node js version doesn't support asm or wasm?
My node js doesn't detect that it is asm, and runs it as normal Javascript?  Or is that not possible?
The native code uses some kind of hardwared acceleration, and OpenCv.js not?
...

Kind regards,
Bart

Hi,
first off, I'm also not an expert.
Do you use the wasm or asm.js version? In this repo, there is only the asm.js version.
The wasm version can be found in njor's fork or in his pull request #20 . (Please up-vote his PR...)
There, you have to include cv-wasm.js instead of cv.js, otherwise it works identically.
Webassembly should be a bit faster than asm.js.
Moreover, asm.js is fully compatible with (slow) standard javascript. Hence, if you include the wasm version instead, you can be sure your node supports wasm, otherwise it wont work at all (wheras the asm.js version might work and be excecuted as standard js).
Best
Joe

Hi Joe,
Thanks for your help!!
Indeed I have no idea if the asm.js version is executed by NodeJs as standard  slow Js.
It seems a good suggestion to use the PR (which I have voted).
But when I replace my opencv.js file (which I have installed via 'npm install opencv.js') by the cv-wasm.js file (from the PR), the 'var cv   = require('opencv.js');' statement in my code now results in following error:
ReferenceError: Module is not defined
Do you perhaps have any idea how I can get around this?
And I also don't understand why - in case of WebAssembly - the xxx.js need to be loaded instead of the xxx.wasm file, like they do here.
Thanks again,
Bart

Hi,
hm... I'm not sure about node. I have only used it on the clientside.
I used  for the asm.js version. In addition, the file cv.data was required.
For the wasm version, I used , and additional files cv-wasm.data and cv-wasm.wasm were required.
I think you load the js because it contains the module structure.
I think, this will be different in node and I'm also not perfectly sure if the version you obtained via npm is the same as the one in this repo. I just realized, that now also in the official opencv repo there is a js build version and a js tutorial, which appear to be related to but maybe newer/more active than this repository.


Add filter/search to the Controller log

Hey, our team has tested your platform. Everything looks good but there are some features we would like to see in future releases.
It would be nice to have a filter (Info/Error/Warning and so on) and a simple search in the log on the Controller tab of the network's settings. Also, an email notification in case of an error in the log could be useful.

Hey David,
Thank you for the ideas. We will review and let you know if and when those to be implemented.
-SensorOcean Team

Hey David,
Thank you for the ideas. We will review and let you know if and when those to be implemented.
-SensorOcean Team

Planned for next releases.


Command errors for lvlset seelevels and lvltop

Describe the bug
Commands (p)lvltop and (p)lvlset seelevels not functioning.
*To Reproduce
Steps to reproduce the behavior:
Use either command (lvltop or lvlset seelevels) in Discord
│ /home/user/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py:85 in wrapped                                                                                │
│ ❱   85             ret = await coro(*args, **kwargs)                                                                                │
│ /home/user/.local/share/Red-DiscordBot/data/orange/levelup/base.py:1060 in leaderboard                                                                                │
│ ❱ 1060         embeds = await self.bot.loop.run_in_executor(None, func)                                                                                │
│ /usr/lib/python3.9/concurrent/futures/thread.py:52 in run                                                                                │
│ ❱  52             result = self.fn(*self.args, **self.kwargs)                                                                                │
│ /home/user/.local/share/Red-DiscordBot/data/orange/levelup/utils/formatter.py:168 in get_leaderboard                                                                                │
│ ❱ 168         total = humanize_number(round(sum(v["xp"] for v in lb.values())))                                                                                │
│ /home/user/redenv/lib/python3.9/site-packages/redbot/core/utils/chat_formatting.py:589 in humanize_number                                                                                │
│ ❱ 589     return format_decimal(val, locale=get_babel_regional_format(override_locale))                                                                                │
│ /home/user/redenv/lib/python3.9/site-packages/babel/numbers.py:421 in format_decimal                                                                                │
│ ❱  421     return pattern.apply(                                                                                │
│ /home/user/redenv/lib/python3.9/site-packages/babel/numbers.py:1019 in apply                                                                                │
│ ❱ 1019             number = self._quantize_value(value, locale, frac_prec, group_separator)                                                                                │
│ /home/user/redenv/lib/python3.9/site-packages/babel/numbers.py:1088 in _quantize_value                                                                                │
│ ❱ 1088         rounded = value.quantize(quantum)
InvalidOperation: [<class 'decimal.InvalidOperation'>]
Expected behavior
A list of levels per user to be parsed into discord
Additional context
Also with the command .lvlset seelevels, the Bot will end up losing 'heartbeat' and I have to force restart it.  below is the error code for that as well.
WARNING  [discord.gateway] Shard ID 0 heartbeat blocked for more than 110 seconds.
Loop thread traceback (most recent call last):
File "/home/user/redenv/bin/redbot", line 8, in
sys.exit(main())
File "/home/user/redenv/lib/python3.9/site-packages/redbot/main.py", line 528, in main
loop.run_forever()
File "/home/user/redenv/lib/python3.9/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "/home/user/redenv/lib/python3.9/site-packages/redbot/core/events.py", line 354, in on_message
await bot.process_commands(message)
File "/home/user/redenv/lib/python3.9/site-packages/redbot/core/bot.py", line 1523, in process_commands
await self.invoke(ctx)
File "/home/user/redenv/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 939, in invoke
await ctx.command.invoke(ctx)
File "/home/user/redenv/lib/python3.9/site-packages/redbot/core/commands/commands.py", line 832, in invoke
await super().invoke(ctx)
File "/home/user/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py", line 1348, in invoke
await ctx.invoked_subcommand.invoke(ctx)
File "/home/user/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py", line 863, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "/home/user/redenv/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
ret = await coro(*args, kwargs)
File "/home/user/.local/share/Red-DiscordBot/data/orange/levelup/levelup.py", line 2179, in see_levels
time = time_to_level(i, base, exp, cd, xp_range)
File "/home/percygucci94/.local/share/Red-DiscordBot/data/orange/levelup/utils/formatter.py", line 39, in time_to_level
xp = random.choice(range(xp_range[0], xp_range[1]))
File "/usr/lib/python3.9/random.py", line 347, in choice
return seq[self._randbelow(len(seq))]
File "/usr/lib/python3.9/random.py", line 245, in _randbelow_with_getrandbits
r = getrandbits(k)  # 0 <= r < 2k

I think the first one might be an issue with the locale you have set. and the second may be due to the settings you have for the algorithm. could you post a screenshot of [p]lset view for me?

I think the first one might be an issue with the locale you have set. and the second may be due to the settings you have for the algorithm. could you post a screenshot of [p]lset view for me?

Sorry just saw this.  Still having the issue but not sure if it's the same error

I see, it is because your algorithm exponent is ridiculously high... You're gonna have to lower it.

This issue has been fixed. Update and set your level exponent to something more reasonable like 5 or lower.


Centered floating windows?

Are you planning on including centered floating windows in the future (e.g. with the center patch)?
I have been trying to apply the patch myself but it always fails, even when I manually edit the lines, so I am probably too inexperienced in C to find the reason for it failing...

the centered patch is essential to @LukeSmithxyz scratchpad's recent update, as the current scratchpad automatically centers all scratchpads in the middle of the screen, while there is an additional patch for the current scratchpad that disables that feature, and then with the centered patch you could assign the main scratchpad to be centered, while you could have the calculator or other scratchpads appear as floating windows on different parts of your screen

@electronblue Maybe patch it yourself?
https://dwm.suckless.org/patches/alwayscenter/
I use this and it works perfectly.

@electronblue  if u need a patch on that , mine is identical to luke main repo but i patch center floating windows...
and other patches like system try, pertag patch, and cool start patch..
https://github.com/goldcoders/dwm
if u wanna use it you need to transfer .xprofile startup script to your config.h in dwm
@electronblue  you dont need to be good at C, im not a C dev, all you need is learn to read the code
the lines where it should be added, your having hard time maybe because you are not used to patching
or git... but patching literrally has nothing to do with C.


Allow users to use rack 3.0

Expected behavior and actual behavior
Allows users to use rack 3.0, which was released months ago https://github.com/rack/rack/pull/1940
Steps to reproduce the problem (from a clean middleman installation)
n/a
Additional information

Ruby version: 3.2.0
Middleman version: 5.0.0.rc.2
OS version: n/a

@tnir Do you think it will be ok to just allow (< 4) Rack 3.0 here?
https://github.com/middleman/middleman/blob/3812b031b6313ade4622c01f95ca154f36e09fb7/middleman-core/middleman-core.gemspec#L23

Why would this be useful to allow? Users do not interface with Rack directly and could have unintended differences from what is expected.

Yeah, that's right! Apart from "keep deps up to date", I don't see any other reason, maybe @tnir has an idea?

Until now I did not know #2695 did address the problem. Thanks @dependabot!


Uninstalled Cloud Service (Dropbox) folder is still visible in "cloud drives" section of the sidebar after deletion

Description
First of all, congratulations on Version 2.1! It feels much more refined (especially when using it as default).
Now to my "problem" which is more of an inconvenience: I would like to have my uninstalled and deleted Dropbox folder removed from the "Cloud Drives" section of the sidebar.
Although this report fits in the larger context of costumization requests (#6815),  I have not seen this particular bug report in the Issues when searching. My goal with this report is simply pointing out another usecase for that costumization and maybe point out an actual bug here.
(I know that reinstalling Files likely will solve the issue, but before doing this I wanted to report and see if further info is required.)
Steps To Reproduce
No response
Expected behavior
When uninstalling a cloud service (like Dropbox) and deleting the sync folder, it should also be deleted in the sidebar
Files Version
<IP_ADDRESS>
Windows Version
22000.434
Relevant Assets/Logs

7572_crwmy_debug_fulltrust.log
7572_crwmy_debug.log

Thanks for the kind feedback. Dropbox still appearing means that it did not fully uninstall itself.
Try to delete the "%localappdata%\dropbox" folder and it will be gone from Files sidebar.


AR Camera Support

Hi there,
Is there a way I can transfer my own texture that would be of my screen capture and not camera feed so that the objects can also be seen on the other end?

Greetings, we've updated our SDK and demos.
You can check Custom camera demo on how to transfer stream from Unity camera to the call.


Interface routine support

I think we should add support for https://github.com/Ferrite-FEM/Ferrite.jl/pull/747 and https://github.com/Ferrite-FEM/Ferrite.jl/pull/743

Defining interface_routine! and interface_residual! should be straightforward.
We would also need some InterfaceVector type to add in the DomainBuffer, this could be some lazy/derived structure using a similar logic (or even reusing InterfaceIterator). But I'm unsure how coloring interfaces should work for multithreaded support in this case...

You "just" need to color a different graph (face connectivity), but this is a bit of a problem again because we don't have a face definition. :( Maybe we can get away with sorted pairs of elements as the nodes in the connectivity graph?

An alternative would be to have a slightly different definition for the interface integrals. Instead of looping over all interface elements we loop for each element over all local faces and assemble only the local part. This comes at the cost of having significantly more reinits of the interfaces. Not sure how this impacts performance. Maybe @AbdAlazezAhmed can give some guess here?

The approach to coloring sounds reasonable and about what I thought (AFAIU, it needs to be the cell pairs as the interface involves all the dofs for both cells). However, I'm not sure if providing coloring algorithms should be done here or in Ferrite.
But the current functionality in Ferrite only considers looping over the entire skeleton, hence the idea of looping over a subset of interfaces (aka one color) doesn't exist there yet. I think I commented on this in one of the linked PRs that it would be nice to have the notion of a subset to loop over (which is also why looking at how https://github.com/Ferrite-FEM/Ferrite.jl/issues/850 is solved will be nice to have a Ferrite-compatible interface (no pun intended) here)

The approach to coloring sounds reasonable and about what I thought (AFAIU, it needs to be the cell pairs as the interface involves all the dofs for both cells). However, I'm not sure if providing coloring algorithms should be done here or in Ferrite.

I would keep this in Ferrite.jl or if the shmem parallel infrastructure grows too large we can think about moving this stuff into some FerriteSharedMemoryParallelStuff.jl package.

But the current functionality in Ferrite only considers looping over the entire skeleton, hence the idea of looping over a subset of interfaces (aka one color) doesn't exist there yet. I think I commented on this in one of the linked PRs that it would be nice to have the notion of a subset to loop over (which is also why looking at how Ferrite-FEM/Ferrite.jl#850 is solved will be nice to have a Ferrite-compatible interface (no pun intended) here)

Yea. We have also more open questions regarding making this efficient for mixed grids.


Feature Deprecation: PWA

Though PWA is promising, it has browser compatibility issues on legacy Safari, and has maintenance costs with Next.js.
We should disable this feature temporarily, and reevaluate sometime in the future.

https://github.com/thematters/matters-web/pull/2686
https://github.com/thematters/matters-server/pull/2681

We still keeping PWA feature and next-offline is replaced by next-pwa.
https://github.com/thematters/matters-web/pull/3029


Skippable positions

It's nice to be able to remain consistent with the markup for background stuff but maybe you don't want it in a slide.  Now you can add .skip to an element and it will be positioned but not scrolled to.  Maybe a little hacky but it gets the job done right!

Yes, that kind of functionality was already requested and I'm planning to add that in the future.
I'm not sure at this point if elements to skip should be marked with additional class, or with another data- attribute.
I also think that functionality of 'skipping' doesn't belong to select function, but more to selectNext and selectPrev functions.
So I'm not merging your pull request, but I'll keep it here open to remind me about this functionality.
Thanks!

I decided to make it class because I feel like data attributes for a booleans are a little over kill.  It also allows for styling if you fall back to a non-compatible browser.
As for location I played with both spots an am a fan of minimizing variants.  Inside the selectNext/prev you would need a bunch of duplicate code. The other disadvantage is in the selectNext because the function does not take a parameter the next previous elements rely on the active slide it would require either changing the core functionality of these functions or making a slide active even when it's a skip.  I didn't like doing either of those.
Anyway good luck great lib
On Jan 20, 2012, at 2:44 AM, Bartek<EMAIL_ADDRESS>wrote:

Yes, that kind of functionality was already requested and I'm planning to add that in the future.
I'm not sure at this point if elements to skip should be marked with additional class, or with another data- attribute.
I also think that functionality of 'skipping' doesn't belong to select function, but more to selectNext and selectPrev functions.
So I'm not merging your pull request, but I'll keep it here open to remind me about this functionality.
Thanks!

Reply to this email directly or view it on GitHub:
https://github.com/bartaz/impress.js/pull/66#issuecomment-3580189

Yes, you're right about data- for booleans. They seem to be overkill, when what you really need is a presence/absence of it.
But on the other hand using data- will make it more obvious that it's the part of impress.js "API".
Being really picky about semantics it kind of doesn't make sense to keep "step" class on such skipped elements - as they are not really steps anymore, right? :)
You are also right about duplication in selectNext/Prev functions. I'm thinking about joining them into one, as they share most of the functionality.
But still I think the skipping belongs there. It would work even without setting skipped element active. Basically while searching for next/prev element to show, those with skip class can be filtered out.
Even better. They can be filtered out at the very beginning. We can remove them from steps array right after they are positioned. In this way you wont need to change anything in select functions.
Wow. Thanks for the discussion. We are getting closer to nice solution :)

This could be easily achieved with more generic data-next option (being proposed), see this comment: https://github.com/bartaz/impress.js/pull/61#issuecomment-3545409

True. I was thinking about such solution, too.
It would be a little bit 'hacky', but possible.
For example:

So there are different options. And that's why I'm not going to merge everything that seems useful, because I'd like to keep the core consistent and simple, as long as it's flexible enough to fit the needs.

I have been thinking a lot about this I do not like the class step in a slide that will be skipped if you visit
http://austinbv.github.com/impress.js#full-circle
You can see the words on the outside are never visited, instead they are just a tool for the zoomed out step.
It seems counter intuitive to name something step when well... it's not.  Instead either I think impress should take on a different class name for the slides or have a class name that is not step for skipped presentations.  I have submitted another pull request with a data-next to skip but I am not that happy with how it looks in the code.
I didn't mean to but I deleted the branch or I would have stayed in this pull


What's the point of modification of the "T VFO" function?

I can't find the issue that started that if any.
It doesn't make sense to me now, there is:

MAIN - always transmit on the one that is chosen (filled arrow)
UPPER/LOWER - always transmit on the UPPER/LOWER, which is exactly the same as MAIN, when you use A/B button the UPPER changes to LOWER and vice versa.

The main should be rather called RESPOND, and should transmit on the channel that the last transmission was received, so a user could respond to a caller.

The (Fake) Dual Watch of this device is quite... confusing. The Dual VFO, if active (doesn't matter if main is Upper or Lower VFO) will quickly switch between the two searching an active conversation, and in case of RX, for a few seconds, that will be the active VFO to respond (TX) to the incoming call. After those seconds, if no activity, the default TX is selected back. But then there comes the "Crossband" (omg...), where you can manually select which VFO want to be ALWAYS FIXED to respond.
In "T VFO" menu, "MAIN" should be renamed to something more like "AUTO" (if Dual Watch is active), or "SAME AS RX" (if inactive), while the other two should be renamed to "VFO A/UPPER VFO" and "VFO B/LOWER VFO".
Doesn't matter how well we arrange this, I think this will be always be confusing as f***. Only bet I would say is safe is to place each options together in the menu (right now they are in position 10 and 23), so you can easiliy fix any mess.

and in case of RX, for a few seconds, that will be the active VFO to respond (TX) to the incoming call

But that is my point, it doesn't work like that anymore. It always transmits on the frequency where the triangle is.

It's been making my brain hurt from the start lol, hence why I've struggled to get the radio to TX on the correct VFO.

Crossband is meant to TX on the opposite VFO to what your receiver is set too - for that's easy to understand.
The dual watch, the receiver can pause on either VFO (where ever their is a signal, but I think the TX should always be on the 'main' channel (solid triangle), otherwise your just never sure where you'll be transmitting.
The QS way is to TX on the frequency the RX has currently stopped on.

I suppose if the RX pauses on a channel/opposite VFO, then maybe that's where the TX should TX, unless crossband is on, in which case it will transmit on the opposite VFO ... aarrgghhh

Ok, I rechecked everything again, and it doesn't work like the original QS firmware, but I think if it is not bad at all. Forget the Crossband (since that thing only purpose is to force in which VFO to transmit).
Right now, if you enable Dual Watch ("DUALRX" option 10), it will ALWAYS transmit to the selected VFO. No auto switch. So if 1o11 is gonna leave that thing that way, perhaps it would be clearer to rename menu options to: "OFF", "ON + TX VFO A" and "ON + TX VFO B"???
Then, now lets talk about the Crossband. If the Dual Watch is not going to do Auto temporary switching, then it can be DIRECTLY REMOVED, as it has no sense, because you are already selecting the TX VFO in the "DUALRX" option.

I don't know why they called what they implemented crossband. Repeaters are crossbands.

mmm I know, it's really cross-vfo

I'm confused. Are we talking about 1 or 2 options in menu. The first is "T VFO"

Like it is right now it doesn't matter what I choose in the "T VFO" it will always transmit on the frequency with the solid triangle. So what changes between MAIN and UPPER/LOWER?

T-VFO (QS call it WX) is the crossband thing, you set a VFO to TX on.
But then there is Dual-RX (QS call it TDR).

I will investigate

It is confusing, pretty much. But 1o11 firmware works different than originals. And that is not a bad thing.
I will try again to explain how I see it's working in each firmware, but my english is not very good:

Original firmware: if DW is active, both channels are monitored, when RX is detected, the TX is temporary auto switched to that VFO. If you do nothing, the TX goes back to the main VFO selected. If Crossband is active, you can have DW but you will override the auto TX selection and you will ALWAYS do TX where you want.
1o11 firmware: if DW if active, your monitor both VFO, but the TX will always occur on the active VFO. No auto switching to the last active VFO. Crossband? Is there, but now it's completely pointless. Can be removed unless 1o11 implements the auto TX switch on Dual VFO.

I am pretty sure of what I am saying. But what is best? who knows. Let the master decide.

ok, the solid black triangle is/should always be the TX VFO - I think.
If you set just T-VFO (cross band without dual-rx), you transmit on the black triangle VFO, and RX on the other VFO (thin outline triangle).

What you saying is correct, but this modification doesn't make sense, lets not call it crossband, there is nothing crossband about it. The main point is to have option to respond to the last RX.

...if you choose

lol

The original implementation didn't work either :) if I remember correctly. It always switched for couple seconds to the RX VFO

The only usefull option of "T VFO" right know would be, perhaps, to do TX on the other VFO without monitoring it.

It could be, but still I think responding to the last TX is useful function.

Yes, it's for doing any TX-RX offset/split you want.

I might be on two frequencies with two groups of people, and respond to last call.

The radio in my car does cross-band repeater mode, you can set RX on UHF say, and TX on VHF. Then you set your walkie talkies to use that config using the T-VFO option.

But the offset and direction does exactly that in QS

I might be on two frequencies with two groups of people, and migh want to respond to last call.

Then I guess that would be taken care of by the Dual-RX option ? (leave T-VFO off/main)

Would it be possible to merge both options in the same menu (I guess would be a PITA)?. If you don't plan to implement the auto TX switch on the DW (which I think is no big deal), perhaps it would be better to have a single menu with the following options:
VFO:
VFO A TX+RX
VFO B TX+RX
VFO A TX+RX/B RX
VFO A RX/B TX+RX
VFO A TX/B RX
VFO B RX/A TX
Oh my god. This is going to be a real mess. GJ Quansheng, lol

Then I guess that would be taken care of by the Dual-RX option ? (leave T-VFO off/main)

It did work like that originally, not anymore :)

But the offset and direction does exactly that in QSO's instead.

It does - as well. but radio hams also like to do with with two separate VFO's instead

Then I guess that would be taken care of by the Dual-RX option ? (leave T-VFO off/main)

It did work like that originally, not anymore :)

That will be my fault lol. Should I just go with what QS do, copy them ?  .. we have to power to do anything we want now though. We just need to know what we want.

Well I think it just shouldn't be called what QS called it. Other than that it was good I think. Could it be made better? Probably :)

Another option is to leave is working as the original QS method, with auto TX switching un DW, and rename menu to clearer strings:
Dual Watch (DUAL RX): OFF, PRIO(rity) VFO A, PRIO VFO B
Crossband (CROSS VFO): OFF, TX VFO A, TX VFO B

I've been investigating this as a means to build the dual-PTT functionality on and it looks possible. I've been struggling with button input so I haven't got it working properly, hence my branch isn't representative of what I've been doing.
I think I'll put the brakes on until this feature is worked out. I appreciate your efforts.

We can make it better, we can rename it all to anything we like, we can even frequency hop (another day) !

I think I made my point I'll leave that for you to decide, I have to go to sleep. I'm away this weekend. Goodbye.

Sleep sounds good. me too

Rather than open another issue - I'd like it if the delay in "Dual Rx Respond" mode was adjustable, "a couple seconds" is a bit too short for me. :-)

Rather than open another issue - I'd like it if the delay in "Dual Rx Respond" mode was adjustable, "a couple seconds" is a bit too short for me. :-)

There is an S HOLD menu option for that.


python-wrapper broken by recent re-factoring

The following attribute used to work fine:
python27Full = pkgs.python27Full.override {
  extraLibs = with pkgs.pythonPackages; [pkgs.pylint pkgs.scons];
  postBuild = ''
    cd ${pkgs.pylint}/bin
    for i in *; do
      rm $out/bin/$i
      sed -r -e "s|^exec |exec $out/bin/python -- |" <$i >$out/bin/$i
      chmod +x $out/bin/$i
    done;
  '';
};

but after bf5d6fb9b1c12a919853f15571b5a012f87fd928 its broken:
$ nix-env -p /tmp/yo -iA python27Full
replacing old `python-2.7.6-wrapper'
installing `python-2.7.6-wrapper'
these derivations will be built:
  /nix/store/k6rd60c4xmjp9590blifa2603ygpqzc3-python-2.7.6-wrapper.drv
building path(s) `/nix/store/hk8nc4bzfcrcpxgdi237x9mnwbpvkn2p-python-2.7.6-wrapper'
building /nix/store/hk8nc4bzfcrcpxgdi237x9mnwbpvkn2p-python-2.7.6-wrapper
collision between `/nix/store/5p6p5p2rz0x04vhzpvj66zpd7kqx2cw6-python2.7-logilab-astng-0.24.1/bin/pytest' and `/nix/store/ib2jamy5n1i9wmb1pb9lbw3rwkc0pfbn-python2.7-logilab-common-0.58.2/bin/pytest' at /nix/store/9z6d76pz8rr7gci2n3igh5dqi7ac5xqj-builder.pl line 72.
builder for `/nix/store/k6rd60c4xmjp9590blifa2603ygpqzc3-python-2.7.6-wrapper.drv' failed with exit code 2
error: build of `/nix/store/k6rd60c4xmjp9590blifa2603ygpqzc3-python-2.7.6-wrapper.drv' failed

@peti why did you close it?

Because I don't have that problem any more. It appears to have been fixed a long time ago. I don't remember anymore who fixed it, but someone committed a change that made a difference.

@domenkozar, why did you re-open it?

Because it's still not fixed, packages using setuptools namespaces have problems/collisions.

Well, all I can say is that the issue I intended to report with this ticket does no longer exist, so I'd rather not keep this ticket open. Would you mind opening a new ticket for that topic?

Sure!


convert to list type twice, not necessary.

https://github.com/tobyqin/photodup/blob/2ce6789bbe33394fba5a093c6029a361b452d4c8/web/app.py#L24

fixed, thanks.


fix(runtime-core): should pause tracking deps when initializing legacy options

close: #2521

The second problem is not fixed.

Yep. It seems we also need to pause Tracking in doWatch, not sure if we should just wrap the whole thing ...

The second problem is not fixed.

I don't think the second problem is a bug or something that needs improvement. When the props change, the component does need to be updated, and I think the update is not equivalent to re-rendering, of course, it includes re-rendering.

Yep. It seems we also need to pause Tracking in doWatch, not sure if we should just wrap the whole thing ...

Not only the watch but also lifecycle hooks such as the created, I think it behaves similarly to setup: https://github.com/vuejs/vue-next/blob/master/packages/runtime-core/src/component.ts#L566-L573

I'm unclear what people mean when they say 'the second problem'. In my original bug report I mentioned two problems, in bullet points 1 and 3. The contents of bullet point 2 were a necessary step in reproducing the problem in bullet point 3.
While it could be argued that the behaviour in bullet point 2 is also a bug (in my opinion it is) it is something that has been reported and discussed previously (see #1790 and #1181) and it wasn't what I was reporting in #2521.

I'm unclear what people mean when they say 'the second problem'. In my original bug report I mentioned two problems, in bullet points 1 and 3. The contents of bullet point 2 were a necessary step in reproducing the problem in bullet point 3.
While it could be argued that the behaviour in bullet point 2 is also a bug (in my opinion it is) it is something that has been reported and discussed previously (see #1790 and #1181) and it wasn't what I was reporting in #2521.

OK.
@HcySunYang The 'second problem' is not directly about re-rendering when the props change. That's just a necessary step along the way. The problem is what happens the next time the data changes after that.


Remove IO function from batch_consistency_test

Replace IO function torchaudio.load() usage in test by on-the-fly generated white noise

OK, changed to duration=1 and sampling_rate=8000. The last test for spectral centroid I left intact for this PR, so there is still sr=44100 as it was before.


Editting Hashlists

Users should be able to add/remove hashes from a hashlsit

Support for adding hashes has been added but not deleting. Deleting will probably come later so closing for now


Roadmap ideas - umbrella issue for future development

Hi all, feel free to add suggestions to this issue for things that should be added / removed / improved in observable. I'll gather all the items on which there is consensus, running / planned items, or items we need at Mendix in this first message. Ideas can be added by replying.
If people want to contribute on any of this just let me know!
Planned
Breaking(?)
Non-breaking

[ ] introduce reactive graph transformations (running, see #67)
[ ] improve core implementation (to make it easier to comprehend / contribute) and run autorun functions in separate transactions (running, see also #71)
[ ] simplify + reduce memory consumption by removing debug context object, and initialize more internal structures lazily (running)
[ ] introduce observable sets (#69)

Ideas
Non-breaking

[ ]  Provide RxJS integration.
[ ] introduce explicit get / set methods on arrays
[ ] Find a cooler name for the lib and give it a fresh introduction including a cool website? :100: :cake: :facepunch:
Improve docs
[ ]  write blog posts on the following subjects:

Explain inner workings #24
Explain why / how having reactive state and pure derivations solves a lot of problems

(Possibly) Breaking

[ ] Remove .observe() from observable scalars and functions (smaller api, there is an better alternative, code base reduction). Conflicts with #59
[ ] Remove error handling for derived values; fail fast and fail hard. Currently logged exception seems to be just confusing and distract from the cause
[ ] Make @observable non recursive by default (#55, #56). I think there is general consensus for this one; less magic.
[ ] Make fast arrays the default, see #68. This means that observable arrays can no longer be enumerated using for .. in. :cry:
[ ] ... maybe don't use observable as a swiss knife and expose more explicit methods like mobservable.object, mobservable.array, etc..
[ ] ... maybe don't call observable arrays arrays, but lists instead. Makes it more clear that those aren't real array's, but makes it less clear that they support the complete array api, including index assignments.

Rename ideas

[ ] Separate @observable into @observable and @derivable (for getters) to communicate more clearly the ideas behind mobservable
[ ] Rename observeUntil into when
[ ] Think of a clearer / less scary name for autorun, maybe reactive?

Also see #34 (road to 1.0) for some past ideas.

Some feedback:
(1) Provide RxJS integration - I'm assuming / hoping this will be done outside of mobservable (eg. expose generic hooks in core and release a separate module). I might deprioritize this compared to improving the fundamentals.
(2) introduce explicit get / set methods on arrays - maybe clarify this in a Wiki page with an example and link back to this proposal discussion. Is this to deal with the loss of API with the array optimizations?
(3) Remove error handling for derived values - I find myself running into cycle detected a lot (will try to isolate use cases) and definitely would like to discuss improvements in general. Maybe this should be broken out into a Wiki page / issue to discuss and generalize Upgrade error handling and reporting.
(4) maybe don't use observable as a swiss knife and expose more explicit methods like mobservable.object, mobservable.array, etc. and Remove .observe() from observable scalars and functions - Maybe this should be generalized as API redesign / refactor / upgrade, merge with other topics (like the next one below), and create sub-points? I've been thinking a lot about this (for example, how to reduce the surface area, decrease learning curve, and provide analogies across ES5, ES6, and TS) and would volunteer to help with brainstorming and proof of concepts on this.
(5) Separate @observable into @observable and @derivable (for getters) to communicate more clearly the ideas behind mobservable - not sure about the naming (maybe computed?), but I've been thinking that there should be an analogy with ES5. For example, I'm not sure if these are equivalent, but there should be some easy-to-understand equivalence:
Observable:
// ES6
class Store {
  @observable prop = null;
}
var store = new Store();

// ES5  - prototypical inheritance
function Store() {
  extend(this, {
    /* @observable */ prop: null
  });
}
var store = new Store();

// POJS
var store = extend({}, {
  /* @observable */ prop: null
});

Computed / Derived / View:
// ES6
class Store {
  @observable things = [];
  @computed /* get ? */ filteredThings() { return this.things.filter(...); }
}
var store = new Store();

// ES5 - prototypical inheritance
function Store() {
  extend(this, {
    /* @observable */ things: [],
    /* @computed */ filteredThings: function() { return this.things.filter(...); }
  });
}
var store = new Store();

// POJS
var store = extend({}, {
  /* @observable */ things: [],
  /* @computed */ filteredThings: function() { return this.things.filter(...); }
});

If this is the case, then maybe we just deal with extension and no observables directly (eg. they must be associated with an instance given the get /set magic of mobservable). I'm getting into details, but just wanted to make a case for simplifications and maybe combining topics...
(6) Think of a clearer / less scary name for autorun, maybe reactive?. In knockout, there is no separate concept for autorun. You just use a computed and never use the return value. It keeps the API surface area down and hooks into normal lifecycle methods. I wonder if autorun can be eliminated by following a similar approach? That would be even less scary! :wink:

autorun names:

executeOnEveryChange()
listenAll
triggerOnChange
onChange
change
observeAll

i do agree autorun is a bit of a abstract name. as long as mobx.Observe also exists autorun is not per se necessary. Since Observe does the same thing for 1 variable/property. i'd suggest calling it mobx.observeAll()?

@joelharkes most people won't see responses on closed issues. But observe != 1 property autorun. Autorun respects transactions and such, observe doesn't. Generallly prefer to use reaction instead to listen to individual property changes

Yes it is. Most api's in MobX are named after what they intend to achieve
on a conceptual level, not to what they do
Op vr 4 mei 2018 om 15:21 schreef Joël Harkes<EMAIL_ADDRESS>
Hey no problem, just thought i'd drop my 2 cents. isn't reaction a very
ambiguous word?
but so technically it's an onTransactionCompleted event? (I've been using
mobx for a while, yet to dive into the source code (thanks for making this
awesome library!)).
Tip: you can easily see people's questions on mobx by filtering on the tag
on SO: https://stackoverflow.com/questions/tagged/mobx
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/mobxjs/mobx/issues/74#issuecomment-386599371, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABvGhDj64LuxDVfzmpYOL7tQKf7Cxgzaks5tvFXUgaJpZM4G1_Uu
.


Bug: Crash when moving a bunch of files

Description
When i do a lot of cutting / copying / paste of large files / high number of files, the CPU Usage is going up crazily, At least 50 to 100 %, when it reach 100 % the app usally is stuck or crash.
CPU : AMD RYZEN 3900X
Steps To Reproduce
1 Try to move or copy 10+ large folders/files (500 mb+) on the same drive
2  the issue is worse if there is errors in the queue
3 App stuck then Crash or 100 % CPU Usage
Requirements

Fix crash that occurs when copying large amount of files
Fix high CPU Usage in this usecase

Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.2428
Log File
debug.log

Thanks for the report. We're tracking performance issues in #4180, but let's keep this open as well until the crash is fixed.

   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)```

In general, you can work around some of these issues by disabling the option to keep Files in the background.

We're also actively working on performance improvements for file operations. Fyi @hez2010


Error in loading codespace

ADD ISSUE DESCRIPTION HERE
As a customer grappling with the pressing challenge at hand, I beseech your swift and expert assistance in resolving a critical issue regarding the Pieces extension. Despite meticulous efforts, such as resetting and reestablishing account links, my endeavors to access the codespace have been thwarted at every turn. Each login attempt triggers an error prompting a reload, as the workbench is disposed of while running. This predicament necessitates urgent attention, as my workflow is severely impeded. Your expedited support in rectifying this matter would be immensely appreciated.
Version: 1.85.2
Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0
Embedder: codespaces

I have attached screenshots. Please review them and hopefully, you can gain insight into this issue and resolve it as soon as possible.

/extCodespaces

It looks like this is caused by the Codespaces extension. Please file the issue in the Codespaces Discussion Forum. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


Updating 3 diagrams

Pilot Adapters, Traffic Management Overview, and Service Model Versions.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: oaktowner
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sdake
Assign the PR to them by writing /assign @sdake in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @oaktowner. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

In the what-is-istio diagram, at the bottom it says "config data to envoys" and "certs to Envoys", but the boxes above are labeled "proxy". I think we should label the boxes as "sidecar" and change the text below to use sidecar as well.
In the Pilot Architecture diagram, a line overwrites the third Envoy box at the bottom.
Remove the string "Service Version" at the bottom of that diagram, there is already a caption inserted by the web site.

I think we should have Envoys uniformly or sidecars uniformly. Also, if using envoys, the hexagon is good. But if not using Envoys, we should skip the envoy logo

I agree -- we should probably refer to them as "proxies" rather than "Envoys". I think I prefer "proxy" to "sidecar" because the proxy isn't always a sidecar -- in ingress/egress situations, for example.
Aesthetically, I do like the Envoy hexagon (and in complicated diagrams like Traffic Management Overview, that greatly reduces the complication of the diagram.
So would you mind if I called them "proxies" but dropped the hexagons?

/ok-to-test

In the first two traffic mgmt diagrams and fourth diagram, the spacing between the SvcA box and its proxy is different than the spacing between the proxy and Pod1/2/3 or SvcB
In those same diagram, we should use consistent names for the pods. They're called SvcA, SvcB, or Pod1/2/3. Maybe something like PodA-1, PodA-2, PodB-3 would work best for all diagrams.


Fixed IndexError exception when station_name is not found

If you call get_id_for_station(station_name) and the station_name is unknown, the method throws an exception instead of returning None. This issue is fixed here.

Thanks :+1:


fix: Fix header extraction for AWS Lambda/ApiGateway

Fixes #944
Since the headers property is present and set to None, the .get default value is ignored.
We need an explicit check on None for this one.
~I would advise checking other places in sentry_sdk/integrations/aws_lambda.py where the default value is expected to be an empty dictionary. This kind of error is frequent when working with Lambda/ApiGateway.~ Fixed.

Thanks!

Thanks!


[BUG]: Help page contents list overlaps main text and doesn't scroll

Describe the bug
On the help page there is a Contents list shown on the page. In desktop mode this positions itself on the left of the page with the main help text to the right.
There seem to be two potential issues with the contents list:

[ ] If there are too many items in the list so that it extends beyond the bottom of the page, it's not possible to access the items that are cut off (e.g. no way to scroll the list).
[x] If the width of the page is too small the main help text will overlap the contents list.

Steps to reproduce

Select 'Help' in the menu along the top of the site.
Either reduce the height/width of the browser window until the errors appear; or
Select the Browser's Responsive Design Mode and adjust the viewport height and width to give the same result.

In which environment are you using AutSPACEs?
MacOS and Firefox.
Other comments
No response

The user testing found this to be a problem as well, in particular when the viewport is too narrow (e.g. on an iPad in portrait orientation).
There's two aspects to this:

If the viewport is too narrow (left-to-right) to display side-by-side, the navigation should turn into a traditional table of contents on the top
If the viewport is not tall enough, it could either become a scrollable menu on the left or also go to the top

see screenshot above for an example of the problem

The problem appears to be that the content-bar (which contains the menu items) has no height. As a result, although Bootstrap tries to position the right hand columns below it when the width of the page gets too small, it positions it on top instead.

The lack of height seems to be caused by the fact that the bar has its position fixed:
#content-bar {
 padding: 2% 0 0% 5%;
 position: fixed;
}

Removing the position: fixed; "fixes" the issue, but also makes it so that the menu scrolls with the page (rather than remaining on the page).
It's possible this can be fixed by using the @media width declarations (i.e. make it fixed when the page is wide enough, relative otherwise).

Thanks for all that investigating @llewelld! The work in #628 is already doing a great job in fixing some of the biggest issues with it! I feel like having the menu scroll would potentially be quite confusing (having 2 independent vertical scroll bars in the same browser window always feels somewhat jarring to me).
Do you think there'd be a way to use the height of the viewport to otherwise force the menu up top like in the fix you did for the overlap?

Do you think there'd be a way to use the height of the viewport to otherwise force the menu up top like in the fix you did for the overlap?

This is a much nicer solution if we can get this to work.
I've been having a play just now and it seems to be a little tricker because the arrangement mechanism is controlled by BootStrap, plus we don't know how tall the menu will be (at least not in the CSS).
It should be possible to do this with some JavaScript though. I'll persevere.

If you want we can do some co-working next week to try to figure it out!

I'd definitely be up for some co-working (Maybe on Tuesday again?).
One of the challenges is that when the menu is above the text (rather than to the left of it) we don't know what height the menu would be if it were to the left of it, so we don't know whether it'll fit on the viewport to move it back.
We could probably make a guess, but getting it right in all cases could be tricky.
One option would be to render a second hidden version of the menu and use the height of that but... that would probably be horrible for screen readers (and feels a bit too hacky).

We meay want to refine the approach in future, but maybe we can create other issues in that case. I'll close this one as done following #628.


Bug report

<form method=post action=./?good=test&ok=test enctype="multipart/form-data">
password:<input type=password autocomplete=off name=p>

<input type=submit value=send>
</form>

post......
 var multiparty = _t.multiparty;
				         var form = new multiparty.Form();
				         form.parse(request, function(err, fields, files)
				         {
							      _t.log(JSON.stringify(fields, null, 4));
							   });

in fields no "good" and "ok" in fields head
if
<form method=post action=./?good=test&ok=test enctype="multipart/form-data">
password:<input type=password autocomplete=off name=p>
<input type=password autocomplete=off name=ok value=forms>
<input type=submit value=send>
</form>

fields["ok"] = ["test", "forms"]  is ok

Hi @hktalent, query string parameters are not part of a multipart body; they are in the URL. You'll find then in the req.url object like any request. I hope this helps!


Tried this sample and when running locally error

I am running the azure function locally and I get this error:
Executed 'Functions.EventHubTrigger' (Failed, Id=9c30115a-3b60-4a66-b6d1-d430b35f99fc)
[2/4/20 9:50:20 PM] System.Private.CoreLib: Exception while executing function: Functions.EventHubTrigger. Microsoft.Azure.WebJobs.Script: Did not find any initialized language workers.

I am running Core Tools 2.7.210, on Mac OSX 10.15.2 with the node/javascript setup when did func init . --docker and Azure Event Hubs Trigger when i did the func new

Hey @evillgenius75 looks like there is no language worker found. Can you start over and run "func init" and then choose a runtime  lanuage.  Then func new choose eventhubtrigger template, Make the changes you need for settings and then run func host start and see how that works. You can then run func init . --docker to produce the docker file


Mouse cursor support

Please add mouse course support to the calculator. Using the keyboard editing the equation will be much easier.

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.


i18n(ko-KR): update view-transitions.mdx

Description (required)

update view-transitions.mdx
#9676

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
guides/view-transitions.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Using stripDiacritics in a custom matcher

Feature-request
Using v. 4.0.6 and any browser.
When creating a custom matcher it seems to be impossible to use the internal stripDiacritics method. I would like it if this would be possible in the future.

Well, this is still relevant and it would be better to be able to access stripDiacritics method instead of duplicating code.

Now I have to use this code:
$.fn.select2.amd.require(['select2/diacritics'], function (DIACRITICS) {
  // stripDiacritics code copied from select2
  function stripDiacritics (text) {
    // Used 'uni range + named function' from http://jsperf.com/diacritics/18
    function match(a) {
      return DIACRITICS[a] || a;
    }
    return text.replace(/[^\u0000-\u007E]/g, match);
  }
  $(".awesome").select2({
    // declare your matcher code here with access to stripDiacritics
  })
});

Taken from: Select2 custom matcher, but keep stripDiacritics
And I would like to use stripDiacritics the way I usually use defaultMatcher:
var defaultMatcher = $.fn.select2.defaults.defaults.matcher;
function customMatcher(params, data) {
  if (params.term && data.id == "ALL")
  	return null;
  return defaultMatcher(params, data);
}
$("#s").select2({
	matcher: customMatcher,
});

Taken from: Can I access the original select2 matcher from within my custom matcher?
@kevin-brown Thank you so much for your wonderful gem!


Why lqi value in device info  is different from it in topology?

I know what these two lqi values represent in the topology.But i want to know it in the device info.Why two device (coordinater and router)have 3 lqi value?

The topology is done with requesting all routers neighbors and the links to them.
The device cars is made from the LQI that the coordinator is getting with the package revived from the network and its depends of the rout its taken and if end devices is direct connected to the coordinator with  EZSP you is very likely getting 255 in most firmware versions (best is blocking the coordinator having direct children for getting more stable network).

The topology is done with requesting all routers neighbors and the links to them. The device cars is made from the LQI that the coordinator is getting with the package revived from the network and its depends of the rout its taken and if end devices is direct connected to the coordinator with EZSP you is very likely getting 255 in most firmware versions (best is blocking the coordinator having direct children for getting more stable network).
I want to know why the values on the page are different from those in the topology diagram. As far as I know, the value of lqi comes from two places, but it has three values that are different from each other.

I want to know why the values on the page are different from those in the topology diagram. As far as I know, the value of lqi comes from two places, but it has three values that are different from each other.

As @MattWestb already described, they come from 3 different sources. For the topology, the two LQI between the routers are requested from the routers themselves. For the device settings, the LQI is provided by the coordinator firmware and, depending on the firmware, could actually be the LQI of the last hop (i.e. between the coordinator and the nearest router)

As @MattWestb already described, they come from 3 different sources. For the topology, the two LQI between the routers are requested from those routers. For the device info, the LQI is provided by the coordinator firmware and, depending on the firmware, could actually be the LQI of the last hop (i.e. between the coordinator and the nearest router)

Thank you for your answer. But in the connection between the router and coordinator, the neighbor table only has one value, and to my knowledge, the other value is the connection quality of the last message determined by the coordinator firmware
https://github.com/dmulcahey/zha-network-visualization-card/issues/46        So, I still feel puzzled about this.

Every value in the topology graph comes from the neighbor tables. It could be the neighbor table of the coordinator itself if the coordinator supports loopback ZDO frames. Two devices would give two values for the link between them. See https://github.com/zigpy/zigpy/blob/50bb2171341bd44239898cfd3dd77b22ac49a03e/zigpy/appdb.py#L332
And the device info (and the zha network card) comes from the coordinator firmware with the last received packet, see
https://github.com/zigpy/zigpy/blob/50bb2171341bd44239898cfd3dd77b22ac49a03e/zigpy/application.py#L1008
I would not rely on the value in the device info because it is only for the last hop (and you would probably be more interested in the first hop).

@Shulyaka What is the LQI / RSSI coming for the https://github.com/dmulcahey/zha-network-card ?
I think its its from the nigbur scan from all routers in the network then i have seen it being updated then clicking update and sniffing the network.

It comes from the device attributes (i.e. from the coordinator firmware), not the neighbor scan.

https://github.com/home-assistant/frontend/blob/f43171f91c51a354fb0d7f8d7f152ab95e8fc16a/src/panels/config/integrations/integration-panels/zha/zha-network-visualization-page.ts#L248
The topology in HA uses the neighbor tables.

The table is last hop set by zigpy on a per message basis. Neighbors are not used to build the table.


ZNC fails to handle round robin irc network servers correctly.

When ZNC hits a timeout condition it doesn't try the next server ip in a dns round robin scenario.  Instead it will try the same ip it just timed out on which may or may not continue to timeout depending on if the server is down or if it might just be very slow to respond.  As it stands the timeout is about 4 minutes or so which makes for a long wait.
Example server: Freenode's round robin load balancing server address.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36212195-znc-fails-to-handle-round-robin-irc-network-servers-correctly?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).

Just found out that the person that reported this to me (since I can't reproduce it myself -- don't have a scenario to test on) is on ZNC 1.1-git-11-89f586d

Disregard ticket.  It seems it is doing the round robin correctly based on a test I setup.

It was fixed in 1.6.0

And the original issue was #133.