[#11073] segfault printing instruction sequence for iterator — <noreply@...>
Bugs item #10527, was opened at 2007-05-02 14:42
Hi,
On Thu, May 10, 2007 at 04:51:18PM +0900, Nobuyoshi Nakada wrote:
Hi,
Hi,
This seems to make valgrind much happier.
On Thu, May 17, 2007 at 11:14:35PM +0900, Paul Brannan wrote:
Hi,
Now 'a' shows up twice in the local table:
Hi,
[#11082] Understanding code: Kernel#require and blocks. — Hugh Sasse <hgs@...>
I'm trying to debug a Rails application which complains about an
On 5/4/07, Hugh Sasse <hgs@dmu.ac.uk> wrote:
On Fri, 4 May 2007, George wrote:
On Fri, May 04, 2007 at 06:18:19PM +0900, Hugh Sasse wrote:
[#11108] pattern for implementation-private constants? — David Flanagan <david@...>
Hi,
I believe there isn't a way, but I don't think it's really necessary. Just
[#11127] Bugs that can be closed — "Jano Svitok" <jan.svitok@...>
I propose closing these bugs as invalid:
[#11145] Rational comparison to 0 fails when denominator is != 1 — <noreply@...>
Bugs item #10739, was opened at 2007-05-10 22:06
Hi,
[#11169] Allow back reference with nest level in Oniguruma for Ruby again — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <wonado@...>
Remark: I posted this text in comp.lang.ruby first, but Matz told me,
Does it make sense or is it required to write this as a RCR?
[#11176] FileUtils.rm_rf misfeature? — johan556@...
Hi!
[#11210] Pathname ascend and descend inclusive parameter — TRANS <transfire@...>
I would like to suggest that Pathname#ascend and Pathname#descend
[#11234] Planning to release 1.8.6 errata — Urabe Shyouhei <shyouhei@...>
Hi all.
On 25/05/07, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#11252] Init_stack and ruby_init_stack fail to reinit stack (threads problem?) — <noreply@...>
Bugs item #11134, was opened at 2007-05-25 12:14
Hi,
Nobuyoshi Nakada wrote:
[#11255] ruby_1_8_6 build problem (make install-doc) — johan556@...
Hi!
[#11271] providing better support through rubyforge tracker categories — Ryan Davis <ryand-ruby@...>
I'm going to make more categories for the trackers (bugs and patches)
[#11367] BUG: next in lambda: 1.8.6 differs from 1.8.4 and 1.9.0 — David Flanagan <david@...>
A toplevel next statement in a lambda does not return a value in 1.8.6,
[#11368] $2000 USD Reward for help fixing Segmentation Fault in GC — Brent Roman <brent@...>
Hi Brent,
Re: [ ruby-Bugs-11134 ] Init_stack and ruby_init_stack fail toreinitstack(threadsproblem?)
Nobuyoshi Nakada wrote:
> Hi,
>
>
>> This should be equivalent to having a global lock and running
>> eval("sth") each time.
>
> Perdon, what's "sth"?
As I proposed, any ruby code not involving another extension. But,
ideally, it should be any ruby code.
>
> If it were reset, VALUEs on other threads won't be marked anymore.
> And the thread mechanism of 1.8 or former works by overwriting
> machine stack, so stack address must not change.
> That is the good enough reason.
>
Okay. But I can have a function travel the current stack, register the
(potential) VALUE addresses found there in a global hash for example,
and then safely change the stack address.
After my callback finishes, clear the hash and revert the stack pointer
to its old value. That should be thread safe for 1.8. Right now, the
lack of a way to reset the stack safely prevents me doing this.
That is, I'd like the api to behave like:
rb_push_stack();
INIT_STACK();
// call new code in this thread (or in this branch of an embedded ruby)
rb_pop_stack();
Under YARV, I'd hope that book-keeping to be done for me automatically
as it switches from thread to thread (but embedded rubys may still need
to do the book-keeping manually).
Other than that, the only way to solve the issue without breaking
backwards compatibility with previous C extension code, would be to have
VALUE be an actual C++ class, whose contructor/destructor
registers/unregisters itself with the interpreter. For swig SVN head, I
added a class called GC_VALUE to support the STL containers that does
just that and works peachy.
Obviously, that makes ruby a C++ api, which I understand Matz does not want.
>>> It does know about the native-threads which are created in
>>> ruby. Therefore, you can't store VALUEs on the stacks of other
>>> threads.
>
> No, the restriction is applied to 1.8 too.
>
>> How do any C extensions work at
>> all on a ruby thread other than the main ruby thread?
>>>
>> Ouch. This sounds much worse than 1.8.
>
> Crash.
>
Hmm... isn't native threads the default for yarv? If so, that's
definitively not the same for 1.8. Currently:
Thread.new { // do something with a dso }
will not crash the interpreter. You don't get true multithreading, but
not a crash.
--
Gonzalo Garramu
ggarra@advancedsl.com.ar
AMD4400 - ASUS48N-E
GeForce7300GT
Kubuntu Edgy