Activity
From 08/24/2018 to 08/30/2018
08/30/2018
-
11:10 PM Feature #14183: "Real" keyword argument
- To give an example of how much code this would break, let's use Redmine as an example, since it runs this bug tracker. For simplicity, let's limit our analysis to the use of a single method, ActiveRecord's `where` method. ActiveRecord'...
-
08:11 PM Feature #15049: [Request] Easily access all keyword arguments within a method
- shevegen (Robert A. Heiler) wrote:
> I have had a somewhat related idea in that I wanted a way to access all
> ...
Tbh I hadn't thought too much about naming... Was just trying to get something mocked up quickly. Either way, glad to s... -
07:44 PM Feature #15049: [Request] Easily access all keyword arguments within a method
- I have had a somewhat related idea in that I wanted a way to access all
parameters in a simple, short manner. A bit similar to $1 $2 etc... for
regexes, just that we could do so programmatically for the arguments
passed into a method ... -
07:38 PM Feature #15049 (Feedback): [Request] Easily access all keyword arguments within a method
- As a developer, I'd like to leverage the power of keyword arguments (requirements, defaults, etc) and then be able to access a hash of all the arguments supplied.
~~~ ruby
def foo(bar:, baz: 1, qux: 2...)
post('/', body: kargs)
e... -
08:03 PM Bug #15050: GC after forking with fibers crashes
- normalperson@yhbt.net wrote:
> https://bugs.ruby-lang.org/issues/15050
This fixes the immediate bug, but I think there's other problems
with stack management
```
diff --git a/cont.c b/cont.c
index 7bc1724176..ab42dfb27a 100644... -
07:54 PM Bug #15050 (Closed): GC after forking with fibers crashes
- Not sure when to work on this, so leaving this here for now...
The management of stacks for root fiber and regular
fibers is different and confusing. Perhaps unifying
thread and fiber stack cache is the best way to go.
Is a sepa... - 07:14 PM Revision cec21388 (git): * 2018-08-31
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 07:14 PM Revision 13f49235 (git): cont.c (rb_fiber_atfork): th->root_fiber may not exist
- Otherwise, bootstraptest/test_fork.rb fails with -DVM_CHECK_MODE=2
[Bug #15041]
Fixes: r64589 "cont.c: set th->root_fiber to current fiber at fork"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64593 b2dd03c8-39d4-4d8f-98ff-823fe6... -
05:09 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- normalperson (Eric Wong) wrote:
> lourens@bearmetal.eu wrote:
> ...
Yes, explains behaviour observed through smaps - correct, `MAP_HUGETLB` works. Will clean it up during the week and submit as a new issue. -
10:52 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- lourens@bearmetal.eu wrote:
> * `MADV_HUGEPAGE` - fallback option, implicit request, kernel
> will map it implicit if not aligned to hugepage boundary, or
> right away if aligned to hugepage boundary (I implemented with
> the 2MB al... -
10:19 AM 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.
> ...
Somewhat off topic, but fits with the general direction here.
I have a proof of concept going with mapping the text section to hugepages after a few evenings of... -
01:48 PM Feature #15047: Documentation and more functions for Hash functions in C API
- Can I submit the documentation for this as a GitHub PR? I just to make updates to README.EXT.
Also, thank you for the help I will make a note of that in my patch. -
12:57 PM Feature #15047: Documentation and more functions for Hash functions in C API
- > Also, including more functionality like getting the size a Hash directly through
> ...
Use RHASH_SIZE macro. -
12:46 PM Feature #15047: Documentation and more functions for Hash functions in C API
- More documentation would always be very helpful. It makes "entry" into the
ruby world easier when there is good documentation. Perhaps after ruby 3x3
we could add a new meme - four times as good documentation. :D -
09:08 AM Feature #15047 (Open): Documentation and more functions for Hash functions in C API
- Currently the C API supports various Array functions like `rb_ary_new()` and String
functions like `rb_str_new2()` I could hardly find any documentation in the README.EXT
for working with hashes. Instead, I relied on this blog: http://... -
01:29 PM Bug #15039: Random.urandom and SecureRandom arc4random use
- naruse (Yui NARUSE) wrote:
> Freaky (Thomas Hurst) wrote:
> ...
... but you've just described concerns over situations where such APIs are unavailable. If you have no /dev/urandom why would you have a /dev/random? If you have no non-... -
11:06 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- naruse (Yui NARUSE) wrote:
> > > On Darwin, there seems similar issue as OpenBSD.
> ...
As far as I investigated, it's implemented with CCRandomCopyBytes() and fork safe. We should use this.
https://stackoverflow.com/a/21736905/515572 -
07:49 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- Freaky (Thomas Hurst) wrote:
> naruse (Yui NARUSE) wrote:
> ...
There's /dev/random and getentropy.
But the size of those entropy is limited.
> > And as Jeremy already pointend, OpenBSD doesn't have urandom alternative syscall beca... -
12:46 PM Feature #14097: Add union and difference to Array
- I'm now for the addition. By the way, don't you need `Array#intersection`?
-
08:51 AM Feature #14097: Add union and difference to Array
- As @mame already said, I gave a talk at Euruko about this issue:
https://youtu.be/jUc8InwoA-E?t=2m54s
I did an standing up voting. As in the video you can not see the audience, here is the picture I took during the talk with the re... -
12:38 PM Misc #14981: DevelopersMeeting20180913Japan
- * [Feature #14097] Add union and difference methods to Array (@ana06)
* Addition of two new methods in aim of readability, ease of use, efficiency and consistence. There are already PR for both methods.
* @matz told me to add this ... -
06:42 AM Bug #15041: [PATCH] cont.c: set th->root_fiber to current fiber at fork
- On 2018/08/29 17:09, Eric Wong wrote:
> Shows me: `resume': fiber called across stack rewinding barrier (FiberError)
Yes, I tried similar code.
Not sure why...
Nobu?
--
// SASADA Koichi at atdot dot net - 03:24 AM Revision 3bcb4ff8 (git): hrtime.h: fix typo in non-builtin overflow check
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
08/29/2018
-
11:37 PM Bug #15039: Random.urandom and SecureRandom arc4random use
- naruse (Yui NARUSE) wrote:
> I agree with your fundamental concept: if there's more code, there's more bugs.
> ...
If the OS can't provide entropy to a process through urandom or an equivalent syscall, how is it going to safely seed a ... -
08:42 PM Bug #15039: Random.urandom and SecureRandom arc4random use
- I agree with your fundamental concept: if there's more code, there's more bugs.
I don't fully agree with "userspace CSPRNG is harmful" because it's required.
For example, ruby can't read /dev/urandom if it runs in jail.
And as Jer... -
04:34 PM Bug #15039: Random.urandom and SecureRandom arc4random use
- shyouhei (Shyouhei Urabe) wrote:
> Freaky (Thomas Hurst) wrote:
> ...
Doesn't the name rather waggle its eyebrows at you while glancing pointedly at /dev/urandom? Why else call it that?
> My attempt when fixing #9569 was that arc4r... -
04:16 PM Bug #15039: Random.urandom and SecureRandom arc4random use
- jeremyevans0 (Jeremy Evans) wrote:
> Freaky (Thomas Hurst) wrote:
> ...
Even if that were the case, it's storing its state in userspace, it's permuting that state in userspace. Where it comes from is beside the point, as is how often ... -
08:41 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- Freaky (Thomas Hurst) wrote:
> > Or is it not about the code quality in general? Maybe the problem here is that having _any_ bits of instructions in a userland?
> ...
Hmm, OK. I respect your feeling that the arc4random() in FreeBSD (... -
05:55 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- Freaky (Thomas Hurst) wrote:
> Would rand() stop being a userspace PRNG if it automatically called srand() every 200,000 calls?
If it received the argument to srand() from the kernel, then maybe. :)
> ...
I think in general Secure... -
04:50 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- shyouhei (Shyouhei Urabe) wrote:
> Frankly, I'm not sure how less trustworthy FreeBSD libc is, compared to its kernel. They are developed by the same people in a same repository.
FreeBSD /dev/(u)random's seen a *lot* more attention ... -
04:19 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- jeremyevans0 (Jeremy Evans) wrote:
> Freaky (Thomas Hurst) wrote:
> ...
Would rand() stop being a userspace PRNG if it automatically called srand() every 200,000 calls?
> arc4random_buf(3) is basically like fread(3), where getentrop... -
03:53 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- Frankly, I'm not sure how less trustworthy FreeBSD libc is, compared to its kernel. They are developed by the same people in a same repository. Or is it not about the code quality in general? Maybe the problem here is that having _any...
-
02:51 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- Freaky (Thomas Hurst) wrote:
> jeremyevans0 (Jeremy Evans) wrote:
> ...
srand/rand is the classic userspace PRNG, where all future output is based only on the initial input.
arc4random_buf(3) is basically like fread(3), where getent... -
12:31 AM Bug #15039: Random.urandom and SecureRandom arc4random use
- jeremyevans0 (Jeremy Evans) wrote:
> On OpenBSD, arc4random is not really a userspace PRNG in the sense that it is reseeded on a regular basis using new entropy data from the kernel
It runs code in userspace to stretch a small amou... -
09:05 PM Bug #15043: MinGW intermittent test failure - TestIO#test_select_leak
- @normalperson Eric,
Thanks for looking at it and also the patch. It passed test-all, but as mentioned, it's intermittent and I can't repo it with ruby-loco... Greg -
07:52 PM Bug #15043: MinGW intermittent test failure - TestIO#test_select_leak
- Greg.mpls@gmail.com wrote:
> Bug #15043: MinGW intermittent test failure - TestIO#test_select_leak
> https://bugs.ruby-lang.org/issues/15043
Thanks for the report. r64590 ought to fix it -
07:47 PM Bug #15043 (Closed): MinGW intermittent test failure - TestIO#test_select_leak
- Applied in changeset trunk|r64590.
----------
test/ruby/test_io.rb (test_select_leak): use handle_interrupt
Interrupt timing is tricky and it's possible the target
thread is still stopped from the previous loop iteration.
[ruby-core:8... -
01:55 PM Bug #15043 (Closed): MinGW intermittent test failure - TestIO#test_select_leak
- @normalperson Eric,
Thought I'd ping you on this, as the test is very new. The above test is not failing on Travis Ubuntu, nor Appveyor mswin or ruby-loco.
It is intermittently failing on the recently added Ruby Appveyor mingw j... - 07:47 PM Revision 5ba404f4 (git): * 2018-08-30
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 07:47 PM Revision f1119509 (git): test/ruby/test_io.rb (test_select_leak): use handle_interrupt
- Interrupt timing is tricky and it's possible the target
thread is still stopped from the previous loop iteration.
[ruby-core:88732] [Bug #15043]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:40 PM Bug #15044: ENV encoding not UTF-8 by default
- If I put this into a .rb file:
puts 'secret'.encoding
ENV['PASS'] = 'secret'
puts ENV['PASS'].encoding
On my system I get these two Strings output:
UTF-8
ISO-8859-1
My environment is, aka my current loc... -
02:44 PM Bug #15044 (Closed): ENV encoding not UTF-8 by default
- ~~~
$ irb
2.5.1 :001 > 'secret'.encoding
=> #<Encoding:UTF-8>
2.5.1 :002 > ENV['PASS'] = 'secret'; ENV['PASS'].encoding
=> #<Encoding:US-ASCII>
2.5.1 :009 > ENV['PASS'] = 'Ł'
=> "\u0141"
2.5.1 :010 > ENV['PASS'].encoding
=> ... -
04:16 PM Bug #15045 (Closed): Test suite fails/hangs with stronger cryptography enforcement
- Testing in Fedora Rawhide with ```$ sudo update-crypto-policies --set NEXT``` [1] which sets a higher bar for cryptography algorithms, the test suite fails, several test cases timeouts or even hangs (the WEBrick test suite in particular ...
-
02:12 PM Bug #15027: When Struct#each method is overriden Struct#select and Struct#to_a use wrong collections
- ```diff
diff --git a/struct.c b/struct.c
index 7de46980aa..e4c875b5be 100644
--- a/struct.c
+++ b/struct.c
@@ -860,6 +860,9 @@ rb_struct_inspect(VALUE s)
static VALUE
rb_struct_to_a(VALUE s)
{
+ if (!rb_method_basic_defini... -
11:22 AM Feature #14975: String#append without changing receiver's encoding
- ioquatix (Samuel Williams) wrote:
> ```ruby
> ...
Didn't think about it, sorry. But it's only pseudocode. The non-block `#force_encoding` will definitely not work on frozen strings, but the version with a block could be made to work be... -
11:08 AM Feature #14975: String#append without changing receiver's encoding
- ```ruby
b = 'a'.force_encoding('BINARY')
u = "\u00ff".force_encoding('UTF-8') # aside: force_encoding here is a no-op,
# because \u automatically produces UTF-8
u.force_encoding('BINARY') do
... -
10:16 AM Feature #14975: String#append without changing receiver's encoding
- As mentioned, the general idea of Ruby m17n is that strings that only contain ASCII bytes (8th bits are all 0) are treated as US-ASCII and can be combined with any ASCII-compatible encoding (taking on that encoding as a result).
The p... -
10:20 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- gotoken (Kentaro Goto) wrote:
> For example, `"ss"` and `"st"` are mapped `"ß"` (`"\u00DF"`) and `"st"` (`"\uFB06"`).
> ...
I still have to verify this, but currently I strongly suspect that the problem is NOT in SpecialCasing, but in... -
08:12 AM Bug #595: Fiber ignores ensure clause
- Eric Wong wrote:
> It will be difficult/unsafe to use auto-fiber/Thread::Coro
> [Feature #13618] without this
I think I can get around this by making iom a GC root,
so all auto-yielded Fibers get marked. -
03:22 AM Bug #595: Fiber ignores ensure clause
- Koichi Sasada wrote:
> Bug #595: Fiber ignores ensure clause
> http://redmine.ruby-lang.org/issues/595
What's the status of this? (I don't understand Japanese)
It will be difficult/unsafe to use auto-fiber/Thread::Coro
[Featur... -
08:12 AM Bug #15041: [PATCH] cont.c: set th->root_fiber to current fiber at fork
- ko1@atdot.net wrote:
> (I'm not sure why fork removes other fibers, but)
fib = Fiber.new { puts " HI" }
fork { fib.resume }
Process.waitall
Shows me: `resume': fiber called across stack rewinding barrier (FiberError)
If w... -
08:04 AM Bug #15041 (Closed): [PATCH] cont.c: set th->root_fiber to current fiber at fork
- Applied in changeset trunk|r64589.
----------
cont.c: set th->root_fiber to current fiber at fork
Otherwise, th->root_fiber can point to an invalid Fiber,
because Fibers do not live across fork. So consider
whatever Fiber is running t... -
07:20 AM Bug #15041: [PATCH] cont.c: set th->root_fiber to current fiber at fork
- (I'm not sure why fork removes other fibers, but)
I think it is okay. let's try.
-
06:59 AM Bug #15041 (Closed): [PATCH] cont.c: set th->root_fiber to current fiber at fork
- cont.c: set th->root_fiber to current fiber at fork
Otherwise, th->root_fiber can point to an invalid Fiber,
because Fibers do not live across fork. So consider
whatever Fiber is running the root fiber.
- 08:04 AM Revision ac543abe (git): cont.c: set th->root_fiber to current fiber at fork
- Otherwise, th->root_fiber can point to an invalid Fiber,
because Fibers do not live across fork. So consider
whatever Fiber is running the root fiber.
[ruby-core:88723] [Bug #15041]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64... - 02:23 AM Revision 43d3f813 (git): * 2018-08-29
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 02:23 AM Revision 0b44744d (git): cont.c (rb_context_t): remove ensure_list
- It is unused (we use rb_execution_context_t.ensure_list instead)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
08/28/2018
-
07:46 PM Bug #15039: Random.urandom and SecureRandom arc4random use
- On OpenBSD, arc4random is not really a userspace PRNG in the sense that it is reseeded on a regular basis using new entropy data from the kernel (arc4random_buf(3) -> _rs_random_buf -> _rs_stir_if_needed -> _rs_stir -> getentropy(2)). Se...
-
07:16 PM Bug #15039 (Closed): Random.urandom and SecureRandom arc4random use
- Random.urandom defaults to arc4random() on a lot of platforms, including FreeBSD.
On all currently released versions of FreeBSD, arc4random() is, as the name suggests, a dubious ARC4-based userspace PRNG dating from circa 1997. Given... -
04:17 PM Bug #15038 (Closed): Appveyor MinGW - bundled gems missing?
- I just noticed that the Appveyor MinGW build is not showing the installed bundled gems in the console output, although the mswin build is.
See r64585 test, [mswin](https://ci.appveyor.com/project/ruby/ruby/build/9494/job/ml60euv5uxa84... -
02:55 PM Revision 8867f285 (git): Tag a couple specs failing on AIX
- * The rest seems OS bugs, MRI bugs or incomplete IPv6 implementation:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/aix71_ppc/ruby-trunk/log/20180828T103302Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64586 b2dd0... -
01:42 PM Revision 8a999649 (git): Fixed installation failure with mswin environment.
- [ruby-core:88699][Bug #15035]
This patch was provided by MSP-Greg.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:41 AM Revision d36cd0b0 (git): Update to ruby/spec@6fd9472
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
08:22 AM Feature #14097: Add union and difference to Array
- [@Student](https://bugs.ruby-lang.org/users/6774) as I just answered in the [PR](https://github.com/ruby/ruby/pull/1747#issuecomment-416494207) about the same concern, I'll answer here to:
> I think there are some uses of case. First,... -
08:19 AM Feature #15036 (Closed): after upgrade when run apt upgrade metasploit
-
07:06 AM Feature #15010 (Closed): Reduce allocation for rest parameters
- Applied in changeset trunk|r64583.
----------
rest parameter optimization [Feature #15010]
* vm_args.c: rb_ary_dup(args->rest) to be used at most once during
parameter setup. [Feature #15010]
A patch by chopraanmol1 (Anmol Chopra) ... -
06:53 AM Feature #15010: Reduce allocation for rest parameters
- It seems fine.
I'll commit it. -
07:06 AM Revision 1f4efb9a (git): rest parameter optimization [Feature #15010]
- * vm_args.c: rb_ary_dup(args->rest) to be used at most once during
parameter setup. [Feature #15010]
A patch by chopraanmol1 (Anmol Chopra) <chopraanmol1@gmail.com>.
* array.c (rb_ary_behead): added to remove first n elements.
git... -
06:49 AM Feature #15030: Have T_INTEGER constant for checking Integer types in C API
- Eregon (Benoit Daloze) wrote:
> There are certainly cases where a C extension wants to check the argument is an Integer, and its range doesn't matter, isn't it?
For example?
-
03:58 AM Bug #15035: Windows make install failures
- @MSP-Greg
Thanks for your patches. I will merge a patch of `tool/rbinstall.rb` after confirming with my windows environment. -
03:53 AM Bug #15035: Windows make install failures
- @hsbt
Thanks for applying the patch. I should have been clearer, as the patch fixes two issues, both involving RubyGems, but one of the patched files (tool/rbinstall.rb) is patched for the parameter passed to a RubyGems method. That... -
02:39 AM Bug #15035 (Closed): Windows make install failures
- Applied in changeset trunk|r64582.
----------
Fixed test failures in mswin environment at r64555.
[ruby-core:88699][Bug #15035]
This patch was provided by MSP-Greg. -
12:41 AM Bug #15035 (Closed): Windows make install failures
- @hsbt
Windows has been failing on install, seems due to a combination of RubyGems changes.
ruby-loco is passing with the patch, and the ruby/ruby mswin is completing make install (but failing on some recent spec changes). See GH P... -
02:39 AM Revision 715666cc (git): Fixed test failures in mswin environment at r64555.
- [ruby-core:88699][Bug #15035]
This patch was provided by MSP-Greg.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:04 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- On 2018/08/27 18:17, Eric Wong wrote:
>>> A joke; at least as far as we know it is a joke :>
>>
>> I'm not sure why uint64_t doesn't solve time machine problem and uint128_t
>> solves it. Any RFC arguing it? (time machines should no... -
01:00 AM Feature #14844: Future of RubyVM::AST?
- I hope this is relevant.
I found an interesting article here: http://www.oilshell.org/blog/2016/12/11.html
It describes the process Python uses.
It looks like it's standardised in a way that might be a useful goal for `RubyVM::A... - 12:24 AM Revision 4d9c2377 (git): thread_pthread.h: rename `gvl.acquired' to `gvl.owner' and document
- `acquired' was an old boolean variable, but nowadays it is a
rb_thread_t pointer; "gvl.owner" seems like a more appropriate
name. And document the contended path including waitq, timer,
and timer_err.
git-svn-id: svn+ssh://ci.ruby-lan... -
12:12 AM Bug #15034 (Feedback): Crash in Opensuse Software management
- Thank you for your report.
This is a issue tracker for ruby development, and I'm not at all familiar with Yast2 package manager. I just searched by the error message and found:
https://lists.opensuse.org/opensuse-factory/2018-08/m...
08/27/2018
- 11:39 PM Revision fcaf8745 (git): thread_pthread.c: document sigwait_th and sigwait_fd [ci skip]
- This is an important concept to document, I think.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 11:29 PM Revision 1b1274f7 (git): thread_pthread.c: fix deadlock on test_thread.rb::test_signal_at_join
- Fixes: r64575 ("avoid lock ping-pong in do_gvl_timer & ubf_select")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:37 PM Bug #15034 (Closed): Crash in Opensuse Software management
- Hi,
the problem appears when starting the Software Management component of Open Suse's Yast2 package manager.
The software management component starts up for some while, then crashes. The problem has appeared several times in the pa... -
09:19 PM Bug #15033 (Closed): Encoding fallback uses wrong character when multiple conversions are required
- When converting a string from one encoding to another that involves multiple conversions, the proc passed to `encode` will be called with the incorrect value if the conversion fails in the middle of the conversion.
For example,
```... -
08:32 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > https://bugs.ruby-lang.org/issues/13618
Btw, many of my recent changes ([Misc #15014] (rb_hrtime_t)),
and process.c/thread*.c cleanups in r64542, r64575, r64576,
r64577 are preparatory work for this feature that were
beneficial ... -
07:08 PM Revision 8500714a (git): Rewrite Etc.sysconf spec to allow nil or Integer for all variables
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:37 PM Revision e61e6ae5 (git): process.c: fix potential missed wakeups in r64576
- Oddly, all existing test cases passed multiple times
before this patch (even with --jit-wait), so this seems
like a difficult failure to prove.
Fixes: r64576 ("process.c: simplify SIGCHLD-based waitpid")
git-svn-id: svn+ssh://ci.ruby-l... -
06:34 PM Feature #14912: Introduce pattern matching syntax
- "The patterns are run in sequence until the first one that matches."
This means O(n) time for matching. If we are adding this with changes to compiler, we should try to compile it to hash lookup O(1) time
Does this allow nesting of... - 05:17 PM Revision 9d4027b5 (git): process.c: simplify SIGCHLD-based waitpid
- Introduce a new rb_thread_sleep_interruptible that does not
execute interrupts before sleeping. Skipping the interrupt
check before sleep is required for out-of-GVL ruby_waitpid_all
to function properly when setting waitpid_state.ret
N... - 05:17 PM Revision 943bf37b (git): thread_pthread.c: avoid lock ping-pong in do_gvl_timer & ubf_select
- This simplifies the locking logic somewhat.
While we're at it, designate_timer_thread is worthless in
ubf_select because gvl_acquire_common already guarantees there
is a gvl.timer if gvl->waitq is populated.
In the future (for auto-fib... - 04:38 PM Revision cda13d8c (git): * 2018-08-28
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:38 PM Revision 5ffa775f (git): SC_TZNAME_MAX can also be infinite
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 04:22 PM Revision 293ed16e (git): * append newline at EOF.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:22 PM Revision 2dca35b9 (git): Update to ruby/spec@007e908
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:07 PM Bug #14920: Backport r63857 to fix performance problem on Time class in MacOs systems
- Hi @usa.
63994 alone doesn't fix the issue. I just cloned ruby_2_4 with r64560 and run the same benchmark script and got the same result. Only r63857 fix the issue. Can you backport r63857 too?
```
"Main Process: 0.100000 0.0... -
01:59 PM Bug #14920: Backport r63857 to fix performance problem on Time class in MacOs systems
- ruby_2_4 r64560 merged revision(s) 63994.
- 02:49 PM Revision 58689fa7 (git): * append newline at EOF.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:49 PM Revision 85d1a8ba (git): Update to ruby/spec@a89819d
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:33 PM Revision 35f2b71c (git): Fix template/fake.rb.in if ENV["RUBYOPT"] is nil
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:25 PM Revision 5e9cd520 (git): Fix template/fake.rb.in when external and internal encodings are set
- * To be able to run spec/ruby/command_line/dash_encoding_spec.rb
with the in-repo build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 02:25 PM Revision cea7d047 (git): * append newline at EOF.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:25 PM Revision 8180b5bf (git): Update to ruby/spec@09fa86c
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:19 PM Bug #14942: Windows7でコンソールに長い文字列を出力できない
- ruby_2_4 r64564 merged revision(s) 64092.
- 02:18 PM Revision cccbcd17 (git): merge revision(s) 64092: [Backport #14942]
- win32.c: limit write size on console
* win32/win32.c (constat_parse): split long buffer and limit write
size on a console, as well as rb_w32_write.
[ruby-dev:50597] [Bug #14942]
git-svn-id: svn+ssh://ci.ruby... -
02:15 PM Bug #14941: WindowsでARGVの文字列に汚染マークが付いてない
- ruby_2_4 r64563 merged revision(s) 64071.
- 02:15 PM Revision 94e65989 (git): merge revision(s) 64071: [Backport #14941]
- ruby.c: taint ARGV on Windows
* ruby.c (external_str_new_cstr): strings come from the external
should be tainted. [ruby-dev:50596] [Bug #14941]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@64563 b2dd... -
02:11 PM Bug #14926: Different results between Enumerable#sum and #reduce when Float::INFINITY present
- ruby_2_4 r64562 merged revision(s) 64014.
- 02:11 PM Revision ba757763 (git): merge revision(s) 64014: [Backport #14926]
- fix sum on infinity
* array.c (rb_ary_sum): consider non-finite floats.
[ruby-core:88024] [Bug #14926]
* enum.c (sum_iter): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@64562 b2dd03c8-... -
02:08 PM Bug #14929: [PATCH] thread.c (do_select): fix leak on exception
- ruby_2_4 r64561 merged revision(s) 64007,64019,64020.
- 02:08 PM Revision 95abe79e (git): merge revision(s) 64007,64019,64020: [Backport #14929]
- thread.c (do_select): fix leak on exception
When do_select is interrupted and raise happens from
RUBY_VM_CHECK_INTS_BLOCKING, the original FD sets we copied
do not get freed, leading to a memory leak. Wrap up al... - 01:59 PM Revision 1bbf7789 (git): merge revision(s) 63994: [Backport #14920]
- reduce tzset
* time.c (rb_localtime_r): call tzset() only after TZ environment
variable is changed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@64560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:48 PM Bug #14853: [BACKPORT] NameError#receiver at private constant returns a hidden object
- ruby_2_4 r64559 merged revision(s) 63696.
- 01:48 PM Revision 4941bba3 (git): merge revision(s) 63696: [Backport #14853]
- variable.c: fix receiver on private constant
* variable.c (rb_const_search): fix NameError :receiver attribute
on private constant, should raise with the included module, not
the ICLASS.
git-svn-id: svn+ssh:... -
01:47 PM Bug #14495: Enumerator::Lazy#uniq invalid state
- ruby_2_4 r64558 merged revision(s) 62731,62735.
- 01:47 PM Revision 7d957281 (git): merge revision(s) 62731,62735: [Backport #14495]
- Bug Fix Enumerator::Lazy#uniq state for multiple call
* enumerator.c (lazy_uniq_i): create new hash for each calls.
[Fix GH-1820]
Currently
2.5.0-preview1 :001 > arr = (0..100).lazy.uniq{|i| i... -
12:03 PM Feature #15030: Have T_INTEGER constant for checking Integer types in C API
- eregontp@gmail.com wrote:
> There are certainly cases where a C extension wants to check the argument is an Integer, and its range doesn't matter, isn't it?
> ...
Not currently, just two calls to `RB_TYPE_P` but that's a trivial
stati... -
10:02 AM Feature #15030: Have T_INTEGER constant for checking Integer types in C API
- There are certainly cases where a C extension wants to check the argument is an `Integer`, and its range doesn't matter, isn't it?
Is there a macro to check for that easily? -
06:05 AM Feature #15030 (Rejected): Have T_INTEGER constant for checking Integer types in C API
- +1 for Hanmac.
C extension writers should check `T_FIXNUM` or `T_BIGNUM` explicitly.
-
05:49 AM Feature #15030: Have T_INTEGER constant for checking Integer types in C API
- hm that is not that easy, while `Fixnum` and `Bignum` are deprecated on the ruby side,
on the C side they still exist
thats why a single `T_INTEGER` check might not work that way you want -
05:12 AM Feature #15030 (Rejected): Have T_INTEGER constant for checking Integer types in C API
- After Integer unification in Ruby 2.4, I think it makes sense to introduce a T_INTEGER
type that helps in directly testing if a Ruby object is an Integer in C API.
For example, currently we need to write `RB_TYPE_P(obj, T_FIXNUM)` f... -
11:45 AM Feature #15031: T_RANGE for testing whether object is a Range
- ko1 (Koichi Sasada) wrote:
> `rb_obj_is_range()` can be accepted like `rb_obj_is_proc` and so on.
> ...
Sure :) -
06:06 AM Feature #15031: T_RANGE for testing whether object is a Range
- `rb_obj_is_range()` can be accepted like `rb_obj_is_proc` and so on.
`T_xxx` shows data layout of `RVALUE`.
-
05:28 AM Feature #15031 (Open): T_RANGE for testing whether object is a Range
- Range is an in-built type of Ruby and it would be better for C extension
writers if there existed a constant `T_RANGE` that could be directly used
for checking whether a `VALUE` is a `Range`.
Currently we need to write `CLASS_OF(obj... -
10:54 AM Feature #14975: String#append without changing receiver's encoding
- > Is there a use-case for using this new method with non-binary strings?
Yes, predictably appending strings without changing receiver encoding. If I make a buffer with a specific encoding, I'd prefer not to have it change encoding wit... -
09:46 AM Feature #14975: String#append without changing receiver's encoding
- I agree the current behavior for appending with binary strings is surprising.
Especially since the result of the operation depends on whether the receiver and argument are 7-bit or not.
However, it makes sense to me to change the rec... -
10:12 AM Revision a6413848 (git): Simplify guards, the behavior seems Linux-specific
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
10:08 AM Feature #15010: Reduce allocation for rest parameters
- @ko1, I've added new field rest_dupped to args_info.
Updated patch https://bugs.ruby-lang.org/attachments/7344/Reduce-allocation-for-rest-parameters-v1.patch
-
07:41 AM Feature #15010: Reduce allocation for rest parameters
- ko1 (Koichi Sasada) wrote:
> # Idea (as my understanding)
> ...
Yes, and once a rest parameter is duped it mutates the array in case if rest_index is modified (Previously, only args_setup_post_parameters used to mutate rest parameter).... -
06:33 AM Feature #15010: Reduce allocation for rest parameters
- Sorry for late response.
# Idea (as my understanding)
~a rest parameter" is dup multiple times because of current implementation. Only 1 "dup" is needed. They should be eliminate.
The patch try to manage "dup'ed or not" by passing... -
05:26 AM Feature #15010: Reduce allocation for rest parameters
- @ko1, It would be great if you could review https://bugs.ruby-lang.org/attachments/7343/Reduce-allocation-for-rest-parameters-v1.patch
- 10:05 AM Revision 73c8b1ea (git): * remove trailing spaces.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
10:05 AM Revision 85d46145 (git): Merge master branch from rubygems upstream.
- * It's preparation to release RubyGems 3.0.0.beta2 and Ruby 2.6.0
preview 3.
* https://github.com/rubygems/rubygems/compare/v3.0.0.beta1...fad2eb15a282b19dfcb4b48bc95b8b39ebb4511f
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@... -
09:22 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- Koichi Sasada <ko1@atdot.net> wrote:
> On 2018/08/27 16:16, Eric Wong wrote:
> > Yep. Maybe some small systems can benefit with
> > usec/msec resolution and uint32_t, though.
>
> My comment is, if it assumes uint64_t, it is worth... -
07:42 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- On 2018/08/27 16:16, Eric Wong wrote:
> Yep. Maybe some small systems can benefit with
> usec/msec resolution and uint32_t, though.
My comment is, if it assumes uint64_t, it is worth to write it
explicitly (I verified this years... -
07:22 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- ko1@atdot.net wrote:
> Thanks!
>
> > + * Hi-res monotonic clock. It is currently nsec resolution, which has over 500 years of range (unsigned).
>
> uint64?
You're welcome. Yep. Maybe some small systems can benefit with
use... -
06:55 AM Misc #15014: thread.c: use rb_hrtime_scalar for high-resolution time operations
- Thanks!
> + * Hi-res monotonic clock. It is currently nsec resolution, which has over 500 years of range (unsigned).
uint64?
> ...
what is this?
- 08:48 AM Revision 3a83ba90 (git): hrtime.h: add note explaining current use of uint64_t [ci skip]
- [ruby-core:88678]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:31 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- Thanks shyouhei for your pointing out.
I imagine another Rexexp option, say `//I`, which is almost the same as `//i` except for never-applying SpecialCasing mapping.
This change extends Unicode matching indeed but does not introduc... -
06:02 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- gotoken (Kentaro Goto) wrote:
> By the way, this expansion by `//i` option looks over kill for me.
> ...
I know how you feel. Too bad we are just doing what Unicode specifies to do.
See also http://unicode.org/faq/casemap_charpro... -
05:44 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- Thanks znz. The workaround is helpful. And I understood what was happened.
https://github.com/k-takata/Onigmo/issues/92#issuecomment-373981492 shows how some combinations of letters are variable length.
For example, `"ss"` and `"st"`... -
03:46 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- You can use `(?:s)` instead of `s` for workaround.
```
$ ruby -ve '/(?<=ast)/iu'
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
-e:1: invalid pattern in look-behind: /(?<=ast)/i
-e:1: warning: possibly useless use of ... -
02:35 AM Bug #13671: Regexp with lookbehind and case-insensitivity raises RegexpError only on strings with certain characters
- I encountered a non `ss` case. Is this a same problem?
```
% ruby -ve '"".match(/(?<=ast)/ui)'
ruby 2.6.0dev (2018-08-27 trunk 64549) [x86_64-linux]
-e:1: invalid pattern in look-behind: /(?<=ast)/i
```
It was reproduced in ve... -
05:49 AM Revision 50840311 (git): hrtime.h: missing paren
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:48 AM Revision 995bc923 (git): hrtime.h: explicit casts to time_t
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:39 AM Revision 762f44cf (git): configure.ac: printf prifix for int64_t
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 05:32 AM Revision 49a55f28 (git): thread.c: check interrupts explicitly in select/ppoll blocking regions
- The logic around blocking_region_begin is confusing to me,
but the goal of this patch is to ensure rb_sigwait_fd_get
and rb_sigwait_fd_put are matched.
In other words, we don't want a thread to hold sigwait_fd
forever if an exception is... -
04:41 AM Bug #13593: Addrinfo#== behaves oddly
- ioquatix (Samuel Williams) wrote:
> Doing a binary comparison would be acceptable.
I don't think so. As Akira already pointed out,
- Addrinfo have "padding" bits which are not stable. Binary comparison might fail at that point.
... -
04:33 AM Bug #13593: Addrinfo#== behaves oddly
- Doing a binary comparison would be acceptable.
-
04:29 AM Bug #14880: Time#localtime doesn't always seem to respect TZ
- @nobu Isn't changing TZ enough that `#localtime` should do something?
-
04:25 AM Feature #14888: Add trace point for eval (and related functions)
- @marcandre I already added support for coverage of templates and it works pretty well. You need to be careful with template code generation, but for the most part it's fairly straight forward. Thanks for your detailed reply - if we could...
-
04:23 AM Feature #15022: Oneshot coverage
- Did you take a look at https://github.com/ioquatix/covered - I'd be interested in your feedback. Can we discuss further, and also how to improve performance? There is some more discussion here: https://bugs.ruby-lang.org/issues/14888
-
04:22 AM Feature #15022: Oneshot coverage
- What about using trace points?
-
04:19 AM Misc #14981: DevelopersMeeting20180913Japan
- * [Feature #14975] String#append without changing receiver's encoding (ioquatix)
* Can we review this PR? We need to decide functionality (i.e. not changing receivers encoding, rejecting encoding if it's not same, unless receiver is b... - 01:30 AM Revision bab586e7 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 01:30 AM Revision 6a052fcd (git): * remove trailing spaces.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:30 AM Revision 95e213d3 (git): Merge rdoc-6.1.0.beta1.
- * https://github.com/ruby/rdoc/compare/v6.0.4...v6.1.0.beta1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 12:44 AM Revision 41fb2436 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 12:44 AM Revision 56ac079e (git): * 2018-08-27
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:44 AM Revision 867581dd (git): Merge psych-3.1.0.pre1.
- * Update bundled libyaml-0.2.1 from 0.1.7.
https://github.com/ruby/psych/pull/368
* Unify Psych's API: To use keyword arguments with method call.
https://github.com/ruby/psych/pull/358
git-svn-id: svn+ssh://ci.ruby-lang.org/ru...
08/26/2018
-
11:49 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- naruse (Yui NARUSE) wrote:
> methodmissing (Lourens Naudé) wrote:
> ...
Thanks for clarifying the context there. I looked @ MSVC attributes / annotations and `cold` (or anything similar) is not supported, thus for `cold` and `hot` attr... - 12:41 PM Revision e0311eb8 (git): test/ruby/test_io.rb (test_recycled_fd_close): Linux workaround
- Arch Linux CI still seems to timeout on this test...
Note, I can't reproduce the failures in these tests on a
FreeBSD 11.1 VM while infinite-looping, even without the
"th.join(0.001)". It doesn't seem related to the use of
rb_wait_for_... - 12:41 PM Revision 70d6c1a1 (git): thread_sync.c: common wakeup_{one,all} implementation
- This let us avoid looping in rb_szqueue_max_set, saves us
some lines of code and reduces binary size slightly
(numbers from 32-bit x86):
text data bss dec hex filename
before: 91272 392 156 91820 ... -
12:36 PM Bug #15027: When Struct#each method is overriden Struct#select and Struct#to_a use wrong collections
- as a middle way, can't we just do the "is overwritten by user" check?
i think i have seen it on other classes like Array or Hash
so it checks if the `each` method is overwritten, in that case, call the `Enumerable` method,
if not, c... -
06:53 AM Bug #15027: When Struct#each method is overriden Struct#select and Struct#to_a use wrong collections
- Since matz asked for feedback, just a comment - I have no particular pro or con opinion
per se, mostly because I very rarely use the Struct/OpenStruct family; I usually just end
up writing a "real" class instead and adapt it to what is... -
02:46 AM Bug #15027: When Struct#each method is overriden Struct#select and Struct#to_a use wrong collections
- I'm against changing the current behavior. If you can override `each`, you can override other methods. If we wanted to be consistent about making this change, we would probably need to remove most the following additional core methods ...
-
01:56 AM Bug #15027 (Feedback): When Struct#each method is overriden Struct#select and Struct#to_a use wrong collections
- The proposed behavior is more consistent but slower. I am not sure it's a good idea to hinder performance by supporting consistency in the rare case. Any opinion?
Matz.
-
09:08 AM Feature #14097 (Assigned): Add union and difference to Array
- Thank you for the answer. I'm assigning this ticket to matz.
-
08:52 AM Feature #14097: Add union and difference to Array
- @mame
> However, I'm now getting confused. I thought you agreed that Array#union should be non-destructive, but in your talk you explained it was a destructive union operator. What are you driving at?
In the talk I wanted to focus ... -
06:03 AM Bug #15019 (Assigned): Documentation for Net::HTTP claims that multipart/form-data is not supported
- 04:29 AM Revision 84859fd2 (git): process.c: remove worthless waitpid_sys macro
- It is identical to do_waitpid, and the win32 version will not
be needed for MJIT (since win32 does not suffer from the
waitpid(-1, ...) conflict where waits can get stolen.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64541 b2dd03c...
08/25/2018
- 10:32 PM Revision 32910b87 (git): test/io/wait/test_io_wait_uncommon.rb: relax /dev/random check
- Too many machines lack entropy to have a usable /dev/random. I
had similar problems on my system until I started using
haveged(8), but we can't require that for CI.
cf. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-trunk/... - 10:14 PM Revision 894847a5 (git): thread_pthread.c (ubf_wakeup_thread): `th' is never NULL
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 09:59 PM Revision 70a8a6d3 (git): thread_pthread.c: main thread always gets hit by signals
- We need to ensure Signal.trap handlers can function if the main
thread is sleeping after a subthread has grabbed sigwait_fd,
but later exited.
Consider the following timeline:
main_thread sub-thread
------------------------... - 09:33 PM Revision 49309733 (git): * 2018-08-26
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 09:33 PM Revision b4084d7c (git): thread.c: quiet down -Wmaybe-uninitialized on gcc 7.[2-3]
- Haven't tested gcc 8, yet; but gcc 6 seems fine....
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
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... - 09:02 AM Revision 95abea43 (git): hrtime.h: add documentation
- I updated the patch with documentation but forgot about it,
earlier :x
[ruby-core:88616] [Misc #15014]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
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... - 06:58 AM Revision 0e063601 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:58 AM Revision b0253a75 (git): 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 using a 64-bit type.
Unsigned 64-bit integer is able to give us over nearly 5... -
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? - 02:32 AM Revision 7c31c273 (git): drb: close graceful shutdown pipe before socket
- Closing a listen socket while entering select(2) may
trigger IOError or even deadlock because another thread
may give the file descriptor to another file description;
meaning the kernel can wait on the wrong description.
git-svn-id: svn... - 02:32 AM Revision a4802248 (git): drb: simplify shutdown pipe close logic
- IO#close is idempotent, so we don't need to waste bytecode
to check or nil it at shutdown time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:13 AM Bug #15025 (Closed): Encountered a bug in interpreter or extension libraries
- Seems an already fixed bug.
08/24/2018
-
10:32 PM Revision 7710bdd1 (git): Add AIX guards
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
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:28 PM Revision 6277b924 (git): test/ruby/test_io.rb (test_recycled_fd_close): use IO#read to avoid ppoll call
- IO#sysread calls rb_wait_for_single_fd for compatibility, and
perhaps something is amiss with that (unrelated to timer-thread
elimination)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
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.... - 07:19 PM Revision 72af13f3 (git): * 2018-08-25
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 07:19 PM Revision 0a77fd04 (git): 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 lighter
eventfd on Linux.
[ruby-core:88563] [Misc #15011]
g... -
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 <Greg.mpls@gmail.com> -
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... -
10:25 AM Revision 5bd4283f (git): ext/readline/extconf.rb: try using more readline APIs
- on MinGW.
[Bug #15020]
From: MSP-Greg <Greg.mpls@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
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