When building my Spoofax language via the command line, it tells me that it has problems downloading one of the artifacts (wrong MD5 hash). It seems to be the same artifact each time (org.strategoxt.imp.debug.stratego.core). I’ll try this at home later again because we have more problems downloading Spoofax from the Oracle office. For example, since a few weeks or months it is no longer possible to use the Eclipse update site to install Spoofax because the connection is so bad that it times-out half-way through the download. Not sure though if this is an issue with our connection or with the Spoofax server. We don’t have problems downloading other software.

[INFO] Fetching org.spoofax.interpreter.library.index_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.spoofax.interpreter.library.interpreter_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.spoofax.interpreter.library.java_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.spoofax.interpreter.library.xml_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.spoofax.interpreter.ui_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.strategoxt.imp.debug.core_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.strategoxt.imp.debug.stratego.core_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (0B at 0B/s)
[INFO] Fetching org.strategoxt.imp.debug.stratego.core_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (4kB at 4kB/s)
[INFO] Fetching org.strategoxt.imp.debug.stratego.core_1.5.0.20150922-170459-master.jar from http://download.spoofax.org/update/nightly/plugins/ (6.7kB at 1B/s)
[ERROR] An error occurred while transferring artifact canonical: osgi.bundle,org.strategoxt.imp.debug.stratego.core,1.5.0.20150922-170459-master from repository http://download.spoofax.org/update/nightly:
[ERROR]    Problems downloading artifact: osgi.bundle,org.strategoxt.imp.debug.stratego.core,1.5.0.20150922-170459-master.:
[ERROR]       MD5 hash is not as expected. Expected: 4ba2a4c87310aa9d4a2e5a565cf1abdc and found c16e59680980e15c3eb6454b5624f118.
[ERROR] Internal error: org.eclipse.tycho.repository.local.MirroringArtifactProvider$MirroringFailedException: Could not mirror artifact osgi.bundle,org.strategoxt.imp.debug.stratego.core,1.5.0.20150922-170459-master into the local Maven repository.See log output for details. -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: org.eclipse.tycho.repository.local.MirroringArtifactProvider$MirroringFailedException: Could not mirror artifact osgi.bundle,org.strategoxt.imp.debug.stratego.core,1.5.0.20150922-170459-master into the local Maven repository.See log output for details.

Also, I don’t understand why Maven is even download 1.5.0 artifacts since my pom only specifies 1.4.1. This is a somewhat separate issue though.

<parent>
  <groupId>org.metaborg</groupId>
  <artifactId>org.metaborg.maven.parent.language</artifactId>
  <version>1.4.1</version>
  <relativePath/>
</parent>
Submitted by Oskar van Rest on 28 October 2015 at 00:33
output.txt28 October 2015 at 00:46

On 28 October 2015 at 00:46 Oskar van Rest commented:

See attached file for the complete output after deleting my local Maven repository.


On 28 October 2015 at 09:59 Jeff Smits commented:

Are you sure this isn’t the Oracle proxy server problem that Martin and I ran into some time ago?
It is strange that this problem only occurs with the metaborg stuff. But AFAIK it’s really the Oracle proxy server.


On 28 October 2015 at 10:03 Gabriël Konat commented:

It’s downloading 1.5.0-SNAPSHOT because in your Maven settings file (~/.m2/settings.xml), the nightly update site is used, instead of the stable update site. If you want to use 1.4.1 you need to use the stable update site in the settings file. For the MD5 errors, I just tried it locally and it works here. I recall the Oracle proxy sometimes marking things as a virus and stopping the download. Can you try without the proxy?


On 28 October 2015 at 18:13 Oskar van Rest commented:

Without proxy works fine. Unfortunately I don’t have a wireless adapter on my work desktop though so I cannot go around the proxy, but if these problems are indeed caused by our firewall then there’s nothing Spoofax can do :-)

It’s a bit weird though if our firewall would be non-deterministic and only blocks things sometimes :s

BTW. I think my Maven settings are good. It has both stable and nightly, so Maven should be able to figure out where to download 1.4.1 from. It woks on my laptop but on my desktop it downloads 1.4.1 and then it also downloads 1.5.0.SNAPSHOT from nightly for whatever reason . Anyway, most likely not a Spoofax issue either. Closing this ticket…


On 28 October 2015 at 18:13 Oskar van Rest closed this issue.

On 30 October 2015 at 02:39 Oskar van Rest commented:

We try to host PGQL on the Oracle Artifactory, but it gets denied because the following Spoofax-generated class is a “virus” once compiled into a .class file. But the other 2179 generated classes are fine apparently.
Even changing the file-name / extension doesn’t help.

package trans;

import org.strategoxt.stratego_lib.*;
import org.strategoxt.stratego_lib.*;
import org.strategoxt.stratego_sglr.*;
import org.strategoxt.stratego_gpp.*;
import org.strategoxt.stratego_xtc.*;
import org.strategoxt.stratego_aterm.*;
import org.strategoxt.lang.parallel.stratego_parallel.*;
import org.strategoxt.java_front.*;
import oracle.pgql.lang.strategies.*;
import org.strategoxt.lang.*;
import org.spoofax.interpreter.terms.*;
import static org.strategoxt.lang.Term.*;
import org.spoofax.interpreter.library.AbstractPrimitive;
import java.util.ArrayList;
import java.lang.ref.WeakReference;

@SuppressWarnings("all") final class lifted19663 extends Strategy 
{ 
  TermReference n_110747;

  TermReference o_110747;

  TermReference p_110747;

  TermReference f_110747;

  @Override public IStrategoTerm invoke(Context context, IStrategoTerm term)
  { 
    Fail61032:
    { 
      term = task_api_evaluate_scheduled_3_0.instance.invoke(context, term, lifted19664.instance, insert_results_hashmap_0_1.instance, task_perform_task_0_1.instance);
      if(term == null)
	break Fail61032;
      if(term.getTermType() != IStrategoTerm.TUPLE || term.getSubtermCount() != 3)
	break Fail61032;
      if(n_110747.value == null)
	n_110747.value = term.getSubterm(0);
      else
	if(n_110747.value != term.getSubterm(0) && !n_110747.value.match(term.getSubterm(0)))
	  break Fail61032;
      if(o_110747.value == null)
	o_110747.value = term.getSubterm(1);
      else
	if(o_110747.value != term.getSubterm(1) && !o_110747.value.match(term.getSubterm(1)))
	  break Fail61032;
      if(p_110747.value == null)
	p_110747.value = term.getSubterm(2);
      else
	if(p_110747.value != term.getSubterm(2) && !p_110747.value.match(term.getSubterm(2)))
	  break Fail61032;
      if(f_110747.value == null)
	break Fail61032;
      term = map_1_0.instance.invoke(context, f_110747.value, analysis_collect_legacy_messages_0_0.instance);
      if(term == null)
	break Fail61032;
      if(true)
	return term;
    }
    return null;
  }
}

On 19 May 2016 at 22:02 Oskar van Rest commented:

Haven’t been experiencing these problems anymore. Must have been fixed with Spoofax 2.0 or maybe they have updated the scanner over here.

Log in to post comments