[jruby-dev] [jira] (JRUBY-7182) 1.7.3 crashes with my multithreaded benchmark

2013-07-01 Thread Mike Perham (JIRA)














































Mike Perham
 created  JRUBY-7182


1.7.3 crashes with my multithreaded benchmark















Issue Type:


Bug



Assignee:


Thomas E Enebo



Created:


30/Jun/13 2:22 PM



Description:


I'm trying to benchmark running 20,000 empty Sidekiq jobs, to understand the threading overhead for each of 1.9.3, 2.0.0 and JRuby.  Both versions of MRI finish the benchmark without a problem, JRuby crashes after about 15 sec.


Exception in thread "JRubyWorker-24" org.jruby.exceptions.RaiseException: (DeadTaskError) cannot resume a dead task (dead fiber called)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:25)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:21)
	at Celluloid::Task.resume(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks.rb:69)
	at Celluloid::Response.dispatch(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/responses.rb:11)
	at Celluloid::Actor.handle_message(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/actor.rb:331)
	at RUBY.run(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/actor.rb:174)
	at RUBY.initialize(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/actor.rb:157)
	at RUBY.initialize(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/thread_handle.rb:13)
	at org.jruby.RubyProc.call(org/jruby/RubyProc.java:249)
	at RUBY.create(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:59)
Exception in thread "JRubyWorker-19" org.jruby.exceptions.RaiseException: (DeadTaskError) cannot resume a dead task (dead fiber called)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:25)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:21)
	at Celluloid::Task.resume(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks.rb:69)
	at Celluloid::Response.dispatch(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/responses.rb:11)




To reproduce:

1. Install redis.
2. redis-cli flushall
3. git clone git://github.com/mperham/sidekiq
4. cd sidekiq/myapp
5. bundle
6. bundle exec ruby bench.rb (this just loads 20k jobs into redis)
7. bundle exec sidekiq

With 2.0.0, you'll see a ton of job start/done log output and takes 50 sec on my MBA.




Environment:


JRuby 1.7.3, OSX 10.8




Project:


JRuby



Priority:


Major




Reporter:


Mike Perham




























This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira





-
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email




[jruby-dev] Re: Latest on maven build

2013-07-01 Thread Charles Oliver Nutter
Ok, things are slowly falling together, so he's another update.

New working:

* tzdata stuff (waiting on confirmation from Hiro)

Known remaining:

* tests passing (they're closer but embed tests and a couple main
tests still fail)
* OSGi bnd bundle stuff from jar-jruby-dist into maven (I tried using
Apache Felix plugin but could not get it to work right. Maybe this
doesn't need to happen during normal package...only in maven artifacts
we actually push?)
* Scrubbing of build.xml to continue removing things mvn is doing for us.

Is there any way to get tests to not run during package, but still
work for "test" goal (i.e. hardcoding skipTests is NOT a solution)?
It's a serious impediment to have to run tests every time we package
up a new jar locally.

- Charlie

On Sat, Jun 29, 2013 at 2:01 PM, Charles Oliver Nutter
 wrote:
> Done:
>
>> * From old jar building: install spi services stuff under meta-inf
>> * From old test runs: compile test files. I'm hoping these can be run
>> as part of the maven build and we won't actually need to add them to
>> the rake test runs (i.e. these can be our smoke tests during
>> packaging)
>
> I added in surefire test configs so tests are running, but they don't
> pass yet (environmental oddities mostly).
>
> Good news... jar-jruby ant target is now empty! jar-jruby-dist
> piggybacks off it but is not building correctly (just the osgi bnd
> stuff).
>
> Known items remaining to do:
>
> * get tests passing ;-)
>> * Eliminate build_lib artifacts. I've started removing references to
>> build_lib but have not removed most jars yet.
>> * dist confirmation: need to confirm dist artifacts are building properly
>> * cext as its own submodule: I think we should move cext to its own
>> ext/ module like openssl and readline rather than move out of the repo
>> entirely (for now)
>> * psych as its own module: this is going to be merged into upstream
>> psych gem soon so we need to start building it as a separate jar
>
> - Charlie

-
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email




Re: [jruby-dev] Welcome christian to JRuby Core :-)

2013-07-01 Thread Rodrigo Rosenfeld Rosas

Great news!

Congrats, Kristian!

Cheers,
Rodrigo.

Em 29-06-2013 13:16, Charles Oliver Nutter escreveu:

Tom and I have agreed to add christian as a JRuby committer, for help
with maven in the past and help with the current reorganization.

Welcome to the team (officially)!

- Charlie

-
To unsubscribe from this list, please visit:

 http://xircles.codehaus.org/manage_email





-
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email




Re: [jruby-dev] Pre-branch (1.7) reorg of codebase

2013-07-01 Thread kristian
just resend since it bounced. -christian


On Sun, Jun 30, 2013 at 11:31 AM, kristian  wrote:

>
> On Sat, Jun 29, 2013 at 5:21 PM, Charles Oliver Nutter <
> head...@headius.com> wrote:
>
>> This seems pretty good, but is there a reason we need all the
>> jruby-blah poms to be in their own directories? Could there be a
>> single maven dir with pom-complete, pom-core, pom-stdlib etc?
>>
>>
> the modules section is such a list of directory-names and each directory
> needs a pom.xml to be module. the problem is only the pom - to create and
> attach any jar to pom is no problem but with jruby-core, jruby-complete,
> etc we a tailored pom for those jars.
>
>
>
>> One goal of this reorg is to clean up the repo root a bit, and moving
>> those to top-level seems like a step backward.
>>
>
> we can keep the current maven project with all its subdirectories no need
> to them into basedir.
>
> but I also realized one more thing: IDE support
> and for this we really need to make the main jruby artifact as straight
> forward as possible. this means move the main sources into its own module
> speak directory, I think the IDE support is really important - starting
> with myself as eclipse user.
>
> I also wondered when all the dependencies are maven artifacts then there
> is no difference between jruby.jar and jruby-core.jar ? not much I guess.
> maybe we can call the main artifact jruby-core then and make ONE more
> directory to the basedir: jruby-core ?
>
> - christian
>
>


Re: [jruby-dev] Latest on maven build

2013-07-01 Thread Charles Oliver Nutter
I think the joda-timezones module christian set up should be doing
what you need. I just commented on your issue. Let us know if it's not
doing what you need it to.

- Charlie

On Sat, Jun 29, 2013 at 11:11 PM, Hirotsugu Asari  wrote:
>
> On Jun 29, 2013, at 2:01 PM, Charles Oliver Nutter  
> wrote:
>
>> Done:
>>
>>> * From old jar building: install spi services stuff under meta-inf
>>> * From old test runs: compile test files. I'm hoping these can be run
>>> as part of the maven build and we won't actually need to add them to
>>> the rake test runs (i.e. these can be our smoke tests during
>>> packaging)
>>
>> I added in surefire test configs so tests are running, but they don't
>> pass yet (environmental oddities mostly).
>>
>> Good news... jar-jruby ant target is now empty! jar-jruby-dist
>> piggybacks off it but is not building correctly (just the osgi bnd
>> stuff).
>>
>> Known items remaining to do:
>>
>> * get tests passing ;-)
>>> * Eliminate build_lib artifacts. I've started removing references to
>>> build_lib but have not removed most jars yet.
>>> * dist confirmation: need to confirm dist artifacts are building properly
>>> * cext as its own submodule: I think we should move cext to its own
>>> ext/ module like openssl and readline rather than move out of the repo
>>> entirely (for now)
>>> * psych as its own module: this is going to be merged into upstream
>>> psych gem soon so we need to start building it as a separate jar
>
>
> Since it is near and dear to my heart (and I whined about it on Twitter), I 
> raise the issue here: tzdata ant targets are completely forgotten.
>
> The generated Constants.java does not overwrite @tzdata.version@ and the ant 
> targets needed to recompile joda-time-*.jar to include the latest tzdata 
> release do not have equivalents in the maven lifecycle.
>
> I briefly considered learning maven, but I gave up (at least for now).
>
> Hiro
> -
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>

-
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email




Re: [jruby-dev] Latest on maven build

2013-07-01 Thread kristian
I did the tzdata before and removed it from the main pom.xml since it was
not the right place to do. just added the tzdata stuff to jruby master as
an artifact. and reverted douglas build.xml revert.

- christian



On Sun, Jun 30, 2013 at 4:11 AM, Hirotsugu Asari wrote:

>
> On Jun 29, 2013, at 2:01 PM, Charles Oliver Nutter 
> wrote:
>
> > Done:
> >
> >> * From old jar building: install spi services stuff under meta-inf
> >> * From old test runs: compile test files. I'm hoping these can be run
> >> as part of the maven build and we won't actually need to add them to
> >> the rake test runs (i.e. these can be our smoke tests during
> >> packaging)
> >
> > I added in surefire test configs so tests are running, but they don't
> > pass yet (environmental oddities mostly).
> >
> > Good news... jar-jruby ant target is now empty! jar-jruby-dist
> > piggybacks off it but is not building correctly (just the osgi bnd
> > stuff).
> >
> > Known items remaining to do:
> >
> > * get tests passing ;-)
> >> * Eliminate build_lib artifacts. I've started removing references to
> >> build_lib but have not removed most jars yet.
> >> * dist confirmation: need to confirm dist artifacts are building
> properly
> >> * cext as its own submodule: I think we should move cext to its own
> >> ext/ module like openssl and readline rather than move out of the repo
> >> entirely (for now)
> >> * psych as its own module: this is going to be merged into upstream
> >> psych gem soon so we need to start building it as a separate jar
>
>
> Since it is near and dear to my heart (and I whined about it on Twitter),
> I raise the issue here: tzdata ant targets are completely forgotten.
>
> The generated Constants.java does not overwrite @tzdata.version@ and the
> ant targets needed to recompile joda-time-*.jar to include the latest
> tzdata release do not have equivalents in the maven lifecycle.
>
> I briefly considered learning maven, but I gave up (at least for now).
>
> Hiro
> -
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>


Re: [jruby-dev] Pre-branch (1.7) reorg of codebase

2013-07-01 Thread kristian
On Sat, Jun 29, 2013 at 5:21 PM, Charles Oliver Nutter
wrote:

> This seems pretty good, but is there a reason we need all the
> jruby-blah poms to be in their own directories? Could there be a
> single maven dir with pom-complete, pom-core, pom-stdlib etc?
>
>
the modules section is such a list of directory-names and each directory
needs a pom.xml to be module. the problem is only the pom - to create and
attach any jar to pom is no problem but with jruby-core, jruby-complete,
etc we a tailored pom for those jars.



> One goal of this reorg is to clean up the repo root a bit, and moving
> those to top-level seems like a step backward.
>

we can keep the current maven project with all its subdirectories no need
to them into basedir.

but I also realized one more thing: IDE support
and for this we really need to make the main jruby artifact as straight
forward as possible. this means move the main sources into its own module
speak directory, I think the IDE support is really important - starting
with myself as eclipse user.

I also wondered when all the dependencies are maven artifacts then there is
no difference between jruby.jar and jruby-core.jar ? not much I guess.
maybe we can call the main artifact jruby-core then and make ONE more
directory to the basedir: jruby-core ?

- christian


Re: [jruby-dev] Welcome christian to JRuby Core :-)

2013-07-01 Thread kristian
wow - comes as a surprise. if I look at my jruby projects
(jruby-maven-plugins, jbundler, nexus-ruby-support, etc) they are all
related to maven :)
I am happy to help out here and appreciate the more direct access to do so

regards,
christian (kristian)



On Sat, Jun 29, 2013 at 5:16 PM, Charles Oliver Nutter
wrote:

> Tom and I have agreed to add christian as a JRuby committer, for help
> with maven in the past and help with the current reorganization.
>
> Welcome to the team (officially)!
>
> - Charlie
>
> -
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>