#jython IRC Log

Index

IRC Log for 2016-03-16

Timestamps are in GMT/BST.

[0:36] * robbyoconnor (~wakawaka@2600:1017:b820:c1f5:519b:faad:30ac:d451) has joined #jython
[0:36] * robbyoconnor (~wakawaka@2600:1017:b820:c1f5:519b:faad:30ac:d451) Quit (Remote host closed the connection)
[4:08] * ohumbel (5390f784@gateway/web/freenode/ip.83.144.247.132) Quit (Ping timeout: 252 seconds)
[5:44] * Numix (~Numix@119.235.55.66) Quit (Ping timeout: 240 seconds)
[5:46] * Numix (~Numix@119.235.55.66) has joined #jython
[7:20] * Cheaterm1n (~cheaterma@unaffiliated/cheaterman) has joined #jython
[7:20] * Cheaterm1n (~cheaterma@unaffiliated/cheaterman) Quit (Client Quit)
[8:55] * Numix (~Numix@119.235.55.66) Quit (Read error: Connection reset by peer)
[8:56] * Numix (~Numix@119.235.55.66) has joined #jython
[10:43] * Numix (~Numix@119.235.55.66) Quit (Ping timeout: 264 seconds)
[10:45] * Numix (~Numix@119.235.55.66) has joined #jython
[11:59] * Arfrever (~Arfrever@apache/committer/Arfrever) has joined #jython
[11:59] * ChanServ sets mode +o Arfrever
[12:23] * un1versal (~error@kvirc/developer/out-of-memory) has joined #jython
[12:23] * un1versal (~error@kvirc/developer/out-of-memory) Quit (Client Quit)
[12:39] * Numix (~Numix@119.235.55.66) Quit (Ping timeout: 264 seconds)
[12:57] * Einherjer (~einherjer@69.64.40.177) Quit (Ping timeout: 260 seconds)
[13:31] * xemdetia (xemdetia@nat/ibm/x-rulpyncdotcomeld) has joined #jython
[15:45] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) Quit (Remote host closed the connection)
[18:35] * ELFrederich_ (~ELFrederi@12.54.94.108) has joined #jython
[18:35] <ELFrederich_> How can I build an installer myself? I get "informix jar not present" when I try to do a full build
[18:38] * TomA (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) has joined #jython
[18:52] * TomA_ (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) has joined #jython
[18:52] * TomA (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) Quit (Read error: Connection reset by peer)
[18:54] * TomA (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) has joined #jython
[18:55] * TomA_ (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) Quit (Read error: Connection reset by peer)
[18:56] <jimbaker> ELFrederich_, i use ant all-jars to make the installer. to be honest, i'm not familiar with the informix dependency, but the ant build process is complicated, and overly so
[18:57] <jimbaker> fwierzbicki has explored that aspect, but iirc informix is used only for testing
[18:57] <jimbaker> (and really it should only be used for testing! so i guess my iirc is somewhat informed ;)
[19:04] <ELFrederich_> hmm... getting an issue now building on a CentOS7 machine vs a RHEL7 machine. My CentOS has 1.7 and 1.8 installed whereas my RHEL machine has 1.6, 1.7 and 1.8
[19:05] <ELFrederich_> when I diff the output from ant I see this on the one that failed: As a result, alternative(s) 2 were disabled for that input
[19:05] <ELFrederich_> well.. I see that on the CentOS one too and that was a good build
[19:13] * TomA_ (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) has joined #jython
[19:13] * TomA (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) Quit (Read error: Connection reset by peer)
[19:21] * Numix (~Numix@119.235.55.66) has joined #jython
[19:28] <ELFrederich_> [java] error(10): internal error: Can't get property indirectDelegates using method get/isIndirectDelegates from org.antlr.tool.Grammar instance : java.lang.NullPointerException
[19:28] <ELFrederich_> any idea why I'd be getting that error?
[20:12] <ELFrederich_> *sys-package-mgr*: processing new jar
[20:12] <ELFrederich_> where do those files get stored now?
[20:17] * TomA_ (~TomA@c-107-5-123-175.hsd1.mi.comcast.net) Quit (Ping timeout: 246 seconds)
[20:17] <jimbaker> note that jython only builds on java 7
[20:18] <jimbaker> we need to upgrade antlr
[20:18] <jimbaker> but runs on 7, 8, 9
[20:19] <ELFrederich_> jimbaker, I'm confused about the entire build process with ant. For some reason just running "ant installer" worked on my CentOS7 machine where if I run "java -version" it picks up 1.8.0_71
[20:20] <ELFrederich_> jimbaker, yet if I run it on my RHEL7 machine where I also get 1.8.0_71 from "java -version" it doesn't build
[20:20] <ELFrederich_> its only when I set PATH and JAVA_HOME to point to the 1.7 that I can get it to build on RHEL7 machine.
[20:46] <jimbaker> the build only works on java 7, so that makes sense to me
[20:47] <jimbaker> hopefully an easy process to upgrade antlr, we have been deferring...
[20:48] <ELFrederich_> jimbaker, it doesn't explain why "ant installer" works on my CentOS7 machine but not on my RHEL7 machine when they both claim to be using Java 8
[20:49] <jimbaker> ok, i get your point. well i will explain one more thing: the build process does succeed if one does an intermediate build on my system on java 8, by attempting it twice
[20:50] <jimbaker> so it's able to use some intermediate steps...
[20:50] <jimbaker> but we don't claim ability to build on java 8....
[20:50] <ELFrederich_> jimbaker, I was doing a "git clean -fdx" each time. So there shouldn't be any intermediate stuff hanging around
[20:52] <jimbaker> yeah, but my point is, the build fails for antlr for random reasons... which has been fixed in a subsequent antlr release iirc. antlr sort of pushes things for java...
[20:53] <ELFrederich_> random as in non-deterministic?
[20:54] <jimbaker> yeah
[21:00] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) has joined #jython
[21:33] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) Quit (Remote host closed the connection)
[21:59] * fwierzbicki (~Adium@99-106-169-5.lightspeed.sntcca.sbcglobal.net) has joined #jython
[22:25] * eatkin (~eatkin@166.70.212.121) Quit (Ping timeout: 244 seconds)
[22:30] * eatkin (~eatkin@166.70.212.121) has joined #jython
[23:17] * Arfrever (~Arfrever@apache/committer/Arfrever) Quit (Quit: ?????????)
[23:17] <Cheaterman> agronholm: Owiii
[23:17] <Cheaterman> so we did some magic
[23:17] <Cheaterman> There was export CLASSPATH="/home/minecraft/lib/*"
[23:18] <Cheaterman> and also -Djython.cachedir.skip=true \
[23:19] <Cheaterman> So anyways the current issue is "from io import BufferedReader" seems to fail from inside the script
[23:19] <Cheaterman> works when I manually invoke jython with java -jar jython.jar
[23:20] <agronholm> any chance some java lib has a package named "io"?
[23:20] <Cheaterman> Argh, I think we might have had that collision in the past already
[23:20] <Cheaterman> That does ring a bell
[23:21] <Cheaterman> iirc we did do more magic for that, lemme see
[23:22] <Cheaterman> Hmm, should I try from .io ?
[23:22] <Cheaterman> hm not that. hehe.
[23:22] <agronholm> no
[23:23] <Cheaterman> What should I do buddi? I don't remember, but it does ring a bell that we had to tweak something about that
[23:23] <agronholm> did you check?
[23:23] <Cheaterman> I'm not sure how I can
[23:23] <Cheaterman> import io; print io.__file__ ?
[23:23] <agronholm> list the contents of the jar files and look for a directory named io
[23:24] <Cheaterman> all jar files?
[23:24] <agronholm> the ones you put in your class path
[23:24] <agronholm> in your lib/ directory
[23:24] <Cheaterman> Okay
[23:25] <Cheaterman> there's only jython and sqla there
[23:25] <Cheaterman> lemme see
[23:26] <Cheaterman> oh I remember
[23:26] <Cheaterman> it's _io on jython?
[23:28] <Cheaterman> io/netty/util/internal/logging/AbstractInternalLogger$1.class
[23:28] <Cheaterman> agronholm: ?????????
[23:28] <Cheaterman> that's in minecraft
[23:28] <Cheaterman> ie, the jar that loads everything
[23:28] <Cheaterman> sounds like a top level io package to me
[23:29] <agronholm> Cheaterman: yeh
[23:29] <Cheaterman> could you just remind me how we fixed that
[23:29] <agronholm> did we?
[23:29] <Cheaterman> yes
[23:29] <Cheaterman> it worked
[23:29] <Cheaterman> ^^
[23:29] <Cheaterman> and i remember the collision
[23:29] <agronholm> if you put the minecraft jar on the class path and do import io, do you get that?
[23:29] <agronholm> or jython's io module
[23:30] <Cheaterman> I can probably do that. I export classpath to include my minecraft jar then simply open jython interactive, import io, and see what io.__file__ gives if at all
[23:31] <agronholm> what if you add your minecraft jar to sys.path?
[23:31] <agronholm> or JYTHONPATH
[23:31] <Cheaterman> I can also try that, I suppose from the same jython interactive
[23:31] <agronholm> JYTHONPATH is an env variable
[23:32] <agronholm> the * trick probably won't work there though
[23:32] <agronholm> need to put every jar individually
[23:33] <Cheaterman> Hmm
[23:33] <Cheaterman> should I insert 0 or append
[23:33] <Cheaterman> in sys.path
[23:33] <agronholm> appens
[23:33] <Cheaterman> I used insert 0
[23:33] <agronholm> append
[23:33] <Cheaterman> ok
[23:33] <Cheaterman> I need a single jar anyways
[23:33] <Cheaterman> I identified the one that shadows stuff
[23:34] <Cheaterman> Hmm
[23:34] <Cheaterman> Can't seem to get the wrong io from interactive shell
[23:34] <Cheaterman> tried setting JYTHONPATH to /home/minecraft/minecraft_server.jar
[23:34] <Cheaterman> CLASSPATH too (both are exported)
[23:34] <Cheaterman> and I tried inserting and appending same value to sys.path
[23:35] <Cheaterman> import io; io.__file__ still gives me the jython one
[23:35] <Cheaterman> /home/minecraft/lib/jython.jar/Lib/io$py.class
[23:35] <agronholm> isn't that what it should be doing?
[23:35] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) has joined #jython
[23:36] <Cheaterman> @EventHandler
[23:36] <Cheaterman> >>> import sys
[23:36] <Cheaterman> import sys
[23:36] <Cheaterman> sys.path.insert(0, '/home/minecraft/lib/sqlalchemy.jar')
[23:36] <Cheaterman> ?????? this is the hack i was talking about
[23:36] <Cheaterman> that we currently use
[23:36] <Cheaterman> agronholm: yes that's the expected behavior, except that's not what happens from inside minecraft
[23:36] <Cheaterman> agronholm: want me to print sys.path there maybe?
[23:37] <agronholm> oh right, minecraft itself loads jython
[23:37] <Cheaterman> JYTHONPATH is not changed, and CLASSPATH is set to the lib/* that has jython and sqla
[23:37] <Cheaterman> yes
[23:37] <agronholm> which means the io package has already been imported (the java one)
[23:37] <Cheaterman> exactliblibli
[23:37] <Cheaterman> how do i avoid the shadowing in that case
[23:37] * riverton (~riverton@ti0117a400-4780.bb.online.no) has joined #jython
[23:37] <agronholm> I don't know :/
[23:38] <Cheaterman> isn't there "from future import absolute_imports"
[23:38] <Cheaterman> and some hacks like that
[23:38] <Cheaterman> you did some magic last time, i'm sure you can do again :)
[23:38] <Cheaterman> me believe!!! :)
[23:39] <agronholm> absolute_imports won't have any effect here
[23:39] <Cheaterman> okay
[23:40] <Cheaterman> _io seems to work tho
[23:40] <Cheaterman> so I'm gonna try changing the inside of my jarjarbinks
[23:40] <Cheaterman> and see if it helps
[23:40] * TomA (~TomA@c-68-32-46-223.hsd1.mi.comcast.net) Quit (Ping timeout: 268 seconds)
[23:40] <Cheaterman> agronholm: is manipulating a jar as easy as a tar
[23:40] <Cheaterman> or anything i should be aware of?
[23:41] <agronholm> jar is a zip file
[23:42] <Cheaterman> yeah but jar command
[23:42] <Cheaterman> to manipulate like tar
[23:42] <Cheaterman> pretty handy
[23:42] <agronholm> yeh
[23:43] <Cheaterman> jar uf sqlalchemy.jar pymysql/connections.py
[23:43] <Cheaterman> now that was a bad idea
[23:43] <Cheaterman> no module named sqlalchemy
[23:44] <Cheaterman> probably need to recompile the class in the jar
[23:44] <Cheaterman> could you remind me how I do that please
[23:44] <agronholm> recompile a class?
[23:44] <agronholm> a java class...?
[23:44] <agronholm> you'd need the source
[23:44] <Cheaterman> a python class cache thingy
[23:44] <Cheaterman> maybe that's the issue here no?
[23:44] <agronholm> no
[23:45] <Cheaterman> pymysql/connections$py.class
[23:45] <Cheaterman> this
[23:45] <Cheaterman> I didn't update it while I did update the py code
[23:45] <agronholm> just delete it
[23:45] <Cheaterman> from inside jar?
[23:45] <agronholm> did you package classes in a jar?
[23:45] <agronholm> cached python moduels that is?
[23:45] <agronholm> *modules
[23:47] <Cheaterman> yes
[23:47] <Cheaterman> for sqlalchemy
[23:47] <Cheaterman> you probably asked me to do it :3
[23:47] <Cheaterman> I mean, most of what I did on that server was with your guidance, I wouldn't have achieved much on my own
[23:47] <agronholm> not sure what you intend to achieve by regenerating the $.class
[23:48] <Cheaterman> agronholm: I don't know, I edited a .py from the jar but now it won't load apparently
[23:48] <Cheaterman> I probably broke something
[23:48] <agronholm> oh
[23:48] <Cheaterman> the whole jar seems broken
[23:48] <agronholm> I'm sorry, I don't have time for this
[23:48] <Cheaterman> it just says importerror no module sqlalchemy
[23:48] <Cheaterman> okay no problem
[23:48] <agronholm> I'm so far behind in my real work schedule
[23:48] <Cheaterman> we'll see later :)
[23:50] * riverton (~riverton@ti0117a400-4780.bb.online.no) has left #jython
[23:58] <Cheaterman> agronholm: Found a better way to force, it's _pyio instead of _io
[23:59] <Cheaterman> I deeply broke something else though hahaha

Index

These logs were automatically created by JythonLogBot on irc.freenode.net using a slightly modified version of the Java IRC LogBot.