Ecosystem contribution

147 views
Skip to first unread message

Ivan Kuraj

unread,
Jan 23, 2013, 4:37:01 PM1/23/13
to scala-...@googlegroups.com
Hi guys,

I would like to add the InSynth plugin to the ecosystem.

I managed to go through the documentation, added profiles that allow maven build to be parametrized with appropriate dependencies and made a script that goes through all specified flavors and builds them.

At the moment only a single combination of Eclipse + Scala IDE + Scala flavors is supported (indigo + dev-scala-ide-indigo-scala-2.9 + 2.9.x) and the script generates an update site in the Public folder of my dropbox account (here is the link to the folder).

I've head that if one has an old Dropbox account then it is possible to share an update site in the "Public" folder. I tried to do that, the files are there, but I do not know how to get the appropriate link (that works as an update site for Eclipse). Any advices?

Thank you.
Cheers,
Ivan

Luc Bourlier

unread,
Jan 24, 2013, 4:35:21 AM1/24/13
to scala-...@googlegroups.com
If you replace the 'www.dropbox.com' by 'dl.dropbox.com', then it should act like a normal http file server.

I'll give it a quick spin locally, and report.

Luc

Luc Bourlier

unread,
Jan 24, 2013, 4:58:53 AM1/24/13
to scala-...@googlegroups.com
Ok. So, dropbox doesn't work. The problem is that part of the middle of the URL changes for each file. I guess it is half for security, half for being a pain..

Iulian is giving a try using skydrive.

Luc

Mirco Dotta

unread,
Jan 24, 2013, 5:42:21 AM1/24/13
to scala-ide-dev Dev
Ok. So, dropbox doesn't work. The problem is that part of the middle of the URL changes for each file. I guess it is half for security, half for being a pain..

Iulian is giving a try using skydrive.

No luck with SkyDrive either.


Luc

Le jeudi 24 janvier 2013 10:35:21 UTC+1, Luc Bourlier a écrit :
If you replace the 'www.dropbox.com' by 'dl.dropbox.com', then it should act like a normal http file server.

I'll give it a quick spin locally, and report.

Luc

--
 
 


---------------
Mirco Dotta
Typesafe - The software stack for applications that scale
PSE-D, 1015 Lausanne, Switzerland
Twitter: @mircodotta








Ivan Kuraj

unread,
Jan 24, 2013, 5:51:12 AM1/24/13
to scala-...@googlegroups.com
So unfortunately one cannot use those kind of services for hosting an Eclipse update site...
Okay, at least we know that that does not work.

Thanks!
Ivan
--
 
 

Rafał Krzewski

unread,
Jan 24, 2013, 5:55:56 AM1/24/13
to scala-...@googlegroups.com
Ivan, 

you can use http://pages.github.com/ to publish update sites. It's really easy. If you'd like see an example, I've did that for my m2e connectors: https://github.com/objectledge/maven-extensions

Cheers,
Rafał

Rafał Krzewski

unread,
Jan 24, 2013, 7:00:25 AM1/24/13
to scala-...@googlegroups.com
Hi,

I've tweaked the POM a bit and I've managed to build InSynth for Scala IDE master / Eclipse Juno (3.8) / Scala 2.10. I've got 6 failed tests and 1 test error (NoSuchMethodError).
I've ignored the errors and installed the plugin into Eclipse with no problems. I can see the configuration page in preferences dialog, but otherwise I'm unable to say if InSynth is working. Autocomplete suggestions seem to make as little sense as usual ;)

Would you be interested in a pull request to add such profile?

Cheers,
Rafał

W dniu środa, 23 stycznia 2013 22:37:01 UTC+1 użytkownik Ivan Kuraj napisał:

Ivan Kuraj

unread,
Jan 24, 2013, 7:07:35 AM1/24/13
to scala-...@googlegroups.com
Hi Rafal,

I was already thinking about an alternative in the meantime.
But it is interesting and useful to know that update sites can be hosted on GitHub (since Dropbox and similar services do not work).

Thanks.
Cheers,
Ivan

On 01/24/2013 11:55 AM, Rafaďż˝ Krzewski wrote:
Ivan,ďż˝

you can use�http://pages.github.com/�to publish update sites. It's really easy.�If you'd like see an example,�I've did that for my m2e connectors:�https://github.com/objectledge/maven-extensions

Cheers,
Rafaďż˝

W dniu �roda, 23 stycznia 2013 22:37:01 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Hi guys,

I would like to add the InSynth plugin to the ecosystem.

I managed to go through the documentation, added profiles that allow maven build to be parametrized with appropriate dependencies and made a script that goes through all specified flavors and builds them.

At the moment only a single combination of Eclipse + Scala IDE + Scala flavors is supported (indigo + dev-scala-ide-indigo-scala-2.9 + 2.9.x) and the script generates an update site in the Public folder of my dropbox account (here is the link to the folder).

I've head that if one has an old Dropbox account then it is possible to share an update site in the "Public" folder. I tried to do that, the files are there, but I do not know how to get the appropriate link (that works as an update site for Eclipse). Any advices?

Thank you.
Cheers,
Ivan
--
ďż˝
ďż˝

Ivan Kuraj

unread,
Jan 24, 2013, 7:20:08 AM1/24/13
to scala-...@googlegroups.com
Hi,

Sorry for the bad experience, but we are having issues when building against Scala 2.10 (and Juno is also not tested) that is why the only flavor-combination currently supported is Indigo + Scala IDE 2.1 + Scala 2.9.x.

Yes, I am interested, but I think we will need to solve this bug first (it occurs in Scala 2.10, when InSynth interacts with the Scala presentation compiler).
I will send an email to the list ASAP.

Thanks!
Cheers,
Ivan


On 01/24/2013 01:00 PM, Rafaďż˝ Krzewski wrote:
Hi,

I've tweaked the POM a bit and I've managed to build InSynth for Scala IDE master / Eclipse Juno (3.8) / Scala 2.10. I've got 6 failed tests and 1 test error (NoSuchMethodError).
I've ignored the errors and installed the plugin into Eclipse with no problems. I can see the configuration page in preferences dialog, but otherwise I'm unable to say if InSynth is working. Autocomplete suggestions seem to make as little sense as usual ;)

Would you be�interested�in a pull request to add such profile?

Cheers,

Rafaďż˝

W dniu �roda, 23 stycznia 2013 22:37:01 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Hi guys,


I would like to add the InSynth plugin to the ecosystem.

I managed to go through the documentation, added profiles that allow maven build to be parametrized with appropriate dependencies and made a script that goes through all specified flavors and builds them.

At the moment only a single combination of Eclipse + Scala IDE + Scala flavors is supported (indigo + dev-scala-ide-indigo-scala-2.9 + 2.9.x) and the script generates an update site in the Public folder of my dropbox account (here is the link to the folder).

I've head that if one has an old Dropbox account then it is possible to share an update site in the "Public" folder. I tried to do that, the files are there, but I do not know how to get the appropriate link (that works as an update site for Eclipse). Any advices?

Thank you.
Cheers,
Ivan
--
ďż˝
ďż˝

Rafał Krzewski

unread,
Jan 24, 2013, 9:28:16 AM1/24/13
to scala-...@googlegroups.com
Hi,

no problem at all, I'm well aware that I was pushing the boundary here :) The issue I've seen in the tests is exactly what you reported in https://github.com/kaptoxic/scala-ide-insynth-integration/issues/10
It would also explain why I haven't seen autocomplete suggestions contributed by InSync. I'll keep an eye on the issue above and retry build with Juno when it's sorted out. Then I'll get back to you with a pull request.

Happy hacking :)
Rafał

Ivan Kuraj

unread,
Jan 24, 2013, 10:00:17 AM1/24/13
to scala-...@googlegroups.com
Okay, agreed. I hope we will fix this issue soon and afterward we should have the plugin ready for all major flavors of builds, including Juno + Scala 2.10.

Thanks.
Ivan


On 01/24/2013 03:28 PM, Rafaďż˝ Krzewski wrote:
Hi,

no problem at all, I'm well aware that I was pushing the boundary here :) The issue I've seen in the tests is exactly what you reported in�https://github.com/kaptoxic/scala-ide-insynth-integration/issues/10
It would also explain why I haven't seen autocomplete suggestions contributed by InSync. I'll keep an eye on the issue above and retry build with Juno when it's sorted out. Then I'll get back to you with a pull request.

Happy hacking :)
Rafaďż˝

W dniu czwartek, 24 stycznia 2013 13:20:08 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Hi,

Sorry for the bad experience, but we are having issues when building against Scala 2.10 (and Juno is also not tested) that is why the only flavor-combination currently supported is Indigo + Scala IDE 2.1 + Scala 2.9.x.

Yes, I am interested, but I think we will need to solve this bug first (it occurs in Scala 2.10, when InSynth interacts with the Scala presentation compiler).
I will send an email to the list ASAP.

Thanks!
Cheers,
Ivan

--
ďż˝
ďż˝

francois...@typesafe.com

unread,
Jan 30, 2013, 9:10:48 AM1/30/13
to scala-...@googlegroups.com

> I managed to go through the documentation, added profiles that allow maven
> build<https://github.com/kaptoxic/scala-ide-insynth-integration/blob/changesForEcosystem/ch.epfl.insynth.build/pom.xml#L108>to
> be parametrized with appropriate dependencies and made a
> script<https://github.com/kaptoxic/scala-ide-insynth-integration/blob/changesForEcosystem/ch.epfl.insynth.build/ecosystem-build.sh>that
> goes through all specified flavors and builds them.

Nice ! A slight issue is that you already include a strict version
dependency against Scala-IDE (org.scala-ide.sdt.core) in your
MANIFEST.MF. The tool that equips it (through the bespoke profile
inserted in your pom.xml) doesn't know how to deal with that and doesn't
take any action. It should at least check if the strict dependency you
specify isn't per chance already compatible with the current build).

I've opened a ticket to that effect:
https://www.assembla.com/spaces/scala-ide/tickets/1001478

While we fix this, it may be a good idea to edit your MANIFEST.MF

--
FG

Ivan Kuraj

unread,
Jan 30, 2013, 11:47:43 AM1/30/13
to scala-...@googlegroups.com
I see, so I will then remove the strict dependency in my manifest and let the tool do its job. Thanks!

By the way, I was reading the documentation posted here. It discusses about branching and tagging specific versions of plugins (this I guess affects only the organization of the plugin) and also signing them (this may be important for integration into scala-ide).
Should I also make these "version" branches, tags and sign the plugin or we should not worry about this at this point?

François Garillot

unread,
Jan 30, 2013, 12:18:45 PM1/30/13
to scala-...@googlegroups.com
> On 01/30/2013 03:10 PM,
> francois...@typesafe.com wrote:
>
> By the way, I was reading the documentation posted here
> <https://github.com/scala-ide/scala-worksheet/wiki/Developer-Documentation>. It
> discusses about branching and tagging specific versions of
> plugins (this I guess affects only the organization of the
> plugin) and also signing them (this may be important for
> integration into scala-ide).
> Should I also make these "version" branches, tags and sign the
> plugin or we should not worry about this at this point?

This documentation concerns how to deal with versioning, and how to
provide signed packages. A good versioning scheme tied to your git
branch organization will ease the development of your plugin (and
possibly OCD symptoms), whereas providing signed jars will avoid a alert
at installation in Eclipse telling the user he's using installing weakly
authenticated software.

While those are all nice to have, they have nothing to do with the
technical steps towards your plugin's integration in an Ecosystem. You
are referring to the doc of the scala worksheet, itself a distinct
plugin from Insynth.

--
FG

Ivan Kuraj

unread,
Jan 30, 2013, 12:27:19 PM1/30/13
to scala-...@googlegroups.com
I see, so those actions are not imperative for the integration process
(at this point) but I guess it is good to have them in mind.

Thank you for the clarification!

James Moore

unread,
Feb 19, 2013, 1:39:16 AM2/19/13
to scala-...@googlegroups.com
On Thu, Jan 24, 2013 at 2:42 AM, Mirco Dotta <mirco...@typesafe.com> wrote:
Ok. So, dropbox doesn't work. The problem is that part of the middle of the URL changes for each file. I guess it is half for security, half for being a pain..

Iulian is giving a try using skydrive.

No luck with SkyDrive either.


I use Amazon's S3 service for hosting https://github.com/banshee/AndroidProguardScala (at https://androidproguardscala.s3.amazonaws.com/UpdateSiteForAndroidProguardScala).  Works fine and it's easy to put new versions of the plugin up there with:

~/src/s3cmd/s3cmd del --recursive s3://androidproguardscala/UpdateSiteForAndroidProguardScala/
~/src/s3cmd/s3cmd -P sync /Users/james/workspace/com.restphone.androidproguardscala.updatesite/target/repository/ s3://androidproguardscala/UpdateSiteForAndroidProguardScala/

The github suggestion might not be stable - take a look at https://github.com/vazexqi/CodingSpectator/issues/131

--
James Moore
ja...@restphone.com
http://blog.restphone.com/
http://www.linkedin.com/in/jamesmmooreiv

Ivan Kuraj

unread,
Feb 26, 2013, 9:02:05 PM2/26/13
to scala-...@googlegroups.com
Hi Rafal,

The issue is solved, some preliminary builds for Juno were failing so any advice is welcome. :)

Cheers,

Ivan

On 01/24/2013 03:28 PM, Rafaďż˝ Krzewski wrote:
Hi,

no problem at all, I'm well aware that I was pushing the boundary here :) The issue I've seen in the tests is exactly what you reported in�https://github.com/kaptoxic/scala-ide-insynth-integration/issues/10
It would also explain why I haven't seen autocomplete suggestions contributed by InSync. I'll keep an eye on the issue above and retry build with Juno when it's sorted out. Then I'll get back to you with a pull request.

Happy hacking :)
Rafaďż˝

W dniu czwartek, 24 stycznia 2013 13:20:08 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Hi,

Sorry for the bad experience, but we are having issues when building against Scala 2.10 (and Juno is also not tested) that is why the only flavor-combination currently supported is Indigo + Scala IDE 2.1 + Scala 2.9.x.

Yes, I am interested, but I think we will need to solve this bug first (it occurs in Scala 2.10, when InSynth interacts with the Scala presentation compiler).
I will send an email to the list ASAP.

Thanks!
Cheers,
Ivan

--
ďż˝
ďż˝

Rafał Krzewski

unread,
Feb 27, 2013, 7:34:30 AM2/27/13
to scala-...@googlegroups.com
I had no problem compiling Insynth for Juno (3.8), Scala-IDE trunk and Scala 2.10.x but the tests appear to get stuck. 

here's last line of output, but each of 3 builds that I've run stopped on different file:

2013-02-27 13:27:51,977  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/StreamTokenizerReaderr.scala

The relevant threads seem to be the following. The first one is burning one CPU core @ 100% for several minutes, the two others are dormant

"Scala Presentation Compiler [benchmarks]" daemon prio=10 tid=0x00007f26242fc800 nid=0x6092 runnable [0x00007f25d39a8000]
   java.lang.Thread.State: RUNNABLE
at scala.collection.GenIterable$class.$init$(GenIterable.scala:23)
at scala.collection.AbstractIterable.<init>(Iterable.scala:54)
at scala.collection.AbstractSeq.<init>(Seq.scala:40)
at scala.collection.mutable.AbstractSeq.<init>(Seq.scala:47)
at scala.collection.mutable.AbstractBuffer.<init>(Buffer.scala:48)
at scala.collection.mutable.ListBuffer.<init>(ListBuffer.scala:46)
at scala.collection.immutable.List$.newBuilder(List.scala:404)
at scala.collection.generic.GenTraversableFactory$ReusableCBF.apply(GenTraversableFactory.scala:44)
at scala.collection.TraversableLike$class.to(TraversableLike.scala:627)
at scala.collection.AbstractTraversable.to(Traversable.scala:105)
at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:243)
at scala.collection.AbstractTraversable.toList(Traversable.scala:105)
at scala.tools.nsc.interactive.Global.checkNoOutstanding(Global.scala:135)
at scala.tools.nsc.interactive.Global.checkNoResponsesOutstanding(Global.scala:141)
at scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:20)

"Java indexing" daemon prio=10 tid=0x00007f26244a6800 nid=0x6034 in Object.wait() [0x00007f25d3e9d000]
   java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at scala.tools.nsc.util.InterruptReq.getResult(InterruptReq.scala:39)
- locked <0x00000000d9f08b70> (a scala.tools.nsc.util.WorkScheduler$$anon$1)
at scala.tools.nsc.util.WorkScheduler.doQuickly(WorkScheduler.scala:58)
at scala.tools.nsc.interactive.CompilerControl$class.ask(CompilerControl.scala:255)
at scala.tools.nsc.interactive.Global.ask(Global.scala:27)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$.ch$epfl$insynth$typetransformations$TExtractor$ScalaTypeExtractor$$traverse(ScalaTypeExtractor.scala:99)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$$anonfun$getParamList$1$$anonfun$apply$1$$anonfun$apply$3.apply(ScalaTypeExtractor.scala:77)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$$anonfun$getParamList$1$$anonfun$apply$1$$anonfun$apply$3.apply(ScalaTypeExtractor.scala:77)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:309)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$$anonfun$getParamList$1$$anonfun$apply$1.apply(ScalaTypeExtractor.scala:77)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$$anonfun$getParamList$1$$anonfun$apply$1.apply(ScalaTypeExtractor.scala:77)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:309)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$$anonfun$getParamList$1.apply(ScalaTypeExtractor.scala:77)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$$anonfun$getParamList$1.apply(ScalaTypeExtractor.scala:77)
at scala.tools.nsc.util.InterruptReq.execute(InterruptReq.scala:26)
- locked <0x00000000d9f4adf8> (a scala.tools.nsc.util.WorkScheduler$$anon$1)
at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:331)
at scala.tools.nsc.interactive.Global.checkForMoreWork(Global.scala:392)
at scala.tools.nsc.interactive.Global.signalParseProgress(Global.scala:222)
at scala.tools.nsc.ast.parser.Parsers$Parser.funDefRest(Parsers.scala:2578)
at scala.tools.nsc.ast.parser.Parsers$Parser.funDefOrDcl(Parsers.scala:2541)
at scala.tools.nsc.ast.parser.Parsers$Parser.defOrDcl(Parsers.scala:2424)
at scala.tools.nsc.ast.parser.Parsers$Parser.nonLocalDefOrDcl(Parsers.scala:2436)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$templateStatSeq$1$$anonfun$apply$5.apply(Parsers.scala:3000)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$templateStatSeq$1$$anonfun$apply$5.apply(Parsers.scala:3000)
at scala.tools.nsc.ast.parser.Parsers$Parser.joinComment(Parsers.scala:683)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$templateStatSeq$1.apply(Parsers.scala:3000)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$templateStatSeq$1.apply(Parsers.scala:2969)
at scala.tools.nsc.ast.parser.Parsers$Parser.checkNoEscapingPlaceholders(Parsers.scala:428)
at scala.tools.nsc.ast.parser.Parsers$Parser.templateStatSeq(Parsers.scala:2969)
at scala.tools.nsc.ast.parser.Parsers$Parser.templateBody(Parsers.scala:2849)
at scala.tools.nsc.ast.parser.Parsers$Parser.templateBodyOpt(Parsers.scala:2856)
at scala.tools.nsc.ast.parser.Parsers$Parser.templateOpt(Parsers.scala:2815)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$classDef$1.apply(Parsers.scala:2712)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$classDef$1.apply(Parsers.scala:2693)
at scala.tools.nsc.ast.parser.Parsers$Parser.savingClassContextBounds(Parsers.scala:290)
at scala.tools.nsc.ast.parser.Parsers$Parser.classDef(Parsers.scala:2693)
at scala.tools.nsc.ast.parser.Parsers$Parser.tmplDef(Parsers.scala:2669)
at scala.tools.nsc.ast.parser.Parsers$Parser.topLevelTmplDef(Parsers.scala:2654)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$topStatSeq$2.apply(Parsers.scala:2940)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$topStatSeq$2.apply(Parsers.scala:2940)
at scala.tools.nsc.ast.parser.Parsers$Parser.joinComment(Parsers.scala:683)
at scala.tools.nsc.ast.parser.Parsers$Parser.topStatSeq(Parsers.scala:2940)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$compilationUnit$1.topstats$1(Parsers.scala:3135)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$compilationUnit$1.topstats$1(Parsers.scala:3127)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$compilationUnit$1.apply(Parsers.scala:3141)
at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$compilationUnit$1.apply(Parsers.scala:3105)
at scala.tools.nsc.ast.parser.Parsers$Parser.checkNoEscapingPlaceholders(Parsers.scala:428)
at scala.tools.nsc.ast.parser.Parsers$Parser.compilationUnit(Parsers.scala:3105)
at scala.tools.nsc.ast.parser.Parsers$SourceFileParser$$anonfun$parseStartRule$1.apply(Parsers.scala:141)
at scala.tools.nsc.ast.parser.Parsers$SourceFileParser$$anonfun$parseStartRule$1.apply(Parsers.scala:141)
at scala.tools.nsc.ast.parser.Parsers$Parser.parse(Parsers.scala:313)
at scala.tools.eclipse.ScalaPresentationCompiler.parseTree(ScalaPresentationCompiler.scala:118)
at scala.tools.eclipse.ScalaPresentationCompiler.withParseTree(ScalaPresentationCompiler.scala:122)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$addToIndexer$1.apply(ScalaCompilationUnit.scala:135)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$addToIndexer$1.apply(ScalaCompilationUnit.scala:134)
at scala.tools.eclipse.ScalaPresentationCompiler.withSourceFile(ScalaPresentationCompiler.scala:99)
at scala.tools.eclipse.ScalaProject$$anonfun$withSourceFile$1.apply(ScalaProject.scala:555)
at scala.tools.eclipse.ScalaProject$$anonfun$withSourceFile$1.apply(ScalaProject.scala:554)
at scala.tools.eclipse.ScalaProject$$anonfun$withPresentationCompiler$1.apply(ScalaProject.scala:548)
at scala.tools.eclipse.ScalaProject$$anonfun$withPresentationCompiler$1.apply(ScalaProject.scala:547)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:41)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:96)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:547)
at scala.tools.eclipse.ScalaProject.withSourceFile(ScalaProject.scala:556)
at scala.tools.eclipse.InteractiveCompilationUnit$class.doWithSourceFile(InteractiveCompilationUnit.scala:56)
at scala.tools.eclipse.javaelements.ScalaSourceFile.doWithSourceFile(ScalaSourceFile.scala:51)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.addToIndexer(ScalaCompilationUnit.scala:134)
at scala.tools.eclipse.javaelements.ScalaSourceFile.addToIndexer(ScalaSourceFile.scala:51)
at scala.tools.eclipse.ScalaSourceIndexer$$anonfun$indexDocument$2.apply(ScalaSourceIndexer.scala:23)
at scala.tools.eclipse.ScalaSourceIndexer$$anonfun$indexDocument$2.apply(ScalaSourceIndexer.scala:23)
at scala.Option.map(Option.scala:145)
at scala.tools.eclipse.ScalaSourceIndexer.indexDocument(ScalaSourceIndexer.scala:23)
at scala.tools.eclipse.contribution.weaving.jdt.indexerprovider.IndexerProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_indexerprovider_IndexerProviderAspect$1$16276a3c(IndexerProviderAspect.aj:30)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:69)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:462)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:886)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:405)
at java.lang.Thread.run(Thread.java:662)

"main" prio=10 tid=0x00007f2624008800 nid=0x601c in Object.wait() [0x00007f262aab8000]
   java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at scala.tools.nsc.util.InterruptReq.getResult(InterruptReq.scala:39)
- locked <0x00000000d9f4adf8> (a scala.tools.nsc.util.WorkScheduler$$anon$1)
at scala.tools.nsc.util.WorkScheduler.doQuickly(WorkScheduler.scala:58)
at scala.tools.nsc.interactive.CompilerControl$class.ask(CompilerControl.scala:255)
at scala.tools.nsc.interactive.Global.ask(Global.scala:27)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$.getParamList(ScalaTypeExtractor.scala:77)
at ch.epfl.insynth.typetransformations.TExtractor$ScalaTypeExtractor$.getType(ScalaTypeExtractor.scala:60)
at ch.epfl.insynth.loader.TDeclarationFactory$DeclarationFactory$.makeDecl(DeclarationFactory.scala:65)
at ch.epfl.insynth.loader.TDeclarationFactory$DeclarationFactory$.getDecl(DeclarationFactory.scala:16)
at ch.epfl.insynth.loader.TLoader$Loader$$anonfun$loadDecls$2$$anonfun$apply$2.apply(Loader.scala:116)
at ch.epfl.insynth.loader.TLoader$Loader$$anonfun$loadDecls$2$$anonfun$apply$2.apply(Loader.scala:107)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772)
at scala.reflect.internal.Scopes$Scope.foreach(Scopes.scala:315)
at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771)
at ch.epfl.insynth.loader.TLoader$Loader$$anonfun$loadDecls$2.apply(Loader.scala:107)
at ch.epfl.insynth.loader.TLoader$Loader$$anonfun$loadDecls$2.apply(Loader.scala:105)
at scala.collection.immutable.List.foreach(List.scala:309)
at ch.epfl.insynth.loader.TLoader$Loader.loadDecls(Loader.scala:105)
at ch.epfl.insynth.loader.TLoader$Loader.load(Loader.scala:85)
at ch.epfl.insynth.InSynth.getSnippets(InSynth.scala:29)
at ch.epfl.insynth.core.completion.InnerFinder$$anonfun$apply$1.apply(InsynthCompletionProposalComputer.scala:82)
- locked <0x00000000d9ef5090> (a ch.epfl.insynth.env.InitialEnvironmentBuilder)
at ch.epfl.insynth.core.completion.InnerFinder$$anonfun$apply$1.apply(InsynthCompletionProposalComputer.scala:52)
at scala.tools.eclipse.ScalaPresentationCompiler.withSourceFile(ScalaPresentationCompiler.scala:99)
at scala.tools.eclipse.ScalaProject$$anonfun$withSourceFile$1.apply(ScalaProject.scala:555)
at scala.tools.eclipse.ScalaProject$$anonfun$withSourceFile$1.apply(ScalaProject.scala:554)
at scala.tools.eclipse.ScalaProject$$anonfun$withPresentationCompiler$1.apply(ScalaProject.scala:548)
at scala.tools.eclipse.ScalaProject$$anonfun$withPresentationCompiler$1.apply(ScalaProject.scala:547)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:41)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:96)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:547)
at scala.tools.eclipse.ScalaProject.withSourceFile(ScalaProject.scala:556)
at scala.tools.eclipse.InteractiveCompilationUnit$class.withSourceFile(InteractiveCompilationUnit.scala:66)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withSourceFile(ScalaSourceFile.scala:51)
at ch.epfl.insynth.core.completion.InnerFinder$.apply(InsynthCompletionProposalComputer.scala:106)
at ch.epfl.insynth.test.completion.CompletionUtility$$anonfun$1$$anonfun$apply$1.apply(CompletionUtility.scala:66)
at ch.epfl.insynth.test.completion.CompletionUtility$$anonfun$1$$anonfun$apply$1.apply(CompletionUtility.scala:60)
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144)
at scala.collection.immutable.Range.foreach(Range.scala:142)
at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144)
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105)
at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:138)
at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:105)
at ch.epfl.insynth.test.completion.CompletionUtility$$anonfun$1.apply(CompletionUtility.scala:59)
at ch.epfl.insynth.test.completion.CompletionUtility$$anonfun$1.apply(CompletionUtility.scala:42)
at scala.tools.eclipse.ScalaPresentationCompiler.withSourceFile(ScalaPresentationCompiler.scala:99)
at scala.tools.eclipse.ScalaProject$$anonfun$withSourceFile$1.apply(ScalaProject.scala:555)
at scala.tools.eclipse.ScalaProject$$anonfun$withSourceFile$1.apply(ScalaProject.scala:554)
at scala.tools.eclipse.ScalaProject$$anonfun$withPresentationCompiler$1.apply(ScalaProject.scala:548)
at scala.tools.eclipse.ScalaProject$$anonfun$withPresentationCompiler$1.apply(ScalaProject.scala:547)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:41)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:96)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:547)
at scala.tools.eclipse.ScalaProject.withSourceFile(ScalaProject.scala:556)
at ch.epfl.insynth.test.completion.CompletionUtility.withCompletions(CompletionUtility.scala:82)
at ch.epfl.insynth.test.completion.CompletionUtility.checkCompletions(CompletionUtility.scala:90)
at ch.epfl.insynth.test.completion.InSynthBenchmarkCompletionTests.testByteArrayOutputStreamintsize(InSynthBenchmarkCompletionTests.scala:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:24)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:24)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:123)
at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:84)
at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.run(HeadlessTestApplication.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

Rafał Krzewski

unread,
Feb 27, 2013, 7:40:37 AM2/27/13
to scala-...@googlegroups.com
I've noticed something else: I've run another test and it reported an exception, processed (enqueued?) few other files and then got stuck:

2013-02-27 13:36:26,463  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/nongenerics/TimerintvalueActionListeneract.scala
2013-02-27 13:36:26,479  INFO [main] - InnerFinder$ - InSynth solution found, proceeding with reconstructor.
2013-02-27 13:36:26,577  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/generics/TreeMapvalues.scala
2013-02-27 13:36:26,634  INFO [main] - InnerFinder$ - InSynth working on source file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/benchmarks/src/main/scala/javaapi/nongenerics/BufferedReaderFileReaderfileReader.scala
2013-02-27 13:36:26,635  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/long/ServerSocketintport.scala
2013-02-27 13:36:26,644 ERROR [main] - InnerFinder$ - InSynth synthesis failed.
java.lang.NullPointerException
at scala.tools.nsc.Global$GlobalPhase.cancelled(Global.scala:445)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:459)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun$applyPhase$1.apply(Global.scala:1085)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun$applyPhase$1.apply(Global.scala:1085)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:201)
at scala.tools.nsc.interactive.Global$TyperRun.applyPhase(Global.scala:1085)
at scala.tools.nsc.interactive.Global$TyperRun.typeCheck(Global.scala:1078)
at scala.tools.nsc.interactive.Global.scala$tools$nsc$interactive$Global$$typeCheck(Global.scala:563)
at scala.tools.nsc.interactive.Global.typedTree(Global.scala:729)
at scala.tools.nsc.interactive.Global$$anonfun$getTypedTree$1.apply(Global.scala:741)
at scala.tools.nsc.interactive.Global$$anonfun$getTypedTree$1.apply(Global.scala:741)
at scala.tools.nsc.interactive.Global$$anonfun$respond$1.apply(Global.scala:594)
at scala.tools.nsc.interactive.Global$$anonfun$respond$1.apply(Global.scala:594)
at scala.tools.nsc.interactive.Global.respondGradually(Global.scala:601)
at scala.tools.nsc.interactive.Global.respond(Global.scala:594)
at scala.tools.nsc.interactive.Global.getTypedTree(Global.scala:741)
at scala.tools.nsc.interactive.CompilerControl$AskTypeItem.apply$mcV$sp(CompilerControl.scala:336)
at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:380)
at scala.tools.nsc.ast.parser.Parsers$UnitParser.smartParse(Parsers.scala:242)
at scala.tools.nsc.ast.parser.SyntaxAnalyzer$ParserPhase.apply(SyntaxAnalyzer.scala:29)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:461)
at scala.tools.nsc.Global$Run$$anonfun$compileLate$2$$anonfun$apply$1.apply(Global.scala:1675)
at scala.tools.nsc.Global$Run$$anonfun$compileLate$2$$anonfun$apply$1.apply(Global.scala:1675)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:201)
at scala.tools.nsc.Global$Run$$anonfun$compileLate$2.apply(Global.scala:1675)
at scala.tools.nsc.Global$Run$$anonfun$compileLate$2.apply(Global.scala:1674)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1156)
at scala.tools.nsc.Global$Run.compileLate(Global.scala:1674)
at scala.tools.nsc.interactive.Global.scala$tools$nsc$interactive$Global$$parseAndEnter(Global.scala:551)
at scala.tools.nsc.interactive.Global.backgroundCompile(Global.scala:458)
at scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:25)
2013-02-27 13:36:26,645 ERROR [Java indexing] - ScalaSourceFile - Compiler crash during indexing of L/benchmarks/src/main/scala/long/ServerSocketintport.scala
scala.tools.nsc.interactive.FreshRunReq
2013-02-27 13:36:26,700  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/ByteArrayInputStream.scala
2013-02-27 13:36:26,754  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/generics/HashMapKV.scala
2013-02-27 13:36:26,789  INFO [main] - InnerFinder$ - InSynth working on source file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/benchmarks/src/main/scala/javaapi/nongenerics/BufferedReaderInputStreamReader.scala
2013-02-27 13:36:26,816  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/generics/Vectorelements.scala
2013-02-27 13:36:26,876  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/nongenerics/InputStreamReaderInputStreamin.scala
2013-02-27 13:36:26,933  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/LineNumberReaderReaderin.scala
2013-02-27 13:36:26,990  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/DataOutputStreamFileOutputStreamfileOutputStream.scala
2013-02-27 13:36:27,024  INFO [main] - InnerFinder$ - InSynth solution found, proceeding with reconstructor.
2013-02-27 13:36:27,058  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/long/JTableObjectnameObjectdata.scala
2013-02-27 13:36:27,064 ERROR [Java indexing] - ScalaSourceFile - Compiler crash during indexing of L/benchmarks/src/main/scala/long/JTableObjectnameObjectdata.scala
scala.tools.nsc.interactive.FreshRunReq
2013-02-27 13:36:27,081  INFO [main] - InnerFinder$ - InSynth working on source file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/benchmarks/src/main/scala/javaapi/nongenerics/BufferedReaderReaderin.scala
2013-02-27 13:36:27,115  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/nongenerics/DatagramSocket.scala
2013-02-27 13:36:27,169  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/generics/Vectorgetintindex.scala
2013-02-27 13:36:27,223  INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/generics/LinkedListiterator.scala

^^^ stuck

Cheers,
Rafał

Ivan Kuraj

unread,
Feb 28, 2013, 2:21:47 PM2/28/13
to scala-...@googlegroups.com
It seems like these are problems caused by race conditions... Which version did you try to build (ChangesForEcosystem branch)? Can you provide information on how did you make your build (change the pom.xml)?

Cheers,
Ivan


On 02/27/2013 01:40 PM, Rafaďż˝ Krzewski wrote:
I've noticed something else: I've run another test and it reported an exception, processed (enqueued?) few other files and then got stuck:

2013-02-27 13:36:26,463 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/nongenerics/TimerintvalueActionListeneract.scala
2013-02-27 13:36:26,479 �INFO [main] - InnerFinder$ - InSynth solution found, proceeding with reconstructor.
2013-02-27 13:36:26,577 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/generics/TreeMapvalues.scala
2013-02-27 13:36:26,634 �INFO [main] - InnerFinder$ - InSynth working on source file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/benchmarks/src/main/scala/javaapi/nongenerics/BufferedReaderFileReaderfileReader.scala
2013-02-27 13:36:26,635 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/long/ServerSocketintport.scala
2013-02-27 13:36:26,700 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/ByteArrayInputStream.scala
2013-02-27 13:36:26,754 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/generics/HashMapKV.scala
2013-02-27 13:36:26,789 �INFO [main] - InnerFinder$ - InSynth working on source file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/benchmarks/src/main/scala/javaapi/nongenerics/BufferedReaderInputStreamReader.scala
2013-02-27 13:36:26,816 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/generics/Vectorelements.scala
2013-02-27 13:36:26,876 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/nongenerics/InputStreamReaderInputStreamin.scala
2013-02-27 13:36:26,933 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/LineNumberReaderReaderin.scala
2013-02-27 13:36:26,990 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/DataOutputStreamFileOutputStreamfileOutputStream.scala
2013-02-27 13:36:27,024 �INFO [main] - InnerFinder$ - InSynth solution found, proceeding with reconstructor.
2013-02-27 13:36:27,058 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/long/JTableObjectnameObjectdata.scala
2013-02-27 13:36:27,064 ERROR [Java indexing] - ScalaSourceFile - Compiler crash during indexing of L/benchmarks/src/main/scala/long/JTableObjectnameObjectdata.scala
scala.tools.nsc.interactive.FreshRunReq
2013-02-27 13:36:27,081 �INFO [main] - InnerFinder$ - InSynth working on source file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/benchmarks/src/main/scala/javaapi/nongenerics/BufferedReaderReaderin.scala
2013-02-27 13:36:27,115 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/nongenerics/DatagramSocket.scala
2013-02-27 13:36:27,169 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/generics/Vectorgetintindex.scala
2013-02-27 13:36:27,223 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/javaapi/generics/LinkedListiterator.scala

^^^ stuck

Cheers,
Rafaďż˝

W dniu �roda, 27 lutego 2013 13:34:30 UTC+1 u�ytkownik Rafa� Krzewski napisa�:
I had no problem compiling Insynth for Juno (3.8), Scala-IDE trunk and Scala 2.10.x but the tests appear to get stuck.ďż˝

here's last line of output, but each of 3 builds that I've run stopped on different file:

2013-02-27 13:27:51,977 �INFO [Java indexing] - ScalaSourceIndexer - Indexing document: /benchmarks/src/main/scala/generalized/nongenerics/StreamTokenizerReaderr.scala

The relevant threads seem to be the following. The first one is burning one CPU core @ 100% for several minutes, the two others are dormant

"Scala Presentation Compiler [benchmarks]" daemon prio=10 tid=0x00007f26242fc800 nid=0x6092 runnable [0x00007f25d39a8000]
� �java.lang.Thread.State: RUNNABLE
at scala.collection.GenIterable$class.$init$(GenIterable.scala:23)
at scala.collection.AbstractIterable.<init>(Iterable.scala:54)
at scala.collection.AbstractSeq.<init>(Seq.scala:40)
at scala.collection.mutable.AbstractSeq.<init>(Seq.scala:47)
at scala.collection.mutable.AbstractBuffer.<init>(Buffer.scala:48)
at scala.collection.mutable.ListBuffer.<init>(ListBuffer.scala:46)
at scala.collection.immutable.List$.newBuilder(List.scala:404)
at scala.collection.generic.GenTraversableFactory$ReusableCBF.apply(GenTraversableFactory.scala:44)
at scala.collection.TraversableLike$class.to(TraversableLike.scala:627)
at scala.collection.AbstractTraversable.to(Traversable.scala:105)
at scala.collection.TraversableOnce$class.toList(TraversableOnce.scala:243)
at scala.collection.AbstractTraversable.toList(Traversable.scala:105)
at scala.tools.nsc.interactive.Global.checkNoOutstanding(Global.scala:135)
at scala.tools.nsc.interactive.Global.checkNoResponsesOutstanding(Global.scala:141)
at scala.tools.nsc.interactive.PresentationCompilerThread.run(PresentationCompilerThread.scala:20)

"Java indexing" daemon prio=10 tid=0x00007f26244a6800 nid=0x6034 in Object.wait() [0x00007f25d3e9d000]
� �java.lang.Thread.State: WAITING (on object monitor)
� �java.lang.Thread.State: WAITING (on object monitor)


W dniu �roda, 27 lutego 2013 03:02:05 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Hi Rafal,

The issue is solved, some preliminary builds for Juno were failing so any advice is welcome. :)

Cheers,
Ivan

On 01/24/2013 03:28 PM, Rafaďż˝ Krzewski wrote:
Hi,

no problem at all, I'm well aware that I was pushing the boundary here :) The issue I've seen in the tests is exactly what you reported in�https://github.com/kaptoxic/scala-ide-insynth-integration/issues/10
It would also explain why I haven't seen autocomplete suggestions contributed by InSync. I'll keep an eye on the issue above and retry build with Juno when it's sorted out. Then I'll get back to you with a pull request.

Happy hacking :)
Rafaďż˝

W dniu czwartek, 24 stycznia 2013 13:20:08 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Hi,

Sorry for the bad experience, but we are having issues when building against Scala 2.10 (and Juno is also not tested) that is why the only flavor-combination currently supported is Indigo + Scala IDE 2.1 + Scala 2.9.x.

Yes, I am interested, but I think we will need to solve this bug first (it occurs in Scala 2.10, when InSynth interacts with the Scala presentation compiler).
I will send an email to the list ASAP.

Thanks!
Cheers,
Ivan

--
ďż˝
ďż˝

--
You received this message because you are subscribed to the Google Groups "Scala IDE Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-ide-de...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
ďż˝
ďż˝

Rafał Krzewski

unread,
Feb 28, 2013, 6:22:21 PM2/28/13
to scala-...@googlegroups.com
W dniu czwartek, 28 lutego 2013 20:21:47 UTC+1 użytkownik Ivan Kuraj napisał:
It seems like these are problems caused by race conditions... Which version did you try to build (ChangesForEcosystem branch)? Can you provide information on how did you make your build (change the pom.xml)?

I think so too.


Should I post a PR?

Cheers,
Rafał
 
Cheers,
Ivan

Ivan Kuraj

unread,
Mar 1, 2013, 11:45:46 AM3/1/13
to scala-...@googlegroups.com
On 03/01/2013 12:22 AM, Rafaďż˝ Krzewski wrote:
W dniu czwartek, 28 lutego 2013 20:21:47 UTC+1 u�ytkownik Ivan Kuraj napisa�:

It seems like these are problems caused by race conditions... Which version did you try to build (ChangesForEcosystem branch)? Can you provide information on how did you make your build (change the pom.xml)?

I think so too.
That makes sense because changes introduced in the "ChangesForEcosystem" branch should solve such race conditions.


Should I post a PR?
That would be very helpful but not for the master branch but for the "ChangesForEcosystem". Since you made it run successfully, I think that this version could pass all tests... If so then I guess we will have InSynth working also for Juno! :)

Cheers,
Rafaďż˝
Thanks!
Ivan
ďż˝
Cheers,
Ivan

Rafał Krzewski

unread,
Mar 1, 2013, 12:16:52 PM3/1/13
to scala-...@googlegroups.com
W dniu piątek, 1 marca 2013 17:45:46 UTC+1 użytkownik Ivan Kuraj napisał:
On 03/01/2013 12:22 AM, Rafaďż˝ Krzewski wrote:
W dniu czwartek, 28 lutego 2013 20:21:47 UTC+1 u�ytkownik Ivan Kuraj napisa�:
It seems like these are problems caused by race conditions... Which version did you try to build (ChangesForEcosystem branch)? Can you provide information on how did you make your build (change the pom.xml)?

I think so too.
That makes sense because changes introduced in the "ChangesForEcosystem" branch should solve such race conditions.


Should I post a PR?
That would be very helpful but not for the master branch but for the "ChangesForEcosystem". Since you made it run successfully, I think that this version could pass all tests... If so then I guess we will have InSynth working also for Juno! :)


Sounds good, I'll give it a spin later tonight.
Cheers,
Rafał

Rafał Krzewski

unread,
Mar 1, 2013, 7:18:56 PM3/1/13
to scala-...@googlegroups.com
Ivan,

it turned out that the changes I've made on master branch are completely irrelevant to building changesForEcosystem branch @ Juno. The POMs from ecosystem infrastructure have all the necessary profiles.
I was able to compile insynth successfully by running:

JAVA_HOME=/usr/lib/jvm/java-6-sun mvn install -P juno -P 2.10.x -P scala-ide-juno-scala-2.10

interestingly enough, the tests failed to run:

[INFO] --- tycho-surefire-plugin:0.16.0:test (default-cli) @ ch.epfl.insynth.tests ---
[WARNING] The following locally built units have been used to resolve project dependencies:
[WARNING]   ch.epfl.insynth/1.0.0
[WARNING]   ch.epfl.insynth.tests/1.0.0
[WARNING]   ch.epfl.insynth.tests.source/1.0.0
[INFO] Expected eclipse log file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/.metadata/.log
[INFO] Command line:
/bin/sh -c cd /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests && /usr/lib/jvm/java-6-sun-1.6.0.38/jre/bin/java -Dosgi.noShutdown=false -Dosgi.os=linux -Dosgi.ws=gtk -Dosgi.arch=x86_64 -Xmx800m -XX:MaxPermSize=256m -Dsdtcore.headless
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass -Dosgi.classloader.lock=classname -Daj.weaving.verbose=true -Dorg.aspectj.osgi.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -jar /home/rafal/.m2/repository/p2/osgi/bundle/org.eclipse.equinox.launcher/1.3.0.v20120522-1813/org.eclipse.equinox.launcher-1.3.0.v20120522-1813.jar -debug -consolelog -data /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data -install /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work -configuration /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/configuration -application org.eclipse.tycho.surefire.osgibooter.headlesstest -testproperties /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/surefire.properties
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

It truns out the the problem is the newline after -XX:+UnlockDiagnosticVMOptions. See ch.epfl.insynth.build/pom.xml line 48 and 50: definitions of tycho.test.weaving and tycho.test.jvmArgs were wrapped by a 'helpful' text editor.


After removing the newlines I was able to run the tests. In the three test runs I did, no deadlocks occured.

Now, I'm installing the plugin and checking if it actually works :)

Cheers,
Rafał

Ivan Kuraj

unread,
Mar 4, 2013, 10:30:57 AM3/4/13
to scala-...@googlegroups.com
Thanks a lot!

I've hunted down the bug I had (some unnecessary changes to the version of the inner InSynth library) and the build seems to be in order now. All tests pass!
I did not try to install InSynth but I think it should work. I will make necessary changes to support Juno in the ecosystem...

Cheers,
Ivan


On 03/02/2013 01:18 AM, Rafaďż˝ Krzewski wrote:
Ivan,

it turned out that the changes I've made on master branch are completely irrelevant to building changesForEcosystem branch @ Juno. The POMs from ecosystem infrastructure have all the necessary profiles.
I was able to compile insynth successfully by running:

JAVA_HOME=/usr/lib/jvm/java-6-sun mvn install -P juno -P 2.10.x -P scala-ide-juno-scala-2.10

interestingly enough, the tests failed to run:

[INFO] --- tycho-surefire-plugin:0.16.0:test (default-cli) @ ch.epfl.insynth.tests ---
[WARNING] The following locally built units have been used to resolve project dependencies:
[WARNING] ďż˝ ch.epfl.insynth/1.0.0
[WARNING] ďż˝ ch.epfl.insynth.tests/1.0.0
[WARNING] ďż˝ ch.epfl.insynth.tests.source/1.0.0
[INFO] Expected eclipse log file: /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data/.metadata/.log
[INFO] Command line:
/bin/sh -c cd /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests && /usr/lib/jvm/java-6-sun-1.6.0.38/jre/bin/java -Dosgi.noShutdown=false -Dosgi.os=linux -Dosgi.ws=gtk -Dosgi.arch=x86_64 -Xmx800m -XX:MaxPermSize=256m -Dsdtcore.headless
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass -Dosgi.classloader.lock=classname -Daj.weaving.verbose=true -Dorg.aspectj.osgi.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -jar /home/rafal/.m2/repository/p2/osgi/bundle/org.eclipse.equinox.launcher/1.3.0.v20120522-1813/org.eclipse.equinox.launcher-1.3.0.v20120522-1813.jar -debug -consolelog -data /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/data -install /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work -configuration /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/work/configuration -application org.eclipse.tycho.surefire.osgibooter.headlesstest -testproperties /home/rafal/workspaces/tools/scala/scala-ide-insynth-integration/ch.epfl.insynth.build/ch.epfl.insynth.tests/target/surefire.properties
Usage: java [-options] class [args...]
ďż˝ ďż˝ ďż˝ ďż˝ ďż˝ ďż˝(to execute a class)
� �or �java [-options] -jar jarfile [args...]
ďż˝ ďż˝ ďż˝ ďż˝ ďż˝ ďż˝(to execute a jar file)

It truns out the the problem is the newline after�-XX:+UnlockDiagnosticVMOptions. See�ch.epfl.insynth.build/pom.xml line 48 and 50: definitions of�tycho.test.weaving and�tycho.test.jvmArgs were wrapped by a 'helpful' text editor.


After removing the newlines I was able to run the tests. In the three test runs I did, no deadlocks occured.

Now, I'm installing the plugin and checking if it actually works :)

Cheers,
Rafaďż˝

W dniu pi�tek, 1 marca 2013 17:45:46 UTC+1 u�ytkownik Ivan Kuraj napisa�:
Reply all
Reply to author
Forward
0 new messages