<GitHub86>
[jruby-openssl] harbulot opened issue #85: Build accepted issuer list from CA store when no client_ca are set https://git.io/vasHI
mkristian has quit [Quit: This computer has gone to sleep]
bbrowning_away has quit [Remote host closed the connection]
bbrowning_away has joined #jruby
pitr-ch has joined #jruby
<pitr-ch>
headius, hi I need to configure test/pom.rb to exclude java files in test/truffle.
<pitr-ch>
headius would you know how to do it?
<pitr-ch>
I've tried:
<pitr-ch>
plugin( :compiler,
<pitr-ch>
# ...
<pitr-ch>
'excludes' => ['truffle/**/*.java'] )
<pitr-ch>
but it still compiles all java files form truffle subdirectories
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
nirvdrum has joined #jruby
mattwildig has joined #jruby
mattwildig has quit [Ping timeout: 244 seconds]
<pitr-ch>
headius, never-mind, this law should have a name: whenever a developer finds himself stuck for few hours, he will find a solution within 10 minutes after he asks for help.
<kares_>
pitr-ch: you mean ask-and-you-shall-receive :) ?
bbrowning_away has quit [Quit: Leaving]
mkristian has joined #jruby
<pitr-ch>
kares_ it's more like bother-people-to-find-out-the-answer-in-10-minutes
<pitr-ch>
kares_ ah it has a name Rubber ducking :)
lance|afk is now known as lanceball
bjfish2 has joined #jruby
pawnbox has quit [Remote host closed the connection]
brightball has joined #jruby
vtunka has quit [Ping timeout: 252 seconds]
nirvdrum has quit [Ping timeout: 260 seconds]
pawnbox has joined #jruby
johnsonch_afk is now known as johnsonch
mattwildig has joined #jruby
nirvdrum has joined #jruby
olle has joined #jruby
olle has quit [Ping timeout: 264 seconds]
skade has joined #jruby
skade has quit [Read error: Connection reset by peer]
skade has joined #jruby
<GitHub130>
[jruby] pitr-ch opened pull request #3724: [Truffle] adding back CI for rails and AS (master...test-rails) https://git.io/vaGIV
Freaky has quit [Remote host closed the connection]
vtunka has joined #jruby
<headius>
g'day
<evenix>
Hey headius, what is the best way to add a JVM options to an app? I've been doing `export JRUBY_OPT=''` but sometimes my app doensn't use the options I provide. So i ended up using `Jruby pass_the_option_here -S rails Puma`
<evenix>
What would you recommend?
brightball has quit [Quit: Leaving...]
enebo has joined #jruby
thedarkone2 has joined #jruby
vtunka has quit [Read error: Connection reset by peer]
vtunka has joined #jruby
<evenix>
Anyone else?
Aethenelle has joined #jruby
olle has joined #jruby
<GitHub72>
[jruby] enebo opened issue #3725: Quoting on windows with jruby-launcher gets bungled when launching 64bit JVM https://git.io/vaGzr
mattwildig has quit [Remote host closed the connection]
mattwildig has joined #jruby
mattwildig has quit [Ping timeout: 268 seconds]
<evenix>
Do jruby define classes at runtime
<headius>
Ruby classes or Java classes?
<norc_>
evenix, you know it is extremely rude to ask a question in #ruby, accept the answer, and then join #jruby to ask the exact question again.
<evenix>
norc_: i actually asked it right before asking the jruby part here
<evenix>
sorry if you found that was rude
<evenix>
but i didnt mean it that way
<evenix>
It's also always good to get more than 1 opinion from to separate community.
<norc_>
Cross posting still is.
<norc_>
Without telling people.
<evenix>
norc_: seriously not a big deal.. I value and really appreciated your answer but It's should always be fine to get more than 1 opinion.
<evenix>
Also I asked in both channel
<evenix>
you just happened to read in #ruby first.
<lopex>
enebo: how many gallons is that fermenter you have
<enebo>
lopex: 7.9
<lopex>
oh, so 30 liters
<enebo>
lopex: 7.9 was pretty suspect so no doubt it is really a metric made container
<evenix>
The reason I was asking about ruby/jruby defining classes in runtime is because im getting GC overhead limit with my application.. ive increased the memory size already but i'm still getting it. In the context of jruby if i have a GC overhead limit and I'm using -XX:+CMSClassUnloadingEnabled so that it remove classes which are no longer used, would that work?
<evenix>
norc_: since as you mentioned ruby can define the one that i mentioned (in the initializer?) at runtime
mkristian has joined #jruby
<evenix>
I'm trying to wrap my head about this problem and understand what's happening under the hood
<bascule>
_____ ____ ___ ____ _ __ ___ _ _
<bascule>
| ___| _ \|_ _| _ \ / \\ \ / / | | |
<bascule>
| |_ | |_) || || | | |/ _ \\ V /| | | |
<bascule>
| _| | _ < | || |_| / ___ \| | |_|_|_|
<bascule>
|_| |_| \_\___|____/_/ \_\_| (_|_|_)
<bascule>
<lopex>
enebo: my brother went full power and makes RISes now
<lopex>
and barleys
<norc_>
evenix, honest question: What kind of classes do you have, that are so huge?
<enebo>
RIS?
<lopex>
russian imperial stout
<evenix>
norc_: :/ working on a shitty old codebase.. there's like 30 initializers
<norc_>
evenix, and classes will remain intact as long as they are reachable, which is kind of always the case in regular code.
<enebo>
lopex: high gravity is something I have not tried. I am worried I will not get enough oxygen in to keep the ferment going
<norc_>
evenix, are you confusing classes with objects perhaps? (technically classes are objects too though...)
<lopex>
enebo: and you have to have strong mixing facility
<enebo>
mixing…you mean to introduce air?
<lopex>
no, just for mixing when bioiling
<lopex>
*boiling
<evenix>
norc_: In this context I'm thinking of both classes and objects. There no expanation for my code to be GC overhead limit right now all I can think of is that maybe some part of the code arae not threadsafe and that there are a lot of classes (object) initialized at runtime
Freaky has joined #jruby
<lopex>
enebo: that's what he told me, I dont know the details
<norc_>
evenix, lets simply assume for now that classes are not your problem.
<enebo>
lopex: yeah I guess you may be talking more about all-grain issues
<norc_>
You would have to initialize a lot of really huge classes to have any kind of memory issues - and I would really like to see your codebase if that was the case.
<evenix>
ok, since we're talknig about initialization lets say objects*
<enebo>
lopex: as an extract brewer it is just a syrup and not so hard to stir around
<norc_>
Sounds better.
<enebo>
lopex: but if I have 10Kg of grains no doubt it takes big arms :)
<lopex>
or a big machine
<enebo>
lopex: yeah
<lopex>
for stirring concrete :)
<lopex>
and metal blades
<enebo>
lopex: automated nano brewery would be pretty sweet but I don’t really have the space
<evenix>
true. I'm looking for ways to trace the issue... my heap is now fine since I increased it but I can figure why GC reach its limit.. ive been monitoring thread with jvisualvm
<norc_>
evenix, whats your Xms/Xmx values? Are they likely to be enough?
<norc_>
evenix, well that depends on your application. If it creates tons of objects and keeps references to them, well you run out of memory at some point.
<evenix>
norc_: i start my code with this `Jruby -J-Xms1024m -J-Xmx2048m -J-XX:+UseParallelGC -J-XX:+UseParallelOldGC -XX:+CMSClassUnloadingEnabled -S rails s Puma`
<evenix>
the app is definitely creating ton of objects
<evenix>
seriously the initializer folder is nut ha. I think that because it was so old.. they wrote a lot of monkey patch -_-
jimbaker has joined #jruby
jimbaker has joined #jruby
<norc_>
evenix, oh Puma.
<norc_>
evenix, depending on how many workers you have, that is actually a reasonable heap size.
<norc_>
Especially since this seems to be pulling an entire Rails application with who knows what kind of gems behind it.
<evenix>
haha.. so here issue number 1 is the GC , the other one is that the java pid sudently freeze .. i think that it usually happen after or as the GC limit is happenign
<evenix>
as y9ou see heap size seem reasonable and when i'm monitoring it it doesn't even come close to reach its max
<norc_>
evenix, you are using parallel gc of course that should be expected.
<norc_>
evenix, use the CMS GC if you want a more concurrent GC strategy.
olle has joined #jruby
<evenix>
-XX:+UseConcMarkSweepGC ? ok I'll try this thanks.
<evenix>
I read that 'If (a) peak application performance is the first priority and (b) there are no pause time requirements or pauses of one second or longer are acceptable' then the parallel collector
<evenix>
is a good option that why I thought that would help.
<evenix>
I don't think I understood the real use for parallel gc
<kares_>
evenix: you should hire someone to figure out all your problems since they do not seem to go away :)
<kares_>
... that or get involved in JRuby beyond asking
<evenix>
kares_: haha i should just rebuild their entire app
<norc_>
Or hire me to do it.
<norc_>
Id be willing to do it for an unimaginably high price.
<evenix>
kares_: I'm trying to gt involve as much as i can.. i've been working on a medium article that condense the information I've been reading on jruby to help the next guy that deal with the same issues
<evenix>
norc_: pm me your rate. This is something that I'm always open to consider :) who knows
<norc_>
evenix, sorry I just do C++ and Ruby stuff - and I dont freelance. ;-)
<evenix>
kares_: also I've been enjoying the challenge and the valuable thing I'm learning in the process and through everyone help here
<evenix>
norc_: what are you working on?
olle has quit [Ping timeout: 264 seconds]
<kares_>
evenix: yeah NP - just try to figure out some parts on your own - e.g. the rack-cache file thing - seriously I do not know - you should have known better :)
<norc_>
evenix, currently I spent most my time studying compiler techniques
<kares_>
also I'm trying to do JRuby consulting for a living so I was a bit teasing you
<evenix>
kares_: i do spend a lot of time figuring things on my own. I usually ask when I'm out of idea but i'm stil looking on the side. This is the beauty of internet. I definitely do not expect people to solve the problem for me but sometimes a few explanation or pointer helps. Jruby consulting is definitely neede out there :) i know people that would pay big bucks for that
<evenix>
event better than just consulting. More jruby post & articles on the web.
<kares_>
evenix: and yet I spent the majority of my time doing OSS for free - where's the justice!
<lopex>
enebo: how much place would it take in square-somethings ?
<evenix>
kares_: helping/teaching is the best way to learn :)
<kares_>
codefinger: am OK with a Warbler release - not time to do more as I'm behind my OSS schedule as usual :)
<norc_>
evenix, no. practice is still the best way to learn.
<norc_>
You do not gain any experience by passing off what you know.
<codefinger>
kares
<codefinger>
kares_: ok. I'll cut it today or tonight
<headius>
enebo: I think I'm going to merge RG 2.6.2 to master
<evenix>
norc_: are you sure?
<headius>
looks like it will be released with that platform patch soon, and my path_separator regexp http+s patch makes things green for us
<norc_>
evenix, yes. That is why a high school teacher will still be a high school teacher after 30 years.
<norc_>
Because he does not accumulate knowledge by teaching.
<evenix>
norc_: However, They'll get better at teaching after 30 years..
<norc_>
evenix, precisely my point. They practice teaching for 30 years.
<evenix>
so they gain experience at teaching. :)
<GitHub111>
[jruby] headius created test-headius-startup-tweaks (+12 new commits): https://git.io/vaGy5
<GitHub111>
jruby/test-headius-startup-tweaks a01e700 Charles Oliver Nutter: Merge branch 'master' into test-rubygems-2.6.2
<GitHub111>
jruby/test-headius-startup-tweaks 7d789a5 Charles Oliver Nutter: Improve several enums by using cached values array for ordinal.
<GitHub111>
jruby/test-headius-startup-tweaks 7d55423 Charles Oliver Nutter: Fix typo.
<norc_>
evenix, indeed. You said that teaching is the best way to learn which I just argued against - and that still holds true.
<GitHub133>
[jruby] enebo opened issue #3726: Window ruby1.8/ruby/test_marshal.rb#test_too_long_string fails https://git.io/vaZLl
<GitHub174>
[jruby] enebo pushed 2 new commits to jruby-1_7: https://git.io/vaZtJ
<GitHub174>
jruby/jruby-1_7 12fd533 Thomas E. Enebo: Mask out failing test on windows (issue JRUBY #3726 created to track)
<GitHub174>
jruby/jruby-1_7 fed46bd Thomas E. Enebo: Remove 64 bit windows from CI for now since some tests fail from bad quoting in jruby-launcher (JRUBY #3725)
<lopex>
what ?
<enebo>
lopex: eh?
<lopex>
that too long string ?
<enebo>
lopex: yeah I don’t know. I did not look at it as I am only trying to get a green baseline. I think it might pass on 32bit JVM though
<enebo>
lopex: I swear we were passing that test when I ran this before I decided to clean up my windows box
<enebo>
lopex: I was running 32 bit JVM then
<enebo>
lopex: but I don’t know that so I am grasping there
<lopex>
oh I was more thingking about long being the length in RString
<lopex>
nirvdrum: I wonder how the ropes behave for this case
<lopex>
you could always split it
<lopex>
but disregard my speculations anyways
evenix has quit [Remote host closed the connection]
<lopex>
enebo: like, an int, 32bit, big endian, forever
<enebo>
lopex: you still talking about that marshjall bug?
<enebo>
lopex: I don’t know why it passes on MacOS
<lopex>
enebo: no, just the RString.length in mri
<enebo>
lopex: unless it doesn't
<enebo>
oh
<lopex>
we'll never comply
<lopex>
ropes can I assume
<lopex>
enebo: and the other case, since mri now cant have ivars for Fixnums now, is there anything we can do in terms of changing the hierarchy ?
<enebo>
lopex: as in not having it implement IRubyObject but not be an Object?
<lopex>
like omitting the ivars field
<lopex>
I know it's hard
<lopex>
and the whole hierarchy Fixnum depends on
<enebo>
lopex: I think mid-term we will solve that by profiled optimization and unbvoxing math
<lopex>
once they froze symbols and fixnums in mri...
<enebo>
lopex: the places where the space matters hopefully will go away
<lopex>
er, since
<enebo>
lopex: yeah
<enebo>
lopex: seems like a big change to consider
<lopex>
like always wrt those things
<enebo>
lopex: I also think we are casting to RubyBasicObject in some places now too
<lopex>
enebo: but reassure me, mri always leaked on fixnum ivars right ?
<lopex>
it was a global separate table
mattwildig has quit [Remote host closed the connection]
skade has joined #jruby
<lopex>
and we never were compatible with mri for this
pawnbox has quit [Remote host closed the connection]
<enebo>
lopex: I just recall when floats were not immediate and had their own @format ivar
<lopex>
RFloat ?
<enebo>
lopex: I think fixnums had an ivar table but obviously all 13’s had the same table
pawnbox has joined #jruby
<lopex>
enebo: there's been lots of synthetic ivars in mri
<enebo>
lopex: I think up to 1.8.6
<lopex>
enebo: in Range they kept low/high in ivars in the past
<lopex>
enebo: same for exceptions and messages
<enebo>
well jruby-1_7 runs mvn -Ptest and test:mri to completion green
<enebo>
on windows that is
<lopex>
jeeze
<lopex>
thanks Onigmo, more unions!
pawnbox has quit [Ping timeout: 244 seconds]
<lopex>
I hope there's no single instance of void*** or the like there now
<lopex>
madness
<lopex>
hmm, what's the best coverage tools for c?
<GitHub172>
[jruby] enebo pushed 1 new commit to jruby-1_7: https://git.io/vaZGn
<GitHub172>
jruby/jruby-1_7 cb7dde3 Thomas E. Enebo: Update for jnr updates
skade has quit [Quit: Computer has gone to sleep.]
<nirvdrum>
lopex: As written, ropes might not help out in all cases of long strings.
camlow3__ has joined #jruby
<nirvdrum>
PE doesn't like unbounded recursion, so for a byte walk I currently flatten the byte[].
<nirvdrum>
I need to revisit that.
<lopex>
nirvdrum: I somewhat vaguely understand
<lopex>
well, "feel"
<lopex>
nirvdrum: ultimately it's not an issue for todays systems though
<nirvdrum>
Rather than iterate a rope tree by walking each node, I collect all the bytes into the root of the tree and then walk the newly allocated byte[].
camlow32_ has quit [Ping timeout: 250 seconds]
<lopex>
ok
camlow3__ has quit [Remote host closed the connection]
<nirvdrum>
Walking the tree required an iterative DFS and doing that more than once seemed nutty.
<lopex>
I'll need to revisit graph algorithms too
<nirvdrum>
The natural downside is strings are practically limited in length and memory is wasted.
<nirvdrum>
But, if you just want to append two really long strings and then get the last character, that works because I don't need all of the bytes to do that.
<lopex>
right
<nirvdrum>
So, for some operations you can have arbitrarily long strings.
<lopex>
do you think that ruby's hash map might be implemented somewhat like the one in clojure ?
<lopex>
for some usages of course
<lopex>
I feel it
<lopex>
it's somewhat similar problem
<lopex>
oh hmm
pawnbox has joined #jruby
<nirvdrum>
I haven't looked at clojure's, but I assume it's immutable?
<lopex>
yes
<nirvdrum>
I don't want to speak to clojure's performance, but I thought at least with dictionaries, mutable beat immutable in virtually every implementation.
<nirvdrum>
I'm still working through the Okasaki book though.
<lopex>
wow
<lopex>
I always planned to do it
mattwildig has joined #jruby
<lopex>
I'm more acquiainted with immutable "interfaces" though like lenses and zippers
<nirvdrum>
Maybe I've just seen naive implementations, but they have a linked list of keys, so search isn't constant time.
<lopex>
that boook surely mentioned them
pawnbox has quit [Ping timeout: 252 seconds]
<lopex>
nirvdrum: a question
<lopex>
in truffle, can you speculate if a map has changed ?
<lopex>
or well
<lopex>
like in ssa almost, all operations that produced that map in this graph position were non destructive
<lopex>
which mean it didnt escape ?
<lopex>
does that question makes sense ?
<nirvdrum>
I'm not sure I follow.
<nirvdrum>
What problem would you want to solve?
<lopex>
trying to phrase it better
<lopex>
well, the problem is obviously concurrency
<lopex>
not necessarily escapes
<lopex>
if you can track that the structure havent undergoe destructive ops, keep pure representation for it
<nirvdrum>
We have a lot of tools at our disposal: value profiling, inline caching, assumptions, etc.
<nirvdrum>
Can you give me an example operation that you're thinking about?
camlow325 has joined #jruby
<lopex>
hmm, like a keyword arg being passed to a method
<lopex>
then merged (non destructively)
<lopex>
oh, hmm
<lopex>
bad example
<lopex>
trying to connect persistent data structures and EA actually
<lopex>
and the common usage
<nirvdrum>
Well, that's part of the rationale behind using ropes. But Strings are still mutable, so there are limits there.
<nirvdrum>
Having final fields helps the compiler out.
camlow325 has quit [Remote host closed the connection]
pawnbox has joined #jruby
<lopex>
it can be deceptive
<lopex>
well, I'm only at the surface of truffle anyways
<lopex>
nirvdrum: how long does it take to develop usable intuition ?
nirvdrum has quit [Ping timeout: 264 seconds]
camlow325 has joined #jruby
pawnbox has quit [Ping timeout: 276 seconds]
mattwildig has joined #jruby
camlow325 has quit [Remote host closed the connection]
camlow325 has joined #jruby
<GitHub67>
[jruby] enebo opened issue #3727: Tempfile#open on windows unconditionally opens in "b" mode messing CRLF logic (--1.9) https://git.io/vaZw8
<GitHub192>
[jruby] enebo pushed 4 new commits to jruby-1_7: https://git.io/vaZw2
<GitHub192>
jruby/jruby-1_7 0809846 Thomas E. Enebo: Conditionalize excludes in tests which do not exist on windows
<GitHub192>
jruby/jruby-1_7 4ecc4c7 Thomas E. Enebo: Add failing windows test
<GitHub192>
jruby/jruby-1_7 0cb9dc2 Thomas E. Enebo: Moar testing and rename target so we know what it is for
nirvdrum has joined #jruby
lanceball is now known as lance|afk
sebstrax has joined #jruby
camlow325 has quit [Remote host closed the connection]
mkristian has quit [Quit: This computer has gone to sleep]
tcrawley is now known as tcrawley-away
camlow325 has joined #jruby
camlow325 has quit [Remote host closed the connection]
camlow325 has joined #jruby
nirvdrum has quit [Ping timeout: 248 seconds]
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
johnsonch is now known as johnsonch_afk
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
mattwildig has quit [Remote host closed the connection]
lance|afk is now known as lanceball
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
lanceball is now known as lance|afk
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
nirvdrum has joined #jruby
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
<GitHub87>
[jruby] enebo closed issue #3727: Tempfile#open on windows unconditionally opens in "b" mode messing CRLF logic (--1.9) https://git.io/vaZw8