"bad symbolic reference" comes and goes

209 views
Skip to first unread message

iulian dragos

unread,
May 23, 2013, 3:41:52 PM5/23/13
to scala-i...@googlegroups.com
It seems that Scala 2.10.0 shows this error.. erroneously. Here's a StackOverflow question:


Note that the missing type is `scala.Either`, and I can't imagine the compiler getting that far without a valid Scala library on the classpath. Similar errors were reported on the IDE issue tracker (more importantly, they "go away" after a clean):


I'm wondering whether this is masking another error, maybe CyclicReference, or some other exception that is caught at some far-away place and converted to a MissingRequirement. I mention it here because I don't have a way to reproduce it, but it seems annoying enough that we should investigate. Maybe the StackOverflow OP will give us a reproducible example..

iulian

--
« Je déteste la montagne, ça cache le paysage »
Alphonse Allais

Jason Zaugg

unread,
May 23, 2013, 3:49:25 PM5/23/13
to scala-i...@googlegroups.com
On Thu, May 23, 2013 at 9:41 PM, iulian dragos <jagu...@gmail.com> wrote:
It seems that Scala 2.10.0 shows this error.. erroneously. Here's a StackOverflow question:


Note that the missing type is `scala.Either`, and I can't imagine the compiler getting that far without a valid Scala library on the classpath. Similar errors were reported on the IDE issue tracker (more importantly, they "go away" after a clean):

I haven't looked into the details, but I'll note that it is scala.util.Either as of 2.10.0.

-jason

Adriaan Moors

unread,
May 23, 2013, 4:04:11 PM5/23/13
to scala-i...@googlegroups.com
Good call, Jason. In my opinion it's a version mismatch problem. I commented as such on SO.


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



--
See you at Scala Days (June 10–12, NYC)!

iulian dragos

unread,
May 24, 2013, 5:22:27 AM5/24/13
to scala-i...@googlegroups.com
On Thu, May 23, 2013 at 10:04 PM, Adriaan Moors <adriaa...@typesafe.com> wrote:
Good call, Jason. In my opinion it's a version mismatch problem. I commented as such on SO.

Not so sure. I still think it *could* be a bug in pickler: there is a `scala.Either` as a type alias in package object Scala. This issue comes up in too many places to be a user error (note the IDE ticket and our customer ticket).

iulian



--

Paul Phillips

unread,
May 24, 2013, 6:26:07 AM5/24/13
to scala-i...@googlegroups.com

On Fri, May 24, 2013 at 2:22 AM, iulian dragos <jagu...@gmail.com> wrote:
Not so sure. I still think it *could* be a bug in pickler: there is a `scala.Either` as a type alias in package object Scala. This issue comes up in too many places to be a user error (note the IDE ticket and our customer ticket).

It does look like it's version mismatch.

% scala210 -cp ./lib_managed/jars/io.spray/spray-util/spray-util-1.0-M3.jar -nc -e 'println(spray.util.EmptyByteArray)'   
error: bad symbolic reference. A signature in package.class refers to term Either
in package scala which is not available.
It may be completely missing from the current classpath, or the version on
the classpath might be incompatible with the version used when compiling package.class.

Other error inductions further support this (there's no "RightProjection" type alias in package object scala.)

warning: creating stub symbol to defer error: bad symbolic reference. A signature in package.class refers to type RightProjection
in value scala.Either which is not available.
It may be completely missing from the current classpath, or the version on
the classpath might be incompatible with the version used when compiling package.class.


Adriaan Moors

unread,
May 24, 2013, 10:20:17 AM5/24/13
to scala-i...@googlegroups.com
As I replied on StackOverflow, the POM for spray-util-1.0-M3 says it's built with Scala 2.9.2... 
Maybe there's also a bug in the pickler, but I don't think this is an example manifestation.


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

Johannes Rudolph

unread,
May 24, 2013, 12:20:58 PM5/24/13
to scala-i...@googlegroups.com
Thanks, Adriaan and Paul. It's exactly like that. It was flying under my SO radar.

Maybe the error message could be amended with more info about which class from which location (not only `package.class` but the jar/path it comes from) it came from and what a likely target jar file would be which seems to be missing the class file / class member (e.g. by package showing JARs which contain the target package but are missing the class file).
Johannes

-----------------------------------------------
Johannes Rudolph
http://virtual-void.net
Reply all
Reply to author
Forward
0 new messages