Bug in (+)/2 translation

Now I am facing this test case:
p(a).
p(b).
q(b).
test(X,Y,Z) :- \+ (X,Y,Z).

GNU Prolog gives me:
/* GNU Prolog 1.5.0 */
?- \+((p(X),!,q(X))).
yes
?- test(p(X),!,q(X)).
yes

Trealla Prolog gives me:
/* Trealla Prolog v2.29.42 */
?- \+((p(X),!,q(X))).
   true.
?- test(p(X),!,q(X)).
   false.

I think GNU Prolog does it right, despite that SWI Prolog
and ECLiPSe Prolog have the same bug. Other Prolog
systems not yet tested.

Scryer, Ciao & XSB also agree with Trealla.
CxProlog & BProlog (older systems) agree with GNU Prolog.
On Mon, Oct 30, 2023 at 5:27 AM Jean-Luc-Picard-2021 <
@.***> wrote:

Now I am facing this test case:
p(a).
p(b).
q(b).
test(X,Y,Z) :- + (X,Y,Z).
GNU Prolog gives me:
/* GNU Prolog 1.5.0 */
?- +((p(X),!,q(X))).
yes
?- test(p(X),!,q(X)).
yes
Trealla Prolog gives me:
?- +((p(X),!,q(X))).
true.
?- test(p(X),!,q(X)).
false.
I think GNU Prolog does it right, despite that SWI Prolog
and ECLiPSe Prolog have the same bug. Other Prolog
systems not yet tested.
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEQAENINFLBARAAO3WDYB2N2LAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DOMJSGQYTQNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

If you feel strongly about it raise it on the Scryer Prolog site, it's
likely to get more attention there.
On Mon, Oct 30, 2023 at 5:27 AM Jean-Luc-Picard-2021 <
@.***> wrote:

Now I am facing this test case:
p(a).
p(b).
q(b).
test(X,Y,Z) :- + (X,Y,Z).
GNU Prolog gives me:
/* GNU Prolog 1.5.0 */
?- +((p(X),!,q(X))).
yes
?- test(p(X),!,q(X)).
yes
Trealla Prolog gives me:
?- +((p(X),!,q(X))).
true.
?- test(p(X),!,q(X)).
false.
I think GNU Prolog does it right, despite that SWI Prolog
and ECLiPSe Prolog have the same bug. Other Prolog
systems not yet tested.
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEQAENINFLBARAAO3WDYB2N2LAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3DOMJSGQYTQNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

There is already a ticket, Scryer Prolog has also some bugs:
+ sometimes incorrect
https://github.com/mthom/scryer-prolog/issues/2141

#2141 is a different issue, it's a bug that doesn't exist in Trealla.
On Tue, Oct 31, 2023 at 11:15 AM Jean-Luc-Picard-2021 <
@.***> wrote:

There is already a ticket, Scryer Prolog has also some bugs:
+ sometimes incorrect
mthom/scryer-prolog#2141
https://github.com/mthom/scryer-prolog/issues/2141
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381#issuecomment-1786281870,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSER7EKNIDTHV224VKFTYCBGJNAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBWGI4DCOBXGA
.
You are receiving this because you commented.Message ID:
@.***>

#2141 is a different issue, it's a bug that doesn't exist in Trealla.

Ignore my comment above.

Still, you should raise your issue on Scryer, it will get discussion there.

If I used negation/1 the bug goes away:
p(a).
p(b).
q(b).
negation(X) :- X, !, fail.
negation(_).
test(X,Y,Z) :- negation((X,Y,Z)).

Now Trealla Prolog behaves consistently:
/* Trealla Prolog v2.29.42 */
?- negation((p(X),!,q(X))).
   true.
?- test(p(X),!,q(X)).
   true.

Yes, thinking about it, you're probably right here.

Sicstus also agrees with GNU Prolog. So it seems SWI, Trealla, Scryer, Eclipse, Ciao & XSB are all wrong.

Interstingly Eclipse can be made to agree with GNU Prolog & Sicstus by declaring test1/3 as dynamic before loading it.

Here's my test file for above...
p(a).
p(b).
q(b).

negate(X) :- X, !, fail.
negate(_).

:- dynamic(test1/3).

test1(X,Y,Z) :- \+ (X,Y,Z).
test2(X,Y,Z) :- \+ (X,Y,Z).
test3(X,Y,Z) :- negate((X,Y,Z)).

Of course we have to consider the difference between negation-by-failure (as in negation/1) vs. true negation ((+)/1. They may not be the same, in which case test1 should possibly fail, correctly.

(\+)/1 is supposed to be negation-as-failure. You can read this meaning
from the operator, which is a composition of "" and "+":

"" and "+": Basically says not succeed.

The "" is the same not like the not in bitwise operation. And "+" is
basically a call/1. What makes you think (+)/1 is true negation.
How is even true negation defined? Do you have some reference?

As usual I retract that.
On Thu, Nov 2, 2023 at 7:44 PM Jean-Luc-Picard-2021 <
@.***> wrote:

(+)/1 is supposed to be negation-as-failure. You can read this meaning
from the operator, which is a composition of "" and "+":

"" and "+": Basically says not succeed.

The "" is the same not like the not in bitwise operation. And "+" is
basically a call/1. What makes you think (+)/1 is true negation.
How is even true negation defined? Do you have some reference?
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381#issuecomment-1790392725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEVRTSBSCVIUK2CL52TYCNTRBAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJQGM4TENZSGU
.
You are receiving this because you commented.Message ID:
@.***>

The bug is very simple, there are call/1 in the wrong place in test/3.
So test/3 is mostlikely executed as follows, at least this is what
SWI-prolog does, since it generates 3 times call/1:
?- \+ (call(p(X)), call(!), call(q(X)))

But call(!) has no more effect. But to allow nevertheless
inlining, I was experimenting with:
sys_trans_allowed(V) :- var(V), !, fail.
sys_trans_allowed((A,B)) :- sys_trans_allowed(A), sys_trans_allowed(B).
sys_trans_allowed((A;B)) :- sys_trans_allowed(A), sys_trans_allowed(B).
sys_trans_allowed((A->B)) :- sys_trans_allowed(A), sys_trans_allowed(B).
sys_trans_allowed(A) :- callable(A).

Which would allow to replace (+ A) by (A -> fail; true). But
I haven't released this into production yet. Still in the process
of measuring whether there is a positive inpact or not.

Relevant discussion... https://groups.google.com/g/comp.lang.prolog/c/kKQatfYsBxI

A big Prolog system, that doesn’t consider (+)/2 a control construct with
body conversion, unlike SWI-Prolog, is the XSB Prolog system. I get this
result, twice success, moving out a subterm doesn’t change anything:
/* XSB Version 5.0-beta */
?- \+((p(X),!,q(X))).
X = _h387
yes

?- Y=!, \+((p(X),Y,q(X))).
Y = !
X = _h465

Was using May 15, 2022 version of XSB. Don’t know whether
there are other versions that would behave differently. But
XSB is also a Prolog system that champions user define predicate
inlining in certain circumstance, if I am not mistaken.

XSB doesn't work thought if the clause is in a consulted file, unless you declare it dynamic.

Interestingly Eclipse & XSB can be made to agree with GNU-Prolog &
Sicstus by declaring test1/3 as dynamic before loading it.

Yes, this one goes wrong:
q1 :- \+((p(X),!,q(X))).
q2 :- Y=!, \+((p(X),Y,q(X))).

?- q1.
yes
?- q2.
no

But besides dynamic the top-level works fine as well:
?- \+((p(X),!,q(X))).
X = _h387
yes

?- Y=!, \+((p(X),Y,q(X))).
Y = !
X = _h465

Do you inline (+)/1 somehow in Trealla Prolog? Is there
a way to list the instructions generated by Trealla Prolog.
Below is a test case and some measurement. Quite amazing
speed of SWI-Prolog negation as failure!
/* SWI-Prolog 9.1.17 */
?- time((between(1,1000000,_), solve(_), fail; true)).
% 45,999,999 inferences, 2.719 CPU in 2.712 seconds (100% CPU, 16919540 Lips)
true.

/* Trealla Prolog v2.29.42 */
?- time((between(1,1000000,_), solve(_), fail; true)).
% Time elapsed 10.888s, 54000002 Inferences, 4.960 MLips
      true.

Test case is this here:
yesterday(monday   , sunday   ).
yesterday(tuesday  , monday   ).
yesterday(wednesday, tuesday  ).
yesterday(thursday , wednesday).
yesterday(friday   , thursday ).
yesterday(saturday , friday   ).
yesterday(sunday   , saturday ).

lies(lion, monday   ).
lies(lion, tuesday  ).
lies(lion, wednesday).

lies(unicorn, thursday).
lies(unicorn, friday  ).
lies(unicorn, saturday).

contrary(S, T) :- S, \+ T.
contrary(S, T) :- \+ S, T.

solve(D) :- yesterday(D, Y),
   contrary(lies(lion, D), lies(lion, Y)),
   contrary(lies(unicorn, D), lies(unicorn, Y)).

?- time((between(1,1000000,_), solve(_), fail; true)).

Ok I was comparing apples with oranges when I looked
at SWI-Prolog and other Prolog systems. Since SWI-Prolog
creates a multi-argument index, which explains the speed:
?- jiti_list(lies).
Predicate                                     Indexed  Buckets Speedup Flags
============================================================================
user:lies/2                                     2            8     6.0
true.

Can I manually switch off this index for a fairer comparison?
Whats even the logic behind choosing this index. Thats
a quite an amazing choice since the call of lies/2 is ground.

Correct that it's an indexing speedup. Both SWI & SICStus can do this.
On Tue, Nov 7, 2023 at 2:43 AM Jean-Luc-Picard-2021 <
@.***> wrote:

Ok I was comparing apples with oranges when I looked
at SWI-Prolog and other Prolog systems. Since SWI-Prolog
creates a multi-argument index, which explains the speed:
?- jiti_list(lies).
Predicate                                     Indexed  Buckets Speedup Flags
user:lies/2                                     2            8     6.0
true.
Can I manually switch off this index for a fairer comparison?
Whats even the logic behind choosing this index. Thats
a quite an amazing choice since the call of lies/2 is ground.
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381#issuecomment-1795428805,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEVHRPGGNNHB5HQDNWLYDEHULAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJVGQZDQOBQGU
.
You are receiving this because you commented.Message ID:
@.***>

Easily verified by putting a body with just a cut on yesterday/2 & lies/2.
Trealla goes from 14s to 3s on my machine.
On Tue, Nov 7, 2023 at 2:43 AM Jean-Luc-Picard-2021 <
@.***> wrote:

Ok I was comparing apples with oranges when I looked
at SWI-Prolog and other Prolog systems. Since SWI-Prolog
creates a multi-argument index, which explains the speed:
?- jiti_list(lies).
Predicate                                     Indexed  Buckets Speedup Flags
user:lies/2                                     2            8     6.0
true.
Can I manually switch off this index for a fairer comparison?
Whats even the logic behind choosing this index. Thats
a quite an amazing choice since the call of lies/2 is ground.
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381#issuecomment-1795428805,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEVHRPGGNNHB5HQDNWLYDEHULAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJVGQZDQOBQGU
.
You are receiving this because you commented.Message ID:
@.***>

Then SWI also goes from 4s to 1s. So maybe multiple factors at play.
On Tue, Nov 7, 2023 at 2:43 AM Jean-Luc-Picard-2021 <
@.***> wrote:

Ok I was comparing apples with oranges when I looked
at SWI-Prolog and other Prolog systems. Since SWI-Prolog
creates a multi-argument index, which explains the speed:
?- jiti_list(lies).
Predicate                                     Indexed  Buckets Speedup Flags
user:lies/2                                     2            8     6.0
true.
Can I manually switch off this index for a fairer comparison?
Whats even the logic behind choosing this index. Thats
a quite an amazing choice since the call of lies/2 is ground.
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/381#issuecomment-1795428805,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSEVHRPGGNNHB5HQDNWLYDEHULAVCNFSM6AAAAAA6VBQRIOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJVGQZDQOBQGU
.
You are receiving this because you commented.Message ID:
@.***>

Reordering a little bit, it doesn't use an index anymore, I
guess it now uses only first argument indexing on SWI-Prolog.
At least jiti_list doesn't show me an index anymore:
yesterday(monday   , sunday   ).
yesterday(tuesday  , monday   ).
yesterday(wednesday, tuesday  ).
yesterday(thursday , wednesday).
yesterday(friday   , thursday ).
yesterday(saturday , friday   ).
yesterday(sunday   , saturday ).

lies(monday   , lion).
lies(tuesday  , lion).
lies(wednesday, lion).

lies(thursday, unicorn).
lies(friday,   unicorn).
lies(saturday, unicorn).

contrary(S, T) :- S, \+ T.
contrary(S, T) :- \+ S, T.

solve(D) :- yesterday(D, Y),
   contrary(lies(D, lion), lies(Y, lion)),
   contrary(lies(D, unicorn), lies(Y, unicorn))

Mah, scrub that.

The time measurements are now on my machine:
/* SWI-Prolog 9.1.17 */
?- time((between(1,1000000,_), solve(_), fail; true)).
% 46,000,001 inferences, 2.500 CPU in 2.501 seconds (100% CPU, 18400000 Lips)
true.

/* Trealla Prolog 2.29.44 */
?- time((between(1,1000000,_), solve(_), fail; true)).
% Time elapsed 10.674s, 54000002 Inferences, 5.059 MLips
      true.

I am trying to understand the magic behind all that.

Tweaking indexing here I have managed to scrape 1s off the time. Can't see what else I can do.

Its not a bug if the Prolog system doesn't claim ISO compatiblity.

Its not a bug if the Prolog system doesn't claim ISO compatibility.
I have added a couple of new test cases for (\+)/1 and once/1,
in my Novacore test suite. Mainly derived from what is
already found in the ISO core standard:
/* ISO <IP_ADDRESS>, ISO 7 */
?- Z = !, call( (Z=!, a(X), Z) ).
Z = !,
X = 1.

/* ISO <IP_ADDRESS>, ISO 8 */
?- call( (Z=!, a(X), Z) ).
Z = !,
X = 1 ;
Z = !,
X = 2.

The test cases hare here in the file "reference | control | logical":
https://www.novacuor.ch/srctab/doclet/docs/13_comply/package.jsp


Bert tutorial

Description
Add tutorial for finetuning with bert
Checklist
Essentials

[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

Job PR-431/9 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-431/9/index.html

Job PR-431/10 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-431/10/index.html

Job PR-431/11 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-431/11/index.html

I looked at GLUONNLP's Bert pre-training model, found that there is no Chinese model, only a multi-language model, whether you can make a Chinese single language pre-training model. In addition, Gluon's pre-training is from the tensorflow of the conversion or re-training to get. If the conversion can provide conversion code, if it is retraining can provide training script?

@fierceX thanks for asking. It's encouraging to see immediate attention after BERT code merge!
Right now we are focusing on pushing the existing code out as 0.5.0 (hopefully today!) so we might not be able to get to it immediately. The models are converted so feel free to connect with Haibin on the conversion code. We will be looking into including more models after the 0.5.0 release. It would be awesome if you could help out on some of the conversions 💯

@fierceX It is converted from the original TF model. I should have made it clear in the doc though. Thanks for asking! I can PR the Chinese model and the code for the conversion in 2 - 3 days.


Syntax update websocket_chat_application.bal

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues.

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #20351 into release-stage will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release-stage   #20351   +/-   ##
==============================================
  Coverage          15.21%   15.21%
==============================================
  Files                 50       50
  Lines               1341     1341
  Branches             208      208
==============================================
  Hits                 204      204
  Misses              1121     1121
  Partials              16       16

Continue to review full report at Codecov.

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


TagList Group Column

The different tag groups displayed on the TagList control are missing spaces between each other

Please, attach a screenshot with a problem if possible.

Fixed


Don't return the InsufficientPeers error when broadcasting messages

Libp2p returns the InsufficientPeers error when there are active peers, but they aren't interested in this specific announcement topic. We don't need that, so such behavior can be removed when we get rid of the libp2p backend.
Open question: do we need to return this error when we aren't connected to any peer?

Removed in https://github.com/mintlayer/mintlayer-core/pull/635.


Framework not building with Carthage

Hi,
I'm trying to add your library to my project with Carthage, but I'm running into some problems.
I've added github "Ankit-Aggarwal/SwiftyWebRTC" to my Cartfile and the run carthage update, but this is what I get:
*** Skipped building WebRTC due to the error:
Dependency "WebRTC" has no shared framework schemes

If you believe this to be an error, please file an issue with the maintainers at https://github.com/Anakros/WebRTC/issues/new
*** Building scheme "SwiftyWebRTC" in SwiftyWebRTC.xcodeproj
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /path/to/my/project/Carthage/Checkouts/SwiftyWebRTC/SwiftyWebRTC.xcodeproj -scheme SwiftyWebRTC -configuration Release -derivedDataPath /Users/myuser/Library/Caches/org.carthage.CarthageKit/DerivedData/9.4_9F1027a/SwiftyWebRTC/v0.1.6 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/v0/yz384q754hb8zcdjy4j72wb1c3vwd0/T/SwiftyWebRTC SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /path/to/my/project/Carthage/Checkouts/SwiftyWebRTC)

Looking into the build log, I see this
Failed to read file or folder at /path/to/my/project/Carthage/Checkouts/SwiftyWebRTC/Carthage/Build/iOS/WebRTC.framework
Any help would be precious.
Thanks

+1 same problem here :(

Gonna look into this..

@Punkers @bbigotes : Can you give me more details like which carthage version, xcode version and swift version you are using.
It worked fine for me. I used following.
cartfile github "Ankit-Aggarwal/SwiftyWebRTC" ~> 0.1
Which leads to resolve version to be
github "Ankit-Aggarwal/SwiftyWebRTC" "v0.1.6"
Used this command to fetch and update.
carthage update SwiftyWebRTC --platform ios
It was done on my earlier project and i just used last command again today to check issue with latest carthage version if any.

I've run the same commands you're suggesting and I see the WebRTC.framework, but nothing else in the Build/iOS folder


Improved Partial{Eq,Ord} derive

Provide derivative({PartialEq, Eq, PartialOrd, Ord}) with:

Eq:

[x] custom bound

PartialEq:

[x] custom bound
[x] ignore on a field
[x] compare_with on a field

Ord:

[ ] custom bound
[ ] ignore on a field
[ ] compare_with on a field

PartialOrd:

[ ] custom bound
[ ] ignore on a field
[ ] compare_with on a field

enum are tricky¹ as there is no stable way to compare discriminants yet. See https://github.com/rust-lang/rfcs/pull/1696.

1: not for Eq.

Eq is done. I'm going to wait a while on https://github.com/dtolnay/syn/issues/27 for the others.

What's the current status of this? I have a project where it would be significantly helpful if I could derive Ord with custom bounds (to work around https://github.com/rust-lang/rust/issues/26925 ). I'd submit a PR, but unfortunately the proc-macro code is still fairly opaque to me and I don't want to do it wrong.


Same configuration as the reference paper

Hello,
We are looking for the configuration that was used for 'A scalable noisy speech dataset and online subjective test framework' paper? We could not find all the values such as SNR levels, noise types etc.
Maybe add it to the repo so that its really easy to reproduce the same setup.
Thank you in advance!

Check out this dataset https://github.com/microsoft/DNS-Challenge
It is an improvement over this dataset.


Allow SYSTIMER alarms to be configured for blocking or async individually

Title, and a bit more analysis here: https://github.com/esp-rs/esp-hal/issues/1318#issuecomment-2059823266

I started looking into this as I needed more timers and have written an implementation.
The issue is I've hit an awkward hardware limitation that the current code doesn't handle correctly and wanted to get some thoughts about how it should be handled.
The problem is around two registers, SYSTIMER.CONF and SYSTIMER.INT_ENA.
Ideally as a hal user (and developer I guess) I'd like to have three independent Alarm objects, each of which I could use in different parts of my application or send to another core. This is what the current implementation is doing.
Unfortunately those two registers I mentioned above are shared between the Alarm objects :cry:, and the hal uses modify(|_, w| .... ) on them which is a non-atomic read-modify-write operation. So if two cores (or one core + interrupt) try to perform this operation, it's possible that only of the modifications actually persists. This isn't unsound but it leads to incorrect behavior.
So for Alarm to be correctly Send, the calls to modify(|_, w| .... ) need to be protected or users should be prevented from calling any methods that modify those registers.

I opted for a Config object that users can share with any appropriate locking mechanism of their choice.

I have a reproducer for the incorrect behavior here: https://github.com/ProfFan/esp-hal-bughunt
You can change the GPIO to be whichever your board have. And change SYSTIMER to TIMG0 or other timers.
LED should stop blinking in 10-60s, and resume after indefinite amount of time without resetting.

*It's quite hard to trigger because I only have 1 fast timer, if you change the Timer::afters to 1-3ms it triggers immediately

cc @JurajSadel we need test coverage for this


Improve layout

Thanks @domoritz this looks great. And the best part is that I was able to figure the CSS out myself and make size tweaks. It was great to have your help today.

Fantastic. I'm glad I could help. If you have any other wishes concerning the layout, let me know.


Invoices not being generated with WHMCS v6 and OnApp 3.5

Invoices not being generated with WHMCS v6 (with v6 template) and OnApp 3.5 with PHP Wrapper (older and newer) and latest Users Module v<IP_ADDRESS>.
Any advice on specific versions needed for this configuration while we wait for the OnApp v4 upgrade?
Also the documentation for the Users Module seem out of date and reference two CRON jobs while only one is being displayed in the docs.

Thanks for reporting.
Do you have any error log?

That was fast :). No, the logs don't seem to generate. Probably due to directory path references (Windows Server in this case). I commented out the EOL statement and tried to run from the browser and gettign 500 error:
Notice: Undefined index: argv in C:\somedir\someaccount\somedomain\wwwroot\account\modules\servers\onappusers\cronjobs\common.php on line 26
Warning: require_once(C:\somedir\someaccount\somedomain\wwwroot\account\modules\servers\onappusers\cronjobs\dbconnect.php): failed to open stream: No such file or directory in C:\HostingSpaces\ephost1\ephost.com\wwwroot\account\modules\servers\onappusers\cronjobs\common.php on line 276
Fatal error: require_once(): Failed opening required 'C:\somedir\someaccount\somedomain\wwwroot\account\modules\servers\onappusers\cronjobs\dbconnect.php' (include_path='.;C:\php\pear') in C:\HostingSpaces\ephost1\ephost.com\wwwroot\account\modules\servers\onappusers\cronjobs\common.php on line 276

invoice generation stuff is designed to run in cli-mode (console) only.
anyway it seems to be Windows-related issue.
I'll check it tomorrow.

Thank you. Where is this dbconnect.php file the error references? I am not seeing it in WHMCS v6 but I do see it in WHMCS v5 in the root WHMCS install folder.

dbconnect.php was removed in v6.
the problem seems to be in detecting root path on Windows and/or running script in browser instead of cli-mode.
check https://github.com/OnApp/OnApp-WHMCS-UsersModule/blob/master/modules/servers/onappusers/cronjobs/common.php#L272
and https://github.com/OnApp/OnApp-WHMCS-UsersModule/blob/master/modules/servers/onappusers/cronjobs/common.php#L26

Okay that makes sense if $ _ SERVER[ 'argv' ][ 0 ]  is not available when running in browser. Can I temporarily/permanently hard code the path (line 26) for my environment and run in the CLI?
If so, would that be the root of the site, the root of WHMCS or to root of one of the WHMCS directories...?
Don't mean to press but I need to generate invoices for July.

SERVER[ 'argv' ] should be propagated correctly if run in CLI.
anyway You are free to do whatever you want with code on your server)
root should point to WHMCS root directory. and I strongly recommend to run tests first, https://github.com/OnApp/OnApp-WHMCS-UsersModule/wiki/2.-Setting-up-cronjobs#testing-invoice-generator

Yes, it used to work fine in the CLI.
That's the link that seems to reference two CRON jobs but only shows one. Is there supposed to be a job for stats collection and one for monthly invoices? Is stats collection unneeded now?
"{WHMCS} is the full path to your WHMCS directory.
First command is usage statistics collector.
Second one is invoice generator."

stats collection was removed quite long time ago.
could not you provide link where you found mention about it?
on https://github.com/OnApp/OnApp-WHMCS-UsersModule/wiki/2.-Setting-up-cronjobs I see just one cronjob.

There is only one cron job but the text says "First command is usage statistics collector. Second one is invoice generator."
https://github.com/OnApp/OnApp-WHMCS-UsersModule/wiki/2.-Setting-up-cronjobs

Thanks for paying attention to this point, fixed.

Hi,
We are getting same error for generating invoice and for test cron job see error below
[28-Feb-2016 13:28:33 UTC] PHP Notice:  Undefined index: argv in /home/chetan4378/public_html/stack/modules/servers/onappusers/cronjobs/common.php on line 26
[28-Feb-2016 13:28:33 UTC] PHP Warning:  require_once(/home/chetan4378/public_html/stack/modules/servers/onappusers/cronjobs/dbconnect.php): failed to open stream: No such file or directory in /home/chetan4378/public_html/stack/modules/servers/onappusers/cronjobs/common.php on line 275
[28-Feb-2016 13:28:33 UTC] PHP Fatal error:  require_once(): Failed opening required '/home/chetan4378/public_html/stack/modules/servers/onappusers/cronjobs/dbconnect.php' (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/chetan4378/public_html/stack/modules/servers/onappusers/cronjobs/common.php on line 275
how to resolve that
Thanks in advance

Thank you for writing. I will be out-of-the-country on vacation from February 1st to March 3rd with intermittent access to email and telephone.
If you require immediate assistance please call my colleagues Tegan King at<PHONE_NUMBER> at extension 140 or Morgan Lunsford at extension 180 who can reach me with any questions or emergencies.
Otherwise, please redirect your email to<EMAIL_ADDRESS>and one of our technical support representatives will assist 24/7.
I will reply your email when I return.
Thank you!
Joe Rebis
CEO, EPhost, Inc.


Speed rate limited to about 250Mbps

Testing on localhost, and on Gigabit connected direct link, the max speed test result is 250Mbps

This is referenced in the readme.md. A quick test on my ubuntu laptop with master shows upper 700 and low 800Mbps for localhost only tests. Are you using Windows because I developed this on a Windows laptop and that's where the stats came from so long ago.
I'll see what can be done though.

hmm… I missed it.  Sorry about that.  On localhost, on windows, I do only get the 250Mbps max, but on linux, over shared gigabit connection, I get 480Mbps which is respectable.    Part of my issue with the linux host was my initial tests which were also slow were accidentally going through a proxy.  I bypassed it to get the faster speeds against linux.
Sorry to rehash an already acknowledged issue.    My take is it’s a Node.js performance issue for the slower windows numbers.

On Nov 3, 2017, at 2:42 PM, Josh Erickson<EMAIL_ADDRESS>wrote:
This is referenced in the readme.md. A quick test on my ubuntu laptop with master shows upper 700 and low 800Mbps for localhost only tests. Are you using Windows because I developed this on a Windows laptop and that's where the stats came from so long ago.
I'll see what can be done though.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/soterinsights/speedtest/issues/7#issuecomment-341834586, or mute the thread https://github.com/notifications/unsubscribe-auth/AOaU64E4qJlmhamFyZKkp7CAMnEBsbgAks5sy4jagaJpZM4QRfoT.

No worries. Easily missed. I'm just glad this tool is getting some use!

Okay, update.
You can edit the settings in the bin\config.json file. Increasing the max download and upload sizes as well as time lets the test run larger and longer which can get up to the Gbps range on localhost.
I've also updated the code if you want to take a look.

That’s awesome.  I’ll give it a shot.  I was thinking the same thing.
Armand
--Sent from iPhone

On Nov 3, 2017, at 10:45 PM, Josh Erickson<EMAIL_ADDRESS>wrote:
Okay, update.
You can edit the settings in the bin\config.json file. Increasing the max download and upload sizes as well as time lets the test run larger and longer which can get up to the Gbps range on localhost.
I've also updated the code if you want to take a look.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The new update works great.  Without any tweaking I can now achieve nearly 1Gbps on a shared gigabit link.


Formatted the discord section a bit more nicely.

Added a shields.io badge.

Welcome to the contributors list


Bug in Firefox, time returned as "Invalid Date"

I've been trying to parse a timestamp that I get back from Twitter through moment, it works fine in Chrome but fails in Firefox. Instead, my wording for all the tweets in Firefox are shown as "a few seconds ago".
I tried the following in Chrome:
moment().format()
|-> "2015-02-27T10:58:55-05:00"
moment('2015-02-27 10:03:06 -0500').format() // a sample timestamp for a tweet returned by Twitter
|->"2015-02-27T10:03:06-05:00"

However in Firefox I get:
moment().format()
|-> "2015-02-27T10:58:55-05:00"
moment('2015-02-27 10:03:06 -0500').format()
|->"Invalid date"

So the question is, is this a Firefox bug? Or should I be formatting the time properly before running it through moment, and if so how?
Thanks.

Looking into it further, I think the problem lies with how the Twitter gem is returning the date (if I try directly on the Twitter API I get a proper format "Fri Feb 27 16:29:23 +0000 2015"). So I'm going to go knock some heads over there.
I suppose this issue could be closed, unless anyone has any other thoughts.
Still it's interesting how the invalid timestamp is parsed correctly in Chrome but not in Firefox.

Since you know the value is returned in a specific format, I recommend you supply the format string.  That will remove all ambiguity and will parse using moment itself, rather than falling back to the browser.


Masternode not working

hello,
I just configured the masternode and i can't start it.

Thank you

Hi Zapa11,
Did you manage to get it to work? Do you have a link to a guide how to get the master node up and running?

Hi Zapa11,
Did you manage to get it to work? Do you have a link to a guide how to get the master node up and running?

i found a guide: https://iq.cash/masternode-guide/

i found a guide: https://iq.cash/masternode-guide/


Enable text compression (gzip)

I'm using gatsby-plugin-s3 to deploy my website and I'm getting the following warning when I run Google PageSpeed Insights
Enable text compression
how do I enable gzip compression?

Are you using CloudFront? If you're using CloudFront, you can enable it by editing your Distribution's Behaviour settings. Set the "Compress Objects Automatically" setting to Yes.
If you're not using CloudFront, you may be able to do something like this. However, I suspect that this will make it impossible to load your website in any browser that doesn't support gzip compressed text.

Interesting.
I do agree with @JoshuaWalsh that you should probably just use the automatic compression from CF, but, in the spirit of optimising as much as possible by default for our end users, the blogpost you mentioned is a method that could be completely integrated into the plugin itself.
GZip is supported by basically every browser for a while now (IE6+, Firefox 2+, Chrome 1+ etc), so although a good point, in reality I don't think it's that much of a concern.
We would ofcourse also offer a config field to disable this behaviour if people would somehow run into problems because of the compression.

Also worth mentioning that automatic compression is something that CF disables by default (I just checked my own distributions and it was all disabled there), so if we can save users from having to manually enable it in CF, I already think it's worth the effort.

I really don't think we should do this. If we upload content to S3 gzipped with a Content-Encoding tag, the content will always be served in that encoding regardless of the Accept header specified by the client. This is non-compliant with the HTTP spec.
As much as it's nice to minimise friction, we should not do something this drastic just to save users a couple of clicks. Using CloudFront to compress the content is the right way to handle this, and we should encourage users to do things right.

Fair. It's just kind of a bummer that there's a lot we can't provide by default with the plugin right now because CF is not part of it's scope.
But... maybe we should make CF part of it's scope. (either through the terraform stuff you mentioned earlier or just through the AWS SDK)
You're just not gonna use S3 without CF in production eitherway...

I think your initial question has now been answered @isi-gach, feel free to reopen if you have any further questions.


Add directory structure to README, improves #10

The file structure is an essential part of the provided benefit and should be in the readme file.

Merged - thanks @lorey!


Only return bytes/records written if the writer has been closed

@vikarmic @eogren

Code looks fine, but do you have any context why it's needed? Also curious if this will make it harder to monitor the job status since bytesWritten would go from 0 -> 1GB or something

@eogren This seems to be gobblin convention. Nothing says we need to follow it, but if you look at their avro writer, the assumption is its closed before either bytes written or records written is called.

oh ok. in that case works for me.
On Tue, Apr 7, 2015 at 10:48 AM, Akshay Nanavati<EMAIL_ADDRESS>wrote:

@eogren https://github.com/eogren This seems to be gobblin convention.
Nothing says we need to follow it, but if you look at their avro writer,
the assumption is its closed before either bytes written or records written
is called.
—
Reply to this email directly or view it on GitHub
https://github.com/NerdWallet/gobblin/pull/9#issuecomment-90670482.

Looks good here.


Consider using custom attribute extension instead of doc.spans

I love the idea of this project and I'm definitely planning to utilize it in future work. One point of discussion is it's a little confusing for a spaCy user to have doc.spans be a dict with the spans for each labeling function.
I think it might be a little easier if these were contained in a custom extension so you could access these annotations as something like doc._.skweak_spans and the doc.spans attribute was only set post aggregation.
If there's a rationale I'm missing, no big deal.
Thanks!

nvm just saw this is a new spacy v3 feature!

Thanks for your interest in the toolkit ! Yes, it's indeed a new feature introduced in the new version of SpaCy. We had actually also considered using custom extensions, but it turned out to be quite cumbersome to use (especially when it comes to preserving annotations after storing documents to disk).  This new SpanGroup turned out to be quite convenient to use.


[move-lang][error migration] Migrate parser/ errors

Migrated all errors in parser/ to new diagnostic system

Motivation

Had to cleanup/update the API a bit more. I had them as separate commits but had issue rebasing so needed to squash, sorry

Test Plan

Ran the tests

/land

This looks good. I like the new message formats from the updated codespan, especially the way that it shows the lines of code in order. I wasn't sure how that would work, but now that I see it, I really like it.
I'm approving but could you comment on your plans for the _deprecated functions here? I assume that's just a temporary step, right?

I'll fix any formatting issues in a future PR (one will be up as soon as this lands)
The _deprecated stuff will die as soon as all of these migrations land. Just missed some on the initial PR


WICKET-7029 Add wicket-tester dependency during migration

Adds the new dependency that was added as part of WICKET-7072

https://issues.apache.org/jira/browse/WICKET-7072
https://issues.apache.org/jira/browse/WICKET-7029

Thank you, @timtebeek !

 Wishing all the best with the release and seeing folks upgrade. :)


Main concepts in Wechaty

Improve the Introduction and Explanation sections project

Section
Sub-section
Technical Writer

Introduction
Main concepts in Wechaty
Chris Estepa, Joseph Mawa

This  is Main concepts in Wechaty sub-section of the Introduction section

hi @Rohitesh-Kumar-Jain As GSoD Project PR Review Rules in https://github.com/wechaty/wechaty.js.org/issues/1045
This PR should follow our rules and get enough approval, then I will review this PR. So I remove the ready to merge tag and feel free to add this tag when it gets enough approval.

hi @Rohitesh-Kumar-Jain As GSoD Project PR Review Rules in #1045
This PR should follow our rules and get enough approval, then I will review this PR. So I remove the ready to merge tag and feel free to add this tag when it gets enough approval.

Hi @chris-4444, Could you review and add the tag ready to merge afterwards? Thank you.

@chris-4444 I would like you to once go through the PR, and approve when you think it's ready to get merged.

@chris-4444 I would like you to once go through the PR, and approve when you think it's ready to get merged.

Hi @chris-4444 , as @Rohitesh-Kumar-Jain said, I will remove the ready to merge tag, after it got enough approval, feel free to add it again.


domainjoin-cli join to rodc problem

Version: 8.6.427
OS/Distro: Ubuntu 18.04
Issue/Impact: domainjoin-cli join to rodc problem
checklist:

systemctl status lwsmd.service

lwsmd.service - BeyondTrust PBIS Service Manager
Loaded: loaded (/lib/systemd/system/lwsmd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-04-26 14:52:18 MSK; 1 weeks 3 days ago
Main PID: 816 (lwsmd)
Tasks: 204 (limit: 4915)
CGroup: /system.slice/lwsmd.service
├─  816 /opt/pbis/sbin/lwsmd --start-as-daemon
├─  847 lw-container lwreg
├─  924 lw-container eventlog
├─  952 lw-container netlogon
├─23445 lw-container dcerpc
├─29857 lw-container lwio
├─29882 lw-container reapsysl
└─29912 lw-container lsass

may 06 15:29:56 hostname lwio[29857]: [lwio] GSS-API error calling gss_init_sec_context: -1765328228 (Cannot contact any KDC for realm 'EXAMPLE.COM')
may 06 15:29:56 hostname lsass[29912]: [lsass] Failed to run provider specific request (request code = 8, provider = 'lsa-activedirectory-provider') -> error = 31, symbol = ERROR_GEN_FAILURE, client pid = 32
may 06 15:35:26 hostname lwio[29857]: [lwio] GSS-API error calling gss_init_sec_context: 851968 (Unspecified GSS failure.  Minor code may provide more information)
may 06 15:35:26 hostname lwio[29857]: [lwio] GSS-API error calling gss_init_sec_context: -1765328228 (Cannot contact any KDC for realm 'EXAMPLE.COM')
may 06 15:35:26 hostname lsass[29912]: [lsass] Failed to run provider specific request (request code = 8, provider = 'lsa-activedirectory-provider') -> error = 31, symbol = ERROR_GEN_FAILURE, client pid = 46
may 06 15:36:11 hostname lsass[29912]: [LwKrb5GetTgtImpl /builder/src-git/Platform/src/linux/lwadvapi/threaded/krbtgt.c:346] KRB5 Error code: -1765328228 (Message: Cannot contact any KDC for realm 'EXAMPLE.COM')
may 06 15:36:11 hostname lsass[29912]: [lsass] Failed to run provider specific request (request code = 8, provider = 'lsa-activedirectory-provider') -> error = 40121, symbol = LW_ERROR_DOMAIN_IS_OFFLINE, cli
may 06 15:37:34 hostname lwio[29857]: [lwio] GSS-API error calling gss_init_sec_context: 851968 (Unspecified GSS failure.  Minor code may provide more information)
may 06 15:37:34 hostname lwio[29857]: [lwio] GSS-API error calling gss_init_sec_context: -1765328228 (Cannot contact any KDC for realm 'EXAMPLE.COM')
may 06 15:37:34 hostname lsass[29912]: [lsass] Failed to run provider specific request (request code = 8, provider = 'lsa-activedirectory-provider') -> error = 31, symbol = ERROR_GEN_FAILURE, client pid = 89

/opt/pbis/bin/lwsm list

lwreg          running (container: 847)
dcerpc         running (container: 23445)
eventlog       running (container: 924)
lsass          running (container: 29912)
lwio           running (container: 29857)
netlogon       running (container: 952)
rdr            running (io: 29857)
reapsysl       running (container: 29882)
usermonitor    stopped

/opt/pbis/domainjoin-cli query

Name = hostname
Domain =

pbis status

LSA Server Status:
Compiled daemon version: <IP_ADDRESS>7
Packaged product version: 8.6.427.243473
Uptime:        0 days 0 hours 55 minutes 45 seconds
[Authentication provider: lsa-activedirectory-provider]
Status:        Unknown
Mode:          Unknown

/opt/pbis/bin/enum-users

TotalNumUsersFound: 0

attach logs
https://drive.google.com/file/d/1g6WQtx7FMxp5tCVA-WdN0eaWFRr-X7vP/view?usp=sharing

Output/Error:

ERROR_GEN_FAILURE
LW_ERROR_DOMAIN_IS_OFFLINE

Steps to Reproduce:

Just trying to join with
sudo /opt/pbis/bin/domainjoin-cli join example.com user

We are looking to add this functionality directly into the domainjoin-cli in the future. For now the script can be found here:
/opt/pbis/libexec/offline-join.pl --help

offline-join.pl worked without errors, but nothing happen.
pbis-status

LSA Server Status:
Compiled daemon version: <IP_ADDRESS>7
Packaged product version: 8.6.427.243473
Uptime:        0 days 0 hours 3 minutes 36 seconds
[Authentication provider: lsa-activedirectory-provider]
Status:        Unknown
Mode:          Unknown

No Response. Closing issue.


Xfce updates 2024-03-02

https://github.com/xfce-mirror/xfce4-clipman-plugin/compare/xfce4-clipman-plugin-1.6.5..xfce4-clipman-plugin-1.6.6
https://github.com/xfce-mirror/xfce4-taskmanager/compare/xfce4-taskmanager-1.5.6..xfce4-taskmanager-1.5.7
https://github.com/xfce-mirror/xfce4-terminal/compare/xfce4-terminal-1.1.2..xfce4-terminal-1.1.3
https://github.com/xfce-mirror/xfce4-panel/compare/xfce4-panel-4.18.5..xfce4-panel-4.18.6
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg test xfce
@ofborg build xfce.xfce4-panel xfce.xfce4-terminal xfce.xfce4-taskmanager xfce.xfce4-clipman-plugin

@ofborg build xfce.xfce4-terminal.passthru.tests


Provide interface for iterative matching, to avoid catastrophic backtracking

Currently, users of PHP regexp have only two choices:

preg_match_all(), which performs all available matches right away
preg_match(), which performs only a single match

The problem with preg_match_all(), is that sometimes users need only the first 2 or 3 matches, where 4th match would cause catastrophic backtracking. Currently, it may cause users to use substr() or $offset to use preg_match() to find next calls, because preg_match_all() doesn't suffice.
This could be worked with, because preg_replace and preg_replace_callback() for example provide $limit parametr, which can control very precisely how many calls will be done, but with matching, it's not possible.

We can do the same for nth()

This may not be possible.
It is only possible, if the assumption is correct, that the next match should be made at offset which is the sum of the previous offset and the length of the first match, excluding capturing groups.
Is this assumption always true?
function nextOffset(string $match, int $offset): int {
  return $previousOffset + \strLen($match);
}

Even if you include \K resets, that will still hold, and looh-arounds with groups shouldn't change anything, but is there anything else missing here?

Perhaps use limits of preg_replace()?


Exclude Specific File Types

Curious if there is a way to exclude certain file extensions? Specifically if I allow users to select videos I am looking to only allow .mp4 (video/mp4) formats. I see this https://github.com/esafirm/android-image-picker/pull/100 but this seems to be related to specific files not a whole extension type.
Thanks!

Hi @mikemike396 , currently this is only possible through custom components. You can replace the ImageFileLoader to be precise


auro-skeleton: use of deprecated<EMAIL_ADDRESS>

General Support Request
This component has a dependency on a deprecated version of the wcss.
Please update from<EMAIL_ADDRESS>to latest<EMAIL_ADDRESS>or later)
Possible Solution
<EMAIL_ADDRESS>or later
Additional context
No response
Exit criteria
No response

Duplicate issue

https://github.com/AlaskaAirlines/auro-nav/issues/27


fix RandomFixedLengthSampler (shuffle full set, and unbias small set)

There's two problems with RandomFixedLengthSampler

If target < length of dataset, then we don't shuffle
If target > length of dataset, we could bias sampling towards start of dataset

I hope this is the right place for the changes. I didn't regenerate the nbvdev export to scripts and I was hoping you could do it (there's edit rights on this branch). Otherwise I can look into setting up a venv for it again.

Thank you!


Why bq client create dataset in data loader?

I understood data loader is for fetching remote data or local files.
__write_table in the Bigquery export.__process function, which contains the line client creates the dataset. If data loader use to export an existing dataset, I think it can leave out to create the dataset. (I haven't seen any warehouse IO that creates a bigquery dataset level resource. If I missed it, please share the link)
To summarize,

bigquery:L374 can be deleted if there's a reason not to? Also, I haven't found any similar issues. If exists a reason why bq client should create a dataset, please let me know 🙏.
If you accept this, I'd like to contribute. Can I create a PR myself (if the syntax is not needed)?

i found warehouse used create_? (? -> same level in bigquery.dataset)!
in redshift, create_schema parameter is existed. (default true)
Why not use the create_dataset parameter in bigquery.export?

You can add the create_dataset param to the bigquery.export method. Feel free to create a PR for it.

@wangxiaoyou1993 Could you review the #5124 my colleague created to fix issue?


[SPARK-6568] spark-shell.cmd --jars option does not accept the jar that has space in its path

escape spaces in the arguments.

This is the new version of https://github.com/apache/spark/pull/5347 which is accidently merged and closed by mistake.

Test build #30012 has started for   PR 5447 at commit 2c62e3b.

Test build #30012 has finished for   PR 5447 at commit 2c62e3b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

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

This may seem a silly question, but why not just use File.toURI? It does handle windows paths robustly

but why not just use File.toURI

That works for me. If doing that, though, should make sure that all the call sites can handle URIs with a scheme, since File.toURI will return file:/blah.
(Or maybe, @steveloughran , you're suggesting the change in a more specific spot than formatPath? It's not clear since you didn't comment on a specific part of the code.)

Trying to make sense of @steveloughran's suggestion, maybe rewrite resolveURI like this:
def resolveURI(path: String, testWindows: Boolean = false): URI = {
  try {
    val uri = new URI(path)
    if (uri.getScheme() != null) {
      uri
    } else {
      new URI("file", uri.getSchemeSpecificPart(), uri.getFragment())
    }
  } catch {
    case e: URISyntaxException =>
      new File(path).toURI()
  }
}

Then you don't even need that "format path" function at all.

@tsudukim what do you think about these further comments? I'd like to wrap this up since it's a good fix and I know we've been talking about it for a while now.

Test build #30484 has started for   PR 5447 at commit 016128d.

Oh, thank you for all of your comments. Fixing it to use File.toURI seems to be better.
I've fixed this PR.

Test build #30484 has finished for   PR 5447 at commit 016128d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

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

Seems like the tests don't like the "fake Windows" code path with your changes.

I tested only on Windows, but I noticed I get different results on Linux.
This is because...
On Windows:
scala> new File("C:\\path\\to\\file.txt").toURI
res0: java.net.URI = file:/C:/path/to/file.txt

But on Linux:
scala> new File("C:\\path\\to\\file.txt").toURI
res0: java.net.URI = file:/home/tsudukim/.../C:%5Cpath%5Cto%5Cfile.txt

So I think the tests for Windows path should be run only on Windows.

Test build #30740 has started for   PR 5447 at commit 84c33d0.

Test build #30740 has finished for   PR 5447 at commit 84c33d0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.
This patch does not change any dependencies.

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

@tsudukim but that Windows path is being interpreted correctly on Linux -- it is just that this string does not denote the same logical path at all!

The problem is that the result is different on Windows and Linux even if input path strings are exactly the same. We can't use the same test code.

@tsudukim that's true, and that makes this hard to test, since we don't run on Windows machines. Your code manages to detect whether the test is running on Windows and change accordingly, so that much is good. The risk is just that a change breaks the Windows tests and goes unnoticed for a while. This may be a risk we have to take. Or, you can simply not include the Windows tests since this change is also primarily about Linux now.

So, the previous code tried to run this "fake windows" mode so that it could test the Windows-specific escaping functions on Windows when running tests on Linux, since (almost) nobody runs these tests on Windows.
Since now we're not using the custom escaping and instead relying on the JDK library, IMO it's ok to remove these tests and replace them with more generic ones that work on both Windows and Linux.

@tsudukim What do you think about Marcelo's last comment?
It would be cool to get this in for 1.4 and we're now in feature freeze, but could probably still get in a legitimate bug fix.

I'm not sure what the status of this is @tsudukim -- do you want to finish it off or should someone else? I just want to resolve this one way or the other since it's been open a long time. Great work.

Merged build triggered.

Merged build started.

I'm so sorry to leave it for a very long time. I modified it as your comments.

Merged build triggered.

Merged build started.

Test build #32227 has started for   PR 5447 at commit 1784239.

Test build #32227 has finished for   PR 5447 at commit 1784239.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

Merged build triggered.

Merged build started.

Test build #32360 has started for   PR 5447 at commit ed46047.

Test build #32360 has finished for   PR 5447 at commit ed46047.

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

Merged build finished. Test PASSed.

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

Looking strong, thank you. If there are no more comments, I'll merge.

Just a few formatting nits, but otherwise LGTM.
I think things are a little weird on Windows because if you write down a path like c:/foo/bar it looks like a URL with scheme c, so maybe that's why the extra windowsDrive checks are still needed.

Merged build triggered.

Merged build started.

Test build #32513 has started for   PR 5447 at commit 3f9a188.

@vanzin Thank you for your comments.
About Windows path, you're right. Someone might write down like C:/foo/bar though / is not a correct path separator on Windows.
About the other comments, I fixed them.

Test build #32513 has finished for   PR 5447 at commit 3f9a188.

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

Merged build finished. Test PASSed.

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

Looking good. Thanks for the perseverance @tsudukim in fixing a reasonably important issue, and cleaning up code along the way, and @vanzin for detailed review. Merging soonish ...

I am facing following problem with C:\spark-1.4.1-bin-hadoop2.6.
Some people referred that this is fixed in 1.4 but I am still getting this error on windows 7.
Jarl Haggerty, reffered this problem in https://issues.apache.org/jira/browse/SPARK-6568.
Moreover some more people talked about this(following exception) in PR 5447.
Exception-
Exception                                 Traceback (most recent call last)
 in ()
10
11 # Initialize PySpark to predefine the SparkContext variable 'sc'
---> 12 execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))
C:\spark-1.4.1-bin-hadoop2.6\python/pyspark/shell.py in ()
41     SparkContext.setSystemProperty("spark.executor.uri", os.environ["SPARK_EXECUTOR_URI"])
42
---> 43 sc = SparkContext(appName="PySparkShell", pyFiles=add_files)
44 atexit.register(lambda: sc.stop())
45
C:\spark-1.4.1-bin-hadoop2.6/python\pyspark\context.pyc in init(self, master, appName, sparkHome, pyFiles, environment, batchSize, serializer, conf, gateway, jsc, profiler_cls)
108         """
109         self._callsite = first_spark_call() or CallSite(None, None, None)
--> 110         SparkContext._ensure_initialized(self, gateway=gateway)
111         try:
112             self._do_init(master, appName, sparkHome, pyFiles, environment, batchSize, serializer,
C:\spark-1.4.1-bin-hadoop2.6/python\pyspark\context.pyc in _ensure_initialized(cls, instance, gateway)
227         with SparkContext._lock:
228             if not SparkContext._gateway:
--> 229                 SparkContext._gateway = gateway or launch_gateway()
230                 SparkContext._jvm = SparkContext._gateway.jvm
231
C:\spark-1.4.1-bin-hadoop2.6/python\pyspark\java_gateway.pyc in launch_gateway()
87                 callback_socket.close()
88         if gateway_port is None:
---> 89             raise Exception("Java gateway process exited before sending the driver its port number")
90
91         # In Windows, ensure the Java child processes do not linger after Python has exited.
Exception: Java gateway process exited before sending the driver its port number
I got this problem while runnning following program in ipython notebook.
Program-
import os
import sys
spark_home = os.environ.get('SPARK_HOME', None)
sys.path.insert(0, spark_home + "/python")
Add the py4j to the path.
You may need to change the version number to match your install
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-<IP_ADDRESS>-src.zip'))
Initialize PySpark to predefine the SparkContext variable 'sc'
execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))
Can somebody suggest some solution to this problem.

@jmdvinodjmd : that's something to raise on the spark user list and then, if you don't get help, as a JIRA on issues.apache.org; these pull requests are for reviewing patches, and once into the code, don't get looked at again.


subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j4']' returned non-zero exit status 2.`

Hi,
I encountered a build fail during my build from the source code. I have tried to build from the stable version using pip but it failed either.
`running install
running bdist_egg
running egg_info
writing torch_blocksparse.egg-info/PKG-INFO
writing dependency_links to torch_blocksparse.egg-info/dependency_links.txt
writing requirements to torch_blocksparse.egg-info/requires.txt
writing top-level names to torch_blocksparse.egg-info/top_level.txt
/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/torch-1.6.0-py3.6-linux-x86_64.egg/torch/utils/cpp_extension.py:335: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja.. Falling back to using the slow distutils backend.
warnings.warn(msg.format('we could not find ninja.'))
reading manifest file 'torch_blocksparse.egg-info/SOURCES.txt'
writing manifest file 'torch_blocksparse.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-3.6/torch_blocksparse_cpp_utils.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/batchnorm.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/matmul.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/attention.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/permute.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/deepspeedsparseselfattention.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/init.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/conv.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/relu.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
copying build/lib.linux-x86_64-3.6/torch_blocksparse/softmax.py -> build/bdist.linux-x86_64/egg/torch_blocksparse
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/batchnorm.py to batchnorm.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/matmul.py to matmul.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/attention.py to attention.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/permute.py to permute.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/deepspeedsparseselfattention.py to deepspeedsparseselfattention.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/init.py to init.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/conv.py to conv.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/relu.py to relu.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse/softmax.py to softmax.cpython-36.pyc
creating stub loader for torch_blocksparse_cpp_utils.cpython-36m-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/torch_blocksparse_cpp_utils.py to torch_blocksparse_cpp_utils.cpython-36.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_blocksparse.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_blocksparse.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_blocksparse.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_blocksparse.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying torch_blocksparse.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
pycache.torch_blocksparse_cpp_utils.cpython-36: module references file
creating 'dist/torch_blocksparse-1.1.0-py3.6-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing torch_blocksparse-1.1.0-py3.6-linux-x86_64.egg
removing '/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/torch_blocksparse-1.1.0-py3.6-linux-x86_64.egg' (and everything under it)
creating /home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/torch_blocksparse-1.1.0-py3.6-linux-x86_64.egg
Extracting torch_blocksparse-1.1.0-py3.6-linux-x86_64.egg to /home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages
torch-blocksparse 1.1.0 is already the active version in easy-install.pth
Installed /home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/torch_blocksparse-1.1.0-py3.6-linux-x86_64.egg
Processing dependencies for torch-blocksparse==1.1.0
Searching for triton
Reading https://pypi.org/simple/triton/
Downloading https://files.pythonhosted.org/packages/27/d2/adc02ff11f58199fc3b0f75623a9e8244060339432adf40332c22b59a483/triton-0.2.1.tar.gz#sha256=d512855964f4d1e004370efbe9e1d2bb215fdd1b1f91a02d5e8ae1965c671b2e
Best match: triton 0.2.1
Processing triton-0.2.1.tar.gz
Writing /tmp/easy_install-sj3hife9/triton-0.2.1/setup.cfg
Running triton-0.2.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-sj3hife9/triton-0.2.1/egg-dist-tmp-54zmd0kt
/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'keyword'
warnings.warn(msg)
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found LLVM: /usr/lib/llvm-8 (found version "8.0.0")
-- Adding Python module
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/easy_install-sj3hife9/triton-0.2.1/build/temp.linux-x86_64-3.6
Scanning dependencies of target triton
[  1%] Building CXX object CMakeFiles/triton.dir/lib/runtime/arg.cc.o
[  3%] Building CXX object CMakeFiles/triton.dir/lib/lang/encoding.cc.o
[  7%] Building CXX object CMakeFiles/triton.dir/lib/lang/type.cc.o
[  7%] Building CXX object CMakeFiles/triton.dir/lib/runtime/function.cc.o
[  9%] Building CXX object CMakeFiles/triton.dir/lib/lang/error.cc.o
[ 10%] Building CXX object CMakeFiles/triton.dir/lib/lang/code_gen.cc.o
[ 12%] Building CXX object CMakeFiles/triton.dir/lib/lang/scope.cc.o
[ 14%] Building CXX object CMakeFiles/triton.dir/lib/lang/evaluator.cc.o
[ 16%] Building CXX object CMakeFiles/triton.dir/lib/lang/scanner.cc.o
[ 18%] Building CXX object CMakeFiles/triton.dir/lib/lang/token.cc.o
[ 20%] Building CXX object CMakeFiles/triton.dir/lib/lang/cpp.cc.o
[ 21%] Building CXX object CMakeFiles/triton.dir/lib/lang/parser.cc.o
[ 23%] Building CXX object CMakeFiles/triton.dir/lib/lang/ast.cc.o
[ 25%] Building CXX object CMakeFiles/triton.dir/lib/ir/type.cc.o
[ 27%] Building CXX object CMakeFiles/triton.dir/lib/ir/constant.cc.o
[ 29%] Building CXX object CMakeFiles/triton.dir/lib/ir/instructions.cc.o
[ 30%] Building CXX object CMakeFiles/triton.dir/lib/ir/context.cc.o
[ 32%] Building CXX object CMakeFiles/triton.dir/lib/ir/builder.cc.o
[ 34%] Building CXX object CMakeFiles/triton.dir/lib/ir/value.cc.o
[ 36%] Building CXX object CMakeFiles/triton.dir/lib/ir/module.cc.o
[ 38%] Building CXX object CMakeFiles/triton.dir/lib/ir/metadata.cc.o
[ 40%] Building CXX object CMakeFiles/triton.dir/lib/ir/function.cc.o
[ 41%] Building CXX object CMakeFiles/triton.dir/lib/ir/basic_block.cc.o
[ 43%] Building CXX object CMakeFiles/triton.dir/lib/ir/print.cc.o
[ 45%] Building CXX object CMakeFiles/triton.dir/lib/ir/utils.cc.o
[ 47%] Building CXX object CMakeFiles/triton.dir/lib/driver/platform.cc.o
[ 49%] Building CXX object CMakeFiles/triton.dir/lib/driver/context.cc.o
[ 50%] Building CXX object CMakeFiles/triton.dir/lib/driver/buffer.cc.o
[ 52%] Building CXX object CMakeFiles/triton.dir/lib/driver/dispatch.cc.o
[ 54%] Building CXX object CMakeFiles/triton.dir/lib/driver/error.cc.o
[ 56%] Building CXX object CMakeFiles/triton.dir/lib/driver/module.cc.o
[ 58%] Building CXX object CMakeFiles/triton.dir/lib/driver/stream.cc.o
[ 60%] Building CXX object CMakeFiles/triton.dir/lib/driver/event.cc.o
[ 61%] Building CXX object CMakeFiles/triton.dir/lib/driver/backend.cc.o
[ 63%] Building CXX object CMakeFiles/triton.dir/lib/driver/handle.cc.o
[ 65%] Building CXX object CMakeFiles/triton.dir/lib/driver/device.cc.o
[ 67%] Building CXX object CMakeFiles/triton.dir/lib/driver/kernel.cc.o
[ 69%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/coalesce.cc.o
[ 70%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/disassociate.cc.o
[ 72%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/membar.cc.o
[ 74%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/cts.cc.o
[ 76%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/reassociate.cc.o
[ 78%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/dce.cc.o
[ 80%] Building CXX object CMakeFiles/triton.dir/lib/codegen/transform/peephole.cc.o
[ 81%] Building CXX object CMakeFiles/triton.dir/lib/codegen/selection/generator.cc.o
[ 83%] Building CXX object CMakeFiles/triton.dir/lib/codegen/selection/machine_value.cc.o
[ 85%] Building CXX object CMakeFiles/triton.dir/lib/codegen/selection/machine_layout.cc.o
[ 87%] Building CXX object CMakeFiles/triton.dir/lib/codegen/analysis/liveness.cc.o
/tmp/easy_install-sj3hife9/triton-0.2.1/src/lib/codegen/selection/generator.cc: In member function ‘virtual void triton::codegen::generator::visit_atomic_add_inst(triton::ir::atomic_add_inst*)’:
/tmp/easy_install-sj3hife9/triton-0.2.1/src/lib/codegen/selection/generator.cc:662:62: error: no matching function for call to ‘llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>::CreateAtomicRMW(llvm::Instruction::BinaryOps, triton::codegen::Value*&, triton::codegen::Value*&, llvm::AtomicOrdering, llvm::SyncScope::)’
SyncScope::System);
^
In file included from /tmp/easy_install-sj3hife9/triton-0.2.1/src/lib/codegen/selection/generator.cc:15:0:
/usr/lib/llvm-8/include/llvm/IR/IRBuilder.h:1452:18: note: candidate: llvm::AtomicRMWInst* llvm::IRBuilder<T, Inserter>::CreateAtomicRMW(llvm::AtomicRMWInst::BinOp, llvm::Value*, llvm::Value*, llvm::AtomicOrdering, llvm::SyncScope::ID) [with T = llvm::ConstantFolder; Inserter = llvm::IRBuilderDefaultInserter; llvm::SyncScope::ID = unsigned char]
AtomicRMWInst *CreateAtomicRMW(AtomicRMWInst::BinOp Op, Value *Ptr, Value *Val,
^~~~~~~~~~~~~~~
/usr/lib/llvm-8/include/llvm/IR/IRBuilder.h:1452:18: note:   no known conversion for argument 1 from ‘llvm::Instruction::BinaryOps’ to ‘llvm::AtomicRMWInst::BinOp’
[ 89%] Building CXX object CMakeFiles/triton.dir/lib/codegen/analysis/align.cc.o
CMakeFiles/triton.dir/build.make:1118: recipe for target 'CMakeFiles/triton.dir/lib/codegen/selection/generator.cc.o' failed
make[2]: *** [CMakeFiles/triton.dir/lib/codegen/selection/generator.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/triton.dir/all' failed
make[1]: *** [CMakeFiles/triton.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup
_execfile(setup_script, ns)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/tmp/easy_install-sj3hife9/triton-0.2.1/setup.py", line 123, in
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/init.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 174, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 160, in call_command
self.run_command(cmdname)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/easy_install-sj3hife9/triton-0.2.1/setup.py", line 53, in run
File "/tmp/easy_install-sj3hife9/triton-0.2.1/setup.py", line 89, in build_extension
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j4']' returned non-zero exit status 2.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "setup.py", line 35, in
cmdclass         = cmdclass
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/init.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/install.py", line 117, in do_egg_install
cmd.run(show_deprecation=False)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 425, in run
self.easy_install(spec, not self.no_deps)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 667, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 714, in install_item
self.process_distribution(spec, dist, deps)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 759, in process_distribution
[requirement], self.local_index, self.easy_install
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/pkg_resources/init.py", line 781, in resolve
replace_conflicting=replace_conflicting
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/pkg_resources/init.py", line 1064, in best_match
return self.obtain(req, installer)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/pkg_resources/init.py", line 1076, in obtain
return installer(requirement)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 686, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 712, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 897, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1167, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 1151, in run_setup
run_setup(setup_script, args)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 253, in run_setup
raise
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/contextlib.py", line 99, in exit
self.gen.throw(type, value, traceback)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/contextlib.py", line 99, in exit
self.gen.throw(type, value, traceback)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 166, in save_modules
saved_exc.resume()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 141, in resume
six.reraise(type, exc, self._tb)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/_vendor/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 250, in run_setup
_execfile(setup_script, ns)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/tmp/easy_install-sj3hife9/triton-0.2.1/setup.py", line 123, in
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/init.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 174, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 160, in call_command
self.run_command(cmdname)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/easy_install-sj3hife9/triton-0.2.1/setup.py", line 53, in run
File "/tmp/easy_install-sj3hife9/triton-0.2.1/setup.py", line 89, in build_extension
File "/home/chengzhiyi/anaconda3/envs/pcgcn/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j4']' returned non-zero exit status 2.`
My environment is:
Platform: Ubuntu 16.04 LTS (GNU/Linux 2.6.32-042stab134.3 x86_64)
GCC/G++: 7.5.0
CMake: 3.5.1
Python: 3.6.10
LLVM: 8

Hi! This project now requires llvm-9 rather than llvm-8. I will update the requirements accordingly.

Thanks. The problem is solved.


Crash in TextureSystem::texture with automip=1 and TextureOpt::firstchannel>0, when sampling mip levels

Edit: I forgot to mention we're running on OIIO 2.1.15. I'll try to run the same test on a more recent version.
Edit2: Still happening with <IP_ADDRESS>
Describe the bug
We have an OpenEXR file with lots of AOVs, and we noticed some crashes when we tried to read any of those AOVs with the automip option set to 1
I recompiled OIIO in debug to try and understand the cause of the problem, and I think I narrowed it down to https://github.com/OpenImageIO/oiio/blob/4824fc7457b698bdd6b3264b9b1d72c46143aec4/src/libOpenImageIO/imagebuf.cpp#L2062
In our case, the ROI has chbegin=10 and chend=13. The result of that line is that the ROI now has chbegin=10 and chend=3, resulting in the next calls to roi.chnnels() to return -7, leading to crashes (access violation) in the parallel_convert_image call happening just after.
At first, I tried to simply comment out that line. It fixes the crashes. BUT then the mipmaps seems incorrect:

When we zoom out, the colors shift, and there's even a sort of black band appearing.
This is why I'm opening this issue instead of a pull request.
To Reproduce
Just compile the following sample, and put the attached .exr file (aov_multiple00000.zip)
next to it:
#include <OpenImageIO/texture.h>

int main(int argc, char ** argv) {
    OIIO::ustring filename("aov_multiple00000.exr");

    OIIO::TextureSystem *texture_system = OIIO::TextureSystem::create();
    texture_system->attribute("automip", 1);

    OIIO::TextureOpt options;
    options.firstchannel = 10;

    float result[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
    texture_system->texture(filename, options, 0.2, 0.2, 0.003, -0.003, 0.003, 0.003, 3, result);

    OIIO::TextureSystem::destroy(texture_system);
    return 0;
}

Edit: I did some further testing, because this crash seems too obvious for me being the only one to encounter it. And in our case, we have a negative value passed as dtdx (the -0.003 value in the example above)
Making this value positive positive in that sample fixes the crash, so I thought those values needed to be always positive, but making it so also seems to screw the sampling (a bit like in the attached gif)

Ok, I've found the correct fix. It lies in ImageCacheFile::read_unmipped.
The problem is here: https://github.com/OpenImageIO/oiio/blob/554f854f4a58c26410ce03f9b5d7be0d8a6bc7e2/src/libtexture/imagecache.cpp#L937 it sends an incorrect ROI which contains the initial chbegin and chend (which are 10 and 13) to an image buffer that was created with only 3 channels. See https://github.com/OpenImageIO/oiio/blob/554f854f4a58c26410ce03f9b5d7be0d8a6bc7e2/src/libtexture/imagecache.cpp#L878-L879
I fixed this by changing line 937 to:
    lores.get_pixels(ROI(0, tw, 0, th, 0, 1, 0, nchans), format, data);

This fixes the crash and mipmapping seems to work correctly.
Would it be ok if I open a pull request ?

Yes, please do make a PR!
On May 3, 2021 2:24:31 a.m. PDT, Damien Courtois @.***> wrote:

Ok, I've found the correct fix. It lies in
ImageCacheFile::read_unmipped.
The problem is here:
https://github.com/OpenImageIO/oiio/blob/554f854f4a58c26410ce03f9b5d7be0d8a6bc7e2/src/libtexture/imagecache.cpp#L937
it sends an incorrect ROI which contains the initial chbegin and
chend (which are 10 and 13) to an image buffer that was created
with only 3 channels. See
https://github.com/OpenImageIO/oiio/blob/554f854f4a58c26410ce03f9b5d7be0d8a6bc7e2/src/libtexture/imagecache.cpp#L878-L879
I fixed this by changing line 937 to:
   lores.get_pixels(ROI(0, tw, 0, th, 0, 1, 0, nchans), format, data);

This fixes the crash and mipmapping seems to work correctly.
Would it be ok if I open a pull request ?
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenImageIO/oiio/issues/2959#issuecomment-831137585

--
Larry Gritz
@.***

fixed by PR #2962


WebSocket frame size is too small (125 bytes)

Steps to reproduce
Run this little script:
require 'midori.rb'

class AppRoute < Midori::API
  capture Errno::ENOENT do |e|
    @status = 404
    "Not found"
  end

  websocket '/' do |ws|
    ws.on :open do
      ws.send '125 bytes: ok'
      ws.send '1' * 125
      ws.send '126 bytes: fail'
      ws.send '1' * 126
      ws.send 'pipe is broken'
    end
  end

  get '/' do
    <<~HTML
      <!DOCTYPE html>
      <meta charset="UTF-8">
      <title>Midori Issue WebSocket</title>

Open the console to see errors.

    HTML
  end
end

begin
  Midori::Runner.new(AppRoute).start
rescue Interrupt
  puts "See you next time."
rescue => e
  puts "#{e.class}: #{e}"
  retry
end

Error messages will be shown both in the browser console and the terminal.
Expected behavior
WebSocket frame size has a limit of 2^63 bytes (if we correctly implement it according to the RFC).
Actual behavior
ws.send '1' * 126 suddenly broke the socket, but the error shows until a new message is about to send (say, ws.send 'pipe is broken').
System configuration
Midori version: 0.7.0
Ruby version: 2.6.3

Thank you for your report. The bug has confirmed. I'm working on fixing it.

I've just submitted a patch #173 . It may require more testing before merging.

Bug fixed. Thank you so much for your submission.


Publish snapshots to maven via GHA

Description
Publish snapshots to maven via GHA
Issues Resolved
#620
Testing:
find notifications/snapshots | sort
notifications/snapshots
notifications/snapshots/org
notifications/snapshots/org/opensearch
notifications/snapshots/org/opensearch/plugin
notifications/snapshots/org/opensearch/plugin/notifications
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.md5
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha1
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha256
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha512
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.pom
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.pom.md5
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.pom.sha1
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.pom.sha256
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.pom.sha512
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.zip
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.zip.md5
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.zip.sha1
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.zip.sha256
notifications/snapshots/org/opensearch/plugin/notifications/<IP_ADDRESS>-SNAPSHOT/notifications-<IP_ADDRESS>-20230221.175731-1.zip.sha512
notifications/snapshots/org/opensearch/plugin/notifications/maven-metadata.xml
notifications/snapshots/org/opensearch/plugin/notifications/maven-metadata.xml.md5
notifications/snapshots/org/opensearch/plugin/notifications/maven-metadata.xml.sha1
notifications/snapshots/org/opensearch/plugin/notifications/maven-metadata.xml.sha256
notifications/snapshots/org/opensearch/plugin/notifications/maven-metadata.xml.sha512

find core/snapshots | sort
core/snapshots
core/snapshots/org
core/snapshots/org/opensearch
core/snapshots/org/opensearch/plugin
core/snapshots/org/opensearch/plugin/opensearch-notifications-core
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.md5
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha1
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha256
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/maven-metadata.xml.sha512
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.pom
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.pom.md5
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.pom.sha1
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.pom.sha256
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.pom.sha512
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.zip
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.zip.md5
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.zip.sha1
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.zip.sha256
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/<IP_ADDRESS>-SNAPSHOT/opensearch-notifications-core-<IP_ADDRESS>-20230221.175731-1.zip.sha512
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/maven-metadata.xml
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/maven-metadata.xml.md5
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/maven-metadata.xml.sha1
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/maven-metadata.xml.sha256
core/snapshots/org/opensearch/plugin/opensearch-notifications-core/maven-metadata.xml.sha512

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Added the role in secrets! Thanks!


Error raises during switching to Iframe in IE

There is no error on page without TestCafe
import { Selector } from 'testcafe';

fixture `fix`
    .page `https://demos.devexpress.com/MVCxHTMLEditorDemos/Features/Features`;

test('t', async t => {
    await t
        .switchToIframe('#Html_DesignIFrame')
        .selectText(Selector('table').find('div').find('p'));
});

Issue in testcafe-hammerhead

I close the issue because it is a duplicate of https://github.com/DevExpress/testcafe-hammerhead/issues/1325. Use https://github.com/DevExpress/testcafe-hammerhead/issues/1325 to track progress in resolving the issue.


Relay seems like Delay so...

Hi folks!
I really like Relay according to its presentations and Redux is extremely great.
I guess we can achieve Relay like functionality with Redux.
Here is working example of such functionality. Think of it as a proof of concept.
It feels like I have not enough skills and Redux architecture understanding to get it right. It's a little bit clunky right now.
So if you are interested I'm requesting your help with that.  Here is the discussion about this. I'm going to create separate repository for such tool today.

@gyzerok Also exist this repo https://github.com/broucz/threads-redux

Coooool :+1:

@gyzerok This awesome!

Thanks for sharing. I'm closing because the issue has been inactive. By the way, Relay is released now!

The links are dead.  Is there anywhere else I can go to and see these examples?


edited CUDA files to avoid Windows 10 build errors

As per issue 254: https://github.com/facebookresearch/maskrcnn-benchmark/issues/254
Added functions to replace THCeilDiv function in ROIAlign and ROIPool, successfully builds on Windows 10.

Fixed in a simpler way via https://github.com/facebookresearch/maskrcnn-benchmark/pull/409


Description of changes in the game session

[ ] A new Game version 2024-4 English, was created with a game Session Test game play with and without. Is it possible to play sessions with previous game versions?
[ ] On a new version, there is no space for writing what the session is about or what the main changes with previous sessions are, for example, 2024-4 is a clone of the Game Version 2023-09 English, for example, changes are about: Sand bags only applicable to river because in Jarno's game they were set as such. Also makes the point that for rain sufficient warning time is needed to place them ahead. Automatic steel walls give protection to river and rain and do not provide satisfaction, all rest was the same. News and # of rounds are 4.

Task 1: Sessions can be created for any version of the game. Old versions and new versions of the game co-exist.

Task 2: See https://github.com/averbraeck/housinggame-common/issues/25.


OSC.OscSettings in Saved/Config for packaged builds

Is there any way we can set the properties inside of DefaultEngine.ini for [OSC.OscSettings] in a packaged build? This would be useful for packaged applications where the send targets may vary.

Hi,
The settings in DefaultEngine.ini can be overridden in the Engine.ini file in the packaged game.
The DefaultEngine.ini of the project is merged into the [ProjectName]-[Platform].pak file. (you can open this binary file and search for "[/Script/OSC.OscSettings]")
The Engine.ini file resides in the package directory, under "/Saved/Config/[Platform]/Engine.ini".
You can also read this:
https://docs.unrealengine.com/latest/INT/Programming/Basics/ConfigurationFiles/


fix: modify "AudioContext" to "window.AudioContext" for Safari

The page shows error in safari when the page is ready. Modifying "AudioContext" to "window.AudioContext" can avoid it.

Should change it in https://github.com/MatrixFrog/react-audio-recorder/blob/master/src/AudioContext.ts as well.


Grid straddle and generating topography separately

This PR adds two features:

The grid.straddle attribute that indicates whether or not the Greenwhich meridian crosses the domain. This attribute is helpful for interpolation tasks later on.
The user has now the option to read in a grid from file, but use roms-tools to add the topography. Before this PR, grid generation and topography generation were handled as a single step.

These are relatively minor changes to the code. I am merging...


Add "time" type to xenon properties

So we can use stuff like "10s", "1m30s", "3h10m5s10ms" etc.

Maybe use joda time or concurrent timeunit to express duration in other unit than ms


GEOMESA-747 Add Line Number and Global Params to Convert

Added a line number counter to GeoMesa Convert
Added a global parameter map to GeoMesa Convert for arbitrary fields.

Signed-off-by: Andrew Annex<EMAIL_ADDRESS>

Looks good.

closed in lieu of https://github.com/locationtech/geomesa/pull/526


Any app Crashes or cause respring

Keyboard crashes application when switching to Emojis. Or causes respring on home screen. Emoji83 ver. 1.0-24 + EmojiLayout ver 1.0-7.

iPhone 6

Send me crash log.
However, this is an issue caused by EmojiLayout. So I will close this issue for Emoji83.


DO NOT MERGE: measure startup overhead

cd provider && go test -bench .

t0yv0@Antons-MacBook-Pro> go test -bench .                                                                                ~/code/pulumi-aws/provider
goos: darwin
goarch: amd64
pkg: github.com/pulumi/pulumi-aws/provider/v6
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkProviderBare-12                      12         118326943 ns/op
BenchmarkProviderMetadataInfo-12               4         333109448 ns/op
BenchmarkProviderAliases-12                    6         195651928 ns/op
BenchmarkProvider-12                           2         567590818 ns/op

Here's a build that uses jsoniter in the bridge in a few key positions:
go test -bench . -benchtime=25s                            ~/code/pulumi-aws/provider
goos: darwin
goarch: amd64
pkg: github.com/pulumi/pulumi-aws/provider/v6
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkProviderBare-12<PHONE_NUMBER>2 ns/op
BenchmarkProviderMetadataInfo-12<PHONE_NUMBER>23 ns/op
BenchmarkProviderAliases-12<PHONE_NUMBER>86 ns/op
BenchmarkProvider-12                          84         361376502 ns/op
PASS
ok      github.com/pulumi/pulumi-aws/provider/v6        181.902s

That's a pretty respectable speed up.
It seems like it would be worthwhile to port a provider startup benchmark into the bridge repo. There's still plenty of room to improve here so I could see us using this benchmark in the future.

would be worthwhile to port a provider startup benchmark into the bridge repo

How would we do that? A "mammoth-test" provider that's very large or find a way to reuse AWS?


Restructure index.py

Fixes #10

This seems to be an weird error.
Everytime I visit the page, It downloads the index file :3.
Closing this.