cpu 100+%

English is poor
After using for a period of time, the usage rate of cpu will always exceed 100%.
Platform:

Top:

Trace File:
trace.zip

Hi,
do you have some logs maybe (Tracing is described in Wiki)? I cannot identify the root cause from high CPU load only.
Best regards
Christian

@wangchaoit i have the same problem with you

Same here!!!

i think it is asp.net core websocket problem,when i have many websocket subscribe and many websocket client, it maybe crash cpu 100%

I'm not using websockets and I've 100% CPU

@imperugo di you publish in linux?

Yes

same to you,

reading the release doc, this version https://github.com/chkr1011/MQTTnet/releases/tag/v3.0.10 seems to fix the problem

Core] Fixed issue in closed socket detection (fixes high CPU load issue).

Need to try it

I have an instance of the MQTTNet broker running in a .NETCore 3 host (not webhost).
After some time it will start using more and more CPU, and it seems to correlate with the time where this kind of trace is made:
>> [2020-06-10T05:35:31.9664655Z] [15] [MqttClientSessionsManager] [Error]: Specified argument was out of the range of valid values.
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
   at MQTTnet.AspNetCore.SpanBasedMqttPacketBodyReader.ReadSegmentWithLengthPrefix()
   at MQTTnet.AspNetCore.SpanBasedMqttPacketBodyReader.ReadStringWithLengthPrefix()
   at MQTTnet.Formatter.MqttPacketFormatterAdapter.ParseProtocolVersion(ReceivedMqttPacket receivedMqttPacket)
   at MQTTnet.Formatter.MqttPacketFormatterAdapter.DetectProtocolVersion(ReceivedMqttPacket receivedMqttPacket)
   at MQTTnet.AspNetCore.ReaderExtensions.TryDecode(MqttPacketFormatterAdapter formatter, SpanBasedMqttPacketBodyReader reader, ReadOnlySequence`1& input, MqttBasePacket& packet, SequencePosition& consumed, SequencePosition& observed, Int32& bytesRead)
   at MQTTnet.AspNetCore.MqttConnectionContext.ReceivePacketAsync(TimeSpan timeout, CancellationToken cancellationToken)
   at MQTTnet.Server.MqttClientSessionsManager.HandleClientConnectionAsync(IMqttChannelAdapter channelAdapter, CancellationToken cancellationToken)

>> [2020-06-10T05:35:42.0800685Z] [9] [MqttClientSessionsManager] [Error]: Specified argument was out of the range of valid values. (Parameter 'length')
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'length')
   at MQTTnet.AspNetCore.SpanBasedMqttPacketBodyReader.ReadSegmentWithLengthPrefix()
   at MQTTnet.AspNetCore.SpanBasedMqttPacketBodyReader.ReadStringWithLengthPrefix()
   at MQTTnet.Formatter.MqttPacketFormatterAdapter.ParseProtocolVersion(ReceivedMqttPacket receivedMqttPacket)
   at MQTTnet.Formatter.MqttPacketFormatterAdapter.DetectProtocolVersion(ReceivedMqttPacket receivedMqttPacket)
   at MQTTnet.AspNetCore.ReaderExtensions.TryDecode(MqttPacketFormatterAdapter formatter, SpanBasedMqttPacketBodyReader reader, ReadOnlySequence`1& input, MqttBasePacket& packet, SequencePosition& consumed, SequencePosition& observed, Int32& bytesRead)
   at MQTTnet.AspNetCore.MqttConnectionContext.ReceivePacketAsync(TimeSpan timeout, CancellationToken cancellationToken)
   at MQTTnet.Server.MqttClientSessionsManager.HandleClientConnectionAsync(IMqttChannelAdapter channelAdapter, CancellationToken cancellationToken)

From a CPU profiling session (this happens on my developer machine after some time as well) one thread going crazy. Furthermore most of the time is spent inside System.IO.Pipelines that seems to be called by MQTTNet.

For some reason it seems like my MQTT clients like to connect twice with the same ClientID causing a Takeover disconnect every few seconds - not sure if that is related.

@chkr1011 any news on this issue?

@JanEggers I have no idea about the pipe stuff so I assume this is an issue for you 😄

My MQTT server, updated with the new version of MQTTnet (3.0.12), continue to have the same problem (after one day of running, the usage rate of CPU always exceed 100%).
Somebody else? Or it is only my problem...

Same here. Updated to latest version but nothing change

@imperugo @matteodav can you provide any details to track this down? my deployments are runnng for month / years without issues.

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
20287 root      20   0 4224108 142480  51604 S 199.7  1.8 864:34.25 dotnet
dotnet-dump
OS Thread Id: 0x7ded (16)
Child SP               IP Call Site
00007F321BFFE520 00007F329EFFAB2A System.IO.Pipelines.Pipe.AdvanceReader(System.IO.Pipelines.BufferSegment, Int32, System.IO.Pipelines.BufferSegment, Int32) [//src/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.cs @ 555]
00007F321BFFE5D0 00007F329F020BAD System.IO.Pipelines.Pipe+DefaultPipeReader.AdvanceTo(System.SequencePosition, System.SequencePosition)
00007F321BFFE600 00007F329EFB9D75 MQTTnet.AspNetCore.MqttConnectionContext+d__37.MoveNext()
00007F321BFFE880 00007F329EFCF651 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [//src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs @ 315]
00007F321BFFE8C0 00007F329FD2C37C System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.__Canon, System.Private.CoreLib],[MQTTnet.AspNetCore.MqttConnectionContext+d__37, MQTTnet.AspNetCore]].MoveNext(System.Threading.Thread) [//src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 654]
00007F321BFFE900 00007F329EBC5649 System.Threading.ThreadPoolWorkQueue.Dispatch() [//src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F321BFFED10 00007f3312ceb5ef [DebuggerU2MCatchHandlerFrame: 00007f321bffed10]
clrstack -a
OS Thread Id: 0x7ded (16)
Child SP               IP Call Site
00007F321BFFE520 00007F329EFFAB2A System.IO.Pipelines.Pipe.AdvanceReader(System.IO.Pipelines.BufferSegment, Int32, System.IO.Pipelines.BufferSegment, Int32) [/_/src/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.cs @ 555]
PARAMETERS:
this =
consumedSegment =
consumedIndex =
examinedSegment =
examinedIndex =
00007F321BFFE5D0 00007F329F020BAD System.IO.Pipelines.Pipe+DefaultPipeReader.AdvanceTo(System.SequencePosition, System.SequencePosition)
PARAMETERS:
this =
consumed =
examined =
00007F321BFFE600 00007F329EFB9D75 MQTTnet.AspNetCore.MqttConnectionContext+d__37.MoveNext()
PARAMETERS:
this (0x00007F321BFFE620) = 0x00007f32747dbec8
00007F321BFFE880 00007F329EFCF651 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/_/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs @ 315]
PARAMETERS:
threadPoolThread =
executionContext =
callback =
state =
00007F321BFFE8C0 00007F329FD2C37C System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.__Canon, System.Private.CoreLib],[MQTTnet.AspNetCore.MqttConnectionContext+d__37, MQTTnet.AspNetCore]].MoveNext(System.Threading.Thread) [/_/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 654]
PARAMETERS:
this =
threadPoolThread =
00007F321BFFE900 00007F329EBC5649 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F321BFFED10 00007f3312ceb5ef [DebuggerU2MCatchHandlerFrame: 00007f321bffed10]

clrstack -a
OS Thread Id: 0x7ded (16)
Child SP               IP Call Site
00007F321BFFE520 00007F329EFFAB2A System.IO.Pipelines.Pipe.AdvanceReader(System.IO.Pipelines.BufferSegment, Int32, System.IO.Pipelines.BufferSegment, Int32) [/_/src/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.cs @ 555]
PARAMETERS:
this =
consumedSegment =
consumedIndex =
examinedSegment =
examinedIndex =

00007F321BFFE5D0 00007F329F020BAD System.IO.Pipelines.Pipe+DefaultPipeReader.AdvanceTo(System.SequencePosition, System.SequencePosition)
PARAMETERS:
this =
consumed =
examined =
00007F321BFFE600 00007F329EFB9D75 MQTTnet.AspNetCore.MqttConnectionContext+d__37.MoveNext()
PARAMETERS:
this (0x00007F321BFFE620) = 0x00007f32747dbec8
00007F321BFFE880 00007F329EFCF651 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/_/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs @ 315]
PARAMETERS:
threadPoolThread =
executionContext =
callback =
state =
00007F321BFFE8C0 00007F329FD2C37C System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.__Canon, System.Private.CoreLib],[MQTTnet.AspNetCore.MqttConnectionContext+d__37, MQTTnet.AspNetCore]].MoveNext(System.Threading.Thread) [/_/src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 654]
PARAMETERS:
this =
threadPoolThread =
00007F321BFFE900 00007F329EBC5649 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F321BFFED10 00007f3312ceb5ef [DebuggerU2MCatchHandlerFrame: 00007f321bffed10]
setthread 15

clrstack
OS Thread Id: 0x729 (15)
Child SP               IP Call Site
00007F3238AC0BD0 00007F329EFF6E5F System.IO.Pipelines.Pipe.GetReadResult(System.IO.Pipelines.ReadResult ByRef) [//src/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.cs @ 863]
00007F3238AC0CB0 00007F329EFF6C0D System.IO.Pipelines.Pipe.ReadAsync(System.Threading.CancellationToken) [//src/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.cs @ 675]
00007F3238AC0DF0 00007F329EFF6AA2 System.IO.Pipelines.Pipe+DefaultPipeReader.ReadAsync(System.Threading.CancellationToken) [//src/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.DefaultPipeReader.cs @ 27]
00007F3238AC0E00 00007F329EFB966B MQTTnet.AspNetCore.MqttConnectionContext+d__37.MoveNext()
00007F3238AC1080 00007F329FD2C584 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[MQTTnet.AspNetCore.MqttConnectionContext+d__37, MQTTnet.AspNetCore]](d__37 ByRef) [//src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 1036]
00007F3238AC10C0 00007F329FD2C4C4 MQTTnet.AspNetCore.MqttConnectionContext.ReceivePacketAsync(System.TimeSpan, System.Threading.CancellationToken)
00007F3238AC1140 00007F329EFB834C MQTTnet.Server.MqttClientSessionsManager+d__24.MoveNext()
00007F3238AC13F0 00007F329EFB8133 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[MQTTnet.Server.MqttClientSessionsManager+d__24, MQTTnet]](d__24 ByRef) [//src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 1036]
00007F3238AC1460 00007F329EFB808B System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[MQTTnet.Server.MqttClientSessionsManager+d__24, MQTTnet]](d__24 ByRef)
00007F3238AC1480 00007F329EFB8030 MQTTnet.Server.MqttClientSessionsManager.HandleClientConnectionAsync(MQTTnet.Adapter.IMqttChannelAdapter, System.Threading.CancellationToken)
00007F3238AC1540 00007F329EFB7F69 MQTTnet.Server.MqttClientSessionsManager.HandleClientConnectionAsync(MQTTnet.Adapter.IMqttChannelAdapter)
00007F3238AC1570 00007F329EFB7ED5 MQTTnet.Server.MqttServer.OnHandleClient(MQTTnet.Adapter.IMqttChannelAdapter)
00007F3238AC1590 00007F329EFB74FF MQTTnet.AspNetCore.MqttConnectionHandler+d__4.MoveNext()
00007F3238AC1680 00007F329EFB7273 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[MQTTnet.AspNetCore.MqttConnectionHandler+d__4, MQTTnet.AspNetCore]](d__4 ByRef) [//src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 1036]
00007F3238AC16F0 00007F329EFB71CB System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[MQTTnet.AspNetCore.MqttConnectionHandler+d__4, MQTTnet.AspNetCore]](d__4 ByRef)
00007F3238AC1710 00007F329EFB717C MQTTnet.AspNetCore.MqttConnectionHandler.OnConnectedAsync(Microsoft.AspNetCore.Connections.ConnectionContext)
00007F3238AC1780 00007F329AC89858 Microsoft.AspNetCore.Connections.ConnectionBuilderExtensions+<>c__DisplayClass0_0`1[[System.__Canon, System.Private.CoreLib]].b__0(Microsoft.AspNetCore.Connections.ConnectionContext) [//src/Servers/Connections.Abstractions/src/ConnectionBuilderExtensions.cs @ 17]
00007F3238AC1790 00007F329AC899D0 Microsoft.AspNetCore.Connections.ConnectionBuilderExtensions+<>c__DisplayClass2_0.b__1(Microsoft.AspNetCore.Connections.ConnectionContext) [//src/Servers/Connections.Abstractions/src/ConnectionBuilderExtensions.cs @ 38]
00007F3238AC17A0 00007F329FD94F74 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection+d__32.MoveNext()
00007F3238AC1850 00007F329FDAD1B4 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection+d__32, Microsoft.AspNetCore.Server.Kestrel.Core]](d__32 ByRef) [//src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/AsyncMethodBuilder.cs @ 1036]
00007F3238AC1890 00007F329FDAD109 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection.ExecuteAsync()
00007F3238AC18F0 00007F329FDAD0B6 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.KestrelConnection.System.Threading.IThreadPoolWorkItem.Execute() [//src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelConnection.cs @ 181]
00007F3238AC1900 00007F329EBC5666 System.Threading.ThreadPoolWorkQueue.Dispatch() [/_/src/System.Private.CoreLib/shared/System/Threading/ThreadPool.cs @ 699]
00007F3238AC1D10 00007f3312ceb5ef [DebuggerU2MCatchHandlerFrame: 00007f3238ac1d10]

@JanEggers Isn't there already a fix in master for this?

@JanEggers Isn't there already a fix in master for this?

v3.0.11

@chkr1011 I did change something that should have improved the behavior in case of invalid packets but I was never able to reproduce the 100% cpu in idle

still have issue with sdk 3.1.405+, 5 and 6. But one need to put some load on the broker. Otherwise you can't run into the issue

But in my case in MqttServerKeepAliveMonitor.DoWork

Been trying to gather some more information on this one for quite a few months now, here are my findings thus far:

Nearly always happens on CPU constrained machines (either due to load or just old cpu's), newer machines don't seem to have as many issues with it
Happens when running exclusively against localhost, no external connections
Message processing is halted permanently when the CPU usage (at least 2 cores) maxes out
Doesn't happen when the client talks to an external server (Mosquitto), this runs fine for months on end without issues
Takes a long time, mostly 24h+ sometimes just a few hours, sometimes 48+ on our most frequent offender (2 clients 4 messages every 2 seconds)

We are using MQTT on localhost as IPC on windows simply isn't reliable when asynchronously sending messages, even when using external libraries.
We are more than happy to help run test builds on these machines in order to progress, running VS with debugging enabled is not an easy option though.

To me this sounds like a issue with the server in the first place. I created the branch "Fix-high-CPU-usage" with some changes in thread management. The server will now give the OS the chance to schedule other tasks/threads after each packet.
Please let me know if this changes the stability in any way.
You can use the nuget version x.x.x.210 from the MyGet feed. It includes the changes I already made.

Thnx, I'll run it on the most prone machine when the myget package hits .210 (.207 for now).
Many thanks for the response!

.210 is now available.

Deployed, let's see what it does over the weekend.
There is a monitoring tool running which logs and kills it if it goes awry so not much can go wrong.

First results look promising, less spikes and lower overall usage, will report back in a few more days to be sure.

Thanks for the feedback. I am on vacation next week so you can keep it running over the next week as well 😄

Enjoy your holliday, I'll be off after that so might be a while then 👍

Then just leave a comment before. If it already works good I can release a Bugfix version.

0 crashes so far (or any other issues), retained general lower cpu usage, I'd consider it stable for now :)

Back from holiday, no further issues detected, I'd consider it fixed.

Thank you for the feedback.


Weather app extension

This extension will show the current weather wherever you are, will be able to search for current weather in different locations.
I would like to work on this issue under GSSOC, kindly assign it to me.

ok go ahead @miraehab, I am assigning you this issue

closing this issue since the PR is merged :)


commonize tester arguments in a single location

Change Description
When running unittests there are some optional arguments that can be given like --verbose or --(name of wasm runtime). There are some glaring problems with the current approach: the code is duplicated (actually triplicated, as I'll get to in a moment), arguments are handled at different locations, and unknown arguments are silently ignored.
The last one is a nasty gotcha. If you try running the unit tests with --wovm thinking you were going to run the unit tests with the WAVM runtime the code will silently ignore that unknown argument and run the tests with the default runtime instead. This can be incredibly deceptive.
This PR seeks the resolve all the above issues. I'm not thrilled about having to set a static member in base_tester now but it's a considerable step up from where we were IMO. There might be some other arguably better ways like moving the static variable to a global test fixture or something... if someone really wants to push for that we could do it.
🚨🚨This will break eosio.contracts because this initialization code was copy pastaed there a third time so there will be a duplicate symbol when linking with tester library. Not sure how to best handle that.
Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

I think better than a global fixture (which will be built and torn down a lot) we should use BOOST_TEST_GLOBAL_CONFIGURATION
Its not well documented but it is what Boost::Test uses to initialize its logging etc.  The pro is that its guaranteed to be once per invocation.

I think, if we are going for a more complete solution we should consider a few things:
is this still enabling?:
std::srand(time(NULL));
std::cout << "Random number generator seeded to " << time(NULL) << std::endl;

do we have tests that depend on std::rand and if so, can we change that?  My instinct says that we don't actually consume any random numbers in our tests.  If we do, that seems like something we may want to attempt to address in a way that doesn't make assumptions about the long-term stability of the sequence of random values that are produced after std::srand(time(NULL)); is called across platforms and standard library implementations.
Can we separate the needs of fc (initializing logging with the --verbose option) from the needs of the tester/chain libraries (selecting a wasm backend) without losing the ability to assert all options are known?
Related to that, is it appropriate to have a command line switch for the wasm backend selector OR is there a way to work this into the unit tests explicitly via something like BOOST_AUTO_TEST_CASE_TEMPLATE such that we can run a subset of the backends using the standard filters for test cases that the boost test framework provides?

The wasm_backend is a runtime parameter, so Data driven test cases would be more appropriate than BOOST_AUTO_TEST_CASE_TEMPLATE

I don't know enough about data driven testing in boost however, I suspect there will be times when people want to run a full battery of tests on only a single backend.   The command line argument was nice for that and integrating it into the test cases such that you can filter by a backend would have maintained that capability.
Is there a convenient way to do that with the data driven tests?

The only use of rand that I could find is in producer_scheduler_tests.cpp using boost::range::random_shuffle.

I don't know enough about data driven testing in boost however, I suspect there will be times when people want to run a full battery of tests on only a single backend. The command line argument was nice for that and integrating it into the test cases such that you can filter by a backend would have maintained that capability.
Is there a convenient way to do that with the data driven tests?

You can choose tests by name, and the data is appended to the test case name, so:
test_executable --run_test='*_wavm'

You can choose tests by name, and the data is appended to the test case name, so:
test_executable --run_test='*_wavm'

Never mind, that's not right.

The only use of rand that I could find is in producer_scheduler_tests.cpp using boost::range::random_shuffle.

Those seem easily replaced with explicit pairwise swaps.  We just want a the resulting schedule to be different than the current schedule.  Each successive schedule could just ping/pong back and forth.  For instance, each time std::swap(producers.front(), producers.back());  should produce a schedule thats different than the previous even if its the same as the previous's previous.

Never mind, that's not right.

I think -t '*/_wavm' would be the right syntax for that?

For BOOST_DATA_TEST_CASE, the component test cases are numbered, _0, _1, _2, etc.  wavm won't make it into the name, unfortunately.  BOOST_AUTO_TEST_CASE_TEMPLATE does include the demangled type name, so it'll probably work better for our purposes, for now.

Nope, it seems it is not possible to "rename" the dataset's naming of each test. So it would always be named foo/_0 and foo/_1, so there would be no way to enable/disable all test for a runtime via a name that way. We could make the dataset dynamically change its indexes based on the command line.

The only use of rand that I could find is in producer_scheduler_tests.cpp using boost::range::random_shuffle.

Those seem easily replaced with explicit pairwise swaps. We just want a the resulting schedule to be different than the current schedule. Each successive schedule could just ping/pong back and forth. For instance, each time std::swap(producers.front(), producers.back()); should produce a schedule thats different than the previous even if its the same as the previous's previous.

How about std::next_permutation?

How about std::next_permutation?

I don't have any major issue with it.  Minor issue is it seems like overkill but I agree that the intent of the code is more legible than the std::swap version.

seems like BOOST_AUTO_TEST_CASE_TEMPLATE loses fixture support, is that something we're okay with?

seems like BOOST_AUTO_TEST_CASE_TEMPLATE loses fixture support, is that something we're okay with?

In a world with no perfect solutions, I think I'd prefer to keep fixture support and solve this through one of the other options.  If that means we are still parsing "extra" options after the standard boost options with some global or fixture or configuration then so be it.


Closing entire group

By setting firstSlide = 0 I'm able to have the group start as closed; however, I'm trying to hack the code to have if you click on the first slide while it's already open it actually closes the entire group.
If you know of any easy solution to this it would be much appreciated.

Hi isleshocky77,
Having the group closed was never an intended function - in fact I hadn't realised that it was something people wanted until recently.
Anyways, here's something really hacky I hacked up for you :)
http://jsfiddle.net/FYTtq/5/
Enjoy!
Cheers,
Nikki.

Thank you so much for taking the time to do that but I had already hacked the plugin to make it work for me. Here is a diff of the file.  Sorry for the mess since I have some automatic code cleanup going on (spaces, etc). Good stuff is at line 251
http://pastebin.com/iibzEr8Z

D'oh nevermind.  Glad you got it working.


fix TypeError regarding the VKeyboard

When porting my app from kivy 2.0.0 to 2.1.0 I encountered the following exception during startup. The app uses a custom keyboard class with self.root_window.set_vkeyboard_class(CustomKeyboard).
The proposed change fixes the issue
Traceback (most recent call last):
File "kivy/_clock.pyx", line 649, in kivy._clock.CyClockBase._process_events
File "kivy/_clock.pyx", line 218, in kivy._clock.ClockEvent.tick
File "/home/pi/servoklippo/klippy-environment/lib/python3.10/site-packages/kivy/core/window/init.py", line 628, in _upd_kbd_height
self._keyboard_changed = not self._keyboard_changed
File "kivy/properties.pyx", line 520, in kivy.properties.Property.set
File "kivy/properties.pyx", line 567, in kivy.properties.Property.set
File "kivy/properties.pyx", line 606, in kivy.properties.Property._dispatch
File "kivy/_event.pyx", line 1307, in kivy._event.EventObservers.dispatch
File "kivy/_event.pyx", line 1213, in kivy._event.EventObservers._dispatch
File "kivy/properties.pyx", line 1639, in kivy.properties.AliasProperty.trigger_change
File "kivy/properties.pyx", line 1641, in kivy.properties.AliasProperty.trigger_change
File "/home/pi/servoklippo/klippy-environment/lib/python3.10/site-packages/kivy/core/window/init.py", line 666, in _get_kheight
return self._get_kivy_vkheight()
File "/home/pi/servoklippo/klippy-environment/lib/python3.10/site-packages/kivy/core/window/init.py", line 650, in _get_kivy_vkheight
if isinstance(w, VKeyboard):
TypeError: isinstance() arg 2 must be a type, a tuple of types, or a union

I agree, #7846 should be merged instead.


Introduce a width paramter for the lane.

This way, if there is an obstacle on some part of the lane, the algorithm still knows to identify the lanes using the width difference.

Please correct me if I am wrong,
What I understood is if we are not able to detect an edge due to some obstacle then the width parameter will be used to detect that edge from the opposite edge at the distance of the specified width.

yes , absoulutely!

Do u want to work on this?

Yes.

ok great


Add upper bound for Unitful version to UnitfulAtomic

There was no upper bound for Unitful in UnitfulAtomic 0.3.0, so I added one.

Can you confirm that when using your branch of the registry, you can do things like ] add UnitfulAtomic and everything still works correctly?

How do I add a custom branch of a registry? I tried
pkg> registry add https://github.com/sostock/General#unitfulatomic_upper_bound
   Cloning registry from "https://github.com/sostock/General#unitfulatomic_upper_bound"
ERROR: failed to clone from https://github.com/sostock/General#unitfulatomic_upper_bound, error: GitError(Code:ERROR, Class:Net, unexpected HTTP status code: 400)

pkg> registry add https://github.com/sostock/General@unitfulatomic_upper_bound
   Cloning registry from "https://github.com/sostock/General@unitfulatomic_upper_bound"
ERROR: failed to clone from https://github.com/sostock/General@unitfulatomic_upper_bound, error: GitError(Code:ERROR, Class:Net, unexpected HTTP status code: 400)

pkg> registry add https://github.com/sostock/General unitfulatomic_upper_bound
   Cloning registry from "https://github.com/sostock/General"
     Added registry `General` to `~/.julia/registries/General`
ERROR: no path or url specified for registry

In Bash:
git clone https://github.com/sostock/General General # clone your fork
cd General
git checkout unitfulatomic_upper_bound # checkout your branch
rm -rf ~/.julia # make sure you have a clean setup
julia # start a Julia REPL

Now, in the Julia REPL:
julia> import Pkg
julia> Pkg.Registry.add(Pkg.RegistrySpec(path = pwd()))

Can you confirm that when using your branch of the registry, you can do things like ] add UnitfulAtomic and everything still works correctly?

It works on my machine.

@fredrikekre Can you double-check that the updated PR still looks correct?

I’ll merge this since @sostock tested it and it seems to work.
@fredrikekre revert if I’m mistaken.


fix: paste image from file path

clip.raw is the path to image file rather than the base64 data, so this feature does not actually work now.

Seems it used to be base64 or something? Why did this changed?

clip.raw has been a path since three years ago:
https://github.com/tinytacoteam/zazu-clipboard/blob/8e792529cfc591315475d3f2a792b1c3bf6a2536/src/monitor.js#L44

Interesting...

Have you tested it locally?

Sure, it works for me now.

Thanks for your work!


Added the call for RunAnalysis to Trigger Analysis API

This commit integrates the new Analysis API in Snyk Code scanning flow.
It does poll for result, but does not actually reads out the findings.

 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.

This commit integrates the new Analysis API in Snyk Code scanning flow.
It does poll for result, but does not actually reads out the findings.


Bootstrap tabs WAI-ARIA attributes set for better accessibility

Again from the paypal/bootstrap-accessibility-plugin, these changes should be added to the documentation and the JS plugin.
Tab Panel

Add ARIA roles like tablist, presentation, and tab for tabs UL, LI.
Add tabIndex, aria-expanded, aria-selected, aria-controls for tab.
Add ARIA roles of tabpanel, tabIndex, aria-hidden, and aria-labelledBy for tabPanel.
Add keydown event listener for the tab to work with keyboard.
Dynamically flip tabIndex, aria-selected, and aria-expanded for tab when it is activated and add aria-hidden to hide the previously visible tab.

the role="tabpanel" doesn't need to be applied to the parent div it's only needed for the content div  :

...

...

...

must be :

...

...

...

@goetsu i believe that is incorrect. please refer to the examples for http://www.w3.org/TR/wai-aria-practices/#tabpanel - e.g. http://www.oaa-accessibility.org/examplep/tabpanel1/

that's what i do and there is no role tabpanel on the parent div

and there isn't a role="tabpanel on the parent div in http://getbootstrap.com/javascript/#markup either, so not sure what you're driving at here.

Ah, now I see what you mean. Your second code example removes role="tabpanel" from the actual tab panel itself, so that's quite confusing - and that part is clearly wrong in your proposed change.
Can I suggest that you don't simply append comments to issues like this in future, and please file an appropriate separate issue, being quite specific about what you actually mean?

ok sorry for that and I agree that the actual tab panel itself need role="tabpanel"

What's the status of this one? Does a lot of stuff still need addressing? What can be done in v3 vs v4?
/cc @patrickhlauke

Need some time to review what our current state of tabs is, as I've admittedly lost track. I'm guessing if we're still missing something related to attributes, that'll be fixed with my plan to automagically inject them.

I've been doing some work recently with adding additional accessibility and flexibility to the already good work done with tabs. One thing relevant here is changing the attribute on the tab from aria-expanded to aria-selected to conform to standards. ("In either case, authors SHOULD ensure that a selected tab has its aria-selected attribute set to true....") I also abstracted the markup a bit to allow tabs that are not structured as a list. (Recently found that some screen-reader users prefer this, particularly for site navigation. See this CSS-tricks post.) Other work I'm doing looks like it addresses some of the issues in the original post.
So this is basically following Step 1 of the Pull Request contribution guidelines: asking first if my work and contribution would be useful.

Bootstrap 3 is no longer being officially developed or supported.
All work has moved onto our next major release, v4. As such, this issue or pull request is being closed as a "won't fix." For additional help and support, we recommend utilizing our community resources. Thanks for your understanding, and see you on the other side of v4!
<3,
@mdo and team


The video screen goes white when you click the search,

The Issue
The video screen goes white when you click the search, and after you exit the search bar by clicking back, still appears white and blank but you can hear the video playing until you tap the screen, then the video comes up again. This only happens in Landscape mode and I have been able to generate it over again...
System Configuration

Device: Lenovo Vibe K4 Note
Android version: 6.0 Marshmallow

https://github.com/lbryio/lbry-android/pull/197 should fix this.


box cursor color in vim does not get set correctly

Describe the bug
When using vim, the box-cursor represents where you are. This is typically set to be a contrasting color from the background. When using a dark theme in Wave and using the default color scheme in vim, this is set correctly. When using a theme with a white background, however, the cursor appears to be missing and you cannot see the location of your cursor.
To Reproduce
Steps to reproduce the behavior:

Set theme to Light.
Open vim with no plugins: vim --clean
Observe that the box cursor is not visible.
Set the color scheme to blue with :colo blue. Observe that the box cursor is visible.

Expected behavior
The box cursor color should contrast with the background and should be set if a vim colorscheme sets it.
Screenshots

Desktop (please complete the following information):

OS: Fedora 38 (Workstation Edition)
Version: 0.7.0 20240308-220638

Additional context
It's possible this is a vim configuration issue, but since I can reproduce it with none of my config and with default colorschemes that behave correctly in other terminals, I suspect it's an interaction with Wave in particular. But happy to be wrong if there's a solution, looking forward to using Wave!

Thanks for submitting!  We're working out a couple of kinks in light mode.  Just reproduced the bug on my dev environment so we should be able to get this patched quickly.

fixed in v0.7.1


Add ability to retrieve a list of all active features

Satisfy the request in issue #36 and pull request #35 (oops, should have looked a little closer first, thanks to @pmeskers).   Only real difference is the name of the function is the same as the instance variable (Feature.active_features)
The net is that this provides the ability to retrieve a list of all of the active feature symbols.  Very helpful to display on a debug page.

Coverage decreased (-0.3%) to 96.559% when pulling d77834e7f869df530c1b3a855b5634d09c227320 on krsyoung:list_all_features into ef5750df1a752cdf1dbf973d8c101a1c2524e3b7 on mgsnova:master.

Coverage decreased (-0.3%) to 96.566% when pulling af950cc4c2729ed9938074a4cfe9d394d55a2f49 on krsyoung:list_all_features into ef5750df1a752cdf1dbf973d8c101a1c2524e3b7 on mgsnova:master.

I kind of hand-merge your PR with 01c1553. Thanks for the contribution

Hand-merging works, sorry for the extra hassle :-) Thanks @mgsnova!


⚠ Bofrost.lu has degraded performance

In 8a476a6, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1748 ms

Resolved: Bofrost.lu performance has improved in d05de7a after 12 minutes.


Add tool tips to buttons in FFT button column

Most buttons in WFL have tooltips, but buttons between the chart and the control panel (FFT, Bode, Zoom, etc) do not have tooltips.
Add appropriate tooltips to all buttons.

Fixed in https://github.com/Digilent/waveforms-live/commit/c6f9a93c2a96715b0574334f9ec781d94299e016


Hmmm, are you sure there wasn't a panic or something?

@cpuguy83 Looks like panic and we had similar before.
ping @stevvooe

What does panic mean?. I am a docker newbie.

It means the docker daemon itself crashed, and likely your init system just restarted it

+kind/bug

@jagan-veeraraghavan can you copy your docker daemon logs? (preferably in debug mode)

Is this still a problem for anyone when using the latest Docker version?

Closing this since the version is extremely old and we have no backtrace to analyze. This part of the code has also changed quite a bit since the 1.5 release, so the same panic bugs aren't likely to be present.
If my evaluation is incorrect, please re-open with a trace.


support mTLS for Zookeeper Native Client

@HessTina-YuI thanks for this contribution. However, this PR hasn't implemented the mTLS connection for zookeeper.
please take a look this zookeeper document to set up your environment
And the following issue could help you finish your code.
https://github.com/samuel/go-zookeeper/issues/161

Thx @haoel , I will do it.

Hi @haoel , I support mTLS in zookeeper.


[Camera2Basic] Application not responsive after taking X pictures

Device and System: Multiple, multiple emulator configurations, multiple hardware devices.
No real error in logcat.
Steps:
Remove navController.navigate... part from here.
I want to take multiple pictures, so, just spam the capture button, it happened after 50 as well as 3 pictures on a real device where the bug seems to be popping more often.

I encountered the same problem, after commenting out the preview page jump code, I can only take 63 shots, and then I can't continue shooting


Remove headManager property as it’s unused

This was leftover from before we moved to HeadManagerContext
Also removes emitterProp as it's unused in the Next.js codebase too.

There's not really a good reason to do so, I checked next-rum from godaddy to be sure, they use window.next.emitter, which is also a private API, but intended for debugging.


Ingress ingress-service failed validation: could not find schema for Ingress

Came from https://github.com/instrumenta/kubeval/issues/301 because I got the same issue there 😅
Then I found kubeconform!
I have a file hm-ingress.yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: hm-ingress
  namespace: hm
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web-service
                port:
                  number: 80

Currently when I use kubeconform to validate it, I got error

Ingress hm-ingress failed validation: could not find schema for Ingress

Any idea? Thanks!

There is a schema for ingress https://github.com/yannh/kubernetes-json-schema/blob/master/v1.21.2-standalone/ingress.json  :)
Could you share the command line you are using?

Oh simply kubeconform hm-ingress.yaml

Kubeconform uses 1.18.0 as its default k8s version, and i believe the apiVersion was networking.k8s.io/v1beta  for ingress resources back then. kubeconform  -kubernetes-version=1.19.0 hm-ingress.yaml or using any version >=1.19.0 should work.

I think it makes sense to always use latest unless people need use old version to pin to the old one.
And currently latest version is 1.21.0 already. 😀

Created the feature request at https://github.com/yannh/kubeconform/issues/59
This can be closed as the issue has been found. Thank you @knutgoetz and @yannh help!


Open new shells in new tab.

Description of the new feature/enhancement
I start PowerShell from Start Menu then start cmd from start menu.
What I want
CMD opens a new tab then opens in there.
What happens
CMD starts a new terminal.

You'd be interested in: windowingBehavior


Update GO to 1.19 and format code

Description
Update GO to 1.19 and format code
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

https://github.com/dell/csm/issues/491

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[x] I have maintained at least 90% code coverage
[ ] I have inspected the Grafana dashboards to verify the data is displayed properly
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have maintained backward compatibility

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

[x] Run make check test

Manual inspection of the GUI
I have verified that the dashboards show the data properly while generating I/O and storage resources

[ ] Yes
[x] No

run e2e test

allowedlist.yaml is temporarily added to address vulnerability CVE-2022-27664.

run e2e test

run e2e test

run e2e test

Rebase and merge is disabled in github setting, so squash commits to one, also update golang.org/x/net to v0.0.0-20221017152216-f25eb7ecb193, golang.org/x/text to v0.4.0


IPv6/Multi : A new usGenerateChecksum() that is faster and MISRA compliant

Description
The function usGenerateChecksum() calculates all checksums for all purposes: for the IP-headers ( IPv4 and IPv6 ), and for the protocol headers ( TCP, UDP, and ICMP ).
The current version of usGenerateChecksum() was developed a long time ago. It was heavily optimised for an AVR32 processor ( UC3A ), which has a few handy instructions that ARM doesn't have.
I created a new version that is a lot simpler and faster. Also it is MISRA compatible. What it does is the following:

When the pointer to the buffer is not aligned, the first byte will be stored in usTerm, and the bytes in the accumulator will be swapped.
Now the pointer is 16-bit aligned, it will sum up 16 short values in each loop. When an optimisation flag is passed to the compiler ( -O1 or -Os ), the code will be very efficient.
Store the remaining short values.
Store the last single byte in usTerm, if any.
Add the value of usTerm to the accumulator.
If the accumulator was swapped in step-1, swap it back.

The algorithm is only used when any of these two macros is defined as zero:
#define ipconfigDRIVER_INCLUDED_TX_IP_CHECKSUM		( 1 )
#define ipconfigDRIVER_INCLUDED_RX_IP_CHECKSUM		( 1 )

For SAM ( MicroChip ), there are additional macros that must be set in order to activate the hardware offloading:
#define ipconfigHAS_RX_CRC_OFFLOADING 1
#define ipconfigHAS_TX_CRC_OFFLOADING 1

Test Steps
I tested the new algorithm by comparing it with the existing one.
In the test I created packets with all sorts of alignments, with random contents, and with a length varying from 0 to 1514 bytes.  Each combination was tested.
I tested the new algorithm on real hardware:

STM32F4x ( ST electronics )
Zynq Ultrascale ( Xilinx, 64-bits )
Zynq 7000 ( Xilinx, 32-bits )
AT32UC3A0512 ( big-endian, Microchip )

The new algorithm is faster on an ARM-M4, same speed on the Xilinx parts, and slower on AVR32.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for the update @htibosch.
Can you have a look at the failing checks? If you'd like, I can have a look at that for you.

@n9wxu wrote:

The new checksum function creates some unusual patterns that could be more clear and still follow MISRA. It is possible it will be faster.

What do you mean with "creates some unusual patterns" ?

@n9wxu wrote:

The new checksum function creates some unusual patterns that could be more clear and still follow MISRA. It is possible it will be faster.

What do you mean with "creates some unusual patterns" ?

Sorry, I could have been more clear.  The expected idiom for stepping through an array with a pointer *ptr++ and not ptr = &ptr[1] so I was surprised to find it.  I think the array element dereference method is a natural pattern considering the examples shown in the MISRA documentation but the ++ pattern is still allowed and is more clear.


Correcting install docs to add path for upgrade instructions section

Install docs needed path
cd $GOPATH/src/github.com/lightningnetwork/lnd

before git pull instructions

Commit history needs to be cleaned up.

doh! let me try again, will close this PR


Can't have a selectable row in datatable without a checkbox

What I want are the effects of a selectable row, but without checkboxes, I've seen in one of the closed issues that there was a class named clickable_row but it doesn't exist anymore.

No you can't. A selectable row always contains a checkbox.


Remove dependency on Python

I have tried looking int he source code but I don't understand why we need Python. If we can remove it, it would make code used with this module easier to transport.

Python is required for node-gyp to work.
We do use node-pre-gyp but building binaries for all systems is tedious and we require lot of resources (VMs basically).
On Windows you do not need it if you have windows-build-tools npm package installed globally (I am yet to test this).

As you can see here, we do have a large number of prebuilt binaries available that will be auto downloaded:
https://github.com/octalmage/robotjs/releases/tag/v0.5.1
Python is only a requirement of building.
Please let me know if you still have an issue with this!


Hotfix - saving and retrieving authorization data (REST and RPC)

Fix for issue reported in #126 and #127

Thanks @webimpress !

@jguittard Please do the following as well:

Merge to develop! (see the maintainers guide to merging for details)
In this particular repo, we also need to rebuild the distribution when merging, to ensure it's up-to-date for those using dev-master/dev-develop.

Will do, thx for the reminder!


__dirname is not defined when generating PrismaClient to custom location, w/ SvelteKit

Bug description
Prisma seems to have issues running with SvelteKit when generating the client to some other location other than the default.
When running a production build for the app, the following error will show:
ReferenceError: __dirname is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '/<sveltekit-project-dir>/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
    at file:///<sveltekit-project-dir>/build/server/chunks/2-6f7b7120.js:19960:27
    at file:///<sveltekit-project-dir>/build/server/chunks/2-6f7b7120.js:31969:3
    at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:385:24)
    at async Promise.all (index 1)
    at async render_page (file:///<sveltekit-project-dir>/build/server/index.js:2382:19)
    at async resolve (file:///<sveltekit-project-dir>/build/server/index.js:2872:22)
    at async respond (file:///<sveltekit-project-dir>/build/server/index.js:2910:22)
    at async Array.ssr (file:///<sveltekit-project-dir>/build/handler.js:19060:3)

Notes:

This issue does not happen when running vite dev or vite preview for some reason. Prisma works as expected under those conditions. The error only happens when running the build output directly with node.
If you remove the output option from the generator, then import the prisma client from '@prisma/client', Prisma will run as expected - but unfortunately that doesn't meet my needs.
Reason for this use case: I need to connect to multiple schemas, and I want the benefit of prisma's generated types for both. As far as I know, the only way to connect to multiple schemas is to generate multiple prisma clients - which in turn means I can't use '@prisma/client' because that package will only point to one client at a time. (When generating multiple clients to the default location, they will just overwrite each other)

How to reproduce
See my test repo where I've reproduced the error: https://github.com/McGaelen/prisma-sveltekit
Expected behavior
No error and Prisma runs as expected.
Prisma information

generator client {
  provider = "prisma-client-js"
  output = "../node_modules/custom-client-location"
}
...(the rest is an exact copy of https://www.prisma.io/docs/getting-started/quickstart)

import {PrismaClient} from 'custom-client-location' // <- importing from custom location specified in prisma.schema
const prisma = new PrismaClient()

Environment & setup

OS: macOS, CentOS
Database: PostgreSQL, SQLite, but probably all of them
Node.js version: v16.15.1

Prisma Version
prisma                  : 4.4.0
@prisma/client          : 4.4.0
Current platform        : darwin-arm64
Query Engine (Node-API) : libquery-engine f352a33b70356f46311da8b00d83386dd9f145d6 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli f352a33b70356f46311da8b00d83386dd9f145d6 (at node_modules/@prisma/engines/migration-engine-darwin-arm64)
Introspection Engine    : introspection-core f352a33b70356f46311da8b00d83386dd9f145d6 (at node_modules/@prisma/engines/introspection-engine-darwin-arm64)
Format Binary           : prisma-fmt f352a33b70356f46311da8b00d83386dd9f145d6 (at node_modules/@prisma/engines/prisma-fmt-darwin-arm64)
Format Wasm             : @prisma/prisma-fmt-wasm 4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6
Default Engines Hash    : f352a33b70356f46311da8b00d83386dd9f145d6
Studio                  : 0.474.0

I'm getting this error too, but with solid-start.
file:///<path_to_project>/dist/server.js:36641
        import_path2.default.join(__dirname, "../query-engine-darwin");
                                  ^

ReferenceError: __dirname is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and '<path_to_project>/package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
    at file:///<path_to_project>/dist/server.js:36641:28
    at file:///<path_to_project>/dist/server.js:52455:3
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:530:24)

Would be awesome if this would be fixed!

Can confirm this is an issue we are affected with (Sveltekit + Prisma fails on node-adapter). Probably related to https://github.com/prisma/prisma/issues/5030#issuecomment-1347116391?

FWIW we have since migrated off of SvelteKit + Prisma as being locked in to Vercel for deployments did not meet our requirements.

FWIW we have since migrated off of SvelteKit + Prisma as being locked in to Vercel for deployments did not meet our requirements.

@feynmanliang I got a hacky solution from other thread that works

Linking the solution that @AlienHack mentioned: https://github.com/prisma/prisma/issues/5030#issuecomment-1398076317
It's ugly - but it works. Would love to see some movement on this issues!

Can confirm this is an issue we are affected with (Sveltekit + Prisma fails on node-adapter). Probably related to #5030 (comment)?

THANK YOU. Finally after days of researching to find the root cause of my problem, I finally find someone else who has the same problem!
It's specifically the use of Prisma Client with the node adapter. SvelteKit just happens to be what I'm using to make it work. I don't think it's septically tied to the SSR/Server Side Rendering. That's just the mode.
As you are likely aware, the root cause seems to be that we're using ES6 but the Prisma client is using an old __dirname() function that isn't support/available in ES6. The reason for the continued use of this __dirname() function for the detection of the environment specifically for Vercel hosted websites.
Are you by chance deploying to CapRover PaaS?
I'm still working to find a solution as of this writing.

Hi! This problems came up on Azure Web Service, too
This hack works fine and is brilliant!! ↓
https://github.com/prisma/prisma/issues/5030#issuecomment-1398076317

As you are likely aware, the root cause seems to be that we're using ES2022 but the Prisma client is using an old __dirname() function that isn't support/available in ES2022, which I believe is the default used in SvelteKit. The reason for the continued use of this __dirname() function for the detection of the environment specifically for Vercel hosted websites.

Is there no way to detect if __dirname exists and if not, shim/manage it with import.meta.url?
SvelteKit allows to build and ship the build folder "as is", without needing to install any dependencies after the build.
https://github.com/prisma/prisma/issues/5030#issuecomment-1398076317 solution is not very clean, but it also forces to reinstall @prisma/client where the build is shipped, which is really not convenient!

@gtim mentioned in https://github.com/prisma/prisma/discussions/19564 that our prototype version will ESM support worked.
@feynmanliang @ryoppippi @dievardump @wvhulle @AlienHack @maietta @McGaelen @MilyMilo @apollo79
It would really help if you could try that prototype version, see instruction at https://pris.ly/esm
The more feedback we get, the more confident we will be to bring this into the latest version of Prisma 🙌🏼

I am no longer having any issues with Prisma and not sure what changed. I don't think I will have to run the prototype version-- but just out of curiosity I'll try to make that happen in the next few days and report back any issues I run into.

@gtim mentioned in #19564 that our prototype version with ESM support worked.
@feynmanliang @ryoppippi @dievardump @wvhulle @AlienHack @maietta @McGaelen @MilyMilo @apollo79 It would really help if you could try that prototype version, see instructions at https://pris.ly/esm
The more feedback we get in #19564, the more confident we will be to bring this into the latest version of Prisma 🙌🏼

I also no longer have this issue. Using standard prisma setup, and viola no error appeared.

I'm getting this error now specifically when importing prisma into hooks.server.ts, seems to be working everywhere else!

I'm getting this error now specifically when importing prisma into hooks.server.ts, seems to be working everywhere else!

Is this only in deployments and if so, are you by chance using the Node adapter? This is where I was having this issue, but no longer am I having the issue.

@maietta Yup! Only when running the Node build!
Working in +page.server.ts though, how did you fix?

The same build works fine on all prisma versions <=4.16.0! Broke in 4.16.1

@maietta Yup! Only when running the Node build!
Working in +page.server.ts though, how did you fix?

I honestly don't know. Just one day it started working. I was able to deploy to Vercel without issues, but not using Node adapter until one day it just started working.
Frustrating not knowing the exact reason.
But, you say have specific version nailed down from working to non-working, so that means we can review what changed between versions.

simillar problem with running binary executable produced by  bun build --compile
start error info
prisma:error Can't find variable: __dirname
1 | __dirname
   ^
ReferenceError: Can't find variable: __dirname
      at compiled://root/test-elysia:4097:69
      at processTicksAndRejections (:1:2602)

Can you open a new issue for this @lost22git? WIth bun that is a different problem for us. Thank you.
(Please fill the full issue template so we can hopefully reproduce this.)

I'm getting this error now specifically when importing prisma into hooks.server.ts, seems to be working everywhere else!

@Torbet Did you find a solution? Get the same, only in hooks.server.ts, with node build

I have created a shell script that updates the build/handler.js and adds the missing globals.
fix_dirname_error.sh:
`
#!/usr/bin/bash
sed -i '/await server.init/i
globalThis.__filename = fileURLToPath(import.meta.url);
globalThis.__dirname = path.dirname(__filename);' build/handler.js
`
then in the package.json update the build command:
"build": "vite build && ./fix_dirname_error.sh",
The above works with the current (2.5.10) version of sveltekit and on linux. I assume would work on Mac too.


[Impeller] remove filter graph and replace with saveLayer/restore operations

Impeller's filter graph is analgous to the saveLayer/restore system that is present in the canvas dispatcher. I believe that we could replace the filter graph with this system for a smaller/simpler renderer. Essentially:
Today we have a system that conditionally wraps entites with FilterEntities based on paint state:
Paint paint;
Entity render_entity;

if (paint.image_filter) {
  render_entity = paint.image_filter.wrap(render_entity);
}

render(render_entity);

I am proposing replacing that with:
Paint paint;
Entity render_entity;
if (paint.image_filter) {
  SaveLayer(...);
}
render(render_entity);
if (paint.image_filter) {
  Restore();
}

Along with https://github.com/flutter/engine/pull/55843, this would allow us to remove more impeller code to delegate to display list. Essentially the filter entites would only need to handle other texture inputs, as the saveLayer with single contents is exactly analgous to entity.getSnapshot();
The only exception here is filter entities applied to textures, which should avoid writing the texture contents to a new save layer. I believe that can be special cased.
Questions:
Depth/Clipping?
Should work fine, all filter entities are unclipped, just the final resul.t
Order of operations?
I believe saveLayers apply color/image filters in different order. We just need to make that configurable.

FYI @flar


Add chapter based on ' Secure coding (and Application Security) must be invisible to developers'

http://blog.diniscruz.com/2012/04/secure-coding-and-application-security.html

done https://github.com/DinisCruz/Book_Software_Quality/blob/master/content/8.Software-development/18.Appsec-must-be-invisible-to-developers.md


Remove storybook and config

Need
Storybook is no longer reqired in this app we can remove it and any config, stories and package.json dependancies

Complete


Replace relative time by actual time

Issue:
The playback time in the corner of the player (1:59:46 / 2:00:00)
has many digits for few information. The 2 hours are almost arbitrary because you see them way more often than you care about the maximal buffering time. If users want to know if they can go back 2,5 h, they will try in the timeline and see that 2h is the maximum. The "2h minus delay" timestamp is unecessary big, because you care about the delay which is <10min in most cases.(In the case above it would be "-14" instead of "1:59:46")
Suggestion:
Show the absolute time instead e.g. "20:03:07 / 20:03:31". This is more useful to see the current time in the player next to the time of the brodcasted stream.
Alterenatives:

Just the delay: -0:0:14.
Delay + Absolute time: 20:03:31 - 0:0:14.

Thank you very much for this suggestion!
This behaviour is the default behaviour of exoplayer, the videoplayer Zapp is using. Changing this would cause much more code to maintain for minimal UX improvement.


Hyperparameter settings for WikiLSHTC experiments

Hi,
Thank you for your work. We are looking to replicate your numbers on the Wiki-LSHTC dataset. Can you post the hyperparameters needed to replicate your experiments?

Thanks for your interest in our work.
We use the hyperparameters recommended by the PoincaréGlove paper [Tifrea A, 2018] to pre-train the hyperbolic word embeddings. The embeddings size is set to 75*2D, which is a concatenation of 2D hyperbolic vectors.
We randomly initialize the label embeddings within (-0.001, 0.001) from a uniform distribution. The learning rate is set to 0.1. After 10 burn-in epochs with factor c = 10, they are trained for another 50 epochs. The embeddings size is consist with the word embeddings.
We then train HyperIM using RiemannianAdam with learning rate set to 0.0001 until converge. The size of hidden states in hyperbolic GRU is the same as the embeddings. The negative sampling number for partial interaction (training only) is set to 512.


Disabling metrics with full-featured metrics on runtime path does not work (3.0)

See #3653

Reopening to resolve some remaining problems with disabled metrics.


Add unitTest cases for both the tutorial project and the library

Currently, the library does not have any unitTest cases. Anyone, willing to contribute can write unitTests and end to end tests to cover the entire library and the example project.

I'm going to work on this ;)


[SPARK-35454][SQL][3.1] One LogicalPlan can match multiple dataset ids

What changes were proposed in this pull request?
Change the type of DATASET_ID_TAG from Long to HashSet[Long] to allow the logical plan to match multiple datasets.
Why are the changes needed?
During the transformation from one Dataset to another Dataset, the DATASET_ID_TAG of logical plan won't change if the plan itself doesn't change:
https://github.com/apache/spark/blob/b5241c97b17a1139a4ff719bfce7f68aef094d95/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala#L234-L237
However, dataset id always changes even if the logical plan doesn't change:
https://github.com/apache/spark/blob/b5241c97b17a1139a4ff719bfce7f68aef094d95/sql/core/src/main/scala/org/apache/spark/sql/Dataset.scala#L207-L208
And this can lead to the mismatch between dataset's id and col's __dataset_id. E.g.,
  test("SPARK-28344: fail ambiguous self join - Dataset.colRegex as column ref") {
    // The test can fail if we change it to:
    // val df1 = spark.range(3).toDF()
    // val df2 = df1.filter($"id" > 0).toDF()
    val df1 = spark.range(3)
    val df2 = df1.filter($"id" > 0)

    withSQLConf(
      SQLConf.FAIL_AMBIGUOUS_SELF_JOIN_ENABLED.key -> "true",
      SQLConf.CROSS_JOINS_ENABLED.key -> "true") {
      assertAmbiguousSelfJoin(df1.join(df2, df1.colRegex("id") > df2.colRegex("id")))
    }
  }

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Added unit tests.

Test build #139051 has started for PR 32692 at commit 00d411d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43571/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43571/

Test build #139051 has finished for PR 32692 at commit 00d411d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139051/

thanks, merging to 3.1!

+1, LGTM. Than you, @Ngone51 and @cloud-fan .


AttributeError: 'Namespace' object has no attribute 'n_agents'

运行MAPPO_MPE示例代码时，simple_spread_v3.yaml文件中没有规定agent的数量

Hi, setting the number of agents in MPE environment through .yaml files is not supported currently.
If you want to set different number of agents or customize your own scenarios in MPE, I suggest you following their official steps at https://pettingzoo.farama.org/tutorials/custom_environment/, and wrapper your customized environments by following the XuanCe's document at https://xuance.readthedocs.io/en/latest/documents/usage/new_marl_envs.html.


Feature request: param concatenation into array

Hi,
Would it be possible to add the possibility to merge 2 params into an array?
eg, fastq_1, fastq_2 -> [fastq_1,fastq_2]
Thanks
Matthias

Thanks for the suggestion!
An expansion of the currently available meta code can be a solution for this. I think there is no real reason to keep it contained to only meta fields.


Expose more errors as user-visible so users can adjust their queries in a useful way.

Summary
Noticed a high error rate with internal error:
rpc error: code = InvalidArgument desc = invalid entity type ENTITY_UNSPECIFIED, please use one of artifact,build_environment,repository

The user only saw:
Details: InvalidArgument indicates client specified an invalid argument.

Change Type
Mark the type of change your PR introduces:

[x] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
No
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[x] Added comments to complex or tricky code sections.
[x] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[x] Checked that related changes are merged.

coverage: 38.593%. remained the same
when pulling c2b72805b7f6296b34bdb5dc2de822d33f47ec8f on evankanderson:better-error
into 0494a8482e36a521904eeba4402e05ba658c4c6e on stacklok:main.


stable/metallb: update to 0.4.6.

Notable change is the removal of the --config-ns flag, other than that
changes are just minor bugfixes.

Doing as the nice robot suggests:
/assign @scottrigby

/ok-to-test

/assign

/lgtm


Add of new way to validate email

According to issue https://github.com/swiftmailer/swiftmailer/issues/948, explain the new way to validate.

Thank you @Laurent3170.


Asynchronous processing w/ different loop speeds

I found this in the ecto misc folder.
It pictures a problem I've been chewing over for a few days - how to use ecto in a situation where I have multiple loops required to run at multiple frequencies. I don't see how asynchronous execution can help with this though...

Parallel execution of cells inside a single plasm was taken out a while ago.
Aysnchronous execution of a plasm wasn't working (notes in #271).

So the current state was single threaded execution of a single plasm's directed graph, and no way to get multiple plasms working with each other.
Some updates went in to at least get parallel execution of multiple plasms with individual cells stretching across the threads. Parallel execution of cells inside a plasm is still not available.
#254 lets you introspect what tendrils are connected, this lets you process a cell differently depending on what is connected (i.e. have one cell reaching across multiple plasms).
#269, #270, #271 clean up the interactions with the python GIL, and allow for parallel execution of plasms.


BMT: Save date for when workshop has been finished in database

This is needed for #138

Isn't it need for #430 instead?
That would be great to have some additional description, if you have something else in mind let me know.
My guess so far is that it should be in the backend folder, so I am investigating :-)

Understanding the reference PR #452
Backend:

backend/api/GQL/Mutation.cs: what is the convention to use "_"?
backend/api/Migrations/20210709134613_WorkshopSummary.Designer.cs and
backend/api/Migrations/20210709134613_WorkshopSummary.cs: autogenerated files that enable compatibility between evaluations created earlier to the changes
backend/api/Migrations/BmtDbContextModelSnapshot.cs: autogenerated file (1) when should product version be changed? (2) observe if a new Property called WorkshopCompleteDate was created, (3) why previousId was changed to previousIdId?, (4)


What does this do?

I don't understand what this plugin does (I know what MC is though)
@bobthecow @jeremiejig @derekstavis can you enlighten me plz ?

Hello,
I don't really remember, but I think there was a time when I had a lot of issue with mc when my login shell is fish.
I think fish fixed the biggest issue here fish-shell/fish-shell#121
I still have some esthetic bug in subshell mode (c-o) with fish, like some double line prompt.
If found this in man mc

(There's a known problem when using fish: the prompt is displayed only in full screen mode (Ctrl-o), not when the panels are visible.)

Up to you if you want this plugin to force bash for mc if you don't like how mc and fish are interacting.

i launched mc then "bash -c "mc"" and it's the same result today
but thank you for answer
what is subshell mode?


Weird glitch when typing a ~ inside the integrated terminal

VSCode Version: 1.28.0-insiders (fe8d9d2470ddffb9dc2da604b23f5bd8a185cd66)
OS Version: OSX 10.12.6

Steps to Reproduce:

Open the integrated terminal
Type the ~ character (on a French keymap you need to press alt + n)

What happens:
Until you press another character, the ~ appears shifted to the right. Once another key has been pressed, it's shifted to the left again.
Note: this does not happen when typing this character in VSCode in an opened file, only inside the integrated terminal.

Both Editor & Terminal are using the same font-family: Monaco.

I can repro, alt+n appears to trigger an IME which is why it looks different, this also happens in the editor. So I guess the underlying issue is that the IME box is not in the correct position.

I don't know if related, but typing the tilde character (~) on the integrated terminal using a Spanish (ES-ES) keyboard inserts two fours (4) and the tilde, instead of the expected single four and the tilde.
i.e.
AltGr+4 twice
Expected: ~~
Output: 44~

It seems like VS Code ignores the state of AltGr when inserting the first four.

Upstream: https://github.com/xtermjs/xterm.js/issues/2151

Seems to work now

@Tyriar I am still reproducing with VSCode 1.38.1 on OSX Mojave. What version are you using?

10.14.6 Mojave

Using this layout:

Which keys do you have to press to make a ~ with this keymap? That's
weird. I'll try with a MacBook to see if I can reproduce it there too. It
may depend on the keymap used.
Le mer. 9 oct. 2019 à 15:58, Daniel Imms<EMAIL_ADDRESS>a
écrit :

10.14.6 Mojave
[image: Kapture 2019-10-09 at 6 53 55]
https://user-images.githubusercontent.com/2193314/66487723-ad326880-ea61-11e9-9c4c-b950ac93e6cb.gif
Using this layout:
[image: Screen Shot 2019-10-09 at 6 54 55 AM]
https://user-images.githubusercontent.com/2193314/66487757-ba4f5780-ea61-11e9-9d7e-552de3e83359.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/59438?email_source=notifications&email_token=AABQXYAZOT4C2CBZLWDKL2DQNXPPVA5CNFSM4FXIKMBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAX632Y#issuecomment-540012011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABQXYCZR45XRNSTCXBWKQTQNXPPVANCNFSM4FXIKMBA
.

That's the layout I am using:

@warpdesign that was with alt+n in the gif

Hi,
The issue #73876 was marked as duplicated of #68262, which was marked as duplicated of this one. This issue seems to be fixed, but the problem with accented characters as described in #73876 is still there.
Version: 1.39.2
Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
Date: 2019-10-15T15:33:40.634Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 5.3.5-200.fc30.x86_64 (Fedora 30)

I wtill have the issue with following version:
Version: 1.39.2 (user setup)
Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
Date: 2019-10-15T15:35:18.241Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 6.1.7601

People still having this issue please try repro and report upstream https://github.com/xtermjs/xterm.js/issues
There are a few issues open related to IMEs currently: https://github.com/xtermjs/xterm.js/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3Aarea%2Fime+


Query Model Program with the linked Model Instance

Now for each Model Instance resource type it could be linked to a Model Program resource type that is used to execute this instance by using the metadata "Executedby" from the Model Instance resource side. It would be great if a method could be implemented in the Discover page to display all the Model Instance resources that are linked to a certain Model Program resource. This would be good if a user is interested in seeing all the model instances for his/her favorite model.

No longer relevant


Background Support

Hi Eddy,
For a project I am doing, I need to enable background BLE updates. On Android, you seem to just create a generic background service and then pass the ble updates into in - here but for ios it seems to require authorizing the Bluetooth updates to persist in the background - Docs
I had hoped to create a generic background-service plugin, but the ios approach seems to make that difficult, so I wondered if you wanted to add background support to your app? I am more than happy to help. Alternatively, I could make a separate plugin. Let me know what you think would be best.

Hi!
I think that would be very useful for at least some users so I'd love to see a fork/PR that adds it. Perhaps we can then figure out how we could make this an opt-in or opt-out optional feature of this plugin.
I will help testing your code so please let me know when you have something I can take a look at. A 'WIP' PR would probably be easiest.
Cheers,
Eddy

Awesome! I'll make a start and open a PR v. soon, then we can discuss it there

Do you like Typescript? I much prefer it, particularly for plugins as I am not great at remembering the platform specific api's. As a WIP I have just started working in a separate android typescript file, the compiled version of which I am importing into the existing files.
Judging by your other repos you don't use TS? So I am more than happy to make the compiled JS readable and move that back into the main files when I'm done, removing any ts.
Is that OK?

Hey! I'm quite a fan of TypeScript, just not that proficient with it yet. I'm currently working on a {N} app with TS and like it a lot so far. I've also added .d.ts definition files to all my {N} plugins.
The reason I never created a plugin in TS is that there were reports TS was performing worse than handwritten JS but that myth was busted recently. Also in the dark old days of {N} TS support was not a first class citizen so people would have had trouble using my plugins.
If you're up for some conversion stuff then I'm on board with that, I think we should still also check in the .js files though as ppl may not use TS so no transpilation is done for them, rendering the plugin useless if it ony contains .ts files.

Any update on this? I am happy to help as I have an app that requires background BLE.

Hey @oaguy1 any help is highly appreciated of course!
Perhaps you can take a look at the PR George made. We were a bit stuck testing the changes if I recall correctly. I would be great if we can merge the PR to upgrade this plugin to TS, and then add background support.

I should have some time this weekend. I am not too strong on TS, but no
time like the present to learn!
On Wed, Dec 28, 2016 at 13:20 Eddy Verbruggen<EMAIL_ADDRESS>wrote:

Hey @oaguy1 https://github.com/oaguy1 any help is highly appreciated of
course!
Perhaps you can take a look at the PR George made
<#m_2615134661048578573_13>. We were a bit stuck testing the changes if I
recall correctly. I would be great if we can merge the PR to upgrade this
plugin to TS, and then add background support.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/EddyVerbruggen/nativescript-bluetooth/issues/12#issuecomment-269517615,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACPxnkCdsF7OxWqClBNVBspBKFPgwd70ks5rMqiCgaJpZM4Iy0Js
.

Any updates on this? I think this feature would be beneficial to {NS} as a whole. It is kind of critical to many apps.

If I understood the status of this then I would be willing to finish up whatever is necessary.
There is this issue and PR #13, and much of PR #13 code appears to me to be in the master branch, so I am confused about what is missing.
And, as the OP in this issue mentions, on Android a Service is necessary in order to maintain long running background scans, but nothing in PR #13 adds the required "Service.startForeground(requestCode, notification)" to make this happen.
If there are other ways to ensure that an app isn't killed other than a "startForeground", especially related to a NativeScript, then I am all ears! :)
I am new to NativeScript, but am very familiar w/ BLE and "Foreground" background services in native Android, and less familiar w/ what all is needed in iOS.
Is the iOS code in PR #13 working/sufficient/complete?
Does PR #13 only need the Android impl completed?
@georgeedwards did a great job on this PR, and @EddyVerbruggen reviewing it, but after 1.5 years would it be worth it to start a fresh PR and drop the TS?
I have zero objections to TS itself, but that type of change should be its own separate PR, and should perhaps be its own branch.


Add a loader while saving details in Profile screen

Description
It takes some time while saving user profile details. So, add a Profile spinner so that it indicates loading time
Screenshots

Additional information
No response

I'd like to work on this issue


Create xmtpd worker service

TL;DR
Added Terraform configuration for XMTPD worker service deployment on AWS ECS Fargate.
What changed?

Created new Terraform module for XMTPD worker service
Configured ECS task definition with environment variables and secrets
Set up security group rules for worker service networking
Implemented health checks via metrics endpoint
Added support for debug logging configuration

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#5
#4  👈 (View in Graphite)
#3
#2
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Nov 26, 4:22 PM PST: A user started a stack merge that includes this pull request via Graphite.


Request for Pretraining Log

Hi, fantastic job on this! Could you provide access to the pretraining log to better understand the training process? Thanks.

We provide the training loss curve in the README which should give you a good idea about the training process (https://github.com/kabouzeid/point2vec#point2vec-pre-training-on-shapenet).
Since it's lightning, I don't think the actual log file contains a lot of useful information, but I've attached it below anyway for your convenience :)
Pre-training Log File


Stream writer boogie file translation and function trimming for large binaries

Make it so we can again lift cntlm to a state boogie can parse (note you need to give the JVM more memory for the adt to parse).
Changes

use a Writer to output the boogie file rather than concatenating to a string
coalesce the 'constant' data section specifications into 64-bitvectors where allowed rather than always using 8-bitvectors. (the old encoding is preserved but not linked up to a cli flag)
separate specifications from implementations in the boogie output
add options to set the main function and function call depth for the reach-ability trimming, omitting the implementation for the leaf functions
Fixes a bug with the assume() translation with coercing the condition to a bool, since bap seems to output both bools and bitvectors at different times

Fixes a bug with the assume() translation with coercing the condition to a bool, since bap seems to output both bools and bitvectors at different times

Can you provide an example of this?

separate specifications from implementations in the boogie output

Is there a particular reason we want to do this now?

Fixes a bug with the assume() translation with coercing the condition to a bool, since bap seems to output both bools and bitvectors at different times

Can you provide an example of this?

examples/cntlm-new creates conditionals with bvslt9(LocalVar(#3331, bv9), 32bv9) which are type bool.

It does let you override the spec and implementation separately though.

Is this something we want to do or may want to in future?

examples/cntlm-new creates conditionals with bvslt9(LocalVar(#3331, bv9), 32bv9) which are type bool.

It's great to have an example of BAP actually producing one of those comparison operations, thanks. The tricky thing with the comparator instructions is that technically, directly translating them (as is currently done in BAPtoIR) is incorrect, as the BAP SLT returns a bitvector of size 1, but the SMT/Boogie SLT returns a boolean (BAP doesn't distinguish between these as types but SMT/Boogie do). Knowing these can occur inside the BAP conditionals means we can specifically address them now.


Change rbusDateTime_t to use fixed size structures

rbusDateTime_t relies on the platform int size in the underlying structures. This causes faults when mixing lib32 and lib64 rbus clients.
This change modifies the underlying definition to use fixed size data fields, and adds conversion routines to move that to/from the underlying platform 'struct tm' representation.
This also replaces the printf() and scanf() format specifiers with PRId64 where necessary to avoid compiler warnings.

 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.

The change looks good and as per our last discussion. This doesnot need any change in RDK. So merging it.


Japanese error

In "Prerequisites", RAM minimum is listed as 16 GB in English, but 12 GB in Japanese. Please update the Japanese to match the English. Thanks!

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

ID: 7a699efb-c78c-2dc6-2d0d-6ffc0a2918ce
Version Independent ID: 36a048d5-71b5-ce1d-75d7-bd5182f4386b
Content: Deploy the configuration server for VMware disaster recovery with Azure Site Recovery
Content Source: articles/site-recovery/vmware-azure-deploy-configuration-server.md
Service: site-recovery
GitHub Login: @AnoopVasudavan
Microsoft Alias: anoopkv

@dcbrown16 Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.


Should never run as root

The example systemd configuration is very insecure as it runs kill-the-newsletter as root: https://github.com/leafac/kill-the-newsletter/blob/main/deployment-example/kill-the-newsletter.service. This is generally a bad idea, but especially in the case of interpreted languages like JavaScript.
I'd recommend changing it to a dedicated user, or at least the "www-data" or "nobody" user depending on which Linux distro is in use - Debian uses "www-data" for web services whereas RHEL/CentOS uses "nobody".
I'd change it and submit a PR but I'm not not sure if any other documentation pages would need updating too.

Just saw you have a section in the readme about this - It was collapsed so I missed it.

For what it's worth, this config is sufficient to allow it to run as a non-root user yet still listen to port 25:
[Unit]
Description=Kill the Newsletter!
After=network.target

[Service]
ExecStart=/opt/kill-the-newsletter/kill-the-newsletter /opt/kill-the-newsletter/configuration.js
Environment=NODE_ENV=production
User=www-data
Group=www-data
Restart=always
AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

and this is the config I'm using - I have an Nginx reverse proxy so I'm just serving plain HTML from Kill the Newsletter and then Nginx encrypts the connection:
module.exports = async (require) => {
  const path = require("path");
  const express = require("express");
  const killTheNewsletter = require(".").default;

  const { webApplication, emailApplication } = killTheNewsletter(
    path.join(__dirname, "data")
  );

  webApplication.set("url", "https://example.com/");
  webApplication.set("email", "smtp://example.com");
  webApplication.set("administrator", "mailto:example@d.sb");

  webApplication.listen(8392, 'localhost', () => {
    console.log('Web server started');
  });
  emailApplication.listen(25, () => {
    console.log("Email server started");
  });
};

Both of these might be worth documenting?


Installation

So im not the best with Github and not either at this kind of thing. Is it maybe possible that someone could give me step by step instructions so I could do this.

I think the project is still on an info-collecting state. For now, there is nothing you can install, I'm afraid... However, you could help if you have Gigaset Elements devices in your possession and know how to analyze how they work. 👍

Thanks for the response.
And sadly no I have no knowledge how to analyze them.


[Feature Request] Support InternLM

Dear EasyEdit developer,
Greetings! I am vansinhu, a community developer and volunteer at InternLM. Your work has been immensely beneficial to me, and I believe it can be effectively utilized in InternLM as well. Welcome to add Discord https://discord.gg/gF9ezcmtM3 . I hope to get in touch with you.
Best regards,
vansinhu

Dear EasyEdit developer,
Greetings! I am vansinhu, a community developer and volunteer at InternLM. Your work has been immensely beneficial to me, and I believe it can be effectively utilized in InternLM as well. Welcome to add Discord https://discord.gg/gF9ezcmtM3 . I hope to get in touch with you.
Best regards, vansinhu

Dear vansinhu,
I'm glad to hear that you find our work beneficial, and I appreciate your interest in integrating EasyEdit into InternLM. I will
add your WeChat soon and talk to you

If your problem has been resolved, please help close this issue.

俩中国人，我的建议是用英文交流

Hi, EasyEdit now has supported InternLM. If you have any problems, please contact us.


some issues...

1.pmd import,unreadable name nodes(maybe text format convet error?)
2.pmx import, some model ok but some other NOT.
3.vmd import, it seems like leg or foot error....
And I wanna say, it's nice work, I hope that it could be a bridge between MMD and GameDeveloper in unity.

Can you paste a screen shot?
I want to know why does not work.


Cancel http requests for outdated tiles

#5609

I have a feeling we had this logic before but removed it for some reason. Worth digging the history

@mourner There is a similar line in the _abortLoading function. @perliedman and I had a discussion on the issue about why I did not use or add anything to the _abortLoading function. Is this what you are referring to?

@mourner looks like you have a good memory: #137 - specifically these changes look related: https://github.com/Leaflet/Leaflet/commit/5f07e8bfc24fdc5e097974a051bc64b9ac82c3eb and https://github.com/danzel/Leaflet/commit/0b913df152a6763f2cacfdf867ddd7a677735fde
Don't know if these are still applicable, it looks like we don't do any checks for Browser.android anywhere in the code these days. I would also be surprised if this happens on Chrome/Android, so just checking the Android platform would not be ideal.
So, if we think this is still something we need to guard against, maybe add a new Browser check for the old Android only browser and add checks against this before setting emptyImageUrl?

@jbccollins sorry for keeping this waiting.
What I mean is that on Android, we should not cancel requests is this is the native Android browser (not Chrome, not Firefox, etc.). Not sure how we best detect that, but hopefully there's a way.

So, I merged this - if someone has an actual device with a stock Android browser, I'd very much like a test to see if this works, and if L.Browser.androidStock is actually set correctly - coding in the dark here.


Support ALPN only if the underlying macOS supports ALPN methods

Not so sure why 10.13 is failing. Maybe http://www.openradar.me/34790589.
I probably need to skip the ALPN-related tests when the symbol is missing, but I'd like to discuss about the direction of this change first.

Wouldn't it be better to use weak linking instead of dlopen?

Sadly weak linkage is nightly only, iirc.
https://github.com/servo/core-foundation-rs
https://github.com/rust-lang/rust/issues/29603

Hmm, "weak!" macro on libstd looks handy, compared to having lazy_static and dlopen.
https://github.com/rust-lang/rust/blob/b559710e58427213d6f82008206c22cf3d76b4c4/src/libstd/sys/unix/pipe.rs#L25
https://github.com/rust-lang/rust/blob/b559710e58427213d6f82008206c22cf3d76b4c4/src/libstd/sys/unix/weak.rs

Is ALPN available only for macOS 10.13+? If so, that's a bit high to aim for. I think currently 10.8-10.9 is the reasonable baseline.
So maybe ALPN itself could be a Cargo feature? It could be auto enabled when 10.13+ is set as minimum, and opt-in (needing weak/nightly) otherwise.

If we're going to move to a dlopen-based approach for functionality added in newer OS versions, I think we'll want to do it for the entire library rather than as a one-off for ALPN.

@kornelski ALPN support is currently only enabled if you turn on the OSX_10_13 Cargo feature - this PR is trying to change that to be detected at runtime.

I'm suggesting
[features]
alpn = []
OSX_10_13 = ["OSX_10_12", "alpn"]

and if both OSX_10_13 and alpn are set, use it unconditionally. If alpn is set, but not OSX_10_13, then use it via weak linking.

Works me. I've updated this pull request. Both "cargo test --features OSX_10_13" and "cargo test --features alpn" are working on my MacBook (macOS 10.13.6), while I haven't updated .circleci/config.yml yet.

@sfackler Could you take a look?

Thanks for the PR, @kzys!


[Quick Event] Invalid index (-1719) when I add to a Calendar with emoji name

Extension
https://www.raycast.com/mblode/quick-event
Description
I have a calendar named with an emoji :snowman_without_snow:, when I try to create event and add to this calendar, it will popup with Error: Invalid index. (-1719) .
Steps To Reproduce

Add a Calendar with emoji name like ⛄
Try to add an event to this Calendar use the extension "Create Quick Event".

Current Behaviour

There will be an error occured.
Expected Behaviour
Add the event to the Calendar properly.

I've tried to investigate this issue by myself. But I found that preferences textfield's value is converted, can't get the emoji ⛄ correctly. It's converted to \-&\M-D. I'm not sure how to fix this.


Replace cp_install.sh and cp_init.sh by cpackget

Hi, this is a WIP of a patch to replace both cp_init.sh and cp_install.sh by cpackget.
I talked to Daniel Brondani last week when he pointed me out to some files that needed changes. I'm pushing this WIP PR and hopefully will split all the changes in a better format in a couple of days.
Here's my current progress:

Changed cbuild.sh to use cpackget instead of cp_install. (It seems like cp_init is only used in testing and shipped in the installer)
Merging CPInitTests.cpp and CPInstallTests.cpp into CPackGetTests.cpp, where pack root init and pack installation tests happen
Changing docs in CmdLineBuild.txt, removed the cp_init section completely
Changing create_installer.sh to add a new bin folder, where cpackget binaries will be added

I have two questions:

Regarding configuring the installer: I added cpackget (linux) and cpackget.exe, but how to do that for Mac?
In docs, there was a table showing off a lot of possible errors messages coming out of cp_init.sh and cp_install.sh. Is this really necessary? I'm asking because cpackget does have lots of error messages. In the docs I wrote that most of the error messages are self explanatory, but the user can always increase verbosity (something that didn't previously existed). Hope that it is OK.

@chaws Charles, instead of committing binaries into the repository, you should download them from the cpackget releases and rename them according to the platform (.exe, .lin and .mac) during the installer creation.
For example in the create_installer.sh script you could add something like this:
mkdir temp

curl -L https://github.com/Open-CMSIS-Pack/cpackget/releases/download/v0.1.3/cpackget_0.1.3_linux_amd64.tar.gz -o temp/linux.tar.gz
tar -xzf temp/linux.tar.gz -C temp
cp temp/cpackget_0.1.3_linux_amd64/cpackget bin/cpackget.lin

curl -L https://github.com/Open-CMSIS-Pack/cpackget/releases/download/v0.1.3/cpackget_0.1.3_darwin_amd64.tar.gz -o temp/darwin.tar.gz
tar -xzf temp/darwin.tar.gz -C temp
cp temp/cpackget_0.1.3_darwin_amd64/cpackget bin/cpackget.mac

curl -L https://github.com/Open-CMSIS-Pack/cpackget/releases/download/v0.1.3/cpackget_0.1.3_windows_amd64.zip -o temp/windows.zip
unzip temp/windows.zip -d temp
cp temp/cpackget_0.1.3_windows_amd64/cpackget.exe bin/cpackget.exe

rm -rf temp

Concerning documenting error messages, I believe it is not important for this PR but you should keep track of it in the backlog.

Thanks for the answer, @brondani ! I placed the binaries there for testing purposes. Once my local cpackget binary is passing the integration tests, I'll make a release of it and download as your example.

Hi @brondani , I fixed tests regarding cpackget, now I'm getting a failure in DebPkgTests.Extract_Completion. I think this checks if the installed debian package contains the required files.
How to proceed here? I have added the cpackget file in the make_deb.sh but still no luck there

@chaws From the test report: ./usr/bin/cpackget not found
It happens because cpackget in this directory is just a symbolic link. To fix it the following line should be removed:
https://github.com/chaws/devtools/blob/cpackget-integration/tools/buildmgr/test/integrationtests/src/DebPkgTests.cpp#L55
The test case could be extended by asserting with fs::is_symlink that ./usr/bin/cpackget and ./usr/bin/cbuildgen are symbolic links.

Thanks @brondani !
I opted for extending the test scope to check if the file is a symlink on both ./usr/bin/cpackget and ./usr/bin/cbuildgen. Tests are all green. I believe the patch is good now, let me split it into smaller commits then remove "DRAFT" status.

Thanks for reviewing @brondani ! I have pushed an update that addressed your comments inline.
Just FYI: Joachim may have talked to you that I'll be working on cpackget so that the file with pack list can made of pack ids instead of pack URLs. I opted for finishing up this PR before the work on cpackget, so next time there's a new release of it I'll just send a PR to devtools changing release version of cpackget.

Thanks @chaws, it looks good to me!
@soumeh01 can I ask you to review the changes in tests?