RuntimeError: ObjectSpace is disabled under JRuby

I'm getting this error under JRuby, when I stop the app (ex. when I close a rails console or warble finishing packaging), I'm not sure if is serious or how to fix it.
The backtrace:
RuntimeError: ObjectSpace is disabled; each_object will only work with Class, pass -X+O to enable
 each_object at org/jruby/RubyObjectSpace.java:167
        each at org/jruby/RubyEnumerator.java:189
        to_a at org/jruby/RubyEnumerable.java:375
      queues at /Users/koombeamacbook/.rvm/gems/jruby-1.6.2@consumption/gems/girl_friday-0.9.3/lib/girl_friday.rb:20
   shutdown! at /Users/koombeamacbook/.rvm/gems/jruby-1.6.2@consumption/gems/girl_friday-0.9.3/lib/girl_friday.rb:36
      (root) at /Users/koombeamacbook/.rvm/gems/jruby-1.6.2@consumption/gems/girl_friday-0.9.3/lib/girl_friday.rb:63
        call at org/jruby/RubyProc.java:268
        call at org/jruby/RubyProc.java:232

My web app running under jruby 1.6.3 and thin seems to crash and java thread dump file has some reference to girl_friday as shown below:
Stack: [0xb4832000,0xb48b3000],  sp=0xb48b1b74,  free space=510k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x6eef1]  markOopDesc::must_be_preserved_with_bias(oopDesc*) const
+0x21
V  [libjvm.so+0x32a313]  klassKlass::oop_follow_contents(oopDesc*)+0x2a3
V  [libjvm.so+0x6e5aa]  arrayKlassKlass::oop_follow_contents(oopDesc*)+0x16a
V  [libjvm.so+0x37c55b]  objArrayKlassKlass::oop_follow_contents(oopDesc*)+0xdb
V  [libjvm.so+0x34212d]  MarkSweep::follow_stack()+0x3d
V  [libjvm.so+0x342bc8]  void MarkSweep::follow_root<oopDesc*>(oopDesc**)+0x68
V  [libjvm.so+0x444a2c]  Universe::oops_do(OopClosure*, bool)+0x1c
V  [libjvm.so+0x3ccc62]  SharedHeap::process_strong_roots(bool, bool, SharedHeap
::ScanningOption, OopClosure*, CodeBlobClosure*, OopsInGenClosure*)+0x2f2
V  [libjvm.so+0x209cb8]  GenCollectedHeap::gen_process_strong_roots(int, bool, b
ool, bool, SharedHeap::ScanningOption, OopsInGenClosure*, bool, OopsInGenClosure
)+0x68
V  [libjvm.so+0x20bec6]  GenMarkSweep::invoke_at_safepoint(int, ReferenceProcess
or, bool)+0x196
V  [libjvm.so+0x215408]  OneContigSpaceCardGeneration::collect(bool, bool, unsig
ned, bool)+0x68
V  [libjvm.so+0x20953e]  GenCollectedHeap::do_collection(bool, bool, unsigned, b
ool, int)+0x45e
V  [libjvm.so+0x20a8f9]  GenCollectedHeap::do_full_collection(bool, int)+0x49
V  [libjvm.so+0x46a40b]  VM_GenCollectForPermanentAllocation::doit()+0x17b
V  [libjvm.so+0x478d86]  VM_Operation::evaluate()+0x46
V  [libjvm.so+0x478233]  VMThread::evaluate_operation(VM_Operation*)+0x83
V  [libjvm.so+0x4784a0]  VMThread::loop()+0x190
V  [libjvm.so+0x477f90]  VMThread::run()+0x80
V  [libjvm.so+0x38e97e]  java_start(Thread*)+0x14e
C  [libpthread.so.0+0x6940]  signed char+0x6940
VM_Operation (0xb6ead280): GenCollectForPermanentAllocation, mode: safepoint, re
quested by thread 0xb6b05400
---------------  P R O C E S S  ---------------
Java Threads: ( => current thread )
0xb316c400 JavaThread "Cext reference reaper" daemon [_thread_blocked, id=2382
3, stack(0xb2cfe000,0xb2eff000)]
0xb315ec00 JavaThread "RubyThread-1: /home/ec2-user/.rvm/gems/jruby-1.6.3@dm_a
pp/gems/girl_friday-0.9.1/lib/girl_friday/actor.rb:65" daemon [_thread_blocked,
id=23620, stack(0xb2eff000,0xb3100000)]
0xb37a5000 JavaThread "ReferenceReaper" daemon [_thread_blocked, id=23619, sta
ck(0xb34f8000,0xb36f9000)]
0xb6b3c000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=23617,
stack(0xb39c5000,0xb3bc6000)]
0xb6b3a000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=23616,
stack(0xb3bc6000,0xb3c47000)]
0xb6b38800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=23615, s
tack(0xb3c47000,0xb3e48000)]
0xb6b34800 JavaThread "Finalizer" daemon [_thread_blocked, id=23614, stack(0xb
--More--(20%)
Things seem to be better when I use webrick rather than thin.
Any ideas what could be going on?


Defult ulimit way too low

I cannot use bash on Windows for the web development I do at work. The default ulimit is way too low for most complex node projects.
From my companies READ.ME
Increase your file descriptor limit or you will run into build errors (because Gulp opens many concurrent files)

ulimit -n 65536

Expected results
Should be able to run gulp and build my projects

Actual results (with terminal output if applicable)
Error: EMFILE: too many open files

Your Windows build number
14986

I know we can't change it but can we raise the default limit to something much higher than 8000 or what ever it's set to now. The 65536 limit has been working for our web team for 2+ years now.

Hi @soljin -- WSL's defined behavior is "what stock Ubuntu does".  And stock Ubuntu has an even lower default limit -- 1024 vs 2048.  (The Mac default is actually even lower -- 256.)
Most Web environments other than NodeJS are totally happy with this limit in a dev environment.  In my experience, NodeJS deals with it fine as well, if you install the graceful-fs package:
http://blog.izs.me/post/56827866110/wtf-is-emfile-and-why-does-it-happen-to-me
Have you seen graceful-fs before?  Does it solve your problem?

Incidentally -- if you do want a higher limit, keep in mind that WSL is supposed to do exactly what Ubuntu Linux does.  So, if you convince the Ubuntu folks to raise their limit, I would expect WSL to follow suit.
But I would expect you to get some push-back from the Ubuntu folks:  There is some cost to having such a large limit.  Performance, kernel data structures, etc.  And there's no advantage on most machines to trying to read tens of thousands of files concurrently; you're going to unnecessarily hose any magnetic hard drive with that much seek()'ing, and a good SSD will return the files fast enough that there's no advantage.  It's better to batch/pool those reads, which is what graceful-fs tries to do.

Well to be fair Ubuntu and mac allow you to raise the ulimit. And it is very common to require a developer to raise the ulimit. We used graceful-fs and I've brought the issue up to our tools teams but they just say raise the limit. It's hard to ask companies and developers to invest time and money into making development work within these ulimit constraints. When you have some many other options that will let you raise the limit arbitrarily.
I've essentially given up on bashonwindows (after trying relentlessly for 8 months to make it work). I just figured I'd bring this up as the issue that forced me to not be able to use it. Right now I'm running ubuntu in a headless vm.

Ah, I see -- so would your problem be solved if WSL allowed you to raise the ulimit?  To be honest, I had forgotten that it didn't support that.  (And I mis-read that part of your ticket the first time through.)  Thanks for pointing it out!  And I definitely agree, if you can't increase the limit at all, that's frustrating.
For what it's worth, my guess is that this ticket would get more attention from the WSL team if you tweaked its title and description (or filed a new ticket, either way) to say 'Can't raise "open files" ulimit' and added in a few lines of text showing the error message that you get when you try to increase the ulimit.  Then the ticket is both a real frustrating user story and an Ubuntu incompatibility.  (I'm not on the WSL team myself; I just watch enough tickets to know what gets their attention quickly :-) )

There are a few tickets open skiing for the ability to change the ulimit. And they all are resolved as a feature request. And link to a place to vote for new features. I figured if allowing users to change the ulimit was far off. The default value could at least be set very high to avoid needing to raise the limit. I'm not really sure what the impact of a high ulimit would be if any.
http://stackoverflow.com/questions/21591535/is-there-any-downside-to-setting-ulimit-really-high
From reading here there doesn't seem to be a real performance reason. It just seems like if seeing a high value has little effect and is more a concern when running in a multi user environment. Than it would make sense for a tool designed almost entirely for development to have a high ulimit.

As you mentioned, the User Voice site is where feature requests like this get voted on. Might as well upvote this if you haven't already: https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/15125013-allow-changes-to-stack-size-via-the-ulimit-command. Though I agree that it's probably far off.

@soljin -- do you have a reference to a ticket for "open files" ulimit in particular?  (Also do you have any example of any ulimit request that has been resolved at all, in any way, other than as "fixed"?  I can't find one.)
ulimits are not one monolithic thing.  The vast majority of them can be changed today, at least on the latest Insider build.  (They may not work correctly; I haven't tested most of them so I can't say one way or the other.  I know, for example, that the stack size can be decreased but not increased -- no one has yet asked for it to be increased beyond the current and IIRC Ubuntu-standard default of 8mb.  But if they don't work, that would want a separate ticket for each limit:  The code that manages processor scheduling / CPU time is surely not, for example, the same code within WSL that handles core dumps.)
Regarding performance, that post is correct (as far as I know) that raising the limits themselves does not typically have a significant performance cost on modern desktop (not embedded) systems with a relative abundance of system resources.  But it implies that processes can use the raised limit.  Concrete example:  Say you actually try to open 64k files at once.  If you're reading from a magnetic disk, there's a calculation that you can do involving the ratio between your drive's spindle speed and linear bit density that, for a typical workstation hard drive, ends up saying that you want between a 1mb and 10mb buffer per file (not more and not less) in order to simultaneously amortize disk-seek costs and potential over-reading readahead costs, assuming your files are that big and/or they are packed consecutively on disk.  10mb * 64k is 640 gigabytes of readahead buffer.  If you don't have enough RAM to allow for that much buffering, especially if you are reading large files, that can potentially pay a 100-1000x performance cost.  So there's a very real reason why programs that try to open so many files might want to be guided vigorously towards batching their reads.
@bmayen -- per above -- that UserVoice refers to the stack size; this refers to the open-files count.

Adding lings to related work items: #1682 #1686 #1688

There was an accidental regression where the RLIMIT_NOFILE checks were too strict, and that was fixed in early February. The fix should be out for insider builds soon though the rlimits are still not actually applied.

@stehufntdev I just tried 15042. No luck. Do you know if this fix is supposed to be out in 15042?
events.js:160
throw er; // Unhandled 'error' event
^
BadRequireError: failed to resolve module!: EMFILE: too many open files, open '/mnt/c/Users/jesse/shakti/app/package.json'

@soljin, yes the fix mentioned above should be in 15042.  That fix only re-relaxes the RLIMIT_NOFILE checks though the rlimits are still not actually applied so you may see different failures.
Does the ulimit -n 65536 command now work?  The failure you posted most recently looks like a different issue from the original post and I wanted to double check.

@stehufntdev
jfoltz@lgwl-jfoltz:/mnt/c/Users/jesse/shakti/app$ ulimit -n 65536
bash: ulimit: open files: cannot modify limit: Invalid argument
You could never actually set the ulimit. So I don't see how this is fixed. I still hit the ceiling when trying to build my app. And I can't modify the ulimit.

Thanks for the clarification on the repro, I was running the command as root which showed the accidental regression.
Was ulimit -n 65536 working previously for you as a non-root user in WSL?

No it didn't work root or not and continues to not work as root or not (with large values).

Thanks for confirming.  Sounds like the main issue here is the resource limits not being honored which we are tracking.  To help us prioritize the work can you please give us feedback on user voice, https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/?

Closing this out as a duplicate of #1688 to track in a single place. This change in in Code Review and will be available in Insider builds soon.

Is the fix available yet for Ubuntu on windows subsystem ?


Fix Baichuan chat template

The previous template_baichuan.jinja generates extra \n compared with official implementation.
Given the input messages is
[
    {'role': 'user', 'content': 'Hello, who are you'},
    {'role': 'assistant', 'content': 'I am a large language model from Baichuan Inc'},
    {'role': 'user', 'content': "What's the capital of Canada?"},
]

The text generated by the official version:
<reserved_106>Hello, who are you<reserved_107>I am a large language model from Baichuan Inc<reserved_106>What's the capital of Canada?<reserved_107>
while previous template_baichuan.jinja:
\n\n<reserved_106>\nHello, who are you\n\n<reserved_107>\nI am a large language model from Baichuan Inc\n\n<reserved_106>\nWhat's the capital of Canada?<reserved_107>\n
This PR fix the jinja template based on the official version.

@simon-mo also cc this?


Tests expecting compile-time errors are broken in test.py

3ec40e76619844190b640db82fd3af311ba052bd broke local testing with test.py when running tests which expect compile-time errors.
@ 093a0f84fae2fd437ed9b311725325f6d2adeaa1
$ tools/test.py -n vm-linux-debug-x64 corelib/iterable_element_at_test
No build targets found.
Test configuration:
    vm-linux-debug-x64(architecture: x64, compiler: dartk, mode: debug, runtime: vm, system: linux)
Suites tested: corelib
[00:01 | 100% | +    2 | -    0]

=== All 2 tests passed ===

@ 3ec40e76619844190b640db82fd3af311ba052bd
$ tools/test.py -n vm-linux-debug-x64 corelib/iterable_element_at_test
No build targets found.
Test configuration:
    vm-linux-debug-x64(architecture: x64, compiler: dartk, mode: debug, runtime: vm, system: linux)
Suites tested: corelib
[00:01 |  50% | +    1 | -    0]

FAILED: dartk-vm debug_x64 corelib/iterable_element_at_test/static
Expected: Pass
Actual: CompileTimeError
Missing expected compile error.

--- Command "vm" (took 975ms):
DART_CONFIGURATION=DebugX64 out/DebugX64/dart --sound-null-safety -Dtest_runner.configuration=vm-linux-debug-x64 --ignore-unrecognized-flags --packages=/.../dart/sdk/.dart_tool/package_config.json /.../dart/sdk/out/DebugX64/generated_tests/corelib/iterable_element_at_test_static.dart

exit code:
254

stderr:
out/DebugX64/generated_tests/corelib/iterable_element_at_test_static.dart:18:19: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
  list1.elementAt("2"); //# static: compile-time error
                  ^
out/DebugX64/generated_tests/corelib/iterable_element_at_test_static.dart:25:19: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
  list2.elementAt("2"); //# static: compile-time error
                  ^
out/DebugX64/generated_tests/corelib/iterable_element_at_test_static.dart:35:18: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
  set2.elementAt("2"); //# static: compile-time error
                 ^

--- Re-run this test:
python3 tools/test.py -n vm-linux-debug-x64 corelib/iterable_element_at_test/static
[00:01 | 100% | +    1 | -    1]

=== 1 test passed, 1 failed ===

@mkustermann Could you take a look?
/cc @athomas

Thanks, @alexmarkov !
There was one more thing to align between tools/test.py and tools/test.dart.
=> cl/383662

I still have failures that we were able to suppress previously.
I have a file sdk/tests/language/language_analyzer.status with the content
# Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

Test configuration:
    custom-configuration-1(architecture: arm64, compiler: dart2analyzer, mode: release, runtime: none, system: mac)
Suites tested: language
Total: 1 tests
 * 0 tests will be skipped (0 skipped by design)
 * 0 tests are expected to be flaky but not crash
 * 0 tests are expected to flaky crash
 * 0 tests are expected to pass
 * 0 tests are expected to fail that we won't fix
 * 1 tests are expected to fail that we should fix
 * 0 tests are expected to crash that we should fix
 * 0 tests are allowed to timeout
 * 0 could not be categorized or are in multiple categories

FAILED: dart2analyzer-none release_arm64 language/async/derive_future_type_test
Expected: Pass
Actual: CompileTimeError

--- Command "dart2analyzer" (took 09.000509s):
DART_CONFIGURATION=ReleaseARM64 sdk/bin/dart --packages=.dart_tool/package_config.json pkg/analyzer_cli/bin/analyzer.dart --use-analysis-driver-memory-byte-store --dart-sdk=/Users/scheglov/Source/Dart/sdk.git/sdk/sdk -Dtest_runner.configuration=custom-configuration-1 --ignore-unrecognized-flags --packages=/Users/scheglov/Source/Dart/sdk.git/sdk/.dart_tool/package_config.json --format=json /Users/scheglov/Source/Dart/sdk.git/sdk/tests/language/async/derive_future_type_test.dart

unexpected analysis errors in derive_future_type_test.dart:
- Line 301, column 32: COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
  'Exactly<Never?>' doesn't conform to the bound 'Exactly<X>' of the type parameter 'R'.

- Line 306, column 32: COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
  'Exactly<Object?>' doesn't conform to the bound 'Exactly<Object>' of the type parameter 'R'.

- Line 317, column 32: COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
  'Exactly<Symbol?>' doesn't conform to the bound 'Exactly<X>' of the type parameter 'R'.

- Line 421, column 34: COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
  'Exactly<Never?>' doesn't conform to the bound 'Exactly<X>' of the type parameter 'R'.

- Line 426, column 34: COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
  'Exactly<Object?>' doesn't conform to the bound 'Exactly<Object>' of the type parameter 'R'.

- Line 437, column 34: COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
  'Exactly<Symbol?>' doesn't conform to the bound 'Exactly<X>' of the type parameter 'R'.

--- Re-run this test:
python3 tools/test.py -m release -c dart2analyzer -a arm64 language/async/derive_future_type_test
[00:09 | 100% | +    0 | -    1]

=== 0 tests passed, 1 failed ===

I have a file sdk/tests/language/language_analyzer.status with the content

We have moved away from the status files for "approving" failures a long time ago.
Nowadays the purpose of status files is being able to: skip tests, mark them as slow and influence how crashing tests are handled (e.g. no collection of crash dumps).
Our test infrastructure on CI uses tools/test.dart. If we have any non-approved failure on CI, it will show reproduction instructions that say to use tools/test.py ... . So these reproduction instructions should actually work and reproduce the failure on CI. If it took foo: Fail in the status file into account then we'd be in a situation where the bots say a test fails, tell how to reproduce it and then it won't reproduce locally. This is super confusing. It also would lead us to maintain a copy of approvals database by manually editing status files, they will get out-of-sync, etc.
There's mainly one gap between the old tooling and the new: We don't run all possible configurations on CI and therefore don't have test results / approvals for all configurations. But our former infra team has AFAIK added a flag to tools/test.dart where one can select the configuration to run and another one to get results/approvals from (IIRC -n and -N)

@athomas Do you agree with this? Then we can close this issue.

@athomas Do you agree with this? Then we can close this issue.

We need to get there eventually, the only reason why kept the old logic because it wasn't perceived as a burden. This was a mistake given that the code had drifted over time and consequently produced confusing results. I get this is an inconvenience for everyone still using status files for failure tracking locally. The workaround is using Skip instead.

Using Skip does not let me know that I fixed a group of tests with my current, not yet committed changes.
When I work on a new language feature, usually there are many failing co19 tests initially.
So, I update my local copy of sdk/tests/co19/co19-co19.status, and don't commit it.
It stays just on my machine.
And my normal working scenario:

Take one Fail test from co19 in my local copy of co19-co19.status, comment it out, so now it is not expected to fail.
Run the test, it fails.
Analyze why, fix.
Run all co19 tests again.
Sometimes see that more tests in the same group started to "fail" by passing instead of expected Fail. Rejoice. Comment them out too.
Run all the tests again, send to Gerrit.
After landing the CL remove commented out status lines.

And my normal working scenario:

To be honest, that seems very complicated.
When co19 gets rolled, all new failures get approved and issues are filed. Then one can just take this list of failures, and start fixing them, fix one, run tools/test.dart which should (?) show tests that are approved to fail but are now passing. One can compare that list to the original failure list and see what remaining tests need fixing.

We really shouldn't have two separate ways to determine what the outcome of a test is and whether that outcome is expected (e.g. pass or approved failure) or not. So I'm going to close this issue.
@scheglov if the workflow with tools/test.dart is lacking some things for your use case, I can encourage to just add those things to tools/test.dart

How do I run analyzer tests on my Mac, locally?
I tried, but I get an error.
scheglov@scheglov-macbookpro4:~/Source/Dart/sdk.git/sdk (master)$ dart tools/test.dart -n analyzer-mac co19/
error: The named configuration analyzer-mac isn't tested on any builder

Even though there is such configuration
scheglov@scheglov-macbookpro4:~/Source/Dart/sdk.git/sdk (master)$ dart tools/test.dart --list-configurations
analyzer-asserts-linux
analyzer-asserts-mac
analyzer-asserts-win
analyzer-linux
analyzer-mac

I tried also with -N, but still get an error.
scheglov@scheglov-macbookpro4:~/Source/Dart/sdk.git/sdk (master)$ dart tools/test.dart -n analyzer-mac -N analyzer-linux
error: The named configuration analyzer-mac isn't tested on any builder

How do I run analyzer tests on my Mac, locally?

Reading through the code it seems what you need to run is this:
% dart tools/test.dart -n analyzer-linux -N analyzer-mac

which is the same as

% dart tools/test.dart --named-configuration analyzer-linux --local-configuration analyzer-mac

This will take approval status from the analyzer-linux (which we run on the bots) but runs analyzer-mac locally.
You can use any configuration with -n that's run on the bots, which currently seems to be
Builder analyzer-linux-release runs configurations
 - analyzer-unittest-asserts-release-linux
 - analyzer-asserts-linux
 - analyzer-asserts-linux

Builder analyzer-mac-release runs configurations
 - analyzer-unittest-asserts-release-mac
 - analyzer-asserts-mac
 - analyzer-asserts-mac

Builder analyzer-win-release runs configurations
 - analyzer-unittest-asserts-release-win
 - analyzer-unittest-asserts-release-win
 - analyzer-asserts-win
 - analyzer-asserts-win
 - analyzer-unittest-asserts-release-win
 - analyzer-unittest-asserts-release-win

Builder analyzer-analysis-server-linux runs configurations
 - analyzer-linux
 - analyzer-linux

This list doesn't have analyzer-mac which is why you got error: The named configuration analyzer-mac isn't tested on any builder

I found some issues:
a) configuration overrides don't work with exactly 1 override:
https://dart-review.googlesource.com/c/sdk/+/384744
b) analyzer-mac and analyzer-asserts-mac are x64 configurations and should probably be arm64 instead (because that's most convenient for local development).
Draft CL: https://dart-review.googlesource.com/c/sdk/+/384761
c) --detect-host doesn't work with test.dart's configuration overrides.
With a) and b) fixed, this works:
tools/sdks/dart-sdk/bin/dart tools/test.dart -Nanalyzer-mac -nanalyzer-asserts-mac -- language

It does not finish running.
$ tools/sdks/dart-sdk/bin/dart tools/test.dart -Nanalyzer-mac -nanalyzer-asserts-mac -- language

<cut>

2024-09-11 12:24:47.922176 Warning: /Users/scheglov/Source/Dart/sdk.git/sdk/tests/language/constructor/name_test.dart is a legacy multi-test file.
[00:33 |  26% | +    0 | - 2131]Error on batch runner input stream stdin
  Previous test's status: null
  Error: SocketException: Write failed (OS Error: Broken pipe, errno = 32), port = 0
Unhandled exception:
SocketException: Write failed (OS Error: Broken pipe, errno = 32), port = 0
#0      _NativeSocket.write (dart:io-patch/socket_patch.dart:1252:34)
#1      _RawSocket.write (dart:io-patch/socket_patch.dart:2010:15)
#2      _Socket._write (dart:io-patch/socket_patch.dart:2487:18)
#3      _SocketStreamConsumer.write (dart:io-patch/socket_patch.dart:2222:28)
#4      _SocketStreamConsumer.addStream.<anonymous closure> (dart:io-patch/socket_patch.dart:2174:11)
#5      _RootZone.runUnaryGuarded (dart:async/zone.dart:1594:10)
#6      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:365:11)
#7      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:297:7)
#8      _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#9      _StreamController._add (dart:async/stream_controller.dart:658:7)
#10     _StreamController.add (dart:async/stream_controller.dart:606:5)
#11     _StreamSinkImpl.add (dart:io/io_sink.dart:154:17)
#12     _IOSinkImpl.write (dart:io/io_sink.dart:287:5)
#13     _Socket.write (dart:io-patch/socket_patch.dart:2320:36)
#14     _StdSink._write (dart:io/stdio.dart:401:13)
#15     _StdSink.write (dart:io/stdio.dart:416:33)
#16     BatchRunnerProcess.doStartTest (package:test_runner/src/process_queue.dart:1074:21)
#17     BatchRunnerProcess.runCommand (package:test_runner/src/process_queue.dart:1036:7)
#18     CommandExecutorImpl._runCommand (package:test_runner/src/process_queue.dart:569:12)
#19     CommandExecutorImpl.runCommand.runCommand (package:test_runner/src/process_queue.dart:544:14)
#20     CommandExecutorImpl.runCommand (package:test_runner/src/process_queue.dart:555:12)
#21     CommandQueue._tryRunNextCommand (package:test_runner/src/process_queue.dart:430:16)
#22     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
#23     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
#24     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
#25     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Unhandled exception:
Exception: Command exited 255: python3 tools/test.py '--named-configuration=analyzer-mac' '--output-directory=/var/folders/3q/vlsbwmsd32g84nyzbg2mpgb4003ky_/T/test.dart.JkwWCW' --clean-exit --silent-failures --write-results --write-logs language
#0      runProcessInheritStdio (package:test_runner/test_runner.dart:77:5)
<asynchronous suspension>
#1      runTests (package:test_runner/test_runner.dart:484:5)
<asynchronous suspension>

It does not finish running.

That's probably because you're missing the dartanalyzer snapshot, so the batch runner can't start. That isn't included in the SDK anymore so it needs a separate build target. Yeah, I know, the error message is really unhelpful here...
tools/build.py -mrelease create_sdk utils/dartanalyzer

Thank you.
Indeed, now tests finish.


One test is failing now: about Gaussian fitting

Original report by Joseph Fowler (Bitbucket: joe_fowler, ).

Not sure why this started, but we are now failing a math (Gaussian fitting) test. Possibly the random seed has changed?
======================================================================
FAIL: test_penalty_haseffect (test_fitting.Test_gaussian)
Test the regularization penalty in case where it has an effect
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/fowlerj/Software/mass/src/mass/mathstat/test/test_fitting.py", line 176, in test_penalty_haseffect
    params = self.run_several_fits(1000, nfits, fwhm, ctr, nbins, N_bg, penalty=penalty)
  File "/Users/fowlerj/Software/mass/src/mass/mathstat/test/test_fitting.py", line 126, in run_several_fits
    self.assertTrue(np.all(sigma_errors[:maxparam].std(axis=1) < 1+2/nfits**0.5))
AssertionError: False is not true

----------------------------------------------------------------------

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Removing milestone: v0.6 (automated comment)

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

Use fixed random seeds to prevent test of Gaussian_fitter failing.
I thought I fixed this in 42c3d77 but of course the fix only lasted
until new tests changed the random seed. You have to fix the seed
specifically for the test class that’s failing. Fixes #113.


Netplan: Add guidance on testing how-to results

Context
Three of the how-to guides for Netplan feature very similar scenarios, and all of them conclude with the user having configured some bridges and/or bonds. These are the how-tos:

How to configure a VM host with a single network interface
How to configure a VM host with a single network interface and three VLANs
How to configure a VM host with bonded network interfaces and three VLANs

At the end of each how-to, the user is asked to test the new set up, but specific instructions on how to perform such test or verification is missing.
Task
Either develop the content (instructions) on how to test the new configuration at the end of each how-to and include it in the how-tos, or find suitable instructions in other docs and link to them (such as in existing Netplan how-tos).
Note: It is rather probable that the same instructions on testing the new configuration will apply to all three of the how-tos.
Reference

Diataxis: Tutorial
ReadTheDocs: Netplan documentation
GitHub: netplan

Hi @rkratky I'd like to take up this issue please

Hi @rkratky I'd like to take up this issue please

Great. I'm assuming it you.


Consolidate schemas..

We have a couple example of schemas.. namely RenderWebParameters and Spark parameters that are duplicated across several modules.  We should unify around a single version of that schema that is reused to make documentation and code changes in the future more easy.

closed via #88


Shadow settings are malfunctioning

What you were trying to do
Change the shadow settings from "off" to "on" and "on (PCR)".
What actually happened
If the game is started with the shadows OFF, shadows cannot be enabled. If the game is started with shadows ON they can be turned off but they cannot change type (i.e. from "on" to "on (PCR)" or viceversa.
How to reproduce

Start a game with shadows off
Attempt to enable shadows "on" or "on (PCR)"
Result: no shadows in sight

Also try:

Start a game with shadows "on" - no PCR shadows
The shadows are sharply defined
Attempt to enable PCR shadows changing the setting to "on (PCR)"
Result: the shadows are still sharp
Note: you could have started with the softer PCR shadows instead and obtained a similar result
Note: when starting with enabled shadows it is possible to turn them on and off.

Log details and game version
This problem is present in the develop branch. Commit 9e5a3d13b2b39993564b6af6ced2da44018a7a9e
I did not look back to see when this problem first appeared. It is probably related to the changes to the rendering engine @tdgunes and I have been working on.
Computer details
Win7, GTX 860M

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37886048-shadow-settings-are-malfunctioning?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github).

For what it is worth shadows weren't quite right even way back when @begla was active. It was one of the pending pieces getting occasional attention near the end of that era. Similar to the situation with reflections IIRC.

The have limitations in terms of resolution and the way the move, in steps. But they do work in the sense that they can be off, on with sharp edges and on with softer edges (PCR). Leaving aside serious improvements, which I certainly think about, I'd like at least the setting menu to do the right thing! =)


Add support for AWS profile

This PR adds support for using different AWS profile. Users may pass aws_profile_name value to the configuration object so that we load the appropriate profile to use with AWS services.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Fixes #7

LGTM.. thanks for your contribution!


Update Collection Items

In memoriam @catgirlseraid

Sometimes i feel like i can still see her profile picture. But that cant be. She has died years ago, it is just my memory playing tricks on me.


fix: make KeyMapDB deep-copiable

What was wrong?
KeyMapDB would segfault on deepcopy, due to recursion in __getattr__
How was it fixed?
Todo:

[ ] Clean up commit history

[ ] Add or update documentation related to these changes

[ ] Add entry to the release notes

Cute Animal Picture

Sorry we never responded to this one. Do you have a way we can reproduce or do you mind writing a test case?

sure, you can reproduce just by creating an instance of KeyMapDB and trying to copy it.
In [1]: from eth.db.backends.memory import MemoryDB

In [2]: from eth.db.hash_trie import HashTrie

In [3]: t = HashTrie(MemoryDB({}))

In [4]: import copy

In [5]: copy.copy(t)
Segmentation fault (core dumped)

i'm guessing that KeyMapDB.__getattr__ is never actually used, otherwise the segfault would have been noticed before


Trouble:run cartograhy with hokuyo UTM-30LX

HI ，everyone，when i run cartograhy with hokuyo UTM-30LX only,i met a bug as follwing. So far,i have connected laser properly .when i run the lauch,the erros came out,and the rviz showed the Fixed Frame in golbe statues was wrong, and Fixed Frame  in globe options was map not  laser. Can anyone give me a idea about it ,thanks .
[FATAL] [1530619780.903185079]: F0703 20:09:40.000000  6158 lua_parameter_dictionary.cc:83] Check failed: status == 0 (2 vs. 0) [string "-- Copyright 2016 The Cartographer Authors..."]:43: attempt to index global 'SPARSE_POSE_GRAPH' (a nil value)

SPARSE_POSE_GRAPH was renamed into POSE_GRAPH half a year ago. Please make sure you are running the latest version.


Not able to view Serilogs in Azure Function Dev Monitor

Hello,
I was trying to implement Serilogs for Azure Functions .NET 7 Isolated Worker Process mode.
I noticed that once I deployed my functionApp, I was not able to see my logs in Azure Function> Developer> Monitor.
When I saw Application insights, I was able to see my logs, just that logs are not showing in the function monitor.
Can anyone tell me what am I missing?
I was not able to find my specific problem.
Output from my function monitor

Output from Local Console

Output of Application insights:

Below is my host.json
{
  "version": "2.0",
  //"logging": {
  //  "applicationInsights": {
  //    "samplingSettings": {
  //      "isEnabled": true,
  //      "excludedTypes": "Request"
  //    }
  //  }
  //},
  "logging": {
    "logLevel": {
      "default": "Information"
    }
  }

}

My Program,cs
using Microsoft.Extensions.Hosting;
using SerilogFunctionApp;
using Serilog;

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug()
    .WriteTo.Console()
    .WriteTo.Debug()
    .CreateLogger();

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults(worker => worker.UseMiddleware<Middleware>())
    .Build();

host.Run();

We don't explicitly support serilog and I am not familiar with. However, the log streaming (monitor tab) is driven by application insights, can you verify if your logs show up on your application insights instance?
Looking at your program.cs, I don't see any code integrating serilog with Microsoft.Extensions.Logging. I think you may need to use this package: https://github.com/serilog/serilog-extensions-hosting/


Support for Xiaomi Opple WXCJKG11LM

Device description
2020-03-06 12:27:15.035 (Zigbee2MQTT) This plugin does not support zigbee device with model "WXCJKG11LM" yet
2020-03-06 12:27:15.036 (Zigbee2MQTT) If you would like plugin to support this device, please create ticket by this link: https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin/issues/new?labels=new+device&template=new-device-support.md
MQTT message with device information
zigbee2mqtt:info  2020-03-06 12:30:47: MQTT publish: topic 'zigbee2mqtt/0x04cf8cdf3c75c7fe', payload '{"linkquality":23,"battery":100,"voltage":3000,"action":"button_1_single"}'
zigbee2mqtt:info  2020-03-06 12:30:48: MQTT publish: topic 'zigbee2mqtt/0x04cf8cdf3c75c7fe', payload '{"linkquality":15,"battery":100,"voltage":3000,"action":"button_1_single"}'
zigbee2mqtt:info  2020-03-06 12:30:49: MQTT publish: topic 'zigbee2mqtt/0x04cf8cdf3c75c7fe', payload '{"linkquality":2,"battery":100,"voltage":3000,"action":"button_2_single"}'
zigbee2mqtt:info  2020-03-06 12:30:51: MQTT publish: topic 'zigbee2mqtt/0x04cf8cdf3c75c7fe', payload '{"linkquality":0,"battery":100,"voltage":3000,"action":"button_2_single"}'

Done!

Thanks. It works great.


Menu values that are numbers cause errors

Expected Behavior
In a menu field constructed from text/value pairs, the values should work if they are numbers or strings.
Actual Behavior
If the values are numbers instead of strings, manipulating the block causes errors. For example, selecting a menu item on the block and then deleting it causes this error: Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'
Steps to Reproduce

Open the vertical playground
In the console, modify the "play sound" block's menu by pasting in the following code:

Blockly.Blocks['sound_sounds_menu'] = {
  /**
   * Sound effects drop-down menu.
   * @this Blockly.Block
   */
  init: function() {
    this.jsonInit(
      {
        "message0": "%1",
        "args0": [
          {
            "type": "field_dropdown",
            "name": "SOUND_MENU",
            "options": [
              ['a', 1],
              ['b', 2],
              ['c', 3],
            ]
          }
        ],
        "colour": Blockly.Colours.sounds.secondary,
        "colourSecondary": Blockly.Colours.sounds.secondary,
        "colourTertiary": Blockly.Colours.sounds.tertiary,
        "extensions": ["output_string"]
      });
  }
};

Drag out a play sound block
Select an item from its menu
Delete the block

Same trouble !!

Same trouble!   Maybe "field_dropdown" cannot use number-only.  I found the phenomenon.

同样的麻烦！也许“ field_dropdown”不能仅使用数字。我发现了这种现象。

thanks.

Same trouble! Maybe "field_dropdown" cannot use number-only. I found the phenomenon.

thanks!!


Random HEX, BASE32, and BASE64

Is your feature request related to a problem? Please describe.
There is no functionality for retrieving bitstrings in a more compact base:

[ ] HEX
[ ] BASE32
[ ] BASE64

Describe the solution you'd like
Add random hex, base32, and base64 functionality to QRNG
Describe alternatives you've considered
The user can translate the output bitstring manually
Additional context

https://en.wikipedia.org/wiki/Hexadecimal
https://en.wikipedia.org/wiki/Base32
https://en.wikipedia.org/wiki/Base64

I can work on HEX

Hi @anushkrishnav! Thanks for showing interest!
It is my understanding that somebody else is already working on this. They reached out via Discord. Am I right @Avhijit-codeboy? You can maybe work together to get his done.

I've actually already implemented all the encodings.

Awesome @Avhijit-codeboy! It would be nice though if you could chat with @anushkrishnav and see if he has any fresh ideas 🙂 I am assigning this to you two!

Thanks @Avhijit-codeboy, great job!


minor: remove debug logging

These two lines were cluttering the console. Seemed like just debug lines introduced in 1a79eefadb7d5ac99e00eb00262d54d4885fe0ba

@Machyne duplicate, this got merged today: https://github.com/NextStepWebs/simplemde-markdown-editor/pull/284/files

Great! Thanks :)


Multi-context seeds plus fixes and optimized parameters

I realized only now that #388 is incomplete and that @ksahlin’s updates were made in a separate branch. We need a place to review this mcs-optimized-parameters branch and someplace where we have a "Merge" button, so this is a separate PR that supersedes #388.
I’m making quite some changes to this branch (squashing commits, changing commit messages etc.). If anyone wants the original branch without my modifications, it is available as mcs-optimized-parameters-backup.
Original parameter optimization was done with the commit that has the description "Fix so that partial rescue hits are added properly". The commit hash has changed due to history rewriting.
To Do

[x] Changelog entry
[ ] Document the concept (take from #388)
[ ] Document the data structures
[ ] Document terminology: main, partial, auxiliary, ...
[ ] Profile: Mapping-only mode is somewhat slower for read lengths up to 100 or so
[ ] Fix tests

[x] rescuable.43 is no longer rescuable

[x] Get rid of hardcoded const unsigned int aux_len = 24; in find_nams()

Commit 21599d9f0d1bd26223d43ffc6403bb1e838d74bf "Possibly fix redundant alignment sites for symmetric multi context seeds." also breaks a test. After it, the rescuable.43 read in the tiny test dataset is no longer rescuable. Shortened diff of read 1:
-rescuable.43   83  NC_001422.1  3137  60  120S14=1X4=1X9=1X4=1X4=1X9=1X4=1X4=1X4=1X9=1X19=1X4=1X4=1X4=1X4=1X4=1X4=1X9=1X4=1X9=1X4=1X9=1X4=1X4=1X4=1X      =       2955    -362    (sequence)       (qual)       NM:i:25 AS:i:120        RG:Z:1
+rescuable.43   69  NC_001422.1  2955  0  *  =  2955  0       (sequence)  (qual)  RG:Z:1

Commit 21599d9 "Possibly fix redundant alignment sites for symmetric multi context seeds." also breaks a test. After it, the rescuable.43 read in the tiny test dataset is no longer rescuable. [...]

I looked into this. The problem is that this heuristic check now returns false:
https://github.com/ksahlin/strobealign/blob/3a97f6b817824235a36ca8f9c5710ee533d3ad56/src/aln.cpp#L482
This happens because $k$ was increased from 22 to 25. With $k=22$, there were shared $k$-mers, but there are no longer any with $k=25$.
I think the easiest fix for now is to pass -k 22 on the command-line when running that particular test, but maybe it also makes sense to reconsider how the heuristic works (perhaps it could depend less on $k$). But that would be something independent of this PR.

Yes, sounds good to reconsider the heuristic or make it independent of k.

I’m not sure where, but @ksahlin has some measurements that show that the multi-context seeds branch is slower than main. I did some profiling to find out why that is the case. In short, I think the simple explanation seems to be that this branch simply generates more hits.
I used the Linux perf tool for profiling, which has a perf diff subcommand that can compare two profiles. Here is how the first couple of lines in its output look:
              +20.54%  strobealign-mcs       [.] find_nams
              +13.15%  strobealign-mcs       [.] SyncmerIterator::next
              +12.84%  strobealign-mcs       [.] (anonymous namespace)::merge_hits_into_nams
               +6.38%  strobealign-mcs       [.] sw_sse2_byte

That is, the multi-context seeds version from this PR spends 21% more time in the find_nams function, 13% more in the SyncmerIterator::next function etc.
The above was done with read length 150. I am going to check 50 bp as well. (Since one idea was to disable mcs at read lengths ~100bp and above.)
I then changed strobealign to keep track of a couple more statistics, in particular the number of hits and NAMs generated per read. This is the output.
Before (3a97f6b):
Number of reads: 1000000
Number of non-rescue hits: 25160733 total. Per read: 25.16
Number of rescue hits: 583028 total. Per rescue attempt: 23.07
Number of non-rescue NAMs: 27321159 total. Per read: 27.32
Number of rescue NAMs: 11457402 total. Per rescue attempt: 453.27
Total mapping sites tried: 1883792
Total calls to ssw: 184179
Inconsistent NAM ends: 1154
Tried NAM rescue: 25277

After (this PR):
Number of reads: 1000000
Number of non-rescue hits: 38371991 total. Per read: 38.37
Number of rescue hits: 843076 total. Per rescue attempt: 30.16
Number of non-rescue NAMs: 39108199 total. Per read: 39.11
Number of rescue NAMs: 14522183 total. Per rescue attempt: 519.54
Total mapping sites tried: 1898603
Total calls to ssw: 193726
Inconsistent NAM ends: 1205
Tried NAM rescue: 27952

So is the explanation that mcs is slower because it generates more hits and NAMs?

Pasted below are the plots you're referring too. I was interested mainly in reducing, or at least finding the cause for, the overhead for longer reads 200 and above (see figs). This may not be so relevant if we disable the mcs for reads over 125bp or so.
time_plot_SE.pdf
time_plot_PE.pdf

I tested all commits in this branch to see which ones contribute to the slowdown (using the sim3 datasetand drosophila-200 reads, single-end, mapping only). This table shows the commits at which runtimes change:

Commit
Time (s)
Overall slowdown
Description

f59bcb4
12.9
0%
Merge pull request #425 from ksahlin/optional

379a1fc
13.9
8%
(Added mcs, lumped together with earlier commits)

3902f41
14.7
14%
Prevent looking up and, thus, adding the same partial hits twice

caea5c2
15.4
19%
Updated parameters according to optimization in issue #423

d5125b6
16.8
30%
Make RandstrobeIterator/-Generator yield the same results

9c37683
16.5
28%
Ensure unmappable.41 really is unmappable

Commit 3902f41 adds a linear search in a vector; this can probably be optimized a bit (using a set).
I don’t understand, yet, why d5125b6 slows things down so much. It should only add a couple of strobemers at the end of each contig (syncmer paired with itself). That is, it only affects the reference. There was a problem here that the second hash value was set to zero (see discussion above), but that was fixed in commit 9c37683. However, runtime only goes down a bit with that commit.

Here are also runtimes for disabling multi-context seeds (by just commenting out the appropriate else in find_nams or find_nams_rescue:

13.1s when disabling mcs only in find_nams
13.0s when disabling mcs also in find_nams_rescue

Since runtime in main was 12.9s, this means that all the other changes done in this branch affect runtime very little. (For sim3-drosophila-200, that is.)

Great detective work!
I am not sure I have any great input on the above yet. As you mention, speed increase from  https://github.com/ksahlin/strobealign/commit/d5125b68e915804225b3dfff8d6a042e8ebeb061 is very strange indeed.

Commit https://github.com/ksahlin/strobealign/commit/3902f4171473f317f1161926e7837108d5ae52cf adds a linear search in a vector; this can probably be optimized a bit (using a set).

I wrote that as a TODO in the code, but my first guess was that small vectors (up to 100 elements or so) are faster to search and maintain than small sets. but maybe worth to try.

We do bool first_strobe_is_main = strobe1.hash < strobe2.hash; in make_randstrobe. Then
    if (hash1 > hash2) {
        std::swap(hash1, hash2);
    }

In the cases we set Syncmer strobe2 = strobe1; (several times in both fw and rc ends in each query), it becomes an unnecessary swap.
Also, I don't think we need assert(i <= w_max); and assert(i < syncmers.size()); in the RandstrobeIterator and RandstrobeGenerator::next.
Could one of these be responsible for the slowdown in https://github.com/ksahlin/strobealign/commit/d5125b68e915804225b3dfff8d6a042e8ebeb061 ?

I think my first statement is also not correct. It only results in that strobe2 is main, which is not harmful since they  are set to be the same at start..  I'll let you do the detective work instead :)

Oh no, sorry to hear! Yeah, the assertions are ignored when compiling in Release mode. And I think the swap is very cheap; that should be something like two machine instructions. I’ll investigate further.

One of the remaining to-do items here is to enable multi-context seeds only when the read length is below a certain threshold. I just pushed commit 47f92575467569ecf75e13866f81f291b947a85a, which makes it possible to enable or disable mcs dynamically by setting a boolean parameter, but for the moment, I hard-coded this parameter to false. That is, with this commit, all the other changes in this PR are still enabled, but actually using multi-context seeds at mapping time is disabled.
I ran a full evaluation comparing main, multi-context seeds and this most recent commit, please see the most relevant plots here:

SE time.pdf
SE accuracy.pdf
PE time.pdf
PE accuracy.pdf

We can use this to decide which criteria to use for enabling mcs. But I’m having a hard time right now to make such a decision because the slowdown feels relatively large for some datasets. I’ll try to improve the runtime a bit, maybe that makes it easier.

Nice!
Would the difference between green and pink mostly be from new seeding parameters?
From your plots it seems favourable to use mcs for read lengths 100 and below. Actually, I think I mentioned around 110-125 somewhere earlier. For 50-100bp, the mapping accuracy is substantially better at reasonable (sometimes no) cost in runtime. Drosophila seems most affected by mapping slowdown for these short read lengths (relative terms).
Assuming there would be a significant improvement in runtime for mcs (e.g., lowering some of the increases we observed in your table), I'd say we would want to use it up to lengths of 200. Particularly, it seems mcs can help the mapping only and, thus, the --aemb setting quite a bit.

I’m finding it difficult to work on some aspects of strobealign at the moment because many changes would actually be in conflict with the multi-context seeds PR.
Also, as we saw in the table above, this PR contains multipe things that change strobealign’s behavior. I think it would be good to tease them apart into separate PRs where each one is much smaller than this PR.
I’m mainly thinking:

Change the way randstrobes are hashed (that is, introduce aux_len)
Use multi-context seeds when looking up randstrobes
Add syncmers at the ends of reads
Switch to optimized parameters

Would the difference between green and pink mostly be from new seeding parameters?

I was wondering that as well, so I ran an evaluation for this PR but without parameter optimization (mcs lookups disabled, parameters from main). It’s "mcs-nooptim" (the olive lines) in these plots (some read lengths missing so I wouldn’t have to wait that long):

SE time.pdf
SE accuracy.pdf

Accuracy is identical to main. Runtime is is consistently slightly higher than main. Due to the observation in #447 that only changing the hash function actually reduces runtime slightly, I think this is due to the extra syncmers at the end of reads.

Also, as we saw in the table above, this PR contains multipe things that change strobealign’s behavior. I think it would be good to tease them apart into separate PRs where each one is much smaller than this PR.

Very good suggestion! I agree.

Due to the observation in https://github.com/ksahlin/strobealign/pull/447 that only changing the hash function actually reduces runtime slightly, I think this is due to the extra syncmers at the end of reads.

Ok, makes sense!

Everything in this PR has now been split out into other, smaller PRs.
The discussion about improving mcs speed is still ongoing, so I’ll leave this PR open for the moment.

Commit https://github.com/ksahlin/strobealign/commit/3902f4171473f317f1161926e7837108d5ae52cf adds a linear search in a vector; this can probably be optimized a bit (using a set).

I wrote that as a TODO in the code, but my first guess was that small vectors (up to 100 elements or so) are faster to search and maintain than small sets. but maybe worth a try.

I tried a couple of things to make multi-context seeds faster:

Use std::unordered_set and robin_hood::unordered_set for partial_queried: This is actually slower.
Do not call partial_queried.reserve(10) (or use different values other than 10): This makes a small difference, which is why I disabled the call to reserve() entirely if multi-context seeds are disabled. If they are enabled, reserving a couple of elements seems to be a bit beneficial.
In the query_randstrobes vector, we first get all forward randstrobes and then all reverse randstrobes. I tried to truncate the partial_queried vector when we see the first reverse randstrobe because we do not need to compare them to the forward ones. This does not make a difference.

Also, when looking up a full hash, the interval that we find is a subinterval of the interval for the partial hash. We currently look up the subinterval first and then the larger interval encompassing it, which requires that we do the full lookup again.  The advantage should be:

If we don’t find the partial hash, we can stop because we won’t find the full hash either.
In the majority of the cases, the first randstrobe that matches the partial hash also matches the full hash. Then we don’t need to do a second lookup.
If the position we found does not match the full hash, we could just search forward from that position and would not have to re-lookup.
Unfortunately, this wasn’t actually faster. I presume this is because everything is in the cache already when we do the second lookup of the partial hash. I’m not quite ready to give up on this because I find it a bit cleanerconceptually, so I’ll invest a little bit of time to ensure I haven’t overlooked anything.

I have also tried to vary the MAX_LINEAR_SEARCH parameter (currently set to 4). Interestingly, it makes no measurable difference in total runtime whether I set it to 0 or 10000 (at least on Drosophila).

Also, when looking up a full hash, the interval that we find is a subinterval of the interval for the partial hash. We currently look up the subinterval first and then the larger interval encompassing it, which requires that we do the full lookup again.

I like this idea(!) and also find it conceptually cleaner. However, I don't think drosophila is a good test for this as most partial seeds are already unique. I would benchmark this on CHM13.

I have also tried to vary the MAX_LINEAR_SEARCH parameter (currently set to 4). Interestingly, it makes no measurable difference in total runtime whether I set it to 0 or 10000 (at least on Drosophila).

Makes sense to try! But I would also benchmark this on CHM13.

Regarding varying MAX_LINEAR_SEARCH: I tried it on CHM13 and set it to various powers of two. There’s no discernible difference in runtime when set to 0, 4 or 256. It gets a little bit (1%) slower at 512 and then it gets worse with higher values. So I think we’re fine with leaving it at 4.

Documenting another failed attempt at improving speed: In commit 6a5eca7 I tried to make it so that the partial_queried vector is not re-created every time the find_nams function is run. Instead, there’s just one vector that gets cleared. This avoids the memory allocation (which I thought was somewhat expensive because the call to reserve() takes some time). But alas, there’s no difference in speed.


Update blobstorage Azure functions to Azure Functions SDK v4

As Azure Functions are stopping to give support to Azure Functions v3 ( https://learn.microsoft.com/en-us/azure/azure-functions/functions-versions?tabs=azure-cli%2Cin-process%2Cv4&pivots=programming-language-javascript ) I updated to v4 SDK

Luis, it appears your first commit was unsigned and the merge is being blocked.

To be honest ot has been so long I almost forgot about this, and I have to check if I can redo it signing it

They should be signed now

@lfraile I actually went ahead and updated all the integrations to Node 16 and Azure Functions 4. (In addition to adding a new one for StorageQueue) We'll likely close this PR once the update PR is merged.


Vulkan app crashes under RenderDoc

This is a very simple Vulkan app (just clears the screen, no rendering)
I can provide source code for my test app if needed. (VS2015 project) Compiled as 64bit release mode.
Win 7 64bit, AMD HD7770, driver: AMD Radeon™ Software Beta for Vulkan™ Version 16.15.1009 Beta 5
I've attached Vulkan logs captured by my app. (this is as much as I recorded, it keeps going though. It seems RenderDoc's overlay is the issue?)
vulkan_log.txt

Also note: I load all the debug/validation layers and the debug extension

Yes if you're able to share the source that would be great, since I know there can be debug output but I'd need something more to track down the crash itself.
Some of those messages are expected (e.g. all of the [SC] messages) as they are false positives. Unfortunately there's no real way for me to mute them so they will get sent to the app. I'm hoping that eventually the validation layers will improve so that they're not sent.
Others aren't expected - e.g. particularly the compute pipelines failing to create. I'll double check but I think compute should be supported unconditionally, so it might be a driver issue there. Those pipelines aren't needed during capturing but they will be needed on replay.
Which version of the layers are these messages from - are you running with a recent version from github, or the prebuilt layers from SDK <IP_ADDRESS>?

from_ashalah.zip
I'm using the prebuilt LunarG SDK v <IP_ADDRESS>

@Ashalah: Is the vkCreateComputePipelines() call returning the same VK_ERROR_INITIALIZATION_FAILED error code if launched outside RenderDoc, but with validation layers enabled? What if they are disabled?
Furthermore, some of the errors reported by the validation layer will be critical for our driver. I didn't check the app code, but I'd suggest dealing with this problems first:
All the [SC] layer errors. Your descriptor sets seem to be incompatible with the descriptor set layout.

Warning: [DS] Code 11: Source AccessMask 0 [None] must have required access bit 16384 [VK_ACCESS_HOST_WRITE_BIT]  when layout is VK_IMAGE_LAYOUT_PREINITIALIZED, unless the app has previously added a barrier for this transition.
Error: [DS] Code 60: VkDescriptorSet (0x9dd4c40) bound as set #2 has dynamic offset 36880. Combined with offet 0 and range 0x1000 from its update, this oversteps its buffer (0x9dd4d20) which has a size of 0xa000.

Both errors could result in the crash you're seeing.

FWIW I tried to repro earlier today but didn't get any crashes on my NV system, I need to test on AMD though to see what happens there. Those vkCreateComputePipelines() calls though are coming from RenderDoc's compute pipelines so I know they aren't generally broken everywhere, it might only be on that card or something.

The VK_ACCESS_HOST_WRITE error I don't think is a problem, it was leftover from when the text atlas texture sat in host-accessible memory and was preinitialized, but the data wasn't actually being used. Should be fixed with this commit.
The dynamic offset is also fixed with this commit - short story was that I had a buffer that was vec4[256] but the shader was only reading e.g. 32 of them, so the 'rest' of the buffer was poking off the end of the memory. Possibly undefined behaviour or possibly valid, I'm not sure. It's fixed now anyway.
As to the [SC] errors, I would need to check these in detail but last time I looked they were all false positives, that's why I blanket ignore SC for now. The problem seems to be that the shader checker layer doesn't understand to only check for descriptors that are actually referenced in the shader. I declare all my uniform buffers in the same file for convenience but each shader only actually uses one or the other of them. The layer though will error about unused descriptors that overlap or are otherwise bound. That's why you see the same errors repeated many times - they will be repeated for every shader that doesn't use a particular uniform buffer.

I'm OOO for the next two days, but I'm adding this on my list of things to look at right after I'm back in the office.

There's probably a problem with that code, it doesn't have a semaphore between the command buffer that clears the screen and the present call, but I doubt it'll help. I'll check again tonight with RenderDoc and reupload the fixed code.

No change. I also tried a clean uninstall of the AMD drivers (using their clean tool), and reinstalling drivers, just in case.
VulkanMain_v2.zip

Are you able to get a callstack and/or error information of exactly where the crash happens? I mentioned above that those compute shaders failing to compile shouldn't affect the actual capture (although it'll be a problem on replay), so I'm wondering what the actual crash you're hitting is.

Sorry, it's not actually crashing, just hitting my DebugBreak() when the validation layer hits an error, which is "crashing" it. I've disabled my log function (commented out a call to vkCreateDebugReportCallbackEXT) and now it actually runs under RenderDoc. It prints text OK over my window, and I can capture a frame and see the Vulkan calls I've made. I must have been tired last night and did not realize this situation, sorry for the confusion.
With vkCreateDebugReportCallbackEXT on, it's breaking on an error with the message pMsg = 0x000000000028bb60 "var 47 (type 46) in uniform interface in descriptor slot (0,0) conflicts with existing definition" and the callstack looks like this:

Ahhh, I understand now. Sorry I thought you meant you were hitting an actual crash after those messages in vulkan_log.txt.
I'll keep working on getting RenderDoc as validation message free as possible during capture so that it doesn't trigger application handlers like this. At least at the moment though there are false positives and things, but I've heard at least the shader checker messages should be improved on the latest master build of the validation layers so I will test that.
The more serious bug is the compute pipeline failing to create, so I'm going to morph this bug slightly with a rename :).

RE: your crash upload, it looks like the code isn't properly handling those NULL compute pipelines and is crashing in the AMD driver trying to destroy them. At least going by the callstack. I should be able to determine if that's the case just by deliberately breaking the compute pipeline creation.
Capturing another time after capturing once will implicitly close the first logfile, so it is probably the same bug manifesting.

That's what I thought happened, but today I remembered that DebugBreak() isn't ignored if a debugger is not attached, it actually terminates the process, including in release mode. I confused it with my Assert macro, which gets turned off in release mode. My bad! I should really take Sundays off I guess!

Anything here at this point you guys would like me to have a look at?

I'd be interested to see if you can repro the compute pipelines failing to create - I don't think I got that on my AMD machine, but it's an R9 290 rather than HD7770 which might make a difference? If there's something to fix on my side for that, I don't know about it.

Could this have something to do with the CS problem I reported a few weeks ago, where RenderDoc attempted to use a compute shader which relied on local work-group size that exceeded the spec-defined limits? This only affected older hardware generations.
Ashalah: can you confirm you're using the latest RenderDoc build, checked out from this repository? The SDK version of the debugger has a confirmed issue which could be causing the crash.
If that is not the case, I wouldn't mind getting my hands on a working executable I could use to try to reproduce the issue.

You could be right actually, I didn't connect the dots and think to ask about that.
@Ashalah there are pre-built binaries available nightly on the builds page that you can use to try quickly without needing to build RenderDoc yourself. Please let us know if you still see the error messages about compute pipelines failing to create on a recent build.
I am hoping to do at least a new beta release once I am back from GDC, if not a new stable release, as there are a few important fixes to distribute.

Yep, I can do that tomorrow or Friday the latest. I'll let you know.

@baldurk I took his current source, removed all the DebugBreak and could reproduce the NULL result from vkCreateComputePipelines in an old x64 build of RenderDoc.
Bisecting the nightlies I found that going from 2016-02-22 (3e37e1a1) to 2016-02-23 (e17e02d1), those failures disappear from DebugView's output.
I've got a Windows 10 (10586.104) x64 OS, HD7870 and the Feb25 drivers labelled "Version 16.15.1009 Beta 5".

Yup, that includes 0c74274 which is where the discussed fix has been applied.

Sounds like @kbiElude was right then. I'm going to mark this as fixed pending verification - @Ashalah when you get a chance to test it, if you're no longer getting the errors on a recent build please close the issue :).

Using nightly "master branch 2ee7d320, 2016-03-09" from the downloads page. Yep, it works fine now! I changed my app to log Vulkan layer messages to a file, which I've attached. It contains all messages until the app is closed. The only thing of note are the last two messages about vkCreateSwapchainKHR, but the errors about compute pipelines are gone, and capturing frames, saving/loading RenderDoc log files works fine now.
VulkanTest_latest.zip
VulkanTestLog.txt
Closed :+1:

Thank you! The swapchain messages are something known. The one about mismatching data is basically from the driver, it's just that RenderDoc internally calls that function twice which exposes it.
The error about unsupported image usage for the swapchain is maybe a question for @kbiElude - I mentioned this before (and there's an IsAMD() check in the code muting my own assert) that I wanted TRANSFER_DST capability on the swapchain. It seems to work so far but it's not reported :). Not sure if it's just an oversight or if it really is unsupported and I need to do manual blitting/resolving (blech!).

I knew someone would eventually raise this :p We're working on addressing that issue.


⚠ Bofrost.at has degraded performance

In e54aee3, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2225 ms

Resolved: Bofrost.at performance has improved in 1ef6c86 after 17 minutes.


[docs] kafka/kafka_consumer sync

I'm resuming some docs syncing. This content is pulled from docs.datadoghq.com/integrations/kafka (this page documents both checks).
This only minimally edits/refreshes the actual writing. I haven't done a deep dive with Kafka, so I don't know how much love this needs.

@truthbk please re-review and feel free to merge if all is well – thanks!


Incorrect code snippet to get request charge in CosmosDB Cassandra API

The code snippet to get RequestCharges is incorrect in a couple places:

The value of the RequestCharge is not a string, it's a double.
customPayload should be insertResult.Info.IncomingPayload

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

ID: b6c47387-6172-e49b-5144-c843c91815a8
Version Independent ID: 93cad71b-c859-3ae7-32c2-931ef46dd603
Content: Apache Cassandra features & commands supported by Azure Cosmos DB Cassandra API
Content Source: articles/cosmos-db/cassandra-support.md
Service: cosmos-db
GitHub Login: @kanshiG
Microsoft Alias: govindk

@liupeirong Thanks for reporting this issue. This is being assigned to the content author to evaluate and update as appropriate.

@liupeirong Thanks for pointing out the issue, and sorry about the delay. You are right the data type is incorrect. I submitted a fix to update the doc.
We encourage public contributions too! In future if you see any minor issues with the doc, please feel free to submit the edit button on the right hand corner and submit a PR, you will be added as a contributor to the doc.
We will close this issue if there aren't any further questions.
#please-close


Can i change default styling even though i use the remote theme?

hello, i really like this minimal mistkae theme, and i'm using it to run my blog.
thank you so much to make this theme.

and.. i have some questions,

1. should i use remote theme to make it work in github pages?

I had tried to install this theme by using gem, and it worked locally very well.
But when i pushed my website to remote repo, and checked in my github pages (ChangHyun2.github.io/blog) , it didn't work.
So, i searched some ways, and I found a way to solve this problem, such like travisCI.
i tried to use travis CI, but it was so difficult to me.. and i selected another way which is using a remote theme.
I wonder that should i use remote theme to work with github pages without using some tools like travisCI?

2. Can i change default style by using remote theme?

anway, i succeded to apply remote theme, and website runs well in locally and remotely in github pages.
But, i want to change some default styles.
In documentation, it's stated to change repo folders to customize this theme.
But since i use a remote theme, there are only '_posts', '_site', 'vendor' folders in my website folder.
How do i change default style with using a remote theme?

Immediate duplicate of #2502

Question 1
If you don't use a CI service, then yes, you'll have to use the remote theme method.
Setting up CI isn't that complicated as you'd thought. Here's a GitHub Actions config that I wrote. While that repository uses MkDocs, it should be easy enough to replace all the Python stuff with Ruby stuff (e.g. setup python → setup ruby, pip install → bundle install, mkdocs build → bundle exec jekyll build, etc.). The rest should remain more or less the same for your usage.
Question 2
See the above comment. There's the source of the duplicate for you.

Closing as issue is a duplicate as noted above.


request help: apisixroute not work

apisixroute not work
Environment

your apisix-ingress-controller version 1.3.0
your Kubernetes cluster version : v1.18.8-aliyun.1
aliyun linux

content of apisixroute
apiVersion: apisix.apache.org/v2beta2
kind: ApisixRoute
metadata:
  name: qingjiao-apiv2
  namespace: qingjiao-main-prod
spec:
  http:
  - name: api
    match:
      hosts:
      - api.domain.test
      paths:
      - "/api*"
    backends:
     - serviceName: prod-qingjiao-api
       servicePort: 80

err msg
2021-11-01T11:21:34+08:00 error translation/apisix_route.go:184 failed to get service port in backend {"backend": {"serviceName":"","servicePort":0,"weight":null}, "apisix_route": {"metadata":{"name":"qingjiao-apiv2","namespace":"qingjiao-main-prod","selfLink":"/apis/apisix.apache.org/v2beta1/namespaces/qingjiao-main-prod/apisixroutes/qingjiao-apiv2","uid":"7615120a-f0c8-4ad3-b8b5-983eac8aebee","resourceVersion":"2219214738","generation":1,"creationTimestamp":"2021-11-01T03:05:22Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apisix.apache.org/v2beta1\",\"kind\":\"ApisixRoute\",\"metadata\":{\"annotations\":{},\"name\":\"qingjiao-apiv2\",\"namespace\":\"qingjiao-main-prod\"},\"spec\":{\"http\":[{\"backend\":{\"serviceName\":\"prod-qingjiao-api\",\"servicePort\":80},\"match\":{\"hosts\":[\"api.domain.test\"],\"paths\":[\"/api*\"]},\"name\":\"api\"}]}}\n"},"managedFields":[{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"apisix.apache.org/v2beta1","time":"2021-11-01T03:05:22Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:http":{}}}}]},"spec":{"http":[{"name":"api","match":{"paths":["/api*"],"hosts":["api.domain.test"]},"backend":{"serviceName":"","servicePort":0,"weight":null},"websocket":false,"authentication":{"enable":false,"type":"","keyauth":{}}}]},"status":{"conditions":[{"type":"ResourcesAvailable","status":"False","lastTransitionTime":"2021-11-01T03:05:23Z","reason":"ResourceSyncAborted","message":"service \"\" not found"}]}}, "error": "service \"\" not found"}

2021-11-01T11:21:34+08:00 error ingress/apisix_route.go:226 failed to translate old ApisixRoute {"version": "apisix.apache.org/v2beta1", "event": "update", "error": "service \"\" not found", "ApisixRoute": {}}

2021-11-01T11:21:34+08:00 warn ingress/apisix_route.go:292 sync ApisixRoute failed, will retry {"object": {"Type":2,"Object":{"Key":"qingjiao-main-prod/qingjiao-apiv2","OldObject":{},"GroupVersion":"apisix.apache.org/v2beta1"},"Tombstone":null}, "error": "service \"\" not found"}

E1101 11:58:20.268958 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.21.1/tools/cache/reflector.go:167: Failed to watch *v1.Ingress: failed to list *v1.Ingress: the server could not find the requested resource

What is your installation method?

prod-qingjiao-api svc not exist?

prod-qingjiao-api svc not exist?

install  using helm
prod-qingjiao-api exist

tried reinstall apisix ingress controller many times.
status of apisixroute is same as #730

tried reinstall apisix ingress controller many times.
status of apisixroute is same as #730

Can multiple installs solve this problem?

tried reinstall apisix ingress controller many times.
status of apisixroute is same as #730

Can multiple installs solve this problem?

no

restart the apisix-ingress-controller solve the promblem
maybe something wrong with the init container
by the way, an error was found when ingress-controller started
{"Error": "open /etc/webhook/certs/cert.pem: no such file or directory", "CertFilePath": "/etc/webhook/certs/cert.pem", "KeyFilePath": "/etc/webhook/certs/key.pem"}

The Route version that apisix-ingress-controller watches is v2beta, according to the log message:

2021-11-01T11:21:34+08:00 error translation/apisix_route.go:184 failed to get service port in backend {"backend": {"serviceName":"","servicePort":0,"weight":null}, "apisix_route": {"metadata":{"name":"qingjiao-apiv2","namespace":"qingjiao-main-prod","selfLink":"/apis/apisix.apache.org/v2beta1/namespaces/qingjiao-main-prod/apisixroutes/qingjiao-apiv2","uid":"7615120a-f0c8-4ad3-b8b5-983eac8aebee","resourceVersion":"2219214738","generation":1,"creationTimestamp":"2021-11-01T03:05:22Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{"apiVersion":"apisix.apache.org/v2beta1","kind":"ApisixRoute","metadata":{"annotations":{},"name":"qingjiao-apiv2","namespace":"qingjiao-main-prod"},"spec":{"http":[{"backend":{"serviceName":"prod-qingjiao-api","servicePort":80},"match":{"hosts":["api.domain.test"],"paths":["/api*"]},"name":"api"}]}}\n"},"managedFields":[{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"apisix.apache.org/v2beta1","time":"2021-11-01T03:05:22Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:http":{}}}}]},"spec":{"http":[{"name":"api","match":{"paths":["/api*"],"hosts":["api.domain.test"]},"backend":{"serviceName":"","servicePort":0,"weight":null},"websocket":false,"authentication":{"enable":false,"type":"","keyauth":{}}}]},"status":{"conditions":[{"type":"ResourcesAvailable","status":"False","lastTransitionTime":"2021-11-01T03:05:23Z","reason":"ResourceSyncAborted","message":"service "" not found"}]}}, "error": "service "" not found"}

You should use the v2beta2 as the watching version (see here).

The Route version that apisix-ingress-controller watches is v2beta, according to the log message:

2021-11-01T11:21:34+08:00 error translation/apisix_route.go:184 failed to get service port in backend {"backend": {"serviceName":"","servicePort":0,"weight":null}, "apisix_route": {"metadata":{"name":"qingjiao-apiv2","namespace":"qingjiao-main-prod","selfLink":"/apis/apisix.apache.org/v2beta1/namespaces/qingjiao-main-prod/apisixroutes/qingjiao-apiv2","uid":"7615120a-f0c8-4ad3-b8b5-983eac8aebee","resourceVersion":"2219214738","generation":1,"creationTimestamp":"2021-11-01T03:05:22Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{"apiVersion":"apisix.apache.org/v2beta1","kind":"ApisixRoute","metadata":{"annotations":{},"name":"qingjiao-apiv2","namespace":"qingjiao-main-prod"},"spec":{"http":[{"backend":{"serviceName":"prod-qingjiao-api","servicePort":80},"match":{"hosts":["api.domain.test"],"paths":["/api*"]},"name":"api"}]}}\n"},"managedFields":[{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"apisix.apache.org/v2beta1","time":"2021-11-01T03:05:22Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:http":{}}}}]},"spec":{"http":[{"name":"api","match":{"paths":["/api*"],"hosts":["api.domain.test"]},"backend":{"serviceName":"","servicePort":0,"weight":null},"websocket":false,"authentication":{"enable":false,"type":"","keyauth":{}}}]},"status":{"conditions":[{"type":"ResourcesAvailable","status":"False","lastTransitionTime":"2021-11-01T03:05:23Z","reason":"ResourceSyncAborted","message":"service "" not found"}]}}, "error": "service "" not found"}

You should use the v2beta2 as the watching version (see here).

tried to use v2 before restart，but didn't work, got the same error.

and the controller continues output a errror E1101 18:32:56.227617 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.21.1/tools/cache/reflector.go:167: Failed to watch *v1.Ingress: failed to list *v1.Ingress: the server could not find the requested resource
if create  a ingress with class name apisix, it won't be processed

configmap shows that apisix-ingress-controller's watch version

and the controller continues output a errror E1101 18:32:56.227617 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.21.1/tools/cache/reflector.go:167: Failed to watch *v1.Ingress: failed to list *v1.Ingress: the server could not find the requested resource
if create a ingress with class name apisix, it won't be processed

Check out the kubernetes version, ingress v1 was introduced since v1.19.0.

通过插件应该可以 rewrite 到 /api 子路径下，但我也想知道能不能直接在 ingress rule 中，就可以搞定。
类似 ingress nginx 的 nginx.ingress.kubernetes.io/rewrite-target: / 那样。求解答 ~~
参考：https://apisix.apache.org/docs/apisix/plugins/proxy-rewrite

通过插件应该可以 rewrite 到 /api 子路径下，但我也想知道能不能直接在 ingress rule 中，就可以搞定。 类似 ingress nginx 的 nginx.ingress.kubernetes.io/rewrite-target: / 那样。求解答 ~~ 参考：https://apisix.apache.org/docs/apisix/plugins/proxy-rewrite

See http://apisix.apache.org/docs/ingress-controller/concepts/annotations/#rewrite-target.

Did you try the new version? I can't reproduce your problem.
This issue has not been updated for too long and I will close it.
If you're still having this problem, please feel free to reopen it.


Tests for View Adapter

Write tests for the adapters in the view:

http://stackoverflow.com/a/13731138
https://colabug.gitbooks.io/intro-to-android-workbook-2/content/list_views/holders.html
Dialog Fragment

Testsuit: https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests.html

are covered through #107


Set a placeholder in nested dropzones

Hello
My setup has three nested lists that have ui-sortable working on each list.
A different (non-nested) list of items is used to add items to the nested lists.
I would like to be able to show a placeholder that's different corresponding to the item that's being dragged.
Example: item 1 can only dropped onto the first level of nested lists, the placeholder should not be shown on the lower levels.
I don't have any problems with the sortable behaviour, I would just like to be able to hide a placeholder in some cases. Is there a possibility to do this?
Kindest regards.

Hi there.
According to my experience, the most performant way to give such visual
feedback is by resulting on css. I ended up defining some css classes that
represent the different types of dragged items (based on the rules that
apply on them). When starting a drag, you should add its representative css
class to the container of the connected sortable and define some descendant
css selectors to hide the placeholders that are not applicable. As a final
step, as an attempt to enforce your policy rules in js code as well, you
should add some checks in the update callback and call the cancel() method
when required.
An other approach would be to change the css selector of the connected
sortables when a drag starts, based on the dragged item. Unfortunately, I'm
afraid that this approach might lead to problems, since it requires
changing the sortable options mid-drag, causing watchers to fire and a
digest cycle.
If you can fork and modify one of the code pens in README to demonstrate
your use case, I could give you a proud of concept.

--
Thodoris Greasidis
Computer, Networking &
Communications Engineer


Publish binaries along with releases

Publishing the binaries would simplify the image build process.

Done in release 1.1.2


Spyder console issue

Description
What steps will reproduce the problem?

I am really new at this, so apologies if this is pretty dumb.
when the console loads it keeps repeating a message from a previous bit of code I was working on, even if I close the console and loan another or trying to clear the console the printed message will appear.
I have uninstalled Anaconda and updated to the latest version of Spyder but stil can figure it out.
Versions

Spyder version: 4.1.3
Python version: 3.7.7
Qt version: 5.9.6
PyQt5 version: 5.9.2
Operating System: Windows 10

Dependencies

# Mandatory:
atomicwrites >=1.2.0           :  1.4.0 (OK)
chardet >=2.0.0                :  3.0.4 (OK)
cloudpickle >=0.5.0            :  1.4.1 (OK)
diff_match_patch >=20181111    :  20181111 (OK)
intervaltree                   :  None (OK)
IPython >=4.0                  :  7.13.0 (OK)
jedi =0.15.2                   :  0.15.2 (OK)
nbconvert >=4.0                :  5.6.1 (OK)
numpydoc >=0.6.0               :  0.9.2 (OK)
paramiko >=2.4.0               :  2.7.1 (OK)
parso =0.5.2                   :  0.5.2 (OK)
pexpect >=4.4.0                :  4.8.0 (OK)
pickleshare >=0.4              :  0.7.5 (OK)
psutil >=5.3                   :  5.7.0 (OK)
pygments >=2.0                 :  2.6.1 (OK)
pylint >=0.25                  :  2.5.2 (OK)
pyls >=0.31.9;<0.32.0          :  0.31.10 (OK)
qdarkstyle >=2.8               :  2.8.1 (OK)
qtawesome >=0.5.7              :  0.7.0 (OK)
qtconsole >=4.6.0              :  4.7.4 (OK)
qtpy >=1.5.0                   :  1.9.0 (OK)
rtree >=0.8.3                  :  0.9.4 (OK)
sphinx >=0.6.6                 :  3.0.4 (OK)
spyder_kernels >=1.9.1;<1.10.0 :  1.9.1 (OK)
watchdog                       :  None (OK)
zmq >=17                       :  18.1.1 (OK)

# Optional:
cython >=0.21                  :  0.29.17 (OK)
matplotlib >=2.0.0             :  3.1.3 (OK)
numpy >=1.7                    :  1.18.1 (OK)
pandas >=0.13.1                :  1.0.3 (OK)
scipy >=0.17.0                 :  1.4.1 (OK)
sympy >=0.7.3                  :  1.5.1 (OK)

Hi @ManlikeDBreezy, thanks for contacting us, could you please provide a GIF that shows the aforementioned behaviour?

Hi, sorry for the delay.
Hopefully this GIF works.

Hi, I have now provided a GIF on the issue.
Thanks
Sent from my iPhone
On 11 Jun 2020, at 22:01, Edgar Andrés Margffoy Tuay<EMAIL_ADDRESS>wrote:

Hi @ManlikeDBreezyhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FManlikeDBreezy&data=02|01||7acb6d3f398a4d63d07108d80e4a947f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637275060758792055&sdata=XtFOFNmS2gfuPFAbXbG5Iwph6Dz0r0LDtE9RXqeErlo%3D&reserved=0, thanks for contacting us, could you please provide a GIF that shows the aforementioned behaviour?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fspyder-ide%2Fspyder%2Fissues%2F13002%23issuecomment-642925901&data=02|01||7acb6d3f398a4d63d07108d80e4a947f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637275060758802039&sdata=HwBXkx9X55vSyPPFF1DzqRJFItqlVQjHJnngPJ1Z1Bo%3D&reserved=0, or unsubscribehttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAPWEF2G4RT4OA76PF6YZZO3RWFAZVANCNFSM4N3VHJUQ&data=02|01||7acb6d3f398a4d63d07108d80e4a947f|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637275060758812020&sdata=nctAKL0PHeWfYy6pH%2B0Nf4UjbsPC%2FcbxK9T90QSici8%3D&reserved=0.

Inputs can cause some problems.
@ManlikeDBreezy Do you have a small piece of code that you can share that can reproduce this issue?

Hey @ManlikeDBreezy, thanks for reporting. This problem is fixed in our latest version available in Anaconda (5.3.3). Please update by closing Spyder, opening the Anaconda Prompt and running there the commands mentioned in our documentation.


Update demos to use volumes

Update all of our current demos to use volumes. This task should be done right before we release 0.2 so we don't confuse any current users of 0.1

Labeling this as a good first issue. If you'd like to get your feet wet with basic wasm module compilation, this would give you the chance to update the code to read from volumes and print it to logs

#222 introduced a volume-based demo for the waSCC runtime. I'd love to see a wasmtime demo! Most of the code (asides the actor) could be re-used as the hostPath and mountPaths are the same for the WASI provider.

Working on a WASI demo.


Nuxt generate server bundle (pre-rendered HTML + SSR combo)

What problem does this feature solve?
Point is to combine pre-rendered HTML with SSR functionality (to handle dynamic routes from server, for example) within one "generate+build" process.
Using "nuxt generate" for static hosting and "nuxt build" for server - doesn't work. Two webpack bundles causing losing hydration - some js files get 404 error (different hashes, paths).
What does the proposed changes look like?
Nuxt already offers cool feature "generate.fallback"  to combine pre-rendered + SPA functionality.
Would be nice to have something like "generate.ssr = true" for pre-rendered + SSR functionality.

This feature request is available on Nuxt community (#c8583)

It would be cooler if Nuxt could cache pages based on some properties. That way we could implement the caching ourselves if necessary.

I think this is also something that I need. The initial server response time is regularly >1.5s which is quite slow IMO. Getting that initial page to load static index.html with a fallback for dynamic routes would be awesome.

@Timkor, are you aware of the possibility of component caching? https://nuxtjs.org/faq/cached-components#how-to-cache-vue-components-

My Solution
nuxt.config.js
export default {
  serverMiddleware: [
    '@/serverMiddleware/selectNuxtMode'
  ]
}

/serverMiddleware/selectNuxtMode.js
export default function selectNuxtMode (req, res, next) {
  const isNotCrawler = !req.isCrawler
  res.spa = isNotCrawler
  res.setHeader('mode', res.spa ? 'spa' : 'universal')
  return next()
}

I have found alternative solution for devs that uses Zeit's Now as a backend: Serverless Pre-Rendering (SPR) by Zeit
Sample code for nuxt


No option to hid "deploy to openshift" button

There's no option to hide the rather intrusive "Deploy to OpenShift" button. It's displayed every time I open a Java file even if the project doesn't use Quarkus. Moreover, clicking it just shows the error "No Quarkus projects were detected in this folder", so what's the point of always displaying this? At the very least, there should be an option to permanently hide the button.

Agreed. I think this would be improved by https://github.com/redhat-developer/vscode-quarkus/issues/497 . I think the Quarkus extension can activate, but not make any contributions to the UI / start its language server unless the workspace really contains a Quarkus project.

This should be resolved now. A lot of the menu contributions rely on the quarkusProjectExistsOrLightWeight context being set.
This will be part of the eventual 1.12.0 release, but for now we also deploy pre-releases to the VS Code Marketplace. Feel free to re-open if there's still a problem we've missed.


UseCase integration Support

Description

With this Feature all work will be capsuled on which we support other teams in integrating the irs in their foss applications, such as trace-x, digital product pass and others
Impact

trace-x
DPP

Additional information

[ ] ...

hi @jzbmw could we close this issue seems that is already done?
Hint: If you close directly the issue it will automatically moved to "Done" status.


BAT implementation

This should be the final inclusion of BAT. I also added CM and BOB to use utils/calcs and made everything float16 as I found no difference in initial performance comparisons between float16 and float64 for the reps.

Tests will help in a future commit but this looks good!


Consider adding Spring Boot 2 support

Relates to https://github.com/spring-projects/spring-boot/issues/13510
We are reviewing our community starters list and a quick look here suggests that this starter doesn’t yet support Spring Boot 2.
Can you please let us know if/when you plan to support Spring Boot 2?
Thanks!

https://github.com/infinispan/infinispan-spring-boot/pull/50

@snicoll PR has been integrated and the starter now uses Spring Boot 2. Anything else you need from us?


Extension causes high cpu load

Issue Type: Performance
Extension Name: python
Extension Version: 2019.1.0
OS Version: Linux x64 4.15.0-45-generic
VSCode version: 1.31.0

:warning: Make sure to attach this file from your home-directory: /home/anderson/ms-python.python-unresponsive.cpuprofile.txt :warning:
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

ms-python.python-unresponsive.cpuprofile.txt

Can you please describe the steps you performed in VS Code that expose the slowdown?

@kartikr please review the cpuprofile using the link provided by the user

Looks like the extension is slowing down due to slow disc IO.
Unfortunately there's not much we can do about this, apart from turning off discovery of environments from directories.
Closing in favor of #4539


feat(integration/qlik): Qlik cloud connector integration

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Mostly looks good
For the table -> chart lineage, it sounds like we can't get in depth information about the tables/columns used yet. As such, can we simply add all tables within the app as upstreams of the chart? It will be a superset of the correct lineage, but it's better than having no lineage.

Done


Filter out anonymous records in API docs

Description:
$Subject
eg: In buitin docs

What do you mean by this? Do you mean not to document anonymous records at all? What about anonymous records used in function params?
@hemikak thoughts?

Closing since this will be addressed via https://github.com/ballerina-platform/ballerina-lang/issues/20024.


plugin not working for ios

Expected Behaviour
after installing the plugin and trying to registerForPushNotifications() by doing a push.init(). But request for push notifications is not displaying. i have followed the steps given in the help page as is. upgraded to ios4.1. created new app a couple of times but still the alert/request for push notification is not showing.
Actual Behaviour
PushNotification object in window.cordova.plugins is coming as Null. i am trying on actual device.
Reproduce Scenario (including but not limited to)
Steps to Reproduce

Just create a new app
add push plugin
in app.js, under ionic.ready call method registerForPush() where i will do an init. registerPush itself is not getting called.

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
iOS9.2 and 9.3
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Cordova CLI version and cordova platform version
latest
cordova --version                                    # e.g. 6.0.0
cordova platform version android                     # e.g. 4.1.1
Plugin version
latest
cordova plugin version | grep phonegap-plugin-push   # e.g. 1.5.3
Sample Push Data Payload
Sample Code that illustrates the problem
Logs taken while reproducing problem

@praveens96 sorry, are you testing this in the iOS simulator?

i have tried in simulator and device.
also, on android device when trying the below received Service_Not_Available error message:
var push = PushNotification.init({
android: {
senderID: "927016678125"
},
ios: {
alert: "true",
badge: true,
sound: 'false'
},
windows: {}
});
push.on('registration', function(data) {
console.log(data.registrationId);
alert("registered");
});
push.on('error', function(e) {
console.log(e.message);
alert("push errr"+e.message);
});
do you have idea on this?

@praveens96 On iOS did you setup your certs with the push capability?
On Android if you see Service_Not_Available it's exactly that. Your device cannot connect to the GCM servers. Do you have internet connection?

Thanks Simon. i have got it in android. in iOS i am planning to use azure. there in the notification HUB i have placed my certificates. i guess prior to that it should ask for permission to send push notifications. correct? i am not getting that even. Azure push notification uses this plugin so, i am not sure how to proceed for iOS.
ref: https://azure.microsoft.com/en-in/documentation/articles/app-service-mobile-cordova-get-started-push/

i remove ios.json in plugins folder and then removed platform ios from terminal. then added platform then built ios. it worked then but didnt got the registration id from apns i.e. push.on('registration') or push.on('error') callbacks are not getting called. any idea how to solve this?

You may check this: works for iOS and Android
https://github.com/mail2lulu/cordova-plugin-fcm.git

@mail2lulu hey, it would be great if you could contribute some of that FCM code into the v2.0.x branch of this plugin as we want to support FCM in an upcoming release.

@praveens96 it sounds like you don't have the certs on your build machine to give the app push privs. Can you run in Xcode to see what the logs are?

@macdonst it was an issue with provisioning profile. i havent gave my apple account and trying to do push register because of which it is not getting registered. issue is resolved now.


Use VMM toolchain config to build newlib

Here's an attempt at issue 753. I think the VMM compiler and linker should be used to compile and link newlib since it is strictly a VMM dependency. In this pull request the compiler and linker for the VMM are pulled from the VMM_TOOLCHAIN_PATH. Once I tried this, newlib failed to compile since ${CMAKE_INSTALL_PREFIX}/bin/ld did not point to a valid linker, so I changed the default VMM toolchain file to use ${VMM_PREFIX_PATH}/bin/ld instead. This is the path that currently gets used by default in master. Newlib should now build with a developer-specified compiler and linker.

 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.


when a file download, the sidebar opens

In the file download, the sidebar opens
option  ("downloadOnOpen": true) active
version : 1.3.8
platform : windows 10

Fix in 1.3.9.