Activity
From 08/19/2018 to 08/25/2018
08/25/2018
-
05:40 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- methodmissing (Lourens Naudé) wrote:
> ko1 (Koichi Sasada) wrote:
> ...
It uses function style macro because some function attribute of MSVC are valid only if written as suffix.
Therefore about coldfunc, just constant style is ok.
... -
05:29 PM Bug #15027 (Rejected): When Struct#each method is overriden Struct#select and Struct#to_a use wrong collections
- ### Bug
Here's the code snippet that should reproduce the problem:
~~~ ruby
class Foo < Struct.new(:bar)
def each(&block)
[:baz, :qux].each(&block)
end
end
foo = Foo.new(:foo)
foo.map(&:itself) # => [:baz, :qux] #... -
03:13 PM Feature #14097: Add union and difference to Array
- Ana, I watched the video of [your EuRuKo talk](https://www.youtube.com/watch?v=jUc8InwoA-E). I could understand the background of your proposal.
However, I'm now getting confused. I thought you agreed that `Array#union` should be no... -
06:58 AM Misc #15014 (Closed): thread.c: use rb_hrtime_scalar for high-resolution time operations
- Applied in changeset trunk|r64533.
----------
thread.c: use rb_hrtime_t scalar for high-resolution time operations
Relying on "struct timespec" was too annoying API-wise and
used more stack space. "double" was a bit wacky w.r.t roundi... -
05:05 AM Feature #15024: Support block in Array#join
- I'd like somewhat to agree with the motivation. Indeed, I sometimes feel I want to insert separators between each pair of elements. However, I cannot remember the concrete situation, and how often I have encountered the situation. The...
-
03:23 AM Feature #15024: Support block in Array#join
- `Array#join` concatenates array elements recursively.
What do you expect as the index between different level elements? -
01:13 AM Bug #15025 (Closed): Encountered a bug in interpreter or extension libraries
- Seems an already fixed bug.
08/24/2018
-
08:55 PM Feature #15024: Support block in Array#join
- For `%{a b c d}.join { |_,_,i| i.to_s } == "a0b1c2d"`, you could do:
~~~ ruby
*a, l = %w{a b c d}; a.each.with_object('').with_index{|(v, str), i| str << v << i.to_s} << l
~~~
That definitely isn't as nice looking. I can see the... -
07:54 PM Feature #15024: Support block in Array#join
- Doesn't `#each_slice` create temporary array for each pair? Doesn't seem very efficient. But assuming that does not matter, can I use something similar to produce `%{a b c d}.join { |_,_,i| i.to_s } == "a0b1c2d"`, is there oneliner for t...
-
05:45 PM Feature #15024: Support block in Array#join
- Your examples are both possible to implement using existing Array methods:
~~~ ruby
puts %w{a b c d}.each_slice(2).map{|a| a.join(", ")}.join("\n")
a, b
c, d
%w{a b c d}.each_cons(2).with_index.each{|a, i| puts (a << i).join(":"... -
05:11 PM Feature #15024 (Open): Support block in Array#join
- I think it could be handy to have block support in Array#join.
For example
```ruby
> puts %w{a b c d}.join { |_, _, i| i % 2 == 1 ? "\n" : ', ' }
a, b
c, d
```
not sure what arguments exactly the block should take, atm I'm t... -
08:03 PM Bug #15025 (Closed): Encountered a bug in interpreter or extension libraries
- /Users/suyesh/.rbenv/versions/2.6.0-preview2/lib/ruby/gems/2.6.0/gems/bootsnap-1.3.1/lib/bootsnap/compile_cache/iseq.rb:18: [BUG] Segmentation fault at 0x000000000001cfa0
ruby 2.6.0preview2 (2018-05-31 trunk 63539) [x86_64-darwin17]
... -
07:19 PM Misc #15011 (Closed): [PATCH] thread_pthread.c: use eventfd instead of pipe on Linux
- Applied in changeset trunk|r64527.
----------
thread_pthread.c: use eventfd instead of pipe on Linux
Based on r64478, any regular user creating more than 1024 pipes
on Linux will end up with tiny pipes with only a single page
capacity.... -
04:04 PM Bug #15023: Time precision (in microsecond) inaccurate after performing strftime
- `Time.at` supports `Rational` numbers too.
```ruby
puts Time.at(1486525793.995r).strftime("%s.%6N") #=> 1486525793.995000
``` -
03:58 PM Bug #15023 (Rejected): Time precision (in microsecond) inaccurate after performing strftime
- IEEE 754 floating point numbers are inexact, and cannot represent that value exactly.
```ruby
printf("%.20f\n", 1486525793.995) #=> 1486525793.99499988555908203125
```
You can use the second argument to `Time.at` if you have accu... -
03:41 PM Bug #15023 (Rejected): Time precision (in microsecond) inaccurate after performing strftime
- Please see the example below. I think we should expect the result to be "1486525793.995". Right?
OS version: MacOS High Sierra 10.13.6
Ruby version: 2.5.1
~~~ ruby
2.5.1 :005 > Time.at(1486525793.995).strftime("%s.%6N")
=> "1... -
02:47 PM Bug #14997: Socket connect timeout exceeds the timeout value for
- If anyone is actually willing to confirm, that it is indeed an unwanted / unexpected behavior, I offer to fix it.
It could be fixed by tracking how much of the time "pool" has been used and lowering the timeout value appropriate for t... -
02:47 PM Bug #15021: Segfault when compiling certain code on Ruby 2.5.1
- I think this is duplicate of https://bugs.ruby-lang.org/issues/14897 which contain the fix and the backport request tags.
-
09:56 AM Bug #15021: Segfault when compiling certain code on Ruby 2.5.1
- Can reproduce this on 2.5, but not on trunk. Seems 2.5 needs a backport?
Not sure which is the exact revision though. -
09:44 AM Bug #15021: Segfault when compiling certain code on Ruby 2.5.1
- Sorry there's a small typo. The command to run the script is `ruby code.rb` not `ruby foo.rb`
-
09:40 AM Bug #15021 (Closed): Segfault when compiling certain code on Ruby 2.5.1
## Steps to reproduce
save the following code to `code.rb`
```
code =<<CODE
if false
new(arg: $arg)
end
CODE
RubyVM::InstructionSequence.compile(code).to_binary
```
and simply run `ruby foo.rb` then you'll get
```
c...-
01:32 PM Misc #14981: DevelopersMeeting20180913Japan
- * [Feature #15022] Oneshot coverage
* I'd like to introduce a new kind of coverage to record whether each line is executed or not. It provides less but still useful information compared to the traditional line coverage, and the measu... -
01:28 PM Feature #15022 (Closed): Oneshot coverage
- I'd like to introduce a new feature to the coverage library, namely, "oneshot coverage".
## Synopsis
The following is a sample target program "test-cov.rb":
```
1: def foo
2: :foo
3: end
4:
5: def bar
6: :bar
7: end
... -
10:25 AM Bug #15020 (Closed): [PATCH] Add 'guards' for mswin, mingw, update test_readline.rb
- Applied in changeset trunk|r64526.
----------
ext/readline/extconf.rb: try using more readline APIs
on MinGW.
[Bug #15020]
From: MSP-Greg <[email protected]> -
01:58 AM Bug #15020: [PATCH] Add 'guards' for mswin, mingw, update test_readline.rb
- @k0kubun,
I forgot one patch that I have on `ext/readline/extconf.rb`, at [ruby-loco/patches/ext-readline-extconf.rb.patch](
https://github.com/MSP-Greg/ruby-loco/blob/d41930447c93079a51a8bbbe200aa23cdffc808d/patches/ext-readline-ext... -
08:26 AM Feature #14989: Add Hash support for transient heap
- ~~~
Hello, I took a look at add-hash-support-for-transient-heap.patch.
It seems lines are copy & pasted from st.c to hash.c. This is in fact
a wise idea to avoid common pitfalls. I have almost no comments on
that part.
> --- a... -
05:55 AM Feature #15009 (Assigned): Add negotiated SSL protocol and cipher to Net::HTTP debug output
08/23/2018
-
06:01 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Hanmac (Hans Mackowiak) wrote:
> what happens when i would call such cold function outside of Init_xxx ?
I considered primarily only core for this change and carefully looked @ usage of the extension API in `Init_xxx` functions, but ... -
05:57 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- ko1 (Koichi Sasada) wrote:
> I agree to introduce COLD attribute.
I was wondering about Eric's suggestion about the convention for using it though. I like the Kernel style of `COLDFUNC void some_func()` or `COLD void some_func()` mor... -
02:16 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- what happens when i would call such cold function outside of Init_xxx ?
what functions in my own binding should be using cold?
like for example i have a own _attr_method function that mimic a attribute by setting a Get/Set function -
08:20 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- I agree to introduce COLD attribute.
----
> TLB (translation lookaside buffer) specific
Do PHP people specify THP with DWARF knowledge?
-
05:28 PM Bug #15020 (Closed): [PATCH] Add 'guards' for mswin, mingw, update test_readline.rb
- When the mingw build was added, test_readline.rb failed. One test fails on mingw, several tests error due to the windows issue with "can't close a file with an existing ref on it".
See [GH PR #1941](https://github.com/ruby/ruby/pull/... -
12:40 PM Bug #15019 (Closed): Documentation for Net::HTTP claims that multipart/form-data is not supported
- https://ruby-doc.org/stdlib-2.5.1/libdoc/net/http/rdoc/Net/HTTP.html claims that `At this time Net::HTTP does not support multipart/form-data.`. According to stackoverflow ( https://stackoverflow.com/a/45976252/781743 ) this should be su...
-
10:42 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- [email protected] wrote:
> Just a comment.
> API references (a list of provided functions with a comment) at the beginning of the hrtime.h will help us.
OK, updated:
https://80x24.org/spew/[email protected]/raw
(... -
07:16 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- Just a comment.
API references (a list of provided functions with a comment) at the beginning of the hrtime.h will help us.
-
07:41 AM Feature #15010: Reduce allocation for rest parameters
- ko1 (Koichi Sasada) wrote:
> sorry, which patch should I review?
Reduce-allocation-for-rest-parameters-v1.patch -
07:22 AM Feature #15010: Reduce allocation for rest parameters
- sorry, which patch should I review?
-
07:11 AM Bug #14817 (Feedback): TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters
-
07:10 AM Bug #14817: TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters
- 見逃してました。
これ、実装見てたら、どーしょーもない気がするんで、制限のある仕様、ってことで駄目でしょうか。駄目かなあ。実装アイディア募集。 -
04:13 AM Bug #14702 (Closed): On Ruby 2.5.1, tracepoint isn't working on the file that is loaded by load_iseq
- Applied in changeset trunk|r64514.
----------
check trace flags at loading [Bug #14702]
* iseq.c (iseq_init_trace): at ISeq loading time, we need to check
`ruby_vm_event_enabled_flags` to turn on trace instructions.
Seprate this ch...
08/22/2018
-
03:04 PM Bug #15018: NODE_ARGSCAT is not parsed properly
- Good catch! I've committed it. Thank you!
-
03:04 PM Bug #15018 (Closed): NODE_ARGSCAT is not parsed properly
- Applied in changeset trunk|r64510.
----------
parse.y (arg_append): support NODE_ARGSCAT case
Because of the lack of this case, `[*ary,1,2,3,4,5,6]` was parsed into
an inefficient AST like `ary + [1,2] + [3,4] + [5,6]`.
A patch from A... -
12:10 PM Bug #15018 (Closed): NODE_ARGSCAT is not parsed properly
- Instead of wrapping following arguments in one list, current implementation creates multiple list wrapping only 2 elements.
e.g.
for
[*args,1,2,3,4,5,6]
**Expected AST**:
~~~
NODE_ARGSCAT---nd_head-->NODE_SPLAT(args)
|
|-... -
02:46 PM Bug #13889: FileUtils.rmdir が Errno::ENOTEMPTY を無視している
- Seems related to https://bugs.ruby-lang.org/issues/3178 - maybe close that ticket?
-
11:47 AM Misc #15012: Testing on latest version gcc on Travis CI
- Hi Greg,
> Sorry, my message was unclear.
No problem at all. Thanks for the explanation to be cleared.
> ...
So, adding gcc-8 to the both environments makes sense for me.
What I want to share as one of the benefits is
*... -
10:13 AM Bug #15001: Peek causes cursor to advance when enumerating the lines of a file
- i think the problem is that String Enumerations are rewindable while on the IO/File it is not
-
09:48 AM Bug #15001: Peek causes cursor to advance when enumerating the lines of a file
- with slight modification of the above code,
~~~ ruby
e = File.open("f").each_line
p e.each.to_a
e.peek
p e.each.to_a
~~~
it will give following result
~~~ text
["1\n", "2\n", "3\n"]
Traceback (most recent call last):
1: from ... -
05:42 AM Feature #15017: Provide extended information about Signal
- > Feature #15017: Provide extended information about Signal
> https://bugs.ruby-lang.org/issues/15017#change-73659
Implementation would be tricky, since we defer signals to run
Ruby code. (Deferring allows us to use malloc and oth... -
02:57 AM Feature #15017: Provide extended information about Signal
- shevegen (Robert A. Heiler) wrote:
> Some comments (personal opinion here):
> ...
Currently, it is:
```ruby
Signal.trap("INT") {|signo| }
```
where `signo` is an integer.
What I can think of is:
```ruby
Signal.trap("INT") {|si...
08/21/2018
-
10:17 PM Feature #15004 (Closed): Run ruby/spec in TravisCI on older versions of MRI to make sure the specs keep working with older supported versions
- Applied in changeset trunk|r64502.
----------
Run specs against 2.3.7 to ensure version guards are correctly added
* See [Feature #15004]. -
07:52 PM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- [email protected] wrote:
> At r64493, ruby-loco built successfully using the abiove patch, Thanks, Greg
Thanks! I don't know when I'll commit this, yet. -
02:57 PM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- @normalperson Eric,
At r64493, ruby-loco built successfully using the abiove patch, Thanks, Greg -
07:52 PM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
- [email protected] wrote:
> In this case, how would you feel about another patch to add
> `splice` support to `IO.copy_file`?
Sure!
> My use case is that I need to efficiently write from a socket
> to a pipe, and sometimes... -
11:38 AM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
- > That is incorrect, copy_file_range requires both source and
destination as regular files
Damn, I totally got mislead by that LWN article & the man page. I really searched for it but couldn't find an indication that only real files ... -
05:55 PM Feature #11076: Enumerable method count_by
- How about `tally`?
```ruby
array = ['aa', 'aA', 'bb', 'cc']
p array.tally(&:downcase) #=> {'aa'=>2,'bb'=>1,'cc'=>1}
```
`tally` describes quite well to me what this method does and avoids clashing with `group` or `count`.
`tall... -
05:02 PM Feature #15017: Provide extended information about Signal
- Some comments (personal opinion here):
1) I think the described use case is understandable, but if you can, I think it may
help matz and the ruby core team decide on; for example, what is the specific API
you had in mind? Could you ... -
11:26 AM Feature #15017 (Open): Provide extended information about Signal
- Hi,
I see that ruby already use sigaction for signal handling on linux. It would be really nice to extend it to provide also signal details in siginfo_t and then provide such details in ruby via Signal module (as additional param beside... -
01:44 PM Misc #15012: Testing on latest version gcc on Travis CI
- @jaruga,
Sorry, my message was unclear. For quite some time, Ruby trunk has been built on Appveyor using the MSFT VC compiler (mswin). Sometime last year, full testing was added to that build.
In the wild, most Windows Ruby users... -
10:04 AM Misc #15012: Testing on latest version gcc on Travis CI
- > Given that Appveyor/Windows MSYS2/MinGW also has gcc 8.2.0 available (ruby-loco uses it), seems like a good idea to me. One would hope that newer gcc releases are also better optimized for JIT...
It looks good idea to add gcc 8 on t... -
12:41 AM Misc #15012: Testing on latest version gcc on Travis CI
- Given that Appveyor/Windows MSYS2/MinGW also has gcc 8.2.0 available (ruby-loco uses it), seems like a good idea to me. One would hope that newer gcc releases are also better optimized for JIT...
Off topic - about Appveyor testing - ... -
12:45 PM Feature #15010: Reduce allocation for rest parameters
- Limitation of patch 2.
1. Patch 2 gets slower than Patch 1 for a large array. Array with length 100 - 200 have similar performance but beyond that patch 1 is faster in most of the case.
2. Patch 2 results in segmentation fault fo... -
07:26 AM Feature #15010: Reduce allocation for rest parameters
- chopraanmol1 (Anmol Chopra) wrote:
> I'm also thinking of an alternate solution which will avoid passing the skip_dup_flag variable around, If we can ensure that args->rest is not used/assigned until args_copy is called. To do this when... -
05:59 AM Feature #15010: Reduce allocation for rest parameters
- chopraanmol1 (Anmol Chopra) wrote:
> Moving method to internal.h breaks jit https://travis-ci.org/ruby/ruby/builds/418529271 , I'm not sure how to fix this failure.
Define the function with `MJIT_FUNC_EXPORTED`. -
05:36 AM Feature #15010: Reduce allocation for rest parameters
- normalperson (Eric Wong) wrote:
> New functions prototypes should go into internal.h, though.
> ...
Moving method to internal.h breaks jit https://travis-ci.org/ruby/ruby/builds/418529271 , I'm not sure how to fix this failure.
-
05:19 AM Feature #15010: Reduce allocation for rest parameters
- I'm also thinking of an alternate solution which will avoid passing the skip_dup_flag variable around, If we can ensure that args->rest is not used/assigned until args_copy is called. To do this when VM_CALL_ARGS_SPLAT flag is on instead...
-
04:46 AM Feature #15010: Reduce allocation for rest parameters
- normalperson (Eric Wong) wrote:
>
> ...
Updated.
mame (Yusuke Endoh) wrote:
>
> ...
For now, I'm renaming the method to rb_ary_behead (suggested by nobu)
-
02:03 AM Bug #15015 (Closed): Build failure from `git clone`
- Applied in changeset trunk|r64491.
----------
common.mk: timestamp directory
* common.mk: timestamp files need the timestamp directory.
[Bug #15015] [ruby-core:88584] -
01:06 AM Bug #15015 (Closed): Build failure from `git clone`
- I got build failure related mjit header.
```
chkbuild002% make
BASERUBY = /usr/local/bin/ruby --disable=gems
CC = cc
LD = ld
LDSHARED = cc -shared
CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wn...
08/20/2018
-
11:29 PM Misc #15014 (Closed): thread.c: use rb_hrtime_scalar for high-resolution time operations
- thread.c: use rb_hrtime_t scalar for high-resolution time operations
Relying on "struct timespec" was too annoying API-wise and
used more stack space. "double" was a bit wacky w.r.t rounding
in the past, so now we'll switch to usin... -
11:14 PM Feature #15010: Reduce allocation for rest parameters
- normalperson (Eric Wong) wrote:
> > Added rb_ary_clear_m (suggestion for a better name will be
> ...
What about rb_ary_clear_head? (or rb_ary_behead :)
-
10:15 PM Feature #15010: Reduce allocation for rest parameters
- Thank you, too. Two points:
First, the prefix `_m` is often used for an entry function of Ruby-level method that is passed to `rb_define_method`. Though it is just an internal function, it would be better to avoid the prefix. How a... -
07:04 PM Feature #15010: Reduce allocation for rest parameters
- [email protected] wrote:
> normalperson (Eric Wong) wrote:
> > Cool! It's probably worth implementing something like
> > rb_ary_shift_m (but without the return value) to avoid looping
> > on rb_ary_shift.
> Added rb_ary_... -
10:27 AM Feature #15010: Reduce allocation for rest parameters
- normalperson (Eric Wong) wrote:
> Cool! It's probably worth implementing something like
> ...
Added rb_ary_clear_m (suggestion for a better name will be appreciated) with suggested changes.
mame (Yusuke Endoh) wrote:
> Some oth... -
06:42 AM Feature #15010: Reduce allocation for rest parameters
- [email protected] wrote:
> Yes, it can be further optimized for keyword argument and argument setup for the block. I'll modify the patch in a day or two.
Cool! It's probably worth implementing something like
rb_ary_shift_m (... -
06:29 AM Feature #15010: Reduce allocation for rest parameters
- mame (Yusuke Endoh) wrote:
> Some other functions in vm_args.c also use rb_ary_dup. There may be more room to optimize.
Yes, it can be further optimized for keyword argument and argument setup for the block. I'll modify the patch in... -
05:13 AM Feature #15010: Reduce allocation for rest parameters
- Looks good to me. Though destructive operation to the rest array may make the source code unclear, performance is more important in this case, I think.
Some other functions in vm_args.c also use rb_ary_dup. There may be more room to... -
10:23 PM Bug #14966 (Closed): 2.5 branch - Appveyor failures - backport missed line
-
10:17 PM Bug #14966: 2.5 branch - Appveyor failures - backport missed line
- Please see [GitHub PR 1939](https://github.com/ruby/ruby/pull/1939), which passed.
I guess a look at ruby_2_4 is next, as it's also failing... -
09:34 PM Bug #15013 (Closed): thread_pthread.c: reinitialize ubf_list at fork
- Applied in changeset trunk|r64485.
----------
thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startu... -
09:01 PM Bug #15013 (Closed): thread_pthread.c: reinitialize ubf_list at fork
- thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startup.
And while we're at it, use a static i... -
08:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- [email protected] wrote:
> normalperson (Eric Wong) wrote:
> > (*) Along those lines, I think the "lock" idiom for GVL is not
> > ideal for performance (kosaki rewrote the GVL for 1.9.3 to
> > optimize for contention as a result... -
01:30 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- normalperson (Eric Wong) wrote:
> (*) Along those lines, I think the "lock" idiom for GVL is not
> ...
I don't follow, which data structures would the scheduler protect?
Internal VM data structures but not e.g. Ruby Hash?
> Note:... -
07:52 PM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
- [email protected] wrote:
> However from my understanding, contrary to `sendfile` and
> `splice`, `copy_file_range` has no file type restriction, it
> should be able to copy from and to sockets and pipes just
> fine.
That is... -
04:45 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- normalperson (Eric Wong) wrote:
> Thank you for taking the time to do this!
> ...
Initial pass had that, but I decided to line up with recommendations from the guidelines. Not great for human parsing, especially when nested with `NORET... -
07:32 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Thank you for taking the time to do this!
> The GCC specific [cold](https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gcc/Function-Attributes.html) function attribute works in the following way (from GCC docs):
Since it's gcc (and clang); ... -
01:19 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Interesting.
Re: label attributes. JFYI I once tried them https://github.com/ruby/ruby/pull/1805/files
(answer, bitblt, and all the trace_* instructions are marked cold.)
It did change generated binary to arrange branches, but I saw... -
03:21 PM Misc #15012: Testing on latest version gcc on Travis CI
- If you want to imagine how gcc-N and clang test cases work on both linux and osx of Travis CI, I can share this project's case.
https://travis-ci.org/trinityrnaseq/trinityrnaseq
https://github.com/trinityrnaseq/trinityrnaseq/blob/mas... -
02:30 PM Misc #15012: Testing on latest version gcc on Travis CI
- The demerit is
* The Travis test running time could be longer than current one. But maybe not so long time because those test cases are run in parallel.
* I am not sure whether the "ppa:ubuntu-toolchain-r/test" repository [1] shown ... -
02:23 PM Misc #15012 (Closed): Testing on latest version gcc on Travis CI
- Ruby's Travis CI [1] is running on gcc 4.8.4 as the default behavior of Travis gcc setting.
Right now gcc's latest version is 8.
Though it is important to test on the old version gcc-4.8, also it is meaningful to test on the latest ver... -
06:17 AM Misc #15011 (Closed): [PATCH] thread_pthread.c: use eventfd instead of pipe on Linux
- thread_pthread.c: use eventfd instead of pipe on Linux
Based on r64478, any regular user creating more than 1024 pipes
on Linux will end up with tiny pipes with only a single page
capacity. So avoid wasting user resources and use l... -
06:12 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- [email protected] wrote:
> Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
> https://bugs.ruby-lang.org/issues/14898#change-73373
Still not solved. This might be a similar issue to r64478 with
to...
08/19/2018
-
11:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- [email protected] wrote:
> normalperson (Eric Wong) wrote:
> > "git bisect" points to r63498 ("thread_pthread.c: enable
> > thread cache by default"), which is HIGHLY unexpected.
>
> So it seems it doesn't happen in Ruby <= 2.5... -
09:42 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- normalperson (Eric Wong) wrote:
> r64467 seems to make CI happy, at least
Great!
> ...
I could also verify it fails before your commit, and passes after with:
taskset -c 1 mspec-run -R1000 library/conditionvariable/wait_spe... -
07:52 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- Eric Wong wrote:
> Fwiw, I can still reproduce the failures with low timeouts:
>
> ```
> diff --git a/thread_pthread.c b/thread_pthread.c
> index 2fd60ddd4a..e8da3ee9c2 100644
> --- a/thread_pthread.c
> +++ b/thread_pthread.c
>... -
10:04 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- [email protected] wrote:
> I think we need to give some thinking on this,
> and I don't want to stress you to fix it to fix the build.
> (although this should be solved soon IMHO, latest before the next preview/RC)
It needs to be... -
12:13 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- normalperson (Eric Wong) wrote:
> Maybe wishful thinking, but r64464 might be the right fix.
Seems it's not yet fully fixed unfortunately:
http://ci.rvm.jp/results/trunk_clang_39@silicon-docker/1236189
http://ci.rvm.jp/results/tru... -
04:25 PM Feature #15010 (Closed): Reduce allocation for rest parameters
- Currently multiple arrays are allocated while making a call to method with rest parameter.
E.g.
~~~
def rest_method(*args) #-> This will create 2 arrays
end
def post_method(*args,last) #-> This will create 3 arrays
end
~~~
... -
01:59 PM Feature #15009 (Closed): Add negotiated SSL protocol and cipher to Net::HTTP debug output
- This makes is easier to verify what Ruby has negotiated with the server. An example of why you'd want to double check; for credit card payment data the PCI DSS [mandates](https://blog.pcisecuritystandards.org/are-you-ready-for-30-june-20...
-
12:38 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Eregon (Benoit Daloze) wrote:
> What is "original chunky PR" VS "then trunk"?
> ...
First one is from the changeset in https://github.com/ruby/ruby/pull/1922, but it's gotten too large to review, hence the split into smaller incrementa... -
12:23 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- What is "original chunky PR" VS "then trunk"?
Which one is original and which one with your patch?
The first one seems better.