memory leak with WebPage class, multiple page loads

There is a memory leak when reusing a phantomjs instance, averaging about 1.4mb per page  load in debian 7.  (for example, loading 200 pages results in 280mb memory use).  I have reprod this on Debian7 x64 and Windows8 x64
I have included a phantomjs script that can be used to reproduce the memory leak.   I am following what seems to be "best practice" by invoking page.close() after the load is done, but that does not resolve the issue.
fyi, in addition to my repro script,  i have tried various combinations of tests  such as

close after page.onLoadFinished() has completed (not during)
reusing the same page object multiple times
not calling page.stop()

none of those had any positive impact on the memory leak problem.
here's my repro script, paste it into something like memoryleak.js and run from the command prompt.
NSFW: The test domains are the top 100 domains by traffic, and that includes porn sites, so if you have some corporate IT network traffic monitoring going on, remove the naughty sites from the testUrls array.
/// memoryleak.js
function format(toFormat) {
    var args = [];
    for (var _i = 0; _i < (arguments.length - 1); _i++) {
        args[_i] = arguments[_i + 1];
    }
    return (toFormat).replace(/\{(\d+)\}/g, function (match, number) {
        return typeof args[number] !== "undefined" ? args[number].toString() : match;
    });
}
;
var system = require("system");
phantom.onError = function (msg, trace) {
    try  {
        console.log("phantom encountered an error.  exiting... " + "msg=\"" + msg + "\"" + " trace=\"" + trace + "\"/>");
    }finally {
        phantom.exit(-1);
    }
};
/** NSFW: The test domains are the top 100 domains by traffic, and that includes porn sites, so if you have some corporate IT network traffic monitoring going on, remove the naughty sites from the testUrls array. */
var testUrls = [
    "google.com",
    "facebook.com",
    "youtube.com",
    "yahoo.com",
    "amazon.com",
    "bing.com",
    "ebay.com",
    "wikipedia.org",
    "craigslist.org",
    "linkedin.com",
    "live.com",
    "twitter.com",
    "blogspot.com",
    "aol.com",
    "go.com",
    "pinterest.com",
    "msn.com",
    "tumblr.com",
    "cnn.com",
    "ask.com",
    "huffingtonpost.com",
    "netflix.com",
    "paypal.com",
    "weather.com",
    "conduit.com",
    "espn.go.com",
    "instagram.com",
    "wordpress.com",
    "bankofamerica.com",
    "akamihd.net",
    "imdb.com",
    "chase.com",
    "microsoft.com",
    "about.com",
    "avg.com",
    "pornhub.com",
    "comcast.net",
    "foxnews.com",
    "apple.com",
    "walmart.com",
    "xhamster.com",
    "mywebsearch.com",
    "wellsfargo.com",
    "xvideos.com",
    "yelp.com",
    "imgur.com",
    "nytimes.com",
    "nbcnews.com",
    "cnet.com",
    "reddit.com",
    "adobe.com",
    "ehow.com",
    "pandora.com",
    "pch.com",
    "hulu.com",
    "zedo.com",
    "etsy.com",
    "flickr.com",
    "outbrain.com",
    "optmd.com",
    "indeed.com",
    "livejasmin.com",
    "zillow.com",
    "target.com",
    "xnxx.com",
    "homedepot.com",
    "redtube.com",
    "answers.com",
    "thepiratebay.sx",
    "att.com",
    "shopathome.com",
    "wikia.com",
    "dailymail.co.uk",
    "usps.com",
    "babylon.com",
    "ups.com",
    "bestbuy.com",
    "youporn.com",
    "reference.com",
    "godaddy.com",
    "groupon.com",
    "deviantart.com",
    "usatoday.com",
    "pof.com",
    "capitalone.com",
    "bbc.co.uk",
    "washingtonpost.com",
    "match.com",
    "drudgereport.com",
    "mlb.com",
    "tripadvisor.com",
    "pogo.com",
    "verizonwireless.com",
    "blogger.com",
    "buzzfeed.com",
    "doublepimp.com",
    "inksr.com",
    "delta-search.com",
    "fedex.com",
    "inksdata.com",
    "oyodomo.com",
    "aweber.com",
    "abcnews.go.com",
    "vimeo.com",
    "hootsuite.com",
    "bleacherreport.com",
    "lowes.com",
    "yellowpages.com",
    "americanexpress.com",
    "tube8.com",
    "yieldmanager.com",
    "salesforce.com"
];
var readyToDispose = false;
var _testsRemaining = 1000;
var openRequest;
var lastSeen;
var lastSeenStartTime;
function disposePage() {
    openRequest.close();
    openRequest = null;
    readyToDispose = false;
}
function _tryNextText() {
    if(openRequest != null) {
        //if (readyToDispose) {
        //  disposePage();
        //  return false;
        //}
        if(lastSeen == openRequest) {
            var elapsed = Date.now() - lastSeenStartTime;
            if(elapsed > 10000) {
                console.log(format("PAGE LOAD TIMEOUT! aborting url={0},  pageLen={1}", openRequest.url, openRequest.content.length));
                //timed out, next loop will reacquire
                openRequest.stop();
                //openRequest.close();
                //openRequest = null;
                //lastSeen = null;
                //lastSeenStartTime = null;
                            } else {
                //not yet timed out
                return false;
            }
        } else {
            //set our last seen then wait for next loop
            lastSeen = openRequest;
            lastSeenStartTime = Date.now();
        }
        return false;
    }
    var index = _testsRemaining % testUrls.length;
    var targetUrl = "http://www." + testUrls[index];
    _testsRemaining--;
    if(_testsRemaining <= 0) {
        console.log("TESTS COMPLETE!  check your memory usage");
        clearInterval(loopHandle);
        return false;
    }
    console.log(format("[{0}] = {1} starting...", _testsRemaining, testUrls[index]));
    var thisPage = require("webpage").create();
    openRequest = thisPage;
    openRequest.onLoadFinished = function (status) {
        if(openRequest == thisPage) {
            console.log(format("got page, url ={0}, targetUrl={1}  pageLen={2}", openRequest.url, targetUrl, openRequest.content.length));
            //readyToDispose = true;
            openRequest.stop();
            disposePage();
        } else if(openRequest == null) {
            console.log("ERROR? page opened while openRequest==null,  pageurl=" + targetUrl);
            //phantom.exit(-1);
                    } else {
            console.log(format("ERROR!  WRONG PAGE OPEN! got page, openPageurl ={0}, targetUrl={1}  pageLen={2}", openRequest.url, targetUrl, openRequest.content.length));
            phantom.exit(-1);
        }
    };
    openRequest.open(targetUrl);
    return true;
}
testUrls.length = _testsRemaining > testUrls.length ? testUrls.length : _testsRemaining;
console.log("running tests, count = " + _testsRemaining);
console.log("setting interval ");
var loopHandle = setInterval(function () {
    _tryNextText();
}, 500);

PS: run that script for long enough (usually around 400 page loads) and the phantomjs exe crashes, sometimes silently, sometimes with segfaults

Hi All,,
I am also having the same problem as my PhantomJs crashes as soon as a number of some karma test cases  gets executed. After going through lots of blogs and articles i understood that memory leaks can only be handled y using page.close().in server.js of phantomJs.
I am not able to figure it out how to find that server.js file of PhantomJs as we use launcher-configuration depency to get phantom.
Will really be thankful to you..

This looks like a duplicate issue:
https://github.com/ariya/phantomjs/issues/12903

Guys,
Still I m on the same step can anyone suggest me the best possible solution.
Will really be thankful to you..

+1, I'm also facing this problem.
I'm using Phantom to run my unit tests, each test run eats another ~100 MB of memory.

Also running into the issue, get a OutOfMemmory exception when this runs

+1 for me. I got the same issue.

Either the memory leaks and in 2 hours the phantomjs process crashes. (with page.settings.loadImages= false)
Or, If I set (page.settings.loadImages = true), it simply hangs after a day of running. Does not respond anymore...but the memory leakage is better.

See my post (with dmp file https://github.com/ariya/phantomjs/issues/13210)
Any solution, thanks.

+1. Using phantom in production & it's crashing frequently due to memory leaks. Are there any "hacky" workarounds for now that we can use to mitigate this issue? Thanks in advance.

It's killing me.  At this point I've decided to just kill it and restart it
every time it runs through.
On Wed, Jun 10, 2015 at 7:56 PM Blake Jennings<EMAIL_ADDRESS>wrote:

+1. Using phantom in production & it's crashing frequently due to memory
leaks. Are there any "hacky" workarounds for now that we can use to
mitigate this issue? Thanks in advance.
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/11390#issuecomment-110949042.

+1 here.

+1. seeing before

This is reproducible even with 2.0.0. I guess restart is the only option.

+1

Happy birthday issue! You are 2 years old now.
+1

This is not a memory leak.

Tried working with page.close() within onLoadFinished callback and without it as well. Stuck at it!!

same problem #moroccan-dude

@Vitallium care to elaborate?

Any news?

Yes. rebuild in master branch solved the problem.
[image: image]
Phan Thanh An
In charge of IT
HR Dept.
TRACODI

<EMAIL_ADDRESS><EMAIL_ADDRESS>
' + 84 8 0902 817 205
89 Cach Mang Thang Tam St.
Ben Thanh Ward, Dist. 1, HCMC
Fax: + 84 8 38330317
Website: www.tracodi.com.vn http://tracodi.com.vn/
On Thu, Dec 10, 2015 at 2:27 PM, BYaka<EMAIL_ADDRESS>wrote:

Any news?
—
Reply to this email directly or view it on GitHub
https://github.com/ariya/phantomjs/issues/11390#issuecomment-163522365.

@dailystore commented on 13 дек. 2015 г., 14:02 GMT+3:

Yes. rebuild in master branch solved the problem.
[image: image]
Phan Thanh An
In charge of IT
HR Dept.
TRACODI

<EMAIL_ADDRESS><EMAIL_ADDRESS>
' + 84 8 0902 817 205
89 Cach Mang Thang Tam St.
Ben Thanh Ward, Dist. 1, HCMC
Fax: + 84 8 38330317
Website: www.tracodi.com.vn <http://tracodi.com.vn/>
…
On Thu, Dec 10, 2015 at 2:27 PM, BYaka<EMAIL_ADDRESS>wrote:
 Any news?
—
Reply to this email directly or view it on GitHub
<#11390 (comment)>.

Can you please link to commit, that solve problem?

@byaka you can try to download the branch 2.0 at https://github.com/ariya/phantomjs/archive/2.0.zip
or the branch master at https://github.com/ariya/phantomjs/archive/master.zip
P/S: I don't remember the branch version when I updated. It was the master branch that time. The repository has changed lately.

truly important post it us help full for me i am really glad to  have such a great post. there is some best coupons i have if you like to see then it is great thanks from me.
http://www.webtechcoupons.com/offers/godaddy-coupons/

Here are a couple VM maps taken about 20 minutes apart on the way toward Memory Exhausted.
See #14143.
@Vitallium I hope you can make something of them. Let me know how else I can help.
VM maps.zip

@mepard thanks! Looking!

Thank you @mepard!
Upstream issue: https://bugs.webkit.org/show_bug.cgi?id=65768

@Vitallium You're most welcome. Thanks for identifying the bug (which seems to fit). I'll grab a procdump on my next run. I'm also trying to build WebKit with !NDEBUG so it'll report ref-count leaks.

@Vitallium. You were right! For phantomjs.exe win10 allocated no more than 1gb RAM. After patching phantomjs.exe, he began to use more than 1gb RAM, and Memory exhausted not there , but there was another problems . Performance low and there was a bug with [error] [phantom] Wait timeout of 5000ms expired, exiting.Wait timeout of 5000ms expired, exiting.

@Vitallium The dmp file is too big even when zipped.

@Vitallium I finally managed to build a debug version on Windows and reproduced the Memory Exhausted. Here's the call stack:

phantomjs.exe!WTFCrash() Line 345	C++
phantomjs.exe!WTF::fastRealloc(void * p, unsigned int n) Line 392	C++
phantomjs.exe!WTF::StringImpl::reallocateInternal<wchar_t>(WTF::PassRefPtrWTF::StringImpl originalString, unsigned int length, wchar_t * & data) Line 231	C++
phantomjs.exe!WTF::StringImpl::reallocate(WTF::PassRefPtrWTF::StringImpl originalString, unsigned int length, wchar_t * & data) Line 246	C++
phantomjs.exe!WTF::StringBuilder::reallocateBuffer<wchar_t>(unsigned int requiredLength) Line 167	C++
phantomjs.exe!WTF::StringBuilder::appendUninitializedSlow<wchar_t>(unsigned int requiredLength) Line 232	C++
phantomjs.exe!WTF::StringBuilder::appendUninitialized<wchar_t>(unsigned int length) Line 218	C++
phantomjs.exe!WTF::StringBuilder::append(const wchar_t * characters, unsigned int length) Line 275	C++
phantomjs.exe!JSC::appendStringToStringBuilder<wchar_t>(WTF::StringBuilder & builder, const wchar_t * data, int length) Line 265	C++
phantomjs.exe!JSC::Stringifier::appendQuotedString(WTF::StringBuilder & builder, const WTF::String & value) Line 315	C++
phantomjs.exe!JSC::Stringifier::appendStringifiedValue(WTF::StringBuilder & builder, JSC::JSValue value, JSC::JSObject * holder, const JSC::PropertyNameForFunctionCall & propertyName) Line 384	C++
phantomjs.exe!JSC::Stringifier::Holder::appendNextProperty(JSC::Stringifier & stringifier, WTF::StringBuilder & builder) Line 556	C++
phantomjs.exe!JSC::Stringifier::appendStringifiedValue(WTF::StringBuilder & builder, JSC::JSValue value, JSC::JSObject * holder, const JSC::PropertyNameForFunctionCall & propertyName) Line 424	C++
phantomjs.exe!JSC::Stringifier::stringify(JSC::Handle value) Line 249	C++
phantomjs.exe!JSC::JSONProtoFuncStringify(JSC::ExecState * exec) Line 822	C++
[External Code]
[Frames below may be incorrect and/or missing]
phantomjs.exe!JSC::JITCode::execute(JSC::JSStack * stack, JSC::ExecState * callFrame, JSC::VM * vm) Line 135	C++
phantomjs.exe!JSC::Interpreter::executeCall(JSC::ExecState * callFrame, JSC::JSObject * function, JSC::CallType callType, const JSC::CallData & callData, JSC::JSValue thisValue, const JSC::ArgList & args) Line 1026	C++
phantomjs.exe!JSC::call(JSC::ExecState * exec, JSC::JSValue functionObject, JSC::CallType callType, const JSC::CallData & callData, JSC::JSValue thisValue, const JSC::ArgList & args) Line 40	C++
phantomjs.exe!WebCore::JSMainThreadExecState::call(JSC::ExecState * exec, JSC::JSValue functionObject, JSC::CallType callType, const JSC::CallData & callData, JSC::JSValue thisValue, const JSC::ArgList & args) Line 56	C++
phantomjs.exe!WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject * globalObject, JSC::JSValue thisValue, WebCore::ScriptExecutionContext * context) Line 111	C++
phantomjs.exe!WebCore::ScheduledAction::execute(WebCore::Document * document) Line 133	C++
phantomjs.exe!WebCore::ScheduledAction::execute(WebCore::ScriptExecutionContext * context) Line 82	C++
phantomjs.exe!WebCore::DOMTimer::fired() Line 129	C++
phantomjs.exe!WebCore::ThreadTimers::sharedTimerFiredInternal() Line 132	C++
phantomjs.exe!WebCore::ThreadTimers::sharedTimerFired() Line 106	C++
phantomjs.exe!WebCore::SharedTimerQt::timerEvent(QTimerEvent * ev) Line 114	C++
phantomjs.exe!QObject::event(QEvent * e) Line 1221	C++
phantomjs.exe!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3716	C++
phantomjs.exe!QApplication::notify(QObject * receiver, QEvent * e) Line 3160	C++
phantomjs.exe!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 965	C++
phantomjs.exe!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 224	C++
phantomjs.exe!QEventDispatcherWin32::event(QEvent * e) Line 1218	C++
phantomjs.exe!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3716	C++
phantomjs.exe!QApplication::notify(QObject * receiver, QEvent * e) Line 3160	C++
phantomjs.exe!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 965	C++
phantomjs.exe!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 224	C++
phantomjs.exe!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1593	C++
phantomjs.exe!QEventDispatcherWin32::sendPostedEvents() Line 1241	C++
phantomjs.exe!QWindowsGuiEventDispatcher::sendPostedEvents() Line 84	C++
phantomjs.exe!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned int wp, long lp) Line 416	C++
[External Code]
phantomjs.exe!QEventDispatcherWin32::processEvents(QFlags flags) Line 818	C++
phantomjs.exe!QWindowsGuiEventDispatcher::processEvents(QFlags flags) Line 74	C++
phantomjs.exe!QEventLoop::processEvents(QFlags flags) Line 129	C++
phantomjs.exe!QEventLoop::exec(QFlags flags) Line 204	C++
phantomjs.exe!QCoreApplication::exec() Line 1229	C++
phantomjs.exe!QGuiApplication::exec() Line 1528	C++
phantomjs.exe!QApplication::exec() Line 2977	C++
phantomjs.exe!inner_main(int argc, char * * argv) Line 73	C++
phantomjs.exe!main(int argc, char * * argv) Line 89	C++
[External Code]

@Vitallium I also did two limited runs of 20 and 40 pages to see what the reported leaks were at the end. In both cases, it reported 6 CachedResource leaks and nothing else. I suspect the problem in my case is my own accumulated data (an array of objects) combined with the upstream WebKit bug.

Building with /LARGEADDRESSAWARE in QMAKE_LFLAGS prevents Memory Exhausted in my case. It doesn't seem to decrease performance or change test failures.

@mepard I think the problem is in the main execution context. Because it is a Web Page instance. And because of that closing web pages have no effect on the cache.

@Vitallium.
I uninstall phantomjs for windows and install linux mint 17 64x and phantomjs 2.1.1 for linux 86_64x. After this i run my script and i was happy all 200 pages was load, but after 20 minutes phantomjs crashed(((((( and again trouble with memory(((

I happen to find out a little about the Memory Loop.
Lets say I have a script which visits 2 pages. I saw the memory loop when the program was visiting first page and somehow the command for visiting 2nd page was there.
I still wonder why phantomjs was not fixed even after 3 years of this issue with 28 participants and no one assigned.

Any hope ?

cycle your phantomjs process every 50 requests or so.   That's what I did for my SaaS (PhantomJsCloud) and my customers are happy.
A big part of the bugs with PhantomJs seem to be due to it's sometimes allergic interactions with QT.  Because of their inter-dependencies I don't think we'll get this problem solved.

@jasonswearingen  Thanks for your reply, but what do you mean by cycle ?
sorry if i'm asking something stupid...
btw i saw your SaaS previously, but i can't use it because i'm working with some devices in a local network

@Xsmael, i think he mean "restart" ;)

By cycle I mean restart your phantom process after every so many calls.
This won't work as nicely of you need to store state between calls, but
otherwise out seems (from my experience) the proper mitigation

Sent from my mobile

On Nov 20, 2016 11:47 PM, "Ismael OUEDRAOGO"<EMAIL_ADDRESS>wrote:

@jasonswearingen https://github.com/jasonswearingen Thanks for your
reply, but what do you mean by cycle ?
sorry if i'm asking something stupid...
btw i saw your SaaS previously, but i can't use it because i'm working
with some devices in a local network
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ariya/phantomjs/issues/11390#issuecomment-261866085,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAxsNgYB4-YwwipcmqE7YoBbFxMRisU3ks5rAUybgaJpZM4AtnDf
.

While restarting Phantom seems the solution, you guys should understand that there is the need of automation to shorten the time of execution. If you restart the process and restore some state somehow, you'll still have to pay a lot for that small restart by huge time. It's like comparing 100ms to 10seconds depending on the machine configuration. I've also tried other solutions like adding some queue process and making the whole thing sync instead of any kind of async process.
Restarting and Adding a better Queue might be pretty good except that no one was assigned to this bug no matter what and I've switched to NightmareJS just because of this silly bug. I found out that using alternative might be the best solution to our base problem. I don't think I (or We) do have the skill and resource to debug the whole thing, so I chose the best way for me.
Now, the only hope is to devote our time to make it better, somehow that is.

@entrptaher  So using NightmareJS can you handle 200 pages simultaneously for a long period of time (or for ever!) without the need to "cycle" ?

@Xsmael Both for Phantomjs and Nightmarejs, if you have enough resources, you can do it.
Only that this version of phantomjs had memory leak for years. :/

+1 here

@entrptaher @jasonswearingen @byaka how do you "restart" a phantom process? I couldn't find anything in the docs. It would also be nicer if the docs on the main website could be searched.

Are there any fix for this problem? This issue was opened 4 years ago

@joshterrill  you just need to exit the program and start it again.   use phantom.exit(0) doc'd here: http://phantomjs.org/api/phantom/method/exit.html
@edgarmarkosov it seems like there is a good enough workaround for this actually, so honestly, while it would be nice to get this fixed, there are plenty of other bugs I'd personally vote to get fixed before this
like:

onResourceRecieved not getting post body,
pdf's not containing internal links/bookmarks,
webfonts crashing phantom,
installed system fonts being ignored,
etc etc etc

My solution to this problem was:
1. Set page.settings.clearMemoryCaches = true;
2. Use double setTimeout for page.close()
                setTimeout(function() {
                     setTimeout(function() {
                          page.close();
                     }, 1);
                }, 500);

3. Call `page.clearMemoryCache();` before `page.open()`
4. Set  `--load-images=yes` when starting phantomJS process.

@edgarmarkosov  are you saying that this actually solves the issue?  or
this is your workflow to help minimize the memory leak?

Jason

On Tue, Feb 14, 2017 at 11:19 PM, edgarmarkosov<EMAIL_ADDRESS>wrote:

My solution to this problem was:

Set page.settings.clearMemoryCaches = true;

Use double setTimeout for page.close()
         setTimeout(function() {
              setTimeout(function() {
                   page.close();
              }, 1);
         }, 500);

Call page.clearMemoryCache(); before page.open()

Set  --load-images=yes when starting phantomJS process.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ariya/phantomjs/issues/11390#issuecomment-279935393,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAxsNtCmeZJ7WCpyJPG2ErhGXjosFZVWks5rcqcfgaJpZM4AtnDf
.

@jasonswearingen this workflow helped me to solve problem with page open memory leak in my phantomJS process. Before this workflow memory was reaching 2GB, now memory of my phantomJS process does not reach 150MB.

I had a suspicion regarding the memory issues for this situation and my thought was that the page object could not be collected if callbacks were still registered or tied to the object.
When i 'disconnected' the callbacks before closing the page, my memory issues were no more.
i was experienceing memory issues within 10-20 successive page open/render iterations before this.
After making sure all my callbacks were no longer tied to the page object, i could close it after each usage, and the iterations through my page list went though quickly, smoothly and my memory footprint remained steady.  i prefer to do more in-depth research on this, but i suspect the page.close() will do its job if the object is not holding on to callback references?  the best i have for now is that the observed before and after results appear to show some potential merit.  i was working on a URL list of 37 pages and never got further than 20 prior to the adjustment.  after that change it cruised to the finish on all 37 and memory was steady.

Hey,
I'm going to need more info. Here's my code. A lot has been added for testing and some doesn't really make much sense to me. For example, I have tried waiting 5 seconds after clearing the cache before the page is opened and again before it is closed.
Closing the page appears to free some memory, but not all of it. Each time I load a page it takes ~20mb and when the page is closed I get ~10mb back. So each page adds 10mb to the total memory used until the memory is exhausted and the script stops.
Is there something I'm missing?
var linkList = ["1","2","3"]; // there are thousands of these I need to go through.
var urlBase = 'http://test.com/node/';
var linksFinished = 1;
var totalLinks = linkList.length;

function handle_page(url){
	page = require('webpage').create();
	page.settings.clearMemoryCaches = true;
	page.viewportSize = { width: 1200, height: 1000 };
	console.log('Setting error handling');
	page.onConsoleMessage = function (msg) {
		console.log(msg);
	};
	page.onError = function(msg, trace) {
		var msgStack = ['ERROR: ' + msg];
		if (trace && trace.length) {
			msgStack.push('TRACE:');
			trace.forEach(function(t) {
				msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function + '")' : ''));
			});
		}
		// uncomment to log into the console
		console.error(msgStack.join('\n'));
	};
	console.log('Error handling is set');
	page.clearMemoryCache();
	console.log('memory Cleared before opening page');
	setTimeout(function() {
		 setTimeout(function() {
			page.open(url, function (status) {
				if (status !== 'success') {
					console.log('Unable to load the address! Trying the next one...');
					next_page();
				} else {
					console.log('Opening page '+ url);
					page.includeJs('http://test.com/jquery/jquery-1.8.3.min.js');
					initialize();
				}
			});
		 }, 1);
	}, 5000);
}

function next_page(){
    var link = linkList.shift();
	totalLinks = linkList.length;
	url = urlBase.concat(link);
	console.log('URL: ' + url);
    if(!link){
		console.log('link is undefined, we are all done... exiting');
        phantom.exit(0);
    }
    handle_page(url);
}

function initialize() {
	page.evaluate(function() {
		console.log('Starting map click');
		mapDownloadLink = document.getElementById('map-download');
		mapDownloadLink.click();
	});
	waitFor(function() {
			console.log('waiting for image to be done.');
			return page.evaluate(function() {
				if(document.getElementById('fileRequest').className === "FinishedImage")
				{
					console.log("It is done!");
					return true;
				}
				else
				{
					console.log('not done yet');
				}
			});
        }, function() {
			console.log('Success ' + linksFinished + ' Links are done and ' + totalLinks + ' to go!');
			linksFinished++;
			page.clearMemoryCache();
			page.close();
			setTimeout(function() {
				 setTimeout(function() {

					  next_page();
				 }, 1);
			}, 5000);
        }, 20000);
}
next_page();

I also ran into this issue, after some investigation, I found one source of the leak come from Event#initCustomEvent. CustomEvent is not supported in PhantomJS, so most of the libraries polyfill it with the old fashion initCustomEvent. In case you pass a detail object to this function, that object is leaked.
This is the minimal page I created to reproduce the leak.
<html>
  <body>
    <div class='container'></div>
    <script>
      var event = document.createEvent("CustomEvent");
      event.initCustomEvent("testingtheevent", false, false, {});
      window.dispatchEvent(event);
    </script>
  </body>
</html>

Fortunately, the leak is only for the last parameter of initCustomEvent, the following code looks fine
<html>
  <body>
    <div class='container'></div>
    <script>
      var event = document.createEvent("CustomEvent");
      event.initCustomEvent("testingtheevent", false, false);
      event.detail = {};
      window.dispatchEvent(event);
    </script>
  </body>
</html>

I'm not familiar with PhantomJS code base, and cannot locate the implementation of initCustomEvent. It would be great if the maintainer can help get this leak fixed.
A work around is to inject a polyfill in advance.
function CustomEvent(type, params) {
  var e = document.createEvent('CustomEvent');
  var bubbles = Boolean(params && params.bubbles);
  var cancelable = Boolean(params && params.cancelable);

  e.initCustomEvent(type, bubbles, cancelable);
  if (params && params.detail) {
    e.detail = params.detail;
  }
  return e;
}

My solution was to create a text file with a list of URLs that I wanted to run the script on. Then Create a SECOND file that gets the URL printed to in when Phantom JS does its thing. In my phantom JS script it only cycles through URLs that are in the first document, but not found in the second.
Then I created a windows script that checks if phantomJS is running without errors. If it hits the memory error it crashes and closes. The windows script will wait about a minute between checks by pining home.
Here's the windows script:
@echo off CD D: Set "MyApplication=C:\Users\myname\AppData\Local\Microsoft\WindowsApps\phantomjs.exe" Set "MyProcess=phantomjs.exe" Color 9B Title Check phantomjs is running "%MyProcess%" mode con cols=75 lines=2 :start tasklist /nh /fi "imagename eq %MyProcess%" 2>nul |find /i "%MyProcess%" >nul If not errorlevel 1 (Echo "%MyProcess%" is running) else (start "" "%MyApplication%" test.js) ping -n 60 <IP_ADDRESS> >nul  goto start
My phantomjs script in this example is called test.js

memory leak still exists

I solved it by closing the instance every time my casperjs program load is finished, I put my code in nodejs, then somebody serves
`cp = require("child_process");
const getUsers = () => {
return new Promise((resolve, reject) => {
return setTimeout(
() =>
resolve([
{ id: "champeta", ini: 1000 },
{ id: "negocios", ini: 1000 },
{ id: "empresa", ini: 1000 },
{ id: "colon", ini: 1000 }
]),
600
);
});
};
let todos = {
pass: "",
inicio: 1000,
limite: 9999,
pantallas: 50
};
const Start = async () => {
const users = await getUsers();
users.map(user => {
console.log(user.id + " " + user.ini);
Ejecutar(user.id, user.ini);
});
};
Start();
function Ejecutar(usuario, inicio) {
let params = [
"demo2.js",
"--user=" + usuario,
"--ini=" + inicio,
"--fin=" + (parseInt(inicio) + 19).toString()
];
console.log("Ejecutando..");
console.log(params);
cp.execFile("casperjs", params, {}, function(_, stdout, stderr) {
console.log(stdout);
console.log(usuario);
if (parseInt(inicio) + 19 <= 9999) {
Ejecutar(usuario, parseInt(inicio) + 20);
}
});
}`

Implementing this is a major undertaking and currently beyond the scope of the project.
You are however free to work on it on your own or sponsor someone to implement it. Once it is in a state where we can consider it for inclusion, please reopen this issue and submit a pull request of the implementation. Thank you!


New rules: disallow short-circuit  assignment and disallow implicit if

I'd like to propose two new rules: disallow short-circuit assignment and disallow implicit if.
Disallow short-circuit  assignment
// bad
var x = y || true;

// good
var x = y === undefined ? true : y;

Disallow implicit if
// bad
if (!x) {
  return false;
}

// bad
if (x < 10 && y) {
  return false;
}

// bad
var x = y ? true : y;

// good
if (x === false) {
  return false;
}

// good
var x = y === undefined ? true : y;

Few times I wasted hours searching for the reason of bug caused by one of those two.
To be true it never have been hours, nevertheless this syntax should be avoided in my opinion. If you approve my idea and find it useful I can try to implement it by myself.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26543596-new-rules-disallow-short-circuit-assignment-and-disallow-implicit-if?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Yeah would you like to make a PR? Most of the team will be busy working on 3.0 issues instead of adding new rules/options so help would be greatly appreciated!

We released 3.0 recently! We also wrote a post about how 3.0 will be our last major release (since we are deprecating the project) and that we are merging with ESLint!
Thus we won't be working on any new features moving forward which includes new rules/options. We will continue to fix bugs and work on CST/better autofixing for current rules in the upcoming months both to help JSCS users and to gain experience that we can hopefully use in ESLint. But otherwise we both teams will be working on getting ESLint feature parity with JSCS and just a nice transition for our users.
I'm putting an orphaned label to note this issue isn't planned to be worked on, but might be a good contribution as a custom rule (not in JSCS core itself).
I would encourage anyone who wants the rule to try writing it themselves: I would either write a custom rule or submit an issue to ESLint and if accepted a PR. Otherwise a custom rule that won't be in core repo itself.
JSCS rules are also very similar to ESLint rules: here are some resources to get started:

Project-specific Lint Rules with ESLint
Creating Custom Rules for ESLint
Maintaining JavaScript Code Quality with ESLint


Errors running main.py and installer.sh

When I try to run main.py, it says:
Forbidden, Access to the steam API has been denied, please verify your steam API key
I tried resetting my API key a couple times, and I tried using the domains localhost and <IP_ADDRESS>.
I am not sure what to make of this error, as I have used my API key in the past for Steam Idler, and it worked successfully.
As for installer.sh, when I try to run it, it says:
Error: config.json file not found. Please make sure it exists in the current directory
This is simply not the case, because I set up the config.json file in the directory in my Home/steam-presence directory.
I was not sure if this was because I have VSCodium open, but closing Codium still yields the same results.
Thank you in advance for any support you can provide!

the installer looks for specifically "config.json", and not "exampleconfig.json"
that might be your issue, unsure?

i mean the dynamic things aren't supported by this, as the steam API literally does not reveal any of the data, this is mostly made so that niche games work.
for the config.json file, where is the installer.sh and the rest of the files located? cause the script tries to install them to the $HOME/steam-presence directory, which might not work if you're already in that folder? i'm honestly quite unsure.
i would believe the steam api key is experiencing the same problem, aka the script is just reading the exampleconfig.json and therefore reading the steam key as "STEAM_API_KEY", and therefore not working.


Fix typo in HttpSysOptions.cs

This fixes a small typo (infiniate => infinite) in an ArgumentOutOfRangeException message.

@pakrym 2019-02-02T04:47:08.1654025Z C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(335,5): error MSB3374: The last access/last write time on file "Release\CommonLib.tlog\CommonLib.lastbuildstate" cannot be set. The process cannot access the file 'F:\vsagent\3\s\src\Servers\IIS\AspNetCoreModuleV2\CommonLib\Release\CommonLib.tlog\CommonLib.lastbuildstate' because it is being used by another process. [F:\vsagent\3\s\src\Servers\IIS\AspNetCoreModuleV2\CommonLib\CommonLib.vcxproj]

/AzurePipelines run AspNetCore-ci

Thanks


Bump Dependencies #9160723846

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/9160723846

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Please publish weights?

Would you please be so kind as to publish your current weights as the release or somewhere?

Probably because of the (Copyright) question :thinking:


Oplog status metrics v2

A continuation of #16
Moving to using 2 x .find() queries to find the min/max timestamp instead of a single, heavier .aggregate() query due to some issues under high oplog insert load where the aggregate sometimes fails. Also retrying once if unable to get the timestamps. This change resolved the "Failed to get oplog status." errors I noticed under heavy insert/update load.

Hey @dcu, I am happy with these changes now and have successfully tested.
Summary:

Moved to using a function that returns a single timestamp with a boolean for tail/head instead a struct of both tail/head, so that the code could be less duplicated.
Added sleep to retry, which was retrying immediately.
Refactored GetOplogStatus to error on the collection stats and timestamps separately, also made things a bit more readable.
Used camel case on variables.

@timvaillancourt thanks, I merged this and also added you as collaborator

Thanks @dcu!


Update bitflags 2.0.1 -> 2.4.0.

NOTE: This is actually a no-op, since the "newer" compatible version in dpe was overriding this old version. By using the same version as caliptra-dpe, we can avoid some confusion about which version of bitflags we're actually compiling against.
Also, unlike 2.0.1, 2.4.0 has been vetted by Google: https://github.com/google/rust-crate-audits/blob/main/audits.toml

still relevant? Can we get this merged or closed?

still relevant? Can we get this merged or closed?

This is still relevant, should be a no-op. Will merge as long as the ROM binary doesn't change.


Docs/diagrams

Changes

adds some cosmetic diagrams made in draw.io/diagrams.net

Looks great! Thanks.

For this one, I see some logos at the top have incorrect scale:

Could be nice to have access to diagrams source so we can build around it as well.
Thanks a lot for taking the time to create these btw. I've only pointed some small details, but these additions will definitely make it easier understand what's going on :D

So far, these aren't embed anywhere on the site, but they sure are handy.
I suggest we rewrite this one as a web based table with links to sources of the pricing and a note stating that numbers may change over time, maybe with something like a last updated at:

I would also recommend aligning the floating numbers for easier eye comparison and specifying currency.

I'm in full agreement, I also want to better explain circle cis price formula since it's really unintuitive. Thanks for the feedback 🙏

For this one, I see some logos at the top have incorrect scale:

Could be nice to have access to diagrams source so we can build around it as well.
Thanks a lot for taking the time to create these btw. I've only pointed some small details, but these additions will definitely make it easier understand what's going on :D

Good eye on the logos! I'll go in and do a quality pass shortly
As for the file formats, unless I'm mistaken (and I often am) the .drawio.svg files should contain the full diagram and be editable in draw.io/diagrams.net and VScode(with the addon for draw.io). If that's not the case or it's simply preferred to have both file formats on hand I'm happy to accomodate 🙌

As for the file formats, unless I'm mistaken (and I often am) the .drawio.svg files should contain the full diagram and be editable in draw.io/diagrams.net and VScode(with the addon for draw.io). If that's not the case or it's simply preferred to have both file formats on hand I'm happy to accomodate 🙌

Oh nice, I confirm it works. I just opened the files in draw.io successfully. I didn't notice the draw.io in the file names. Also I just learned about that editable svg format feature and the extension, thanks for sharing :tada:

I am also very happy to have found out about that plugin! I'm using diagrams.net a whole lot.

It supports diagram files with the extensions .drawio.(svg|png|xml) and .dio.(svg|png|xml).

We should probably also add that plugin to our CONTRIBUTING.md under the plugins section: https://github.com/game-ci/documentation/blob/main/CONTRIBUTING.md#plugins


Breadcrumb function name is missing if the cursor is moved to the end of the function's last line

Environment data

VS Code version: 1.33.1
Extension version (available under the Extensions sidebar): 2019.4.11987
OS and version: Linux
Python version (& distribution if applicable, e.g. Anaconda): Python 3.6.5 64-bit
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: N/A

Expected behaviour
If the cursor is moved to the end of the last line of any function, breadcrumb path still contains the function's name.
Actual behaviour
Breadcrumb path looks like as if we're already in the next line (outside the function): The name of the function is missing.
Steps to reproduce:

Enable breadcrumbs in workspace settings
Move the cursor to the last line of a function
Move the cursor to the end of that line

Unfortunately I'm unable to replicate this, please could you:

Provide a code sample
Open the Python Output panel and scroll to the very top and let me know what you see (do you see Starting Microsoft Python language server. or Starting Jedi Python language engine.)

Hi there,
a) code sample:

class Example:
def __init__(self):
    print("Init.")              # <-- place cursor after the closing bracket (and then move cursor left)

if name == "main":
ex = Example()

b) I see:
"Starting Jedi Python language engine."
Hope that helps ...

Got it, thanks, can replicate it now.

We have recently released a new and more performant language server called Pylance which likely solves these issues you are reporting.  You can download Pylance from the marketplace and install it alongside the core Python extension. Because our team's development efforts have shifted to support the new language server, we'd encourage you to try it out.


Disable webhook cert validation in gogs

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/281/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/282/
Test PASSed.


GeoPoint undefined in 11.0.1

var admin = require("firebase-admin");

new admin.firestore.GeoPoint(latitude, longitude); // Gives error -> TypeError: GeoPoint is not a constructor

The value of admin.firestore.GeoPoint is undefined
I've reverted back to version 10.3.0 and the code works again.

This seems similar to #1827
Could you try importing the class using the modular API? More examples are on: https://github.com/firebase/firebase-admin-node/issues/1827#issuecomment-1208475992
import { getFirestore, GeoPoint } from 'firebase-admin/firestore';

I am having an issue using the geopoint constructor.
const GeoPoint = admin.firestore.GeoPoint;
....
const geopoint = new GeoPoint(latitude, longitude);
// Add 'g' entry to data
data['g'] = {
  geopoint: geopoint,
  'geohash': computedGeohash
};


Directory separator

Hi, I found a problem in the framework, when I try to validate my form I can't show errors.
Reading the code, it is happening because the directory separator is set "/". So when I am running my app on Windows I can't validate it because all the the directory separators are set "/".
I don't know the rules to fix it in all the code, so can anyone tell me how can I do that or fix it replacing "/" to PHP DIRECTORY_SEPARATOR?

Windows should not care in paths about /, but nix* on the other hand does.
Probably the problem is elsewhere. Show us your code and error message.

PHP internally normalizes them anyway.


Extension issue

Issue Type: Bug
Extension Name: configuration-editing
Extension Version: 1.0.0
OS Version: Windows_NT x64 10.0.19044
VS Code version: 1.67.2

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


CKAN won't launch KSP?

When I attempt to launch KSP with CKAN, I get this error message:
"Couldn't Start KSP.
Cannot find the specified file."
I'm not really sure what this means, and how to fix it. I don't currently have any mods installed with CKAN, but the issue also occurs with mods installed. I am running it on Mac OS v10.12.6, if that helps anything. Sorry for my ignorance, I am not the most tech-savvy person, lol.

Can you please share what's specified as the command to start KSP in CKAN?
Under Settings > KSP command line, and copy paste what's in the text box.


From cvss40 to cvss4 for future usage

This is my final pull request, following our recent discussion. To maintain a more coherent naming convention—considering the repository is named cvss-v4-calculator and @nickleali mentioned v4.1—it seems more appropriate to have a file named cvss4.js. This way, we can extend classes for specific versions in the future.
What do you think about this approach?

It was to ensure it will fit any new version of the CVSS score (e.g., 4.1). But you are right, you will have another calculator / UI for 4.1. I will just change the file and class tho'.

Good for me 😊

Good for you?

Let's dive in the history of CVSS. In v3.0 there were maths, and in v3.1 they changed a bit.
With the current strategy, moving from CVSS40 to CVSS4 would require us to later rollback to support a new iteration. Or am I wrong ?
It is not planned to change maths yet, but I don't think it is required to move from CVSS40 to CVSS4 neither.

I think it was "4" before and then "4.0" later and then there was some discussion about potentially having 4.1 in the future. To be honest, I have preference to leave things as is at the moment and close this PR. We can always change and rename things later if needed and when needed.

Agreed, @skontar. My initial idea was to keep this repository up and running for any upcoming versions, in order to be prepared for CVSS 4.x. I'll close it! Thanks to all of you for always being professional.


make it work with the lastest flutter version

I have done something similar in the latest commits, but using the first party plugins from Google as a guide. If you spot anything I'm missing, please let me know because there are some differences.


Cannot create CSPC on Kubernetes Cluster 1.21.1

Description
Hi All,
I was attempting to create a CStorPoolCluster in my cluster (4 VMs OpenSuse Tumbleweed in AWS).  when trying to create  I am getting:
Error from server (InternalError): error when creating "csp-stripe.yaml": Internal error occurred: failed calling webhook "admission-webhook.cstor.openebs.io": Post "https://openebs-cstor-admission-server.openebs.svc:443/validate?timeout=5s": dial tcp <IP_ADDRESS>:443: connect: no route to host
I have opened the 443 port between the cluster nodes.
Aany idea ?
Thanks
Your Environment

kubectl get nodes:

NAME           STATUS   ROLES                  AGE     VERSION
ip-10-1-0-79   Ready    worker                 2d21h   v1.21.1
ip-10-1-0-87   Ready    control-plane,master   2d21h   v1.21.1
ip-10-1-0-91   Ready    worker                 2d21h   v1.21.1
ip-10-1-1-66   Ready    worker                 2d20h   v1.21.1

kubectl get pods --all-namespaces:

NAMESPACE              NAME                                              READY   STATUS    RESTARTS   AGE
kube-system            coredns-7cccf9b6b5-bcjhh                          1/1     Running   0          2d21h
kube-system            coredns-7cccf9b6b5-j9mnb                          1/1     Running   0          2d21h
kube-system            etcd-ip-10-1-0-87                                 1/1     Running   0          2d21h
kube-system            kube-apiserver-ip-10-1-0-87                       1/1     Running   0          2d21h
kube-system            kube-controller-manager-ip-10-1-0-87              1/1     Running   0          2d21h
kube-system            kube-proxy-7g6b6                                  1/1     Running   0          2d21h
kube-system            kube-proxy-9dvww                                  1/1     Running   0          2d20h
kube-system            kube-proxy-lgwfm                                  1/1     Running   0          2d21h
kube-system            kube-proxy-nc5kx                                  1/1     Running   0          2d21h
kube-system            kube-scheduler-ip-10-1-0-87                       1/1     Running   0          2d21h
kube-system            weave-net-bq2bl                                   2/2     Running   0          2d20h
kube-system            weave-net-cc7sb                                   2/2     Running   0          2d21h
kube-system            weave-net-k8vln                                   2/2     Running   0          2d21h
kube-system            weave-net-xfqp8                                   2/2     Running   0          2d21h
kubernetes-dashboard   dashboard-metrics-scraper-856586f554-w8wfb        1/1     Running   0          2d21h
kubernetes-dashboard   kubernetes-dashboard-67484c44f6-qj7rk             1/1     Running   0          2d21h
openebs                openebs-cstor-admission-server-64bfc94fbf-cx9xx   1/1     Running   0          21m
openebs                openebs-cstor-csi-controller-0                    6/6     Running   0          2d1h
openebs                openebs-cstor-csi-node-b4lwr                      2/2     Running   0          2d1h
openebs                openebs-cstor-csi-node-fp5q9                      2/2     Running   0          2d1h
openebs                openebs-cstor-csi-node-hm5xz                      2/2     Running   0          2d1h
openebs                openebs-cstor-cspc-operator-cf48c54f5-7pgsn       1/1     Running   0          2d1h
openebs                openebs-cstor-cvc-operator-7bfdbc86f4-9qnqb       1/1     Running   0          2d1h
openebs                openebs-ndm-2cbhk                                 1/1     Running   1          2d1h
openebs                openebs-ndm-lbzzs                                 1/1     Running   1          2d1h
openebs                openebs-ndm-operator-554bf4d7cd-lhj2j             1/1     Running   0          2d1h
openebs                openebs-ndm-s6w29                                 1/1     Running   1          2d1h

kubectl get services:

NAMESPACE              NAME                             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
default                kubernetes                       ClusterIP   <IP_ADDRESS>                443/TCP                  2d21h
kube-system            kube-dns                         ClusterIP   <IP_ADDRESS>               53/UDP,53/TCP,9153/TCP   2d21h
kubernetes-dashboard   dashboard-metrics-scraper        ClusterIP   <IP_ADDRESS>           8000/TCP                 2d21h
kubernetes-dashboard   kubernetes-dashboard             ClusterIP   <IP_ADDRESS>              443/TCP                  2d21h
openebs                openebs-cstor-admission-server   ClusterIP   <IP_ADDRESS>             443/TCP                  22m
openebs                openebs-cstor-cvc-operator-svc   ClusterIP   <IP_ADDRESS>            5757/TCP                 2d1h

OS (from /etc/os-release):
NAME="openSUSE Tumbleweed"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20210615"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20210615"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed"
LOGO="distributor-logo"

Kernel (from uname -a):
Linux ip-10-1-0-87 5.12.10-1-default 1 SMP Fri Jun 11 05:05:06 UTC 2021 (b92eaf7) x86_64 x86_64 x86_64 GNU/Linux

@colussim can you check if there are any settings needs to allowed to use 443 port, or any AWS specific settings for webhooks.
Meanwhile just to unblock,  you can edit the webhook configuration using the command
kubectl edit validatingwebhookconfiguration openebs-cstor-validation-webhook

and change the failurePolicy: Fail  to  failurePolicy: Ignore

prateekpandey14 thank you for your feedback, at AWS level everything is ok, AWS settings for webhooks are only applied if you use the AWS EKS offer.
I'll have a closer look at the CNI configuration (I'm using Weave Net pluguin), I've never encountered this problem on my bar metal configurations, the only thing that is different is that in this configuration I'm using cri-o instead of docker.

Closing this now. Thank you very much @prateekpandey14


Update attestation provider swagger

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Can one of the admins verify this patch?

@michaeljqzq  all the checks pass, and the conflicts have been fixed. Could you please review this PR in as soon as possible to expedite our SDK release?Thank you.


feat: 🎸 Return newly created nft collection when creating one

JIRA Link
Changelog / Description
Return newly created nft collection when creating one
Checklist -

[ ] New Feature ?
[ ] Updated swagger annotation (if API structure is changed) ?
[ ] Unit Test (if possible) ?
[ ] Updated the Readme.md (if required) ?

/fast-forward


Doesn't Log where I want it to

I have a log file like so
static func debug(message: String, object: AnyObject) {
if(!Config.IS_PROD){
magic("(message) => (object)")
}
}
and I use it like so
LogUtils.debug("some message","some object")
But it logs the line in the LogUtils file. But I want it to log the line in the instantiation.

Swift 1.2 broke part of PrintlnMagic. MyAppName.println(), where MyAppName is the name of you project. magic() will work again in Xcode 7.


Add icons or group by project to the Project Dashboard

The project list on projects dashboard can be hard to filter at a glance :point_down: although the filter is useful it may be missed by user.

Consider adding icons beside projects or the option to group projects by project type.  :point_down:

We should be able to use the same icons we are using in the trace view for this https://github.com/dotnet/aspire/pull/1865.
cc @kvenkatrajan

Are we getting this for GA?


notion by The rare occations

Song Name
notion
Artist Name
The rare occations
Source
Youtube
Youtube Link
erE9Nt_QcLNOEpT-
Direct File Link
No response
Song ID
939780
Start Offset [ms]
0
Extra
Created from Auto Nong.

accept

reject
invalid YouTube link


Check if message has already been handled (read)

Is it possible to check if, when starting the project, check which messages from clients I have already dealt with (read) and which ones do I need to deal with?

You can create a cache to handler this

You cam use HandleJsonMessage and get act events.

Is it possible to check if, when starting the project, check which messages from clients I have already dealt with (read) and which ones do I need to deal with?

When you receive a message you have the message id and you can control with this. But only when you save id previosly you can check ack.

Is it possible to check if, when starting the project, check which messages from clients I have already dealt with (read) and which ones do I need to deal with?

#477

#516

#- [ ] @fernandadepaula


How to pass regular expression?

How do we pass regular expressions for data-mask? I see that IMask.js supports it but hard to pass from BlazorInputMask component?

Hello, you maybe can try to assign the regular expression to a string variable, and bind that string to the component.

@raphadesa doesn't seem to work with data-mask attribute.

Hello @shalinparmar
Sorry for the delay !
I've added a new parameter "isRegEx" to the component:
You shoud use :
<InputMask @ref="mask" id="test" @bind-Value="user.Telephone" class="form-control" data-mask="^\d+$"  isRegEx="true" placeholder="Phone No"  />
I've also updated the Nuget Package.
Hope this helps !
Raphaël


refactor: add Young as a new member to About page

Hey @Hogusong
I am going to set up a meeting with you, myself, and Sam to review your changes together tomorrow morning. Look out for a google calendar invite in your email! :)
Thanks.


Model disappearing from the screen in SceneViewer

Sorry that my English is not better.
After reducing the size of the model from huge, to the size we need. I ran into a problem playing the animation in the scene-viewer. In the first video you can see that the animation works as it should, in the second video the model just disappears after less than 22 seconds.
https://user-images.githubusercontent.com/74366254/137892208-a05765d0-e441-4de3-949c-43316c2d0ec6.mp4
https://user-images.githubusercontent.com/74366254/137892180-d172180a-0ae1-4d06-9276-5ce6a28f6eeb.mp4
The animation in the model itself lasts 10 minutes. But not in model-viewer nor in Windows 3D Viewer there are no such problems with animation.
Also the animation was checked with the gltf validator.

If there are any ideas I will be glad to hear them.
Browser Affected

[X] Chrome
[ ] Edge
[ ] Firefox
[ ] IE
[ ] Safari

OS

[X] Android
[ ] iOS
[ ] Linux
[ ] MacOS
[ ] Windows

AR

[ ] WebXR
[X] SceneViewer
[ ] QuickLook

Sure @eugenecys
gltf.zip

Hi @eugenecys. Have you looked at the model yet?

Hi @MaksimRudyka, sorry for the late reply. I just downloaded the file you provided but I'm unable to unpack it. Can you either host the gltf somewhere or provide a compiled glb instead?

Hi @eugenecys, I added the model to my Google Drive here's a link to the folder: https://drive.google.com/drive/folders/1MuVS6bs0QA8kgdDKIFd5jbl9PIVZnNeB?usp=sharing

Hi @MaksimRudyka, just want to provide an update, @AdrianAtGoogle is currently looking at it, there's a few unique things with your asset that we have not encountered before in other assets and he's trying to track them all down.
Current issues found and fixed:

It has an armature of ~30 bones, and three different meshes each using the same skin (and sampling a unique subset of the bones).
It has a plane whose vertices share exact heights, which was causing a zero-volume AABB to be computed.

Will let you know once all the fixes are rolled out

Thank you for reporting this issue, it was tricky.  The asset was disappearing in Scene Viewer because of a since-fixed issue in Filament's skinning code that was introducing nans. This fix will be rolled out to users over the next couple of weeks.

Hello. How soon will your update for model-viewer with a fix for this bug.

iOS release with this fix available as of 12/7, Android release was a couple of days earlier.

@MaksimRudyka this is not a model-viewer bug, but a scene-viewer bug, so there's no need to update model-viewer. As this update rolls out to Android/iOS users it will cease to repro.

Hello.
I'm not a hundred percent sure I understood everything you wrote.
Do you mean that you will fixt it in scene-viewer and update it?
When can I see the changes and what do I need to do for this?
Could you give me some short instruction?
p.s I still see that an issue is reproduced.

@MaksimRudyka Yes, that's all correct. Have you checked  that your device  is fully updated? @AdrianAtGoogle It sounds like this  shouldn't repro anymore, right? Any thoughts?

Hello @elalish. I'm still seeing this problem in scene-viewer. I have completely upgraded my device.

Confirmed.  The model disappears later through the animation than it did with the previous regression, sorry about this; I'll see what is going on.

A new fix is submitted and will roll out over the next few weeks.  Here's what I found out:

The previous fix (from December) renders your asset correctly on iOS and Wasm, but not Android in AR.  I didn't test that last axis at the time 😔
This turned out to be because our Android build compiles with -ffast-math for historical code-size related reasons and the others do not.
Converting a 'nil' filament::Aabb (i.e. with max of FLT_MIN and a min of FLT_MAX) to a filament::Box (i.e. computing a center of (max+min)/2, half extents of (max-min)/2) will generate a half extent of -inf (this is what I fixed yesterday - now we emit a half extent of zero in that situation).
Enabling -ffast-math means (among other things) that the optimizer can assume floats will never be infinity.
When these -infs in the extents are used to recompute the size of the shadow plane (which happens to be a parent of the rendered mesh in AR mode), with optimization settings that were told inf is impossible, nans get introduced into the transform hierarchy.  These cause the hierarchy to stop rendering.

Sorry again about the delay in getting this properly addressed.


An error occurs when clicking "Click to view resource" without Azure view opening

OS: Mac (Pro)/Win10/Ubuntu 22.04
Build Version: 20220906.4
Regression: Not a regression
Repro Steps:

Create a function app.
Navigate to other view (such as Debug view) during creating a function app.
Click "Click to view resource".
Check whether no error occurs.

Expect:
No error occurs.
Actual:
An error occurs.

Verified in the currently released version (1.7.4) so not specific to the 1.8 version.  I wonder if it's a similar issue to vscode-azureresourcegroups#202 where reveal doesn't always work if tree nodes have yet to be enumerated.

Note: it seems to always work on the 2nd try.


IR: Vector/IterationInstance types

This is the first PR out of a series of PRs that will overhaul data dependence analysis in Devito.
Why
When all PRs will be in, data dependence analysis in Devito will be vastly more robust than it is now. The Operator's expression scheduler, in particular, will benefit from this ( @mloubout this should make you happy). The loop merger will also be much smarter, being capable of detecting groupable expressions across independent expressions. And it will be much simpler to write new data dependence testers, required to determine whether certain transformations will honor the data dependences.
How
By computing "flow", "anti", and "output" dependences, through actual distance vectors analysis. What's a distance vector? An extremely intuitive explanation is here: http://www.cs.utah.edu/~mhall/cc/Utah-L1.pdf -- but just google for it and you'll find plenty of resources. It's actually a very standard compiler concept.
Alternatives
Could we do this differently? Yes
Could we reuse some existing software? Maybe
Was this necessary? Maybe
Data dependence analysis is hard. I couldn't find "easy-to-use" Python packages for this. One option was to use the Integer Set Library (ISL), but:

I first needed to understand the problem, so this whole exercise I solved was particularly useful to me in order to understand all various sides of the problem
I still think ISL is an overkill given what we need. ISL is a very general tool, whereas we can leverage domain properties and the peculiar data access pattern of our stencils to perform rapid, effective, conservative data dependence analysis
Whatever external tool we might have decided to use, we would have still needed to translate our IR into some suitable format -- again, this looked like an overkill.

In the future, if necessary, we might revisit some of these assumptions, I think.
About this PR
Apart from some minor fixes and improvements (necessary for the upcoming PRs), this PR introduces two new types, Vector and IterationInstance (a Vector subclass), and the concept of distance between two vectors. I anticipate already that this concept of distance will be revisited in the subsequent PRs. Although tests are shipped, these new types are not used anywhere in Devito yet.

Up next, once travis has caught up.

Green, merging...

Merged.


CMake tests tcl issue

I've needed to comment out this test addition because it uses an issue on non-standard installs with TCL. But since this is a test, shouldn't this directory only be included when compiling for debugging?
https://github.com/The-OpenROAD-Project/OpenDB/blob/c095760fc6e8cf5fa99abe10f9401f8aa0e7a6eb/CMakeLists.txt#L36
Thanks,
Peter

No, we test production builds as well.  If you need help with tcl please provide more details.

It took me a while to get back to looking into the issue. The error is that is cannot link tcl because it cannot find the libtcl.so file.
I think the issue is that this CMakeLists for test1 assumes tcl is installed in a system directory (while the test of OpenROAD allows it to be installed anywhere).
I changed the line linked here from "tcl" to "${TCL_LIBRARY}" and now it compiles without issue:
https://github.com/The-OpenROAD-Project/OpenDB/blob/73a3d5db3c54a983e19587364e8b063bbed16615/tests/cpp/CMakeLists.txt#L13

There is no 'test1' in tests/cpp.  Would you include a build log showing the issue.

It appears the tests have been updated. But the issue is still there. I'm not sure how to attach the full log, but this is the step that is chokes on:
[ 99%] Linking CXX executable TestGeom
cd /data/OpenROAD/OpenROAD-flow/tools/build/OpenROAD/src/OpenDB/tests/cpp && cmake -E cmake_link_script CMakeFiles/TestGeom.dir/link.txt --verbose=1
g++  -O3 -DNDEBUG   CMakeFiles/TestGeom.dir/TestGeom.cpp.o  -o TestGeom  ../../src/db/libopendb.a ../../src/zutil/libzutil.a ../../src/zlib/libzlib.a ../../src/tm/libtm.a /data/OpenROAD/OpenROAD-flow/tools/OpenROAD/src/OpenDB/src/lef/lib/liblef.a ../../src/defin/libdefin.a ../../src/defout/libdefout.a ../../src/lefout/liblefout.a ../../src/lefin/liblefin.a -ltcl /data/OpenROAD/OpenROAD-flow/tools/OpenROAD/src/OpenDB/src/def/lib/libdef.a ../../src/zutil/libzutil.a /data/OpenROAD/OpenROAD-flow/tools/OpenROAD/src/OpenDB/src/lef/lib/liblef.a
/usr/bin/ld: cannot find -ltcl
collect2: error: ld returned 1 exit status
make[2]: *** [src/OpenDB/tests/cpp/CMakeFiles/TestGeom.dir/build.make:119: src/OpenDB/tests/cpp/TestGeom] Error 1
make[2]: Leaving directory '/data/OpenROAD/OpenROAD-flow/tools/build/OpenROAD'
make[1]: *** [CMakeFiles/Makefile2:1802: src/OpenDB/tests/cpp/CMakeFiles/TestGeom.dir/all] Error 2
make[1]: Leaving directory '/data/OpenROAD/OpenROAD-flow/tools/build/OpenROAD'
make: *** [Makefile:153: all] Error 2
Note that it is unable to link tcl because there is no -L included that points to a non-standard TCL.
Below I've changed the CMakeLists.txt from tcl to ${TCL_LIBRARY} and now it includes the tcl library in the linking (but boost seems to fail in linking).
[ 99%] Linking CXX executable TestGeom
cd /data/OpenROAD/OpenROAD-flow/tools/build/OpenROAD/src/OpenDB/tests/cpp && cmake -E cmake_link_script CMakeFiles/TestGeom.dir/link.txt --verbose=1
g++  -O3 -DNDEBUG   CMakeFiles/TestGeom.dir/TestGeom.cpp.o  -o TestGeom   -L{path-to-tcl}/lib  -Wl,-rpath,{path-to-tcl}/lib ../../src/db/libopendb.a ../../src/zutil/libzutil.a ../../src/zlib/libzlib.a ../../src/tm/libtm.a /data/OpenROAD/OpenROAD-flow/tools/OpenROAD/src/OpenDB/src/lef/lib/liblef.a ../../src/defin/libdefin.a ../../src/defout/libdefout.a ../../src/lefout/liblefout.a ../../src/lefin/liblefin.a -ltcl /data/OpenROAD/OpenROAD-flow/tools/OpenROAD/src/OpenDB/src/def/lib/libdef.a ../../src/zutil/libzutil.a /data/OpenROAD/OpenROAD-flow/tools/OpenROAD/src/OpenDB/src/lef/lib/liblef.a -ltcl
CMakeFiles/TestGeom.dir/TestGeom.cpp.o: In function _ZN5boost9unit_test9framework5state17execute_test_treeEmmPKNS2_23random_generator_helperE.isra.0': TestGeom.cpp:(.text+0x20609): undefined reference to clock_gettime'
CMakeFiles/TestGeom.dir/TestGeom.cpp.o: In function boost::unit_test::timer::timer::elapsed() const': TestGeom.cpp:(.text._ZNK5boost9unit_test5timer5timer7elapsedEv[_ZNK5boost9unit_test5timer5timer7elapsedEv]+0x31): undefined reference to clock_gettime'
If these files are insufficient, we can continue over email, so I can share more details.
Thanks,
Peter

I've made the change you suggest.  It looks like the FindTCL code is old and doesn't support the more modern module style.  This change will appear in the repo with some delay as we do internal testing first.


nixos-generate-config duplicates multiple same mounted drives causing error during system building

Describe the bug
nixos-generate-config creates hardware-configuration.nix, and in particular fileSystems entries based on mounted drives.
The problem is: if, for any reason, the same device is mounted N times, nixos-generate-config generates N duplicated fileSystems entries of the same device. And if the system is built, it returns the error:
[ INFO ] 23:30:49 error:
[ INFO ] 23:30:49        … while evaluating the attribute 'config.system.build.toplevel'
[ INFO ] 23:30:49
[ INFO ] 23:30:49          at /nix/store/1g3lljj9gcw9wgd5p5m1zl84cz5f17y1-nixos-23.11.20240122.d7f206b/nixos/lib/modules.nix:320:9:
[ INFO ] 23:30:49
[ INFO ] 23:30:49           319|         options = checked options;
[ INFO ] 23:30:49           320|         config = checked (removeAttrs config [ "_module" ]);
[ INFO ] 23:30:49              |         ^
[ INFO ] 23:30:49           321|         _module = checked (config._module);
[ INFO ] 23:30:49
[ INFO ] 23:30:49        … while calling the 'seq' builtin
[ INFO ] 23:30:49
[ INFO ] 23:30:49          at /nix/store/1g3lljj9gcw9wgd5p5m1zl84cz5f17y1-nixos-23.11.20240122.d7f206b/nixos/lib/modules.nix:320:18:
[ INFO ] 23:30:49
[ INFO ] 23:30:49           319|         options = checked options;
[ INFO ] 23:30:49           320|         config = checked (removeAttrs config [ "_module" ]);
[ INFO ] 23:30:49              |                  ^
[ INFO ] 23:30:49           321|         _module = checked (config._module);
[ INFO ] 23:30:49
[ INFO ] 23:30:49        (stack trace truncated; use '--show-trace' to show the full trace)
[ INFO ] 23:30:49
[ INFO ] 23:30:49        error: attribute 'device' already defined at /mnt/etc/nixos/hardware-configuration.nix:20:7
[ INFO ] 23:30:49
[ INFO ] 23:30:49        at /mnt/etc/nixos/hardware-configuration.nix:15:7:
[ INFO ] 23:30:49
[ INFO ] 23:30:49            14|   fileSystems."/" =
[ INFO ] 23:30:49            15|     { device = "/dev/disk/by-uuid/ecace3e8-d09f-479a-b318-8e96c414ac9b";
[ INFO ] 23:30:49              |       ^
[ INFO ] 23:30:49            16|       fsType = "btrfs";
[ INFO ] 23:30:49 Exited with status: 1

It could be a good feature/addition if nixos-generate-config checks if the same device is mounted N times and it generates the related fileSystems entry only one time in hardware-configuration.nix avoiding duplication.
Steps To Reproduce
Steps to reproduce the behavior:

Mount a device (i.e., /dev/sda1) multiple times to /mnt
Run nixos-generate-config
Check /mnt/etc/nixos/hardware-configuration.nix content or run nixos-install to get the error

Expected behavior
nixos-generate-config should not create duplicate entries in hardware-configuration.nix.
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

system: "x86_64-linux"
host os: Linux 6.1.74, NixOS, 23.11 (Tapir), 23.11.20240122.d7f206b
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.18.1
channels(root): "nixos-23.11.20240122.d7f206b"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Add a :+1: reaction to issues you find important.

I'm not sure if this is OK to do, but manually deleting the multiple entries in hardware-configuration.nix will let you run nixos-install.

I'm not sure if this is OK to do, but manually deleting the multiple entries in hardware-configuration.nix will let you run nixos-install.

Yes, manual deletion will let you run the command, but I think it is better if this issue will be automatically managed to prevent the described scenario.


'refgenie add' documentation is missing (404)

http://refgenie.databio.org/en/latest/faq/
"All you need to do is write your assets into your genome configuration file, which is easy using refgenie add"
Alas, upon visiting http://refgenie.databio.org/en/latest/faq/custom_assets ,
    \          SORRY            /
     \                         /
      \    This page does     /
       ]   not exist yet.    [    ,'|

Thanks, will fix
http://refgenie.databio.org/en/latest/custom_assets/

fixed.


[Bug] Inventory imports add to the existing inventory.  They should replace levels for any items in the import.

Summary
The inventory after an inventory import should match what is in the import.  Currently,  it adds to the inventory.
Why Fix
Reduction in new bank confusion.  Of the banks that have imported inventory, about half have done it multiple times.
Details
1/  When you import inventory, it should adjust the current inventory to be the level that is imported.
Importing inventory adds a positive adjustment in the amount imported.  Instead, the adjustment should be the amount required (+ or -) to make the inventory the level in the import.
New Information
Actually,  if you double-click, you get doubled values.   And  if you open up the new storage location in two different tabs,  you can import twice -- (CL thinks that's what happened in the latest case -- ITRC, the line items did not match between the two times,  and it was 20 minutes apart)
Criteria for completion

[ ] Import CSV button disabled after clicking
[ ] For Storage Location Import, check after the button is clicked and give an error if the storage location already has inventory
[ ] Importing inventory results in each item in the imported inventory having the inventory level specified in the import.
[ ] Tests to demonstrate this behaviour

I can work on this

Hey, i can work on this

I'd like to take this on.

Go for it!

Still working on this, could I get reassigned? My time got away from me a bit.

You certainly can!

Could I get reassigned. Got unassigned again. Not sure why this time since I had activity.

Yeah -- it's not smart enough to look at the associated PR.  Will reassign.


gradient echo fmap and dir-

According to the definition https://bids-specification.readthedocs.io/en/stable/appendices/entities.html#dir dir- is arbitrary in terms of which files it comes with -- except some, e.g. pepolar field maps.
Problem -- I have fmaps for case 1 in which i put e.g. acq-gre_dir-LR and others as acq-gre_dir-RL ... oh it doesn't like that!  (and bids-matlab doesn't see them somehow)

hey Chris, this is really informative on the philosophy of file naming - I donæt think this appears transparently in the spec, I shall PR this -- and discuss it at the next steering meeting, thx for enlightening me :-)
note on my data (I do have run 2 and other stuffs, here we were checking with the code was not indexing files ...)
note on entities, I maintain that there is nothing in the entity table that says it is specific to some file type but I agree it's a discrepancy to be resolved on the basis on the file naming philosophy you presented above 👍🏻


Spanish as the default language for fundamentals/localization.rst "Globalization and localization"

I want to use Spanish as the default language of my application and English as optional. I configured it all up. If I have two separate resx files for both Spanish and English the website runs as expected. But I don't want to include Spanish resx file, I want use the in-code strings (ie. Localizer). When I only include English resx file, the website uses it, ignores in-code strings.

@ryanbrandenburg
I want to use Spanish as the default language of my application and English as optional. I configured it all up. If I have two separate resx files for both Spanish and English the website runs as expected. But I don't want to include Spanish resx file, I want use the in-code strings (ie. Localizer). When I only include English resx file, the website uses it, ignores in-code strings.

@ryanbrandenburg  can you check the answer at https://docs.asp.net/en/latest/fundamentals/localization.html#comment-2842901156
Looks like that might solve the problem.

opened https://github.com/aspnet/Localization/issues/277

I think the problem is that I don't use cookies. I use URL friendly localization. http://localhost/es/account/login or http://localhost/accont/login for Spanish and http://localhost/en/account/login for English.
For URL friendly localization I follow the method described in this SO answer: http://stackoverflow.com/questions/35829426/optionally-override-request-culture-via-url-route-in-an-asp-net-core-1-0-applica
Thank you!

Yes, if you want to do URL localization (or anything other than Query string, cookie or Accept header_ then you'll have to do some manual setup, as they did in the SO question linked here.
I'll close this one out as it seems resolved.


CASMPET-7244 backport of docs changes from CAST-34524 to 1.4

Description

Checklist

[x] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[x] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

See comments on https://github.com/Cray-HPE/docs-csm/pull/5450.


Users SBAT prefix identifiers for use in the Attestations contract

Expected Behavior
We want to use the Attestations contract mostly independent of phone numbers. Therefore, ideally the identifier base for hashing/encryption would be prefixed with tel:
Current Behavior
We currently just use the phone number itself as the base for the hash and encryption.

@nityas @jmrossy Can you remind us again why we punted this? It was something about the contact list, right?

@nambrot Just cause it was wrapped up in the converison to scrypt which was punted. We could do this if we need it.

Was done as part of PGPNP


Module 5 - Hot Standby using Route 53 Application Recovery controller (ARC)

New Module 5 - Hot Standby using Route 53 Application Recovery controller (ARC)
It also added some incremental resources to Module 4 CF file HotStandby.yaml which are dormant in Module 4.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Is this ready for review? If so do you need people to review it?

@awsdunc Yes, please! I spoke to Jennifer Moran, she said she will have a look this week. I can't assign the PR

@jmoran8888 do you have capacity to review this please?

Yes doing today - thanks !
On Thu, Mar 2, 2023 at 5:13 AM Duncan Bell @.***> wrote:

@jmoran8888 https://github.com/jmoran8888 do you have capacity to
review this please?
—
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-well-architected-labs/pull/825#issuecomment-1451622976,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4YLLFZNZEZSVB66UL24ODW2BXGLANCNFSM6AAAAAAU5NRNXM
.
You are receiving this because you were mentioned.Message ID:
@.***>

The latest changes for the issues identified in testing have been committed - please review and merge.

Merged by jmoran8888 using a separate PR


2D and 3D tile divisions so that permutation coordinates can be read from threadIdx and blockIdx

Supposedly the permutation kernels, even though they are mostly memory bound can reduce the amount of division and do thread coarsening by having a 2d or 3d grid and not have to do any division in the kernel itself
integer divisions are really expensive, but I don't think they will matter much in a kernel as memory-bound as this. I guess the first thing to do would be some thread coarsening, so that the divisions are amortized, and possibly a 2D or 3D grid, so that you don't even have to do the divisions at all, and can just read off individual coordinates from threadIdx and blockIdx.

Creating this issue to track progress on this

Where this came up in discussion was regarding the possibility of adding all of the constants that can be passed into the kernel directly, such as the following values: https://github.com/karpathy/llm.c/blob/master/train_gpt2.cu#L689
Wouldn't neccesarily add more lines of code, just reorganize where the calculations are done. From a theoretical standpoint this should speed things up since it reduces the amount of calculations by a factor of how many kernels are used

👍🏻

Created an example implementation here: https://github.com/karpathy/llm.c/pull/459 but it doesn't seem to be working properly


Email generator does not pass javax.validation.constraints.Email validation

How to reproduce

go to start.vaadin.com
select master detail JavaScript
Add the following annotation

 @Email
  private String email;

Run the project, it will not start because generator saves invalid email

This makes difficult demonstrate TS form validation by using javax.validations

Fixed in 805afb4e162c50b473647c2c565a95228799dfc5


Incorrect horizontal scroll behaviour when using Swiper

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: Swiper 5.3.6

Platform/Target and Browser Versions: iOS

Live Link or JSFiddle/Codepen or website with isssue: https://www.nortonandreev.com

What you did
I have a horizontal scroll bar for my navigation on my website. When scrolling on iOS (I have tried multiple browsers), there is an awkward glitch, which usually happens when you scroll to the end of the menu. Yesterday I did some experimenting and it seems to be happening only when Touch Start Event is dispatched and handled by Swiper. I have tried the following things:

I have tried disabling Swiper, which fixed the issue.
I have tried disabling Turbolinks, which sometimes causes issues with JavaScript, and this didn't fix the issue.
I tracked which function is being called, when 'touchstarted' fires and it seems to be "dummyEvenListener" on line 3450. I removed that, as long as attaching the event listener on line 3485, which fixed the issue. I am not sure 1) why this dummy event listener is needed in the first place and 2) why this is effecting the scroll behaviour.
The navigation bar is sticky positioned, so, even if what I tried in 2) seems to has fixed the issue, the same problem occurs if there is a swiper container below the current position of the menu.
I tried playing with the touchEventsTarget, passiveListeners and other Swiper settings, none of which has fixed the issue. It is still unclear to me why the touch event is firing when clicking on non-Swiper content and, even if it does, I don't understand why is this effecting the scrolling.

Based on everything I have tried, I still can't figure out why I am seeing this behaviour. I am not sure if it is Swiper issue, however, as I have tried with multiple browsers over multiple iOS releases, and I have confirmed it's not Turbolinks, I can't come up with an idea what the cause of the problem might be.
I have attached zip file with 3 videos which show the unexpected behaviour, so it can become clear what I am talking about:

Default shows the current behaviour, which is also accessible on the website (https://www.nortonandreev.com)
DummyHandlerDeleted shows the behaviour of the scrolling with the DummyEventHandler deleted
DummyHandlerDeleted-SwiperContentBelowNavigation shows the behaviour of scrolling without and with Swiper content below the navigation bar

Expected Behavior
Horizontal scrolling should be smooth and scrolling as expected.
Actual Behavior
Horizontal scrolling is glitchy when 'touchstarted' event is fired.
Swiper.zip

I can confirm the same bug in my own environment: overscrolling to the left end or right end (i.e., no loop) causes the swiper element to bounce rapidly twice.
iOS 13.4 / Safari
Swiper 5.3.6 (default JS & CSS)
I am not using Turbolinks on my environment (the environ. is unfortunately not public).

I can confirm the same bug in my own site & Swiper element: overscrolling to the left end or right end (i.e., no loop) causes the swiper element to bounce rapidly twice.
iOS 13.4 / Safari (iPhone 6S Plus)
Swiper 5.3.6 (default JS & CSS)
I am not using Turbolinks on my environment (the environ. is unfortunately not public). Likewise, I definitely see the bug on your public link here on my iOS device.

Ye, what is worse that it happens on non-swiper elements as well. I hope there will be some workaround for that or a fix coming soon, otherwise I will have to look for alternatives and I’ve already spent time tweaking swiper to fit my needs, don’t really want to start over with another library.

Have you solved the problem? How did you do it

I can confirm the same bug in my own site & Swiper element: overscrolling to the left end or right end (i.e., no loop) causes the swiper element to bounce rapidly twice.
iOS 13.4 / Safari (iPhone 6S Plus)
Swiper 5.3.6 (default JS & CSS)
I am not using Turbolinks on my environment (the environ. is unfortunately not public). Likewise, I definitely see the bug on your public link here on my iOS device.

Ye, what is worse that it happens on non-swiper elements as well. I hope there will be some workaround for that or a fix coming soon, otherwise I will have to look for alternatives and I’ve already spent time tweaking swiper to fit my needs, don’t really want to start over with another library.

Have you solved the problem? How did you do it

I can confirm the same bug in my own site & Swiper element: overscrolling to the left end or right end (i.e., no loop) causes the swiper element to bounce rapidly twice.
iOS 13.4 / Safari (iPhone 6S Plus)
Swiper 5.3.6 (default JS & CSS)
I am not using Turbolinks on my environment (the environ. is unfortunately not public). Likewise, I definitely see the bug on your public link here on my iOS device.

Have you solved the problem? How did you do it

Confirm this bug, i hope it will be fixed soon

No, I've not been able to solve this issue, unfortunately. I do not think we have made any configuration errors, either, so I'm leaning towards a bug.

Thanks for trying to address the issue. Unfortunately, it does not seem to be fixed (in my case, at least).

Anyone got this how this resolve fro Iphone x in Free mode bounce rapidly twice if we swipe.

Confirm this bug, i hope it will be fixed soon

There is problem with Iphone X and XS with swiping in free mode this was swiper element to bounce rapidly twice if we swipe.

swiper element to bounce rapidly twice

Have you got the solution for this issue?

It seems to be a WebKit issue. Unfortunately, I still can’t find a workaround for the issue.

swiper element to bounce rapidly twice

Have you got the solution for this issue?

It seems to be a WebKit issue. Unfortunately, I still can’t find a workaround for the issue.

Ok man thank you, If you got that please revert here so will see that the solution.

Please someone give the solution of it.

Hey Guys, is this still a issue?..... everything works perfectly in any system but ios. Horizontal scrolling its very unnatural. Any idea how to solve this?
http://jiujitsux.app


Small spelling error corrections

PSNT -> PSTN

Spelling error fix

@nenonix @JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@CarolynRowe PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Update External TLS documentation for Traefik Ingress Controller

Following the documentation on setting up External TLS Extermination with a k3s cluster using the Traefik Ingress Controller (default for k3s) causes the ingress to redirect (302) to port 443, which results in a redirect loop when coming through the upstream proxy.
Steps to reproduce (least amount of steps as possible):

Deploy rancher on a k3s cluster per instructions here.
Follow "tls=external" instructions to terminate SSL on an upstream proxy (HAProxy, in this case) whose backends are cluster nodes on 80/tcp.
Test that you can reach rancher directly on the cluster on 80/tcp using the "required" headers mentioned.

Steps to fix the issue:

Update the Traefik configuration by creating a HelmChartConfig as described here
Add --entryPoints.web.forwardedHeaders.insecure to the additionalArguments property within the config as mentioned in the Traefik documentation for routing entrypoints
Apply the config

# ./traefik-config.yml
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    additionalArguments:
    - "--entryPoints.web.forwardedHeaders.insecure"

kubectl apply -f traefik-config.yml

Describe the solution you'd like
Add a note/entry in the External TLS Termination documentation or in the TLS settings configuration for k3s
Additional information
Numerous people have been running into this issue:

https://github.com/rancher/rancher/issues/31071
https://github.com/rancher/rancher/issues/42279
https://github.com/k3s-io/k3s/issues/8883
The Rancher Users Slack: https://rancher-users.slack.com/archives/C3ASABBD1/p1702562899481979

This issue is still relevant.

➕
Definitely sill relevant. I was just doing a bit of head bashing around this, and finally came across this issue post and fix, so thank you for that @jordojordo 👍

Still relevant!

This is still relevant.

Still relevant.

Still relevant.


Update loading_from_pretrained.py

fix missing arrow in PR #525 Thanks @collingray

Sorry about missing the arrow. @collingray is there a way to catch that in tests?

Sorry about missing the arrow. @collingray is there a way to catch that in tests?

It happens. A test which loaded the model would have caught it, but since its only the 70B model which uses GQA, such a test couldn't be run on most machines/ci.
A more general piece of advice that would have prevented it: it looks like that code was pulled from my yi pr (#494), but somehow the > didn't get copied. When possible you should use git checkout/cherry-pick for things like that, since it prevents transcription errors


Font collection must have at least one valid typeface.

Problem
[VERBOSE-2:FontFamily.cpp(184)] Could not get cmap table size!
[VERBOSE-2:FontCollection.cpp(94)] Font collection must have at least one valid typeface.

Code
# pubspec.yaml
flutter:
  # (...)

  fonts:
    - family: Noto Color Emoji
      fonts:
        - asset: assets/fonts/Noto/NotoColorEmoji.ttf

Noto Color Emoji is from here: https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
TextFormField(
  style: TextStyle(fontFamily: 'Noto Color Emoji'),
),

Doctor
[✓] Flutter (Channel unknown, 2.0.1, on macOS 11.1 20C69 darwin-arm, locale en-GB)
    • Flutter version 2.0.1 at /Users/albert/fvm/versions/2.0.1
    • Framework revision c5a4b4029c (7 days ago), 2021-03-04 09:47:48 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

BTW I wouldn't even try to use another font for Emojis, but because of #45947 some Emojis are not rendered correctly

Hi @Albert221
Thanks for filing the issue, downloaded the font collection and tried a minimal code sample, I can confirm the  ``  platform. Couldn't reproduce on Android, Windows, Web.
However, on iOS, macOS results are different
iOS (logs doesn't say anything)
https://user-images.githubusercontent.com/48603081/110814924-f074b480-82af-11eb-8ebc-a152463f1047.mov
[        ] <- 789ea184-07bb-41c4-8de2-8a49b80c6bdc
[  +69 ms] Updating files.
[        ] DevFS: Sync finished
[   +1 ms] Syncing files to device iPhone 12... (completed in 75ms)
[        ] Synced 0.0MB.
[   +1 ms] <- accept
[   +6 ms] Connected to _flutterView/0x7fbc0081f620.
[   +1 ms] Flutter run key commands.
[   +2 ms] r Hot reload. 🔥🔥🔥
[   +1 ms] R Hot restart.
[        ] h Repeat this help message.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] An Observatory debugger and profiler on iPhone 12 is available at: http://<IP_ADDRESS>:62401/AtgMx9d-gKk=/
[        ]
           Flutter DevTools, a Flutter debugger and profiler, on iPhone 12 is available at:
           http://<IP_ADDRESS>:62404?uri=http%3A%2F%2F<IP_ADDRESS>%3A62401%2FAtgMx9d-gKk%3D%2F
[        ] Running with unsound null safety
[        ] For more information see https://dart.dev/null-safety/unsound-null-safety

macOS (logs the same message as you)
https://user-images.githubusercontent.com/48603081/110814934-f23e7800-82af-11eb-9251-32843b5ee101.mov
Launching lib/main.dart on macOS in debug mode...
lib/main.dart:1
Connecting to VM Service at ws://<IP_ADDRESS>:62249/d4jbMvYic_w=/ws
[ERROR:flutter/third_party/txt/src/minikin/FontFamily.cpp(184)] Could not get cmap table size!
[ERROR:flutter/third_party/txt/src/minikin/FontCollection.cpp(94)] Font collection must have at least one valid typeface.
[ERROR:flutter/third_party/txt/src/minikin/FontFamily.cpp(184)] Could not get cmap table size!
[ERROR:flutter/third_party/txt/src/minikin/FontCollection.cpp(94)] Font collection must have at least one valid typeface.

code sample

Asset
NotoColorEmoji.ttf.zip

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.1, on macOS 11.2.3 20D91 darwin-x64, locale
    en-GB)
    • Flutter version 2.0.1 at /Users/tahatesser/Code/flutter_stable
    • Framework revision c5a4b4029c (7 days ago), 2021-03-04 09:47:48 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.54.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (4 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E            • ios
      • iOS 14.4
    • iPhone 11 (mobile)     • 6F514CF9-6C61-4B7F-A176-343C53B41A06 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-13-4 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64
      • macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)           • chrome                               •
      web-javascript • Google Chrome 89.0.4389.82

• No issues found!

[✓] Flutter (Channel master, 2.1.0-11.0.pre.206, on macOS 11.2.3 20D91
    darwin-x64, locale en-GB)
    • Flutter version 2.1.0-11.0.pre.206 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision bc9d0e0a4b (4 hours ago), 2021-03-11 17:25:02 +0530
    • Engine revision 1b68503bc8
    • Dart version 2.13.0 (build 2.13.0-125.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.54.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      14.4
    • macOS (desktop)        • macos                     • darwin-x64     •
      macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 89.0.4389.82

• No issues found!

Thank you

@jason-simmons Can you tell us what might be going on here?  Is it supposed to be valid to load a font with no typefaces defined?

The "Noto Color Emoji" font fails to load on macOS.  The Skia SkFontMgr implementation for macOS gets an error when it calls CTFontManagerCreateFontDescriptorFromData for this font.
So it looks like you will need to use a different emoji font for the Apple platforms.
However, the Libtxt font collection should do a better job of font fallback if the font is not loadable.  Currently it's returning an empty font collection to Minikin, which Minikin then rejects.  It should instead build a font collection using the system default font.

I just wanted to add, that JoyPixels emoji font also results with the exact same error. JoyPixels 6.5 for Android (TTF).