20120202T051751: *: <== :skoodgeskoodge!~bdezonia@99-72-240-241.lightspeed.mdsnwi.sbcglobal.net JOIN #imagejdev 20120202T055540: *: <== :joshmoore!~joshmoore@manz-590f2fa2.pool.mediaWays.net JOIN #imagejdev 20120202T060323: *: <== :skoodgeskoodge!~bdezonia@99-72-240-241.lightspeed.mdsnwi.sbcglobal.net PART #imagejdev 20120202T084008: *: <== :aivar!~aivar@dyn-144-92-48-238.microscopy.wisc.edu QUIT :Quit: aivar 20120202T144742: *: <== :mlinkert!~melissa@c-76-118-20-70.hsd1.ma.comcast.net JOIN #imagejdev 20120202T162639: *: <== :aivar!~aivar@dyn-144-92-48-238.microscopy.wisc.edu JOIN #imagejdev 20120202T180630: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu JOIN #imagejdev 20120202T181225: *: <== :bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu PRIVMSG #imagejdev :I love how r4900 turned out to be extra effort in order to make an incorrect change. 20120202T181225: *: ==> PRIVMSG #imagejdev :Changeset 4900 can be found here: http://code.imagej.net/trac/imagej/changeset/4900 20120202T181225: bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu: I love how r4900 turned out to be extra effort in order to make an incorrect change. 20120202T181313: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :You mean it's an incorrect change? 20120202T181313: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: You mean it's an incorrect change? 20120202T181536: *: <== :bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu PRIVMSG #imagejdev :Aggh. Dscho corrected me. I've been doing it wrong (for who knows how long). 20120202T181536: bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu: Aggh. Dscho corrected me. I've been doing it wrong (for who knows how long). 20120202T181700: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :The day I stop learning is the day after I die. 20120202T181700: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: The day I stop learning is the day after I die. 20120202T182705: *: <== :mhiner!~Adium@dyn-144-92-48-204.microscopy.wisc.edu JOIN #imagejdev 20120202T194941: *: <== :joshmoore!~joshmoore@manz-590f2fa2.pool.mediaWays.net QUIT :Read error: Operation timed out 20120202T195551: *: <== :joshmoore!~joshmoore@manz-590f2fa2.pool.mediaWays.net JOIN #imagejdev 20120202T201742: *: <== :mrmist!~mrmist@freenode/staff/pdpc.active.mrmist NOTICE $$* :[Global Notice] - It's a happy birthday to our favourite gay staffer Gary today. In celebration do stop by and read http://announce.freenode.net/turing.html and remember to drop Gary a happy birthday message! 20120202T202948: *: <== :joshmoore!~joshmoore@manz-590f2fa2.pool.mediaWays.net QUIT :Quit: Leaving. 20120202T211249: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu JOIN #imagejdev 20120202T211543: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Anybody see the metric ton of exceptions when running imagej.legacy.OverlayHarmonizerTest? 20120202T211543: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Anybody see the metric ton of exceptions when running imagej.legacy.OverlayHarmonizerTest? 20120202T211550: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :See e.g. http://code.imagej.net:8080/job/ImageJ/2729/console 20120202T211550: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: See e.g. http://code.imagej.net:8080/job/ImageJ/2729/console 20120202T211632: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :(Just load the page and search for "OverlayHarmonizerTest"...) 20120202T211632: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: (Just load the page and search for "OverlayHarmonizerTest"...) 20120202T211942: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :It's my fault. 20120202T211942: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: It's my fault. 20120202T212038: *: <== :bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu PRIVMSG #imagejdev :I edited OverlayHarmonizer today and yesterday. 20120202T212038: bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu: I edited OverlayHarmonizer today and yesterday. 20120202T212054: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :It's a class loading issue with javassist... 20120202T212054: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: It's a class loading issue with javassist... 20120202T212137: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :Yesterday when I saw it, I thought it was OK (for now), because it was due to multiple LegacyService instances being created in the same JVM and it trying to runtime patch ij.jar every time. But looking more carefully, I think that's wrong. 20120202T212137: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: Yesterday when I saw it, I thought it was OK (for now), because it was due to multiple LegacyService instances being created in the same JVM and it trying to runtime patch ij.jar every time. But looking more carefully, I think that's wrong. 20120202T212137: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :What I don't understand: why do the tests still pass? ;-) 20120202T212137: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: What I don't understand: why do the tests still pass? ;-) 20120202T212237: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :My earlier guess (of which I am now unsure) is that ij.jar *is* being runtime patched and loaded, but then it being attempted again? But maybe not... it should only attempt that in a static initializer block of LegacyService which should only ever happen once per JVM. 20120202T212237: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: My earlier guess (of which I am now unsure) is that ij.jar *is* being runtime patched and loaded, but then it being attempted again? But maybe not... it should only attempt that in a static initializer block of LegacyService which should only ever happen once per JVM. 20120202T212253: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Maybe we should be more lenient toward multiple LegacyService instances, maybe by letting Javassist create a tell-tale interface with a constant version number that let's LegacyService know not to Javassist ij.jar again. 20120202T212253: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Maybe we should be more lenient toward multiple LegacyService instances, maybe by letting Javassist create a tell-tale interface with a constant version number that let's LegacyService know not to Javassist ij.jar again. 20120202T212308: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Let me try something. 20120202T212308: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Let me try something. 20120202T212313: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :There are some HeadlessExceptions in there too. 20120202T212313: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: There are some HeadlessExceptions in there too. 20120202T212325: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :(That is, let me try to trigger the error here.) 20120202T212325: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: (That is, let me try to trigger the error here.) 20120202T212445: *: <== :bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu PRIVMSG #imagejdev :Dscho, did you give the right console URL? I can't find OverlayHarmonizer* in that console output or the two previous either. 20120202T212445: bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu: Dscho, did you give the right console URL? I can't find OverlayHarmonizer* in that console output or the two previous either. 20120202T213141: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :I copied the URL from the browser. 20120202T213141: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: I copied the URL from the browser. 20120202T213152: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :But Jenkins actually is clever and shows only the last lines. 20120202T213152: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: But Jenkins actually is clever and shows only the last lines. 20120202T213203: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :You might need to scroll to the end and ask for all lines. 20120202T213203: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: You might need to scroll to the end and ask for all lines. 20120202T213221: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Actually, at the beginning there is a link to "Full Log". 20120202T213221: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Actually, at the beginning there is a link to "Full Log". 20120202T213301: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :FWIW I can reproduce here, I just need to beat Eclipse into submission and use my local "ij" project. 20120202T213301: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: FWIW I can reproduce here, I just need to beat Eclipse into submission and use my local "ij" project. 20120202T213336: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :dscho: Thanks for investigating it. 20120202T213336: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: dscho: Thanks for investigating it. 20120202T213343: *: <== :bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu PRIVMSG #imagejdev :FWIW WIWF FTW WTF 20120202T213343: bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu: FWIW WIWF FTW WTF 20120202T213545: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :DILLIGAF 20120202T213545: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: DILLIGAF 20120202T213547: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :;-) 20120202T213547: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: ;-) 20120202T215804: *: <== :mhiner!~Adium@dyn-144-92-48-204.microscopy.wisc.edu QUIT :Quit: Leaving. 20120202T220117: *: <== :bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu PRIVMSG #imagejdev :I just noticed an issue with our overlay drawing. In IJ1 an overlay always draws a 1 pixel boundary regardless of zoom level you're at while IJ2 draws in such a way that zooming in shows overlay lines have thickness. ctrueden: do we render overlays separately somewhere? or is it all JHotDraw? 20120202T220117: bdezonia!~Adium@dyn-144-92-48-220.microscopy.wisc.edu: I just noticed an issue with our overlay drawing. In IJ1 an overlay always draws a 1 pixel boundary regardless of zoom level you're at while IJ2 draws in such a way that zooming in shows overlay lines have thickness. ctrueden: do we render overlays separately somewhere? or is it all JHotDraw? 20120202T220530: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Whoa, it is _still_ a major pain to tell Eclipse to Just Take That Source instead of a .jar in ~/.m2/repository/... 20120202T220530: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Whoa, it is _still_ a major pain to tell Eclipse to Just Take That Source instead of a .jar in ~/.m2/repository/... 20120202T221143: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :dscho: How so? Using M2E you mean? 20120202T221143: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: dscho: How so? Using M2E you mean? 20120202T221204: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :If you do not use M2E, it is a major pain, yes. If you use M2E, it is supposed to be transparent. 20120202T221204: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: If you do not use M2E, it is a major pain, yes. If you use M2E, it is supposed to be transparent. 20120202T221228: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Well, so many things have to match. 20120202T221228: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Well, so many things have to match. 20120202T221231: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :bdezonia: It is how JHotDraw does it. There may be configuration settings to control it though. 20120202T221231: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: bdezonia: It is how JHotDraw does it. There may be configuration settings to control it though. 20120202T221253: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :javassist's group changed to org.javassist and the version changed from 3.9.0.GA to 3.16.0-GA (notice that dash?) 20120202T221253: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: javassist's group changed to org.javassist and the version changed from 3.9.0.GA to 3.16.0-GA (notice that dash?) 20120202T221301: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :bdezonia: If you can figure out how to make JHotDraw always draw a one-pixel boundary, that would be nice. 20120202T221301: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: bdezonia: If you can figure out how to make JHotDraw always draw a one-pixel boundary, that would be nice. 20120202T221320: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :And when you finally got it all right in the pom.xml edit mode of Eclipse, it _adds_ another dependency rather than editing it. 20120202T221320: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: And when you finally got it all right in the pom.xml edit mode of Eclipse, it _adds_ another dependency rather than editing it. 20120202T221320: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :dscho: That is good... 20120202T221320: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: dscho: That is good... 20120202T221525: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Bad news: I cannot trace it properly. Adding -verbose:class to the JVM arguments make the error "go away"... ;-) 20120202T221525: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Bad news: I cannot trace it properly. Adding -verbose:class to the JVM arguments make the error "go away"... ;-) 20120202T221600: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :The IJ1 class loading exception you mean? 20120202T221600: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: The IJ1 class loading exception you mean? 20120202T221824: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :The duplicate class definition of ImagePlus. 20120202T221824: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: The duplicate class definition of ImagePlus. 20120202T221834: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :I _think_ that I know why it is happening, though. 20120202T221834: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: I _think_ that I know why it is happening, though. 20120202T221925: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Before ImagePlus, Javassist tries to define ImageJ and IJ. I could imagine that their definitions incur the definition of ImagePlus, too. 20120202T221925: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Before ImagePlus, Javassist tries to define ImageJ and IJ. I could imagine that their definitions incur the definition of ImagePlus, too. 20120202T222103: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Nope, reordering the toClass() calls does not help. 20120202T222103: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Nope, reordering the toClass() calls does not help. 20120202T230400: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Okay, I nailed it. 20120202T230400: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Okay, I nailed it. 20120202T230424: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :It's the method "ImagePlus makeImagePlus(final String name, final byte[][] image)" in the class OverlayHarmonizerTest. 20120202T230424: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: It's the method "ImagePlus makeImagePlus(final String name, final byte[][] image)" in the class OverlayHarmonizerTest. 20120202T230447: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Since the class is loaded (d'oh) when it runs, it makes ImagePlus be loaded, too. 20120202T230447: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Since the class is loaded (d'oh) when it runs, it makes ImagePlus be loaded, too. 20120202T230525: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :_Before_ anything is executed, including the LegacyInjector's injectHooks() method. 20120202T230525: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: _Before_ anything is executed, including the LegacyInjector's injectHooks() method. 20120202T230559: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :What still strikes me as odd is that the test is not marked as "failed" when the exception is thrown, since it is a fatal exception; the test is not finished after that. 20120202T230559: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: What still strikes me as odd is that the test is not marked as "failed" when the exception is thrown, since it is a fatal exception; the test is not finished after that. 20120202T230652: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :That is indeed odd. 20120202T230652: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: That is indeed odd. 20120202T232015: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :I fear the only way to work around this is to have a helper class with static helper methods (where that makeImagePlus() must go), so that ImageJ.createContext() is always called before that class (and by extension, the ImagePlus class) is loaded. 20120202T232015: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: I fear the only way to work around this is to have a helper class with static helper methods (where that makeImagePlus() must go), so that ImageJ.createContext() is always called before that class (and by extension, the ImagePlus class) is loaded. 20120202T232018: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Let me try this. 20120202T232018: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Let me try this. 20120202T232324: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Yep, that fixes it! 20120202T232324: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Yep, that fixes it! 20120202T233340: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :Yeah, that was my idea as well. Need to introduce another layer of indirection. Glad it worked. 20120202T233340: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: Yeah, that was my idea as well. Need to introduce another layer of indirection. Glad it worked. 20120202T233510: *: <== :dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu PRIVMSG #imagejdev :Fixed in r4915. 20120202T233510: *: ==> PRIVMSG #imagejdev :Changeset 4915 can be found here: http://code.imagej.net/trac/imagej/changeset/4915 20120202T233510: dscho!~gene099@dyn-144-92-48-243.microscopy.wisc.edu: Fixed in r4915. 20120202T233612: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :Thanks! 20120202T233612: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: Thanks! 20120202T233617: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu PRIVMSG #imagejdev :Good night all. 20120202T233617: ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu: Good night all. 20120202T233641: *: <== :ctrueden!~ctrueden@dyn-144-92-48-222.microscopy.wisc.edu QUIT :Quit: Leaving.