Package: groovy
Version: 1.8.6-1
Severity: normal

Hi,

Using groovy to generate code in XBMC build fails.

Steps to reproduce:
apt-get -t experimental groovy
apt-get build-dep xbmc
dget http://http.debian.net/debian/pool/main/x/xbmc/xbmc_12.3+dfsg1-1.dsc
# if extraction fails
dpkg-source -x xbmc_12.3+dfsg1-1.dsc
cd xbmc-12.3+dfsg1/
sed -i 's/groovyc/# groovyc/' codegenerator.mk
make -f codegenerator.mk

Result:
...
groovy -cp 
"/usr/share/java/groovy-all-1.8.6.jar:/usr/share/java/commons-lang-2.6.jar:./tools/codegenerator:xbmc/interfaces/python"
\
        ./tools/codegenerator/Generator.groovy
xbmc/interfaces/python/generated/AddonModuleXbmc.xml
xbmc/interfaces/python/PythonSwig.cpp.template
xbmc/interfaces/python/generated/AddonModuleXbmc.cpp
xbmc/interfaces/python/generated/doxygenxml
[xbmc/interfaces/python/generated/AddonModuleXbmc.xml,
xbmc/interfaces/python/PythonSwig.cpp.template,
xbmc/interfaces/python/generated/AddonModuleXbmc.cpp,
xbmc/interfaces/python/generated/doxygenxml]
Caught: groovy.lang.MissingMethodException: No signature of method:
java.lang.String.name() is applicable for argument types: () values:
[]
Possible solutions: take(int), any(), any(groovy.lang.Closure),
wait(), size(), next()
groovy.lang.MissingMethodException: No signature of method:
java.lang.String.name() is applicable for argument types: () values:
[]
Possible solutions: take(int), any(), any(groovy.lang.Closure),
wait(), size(), next()
    at Helper$_retrieveDocStringFromDoxygen_closure1.doCall(Helper.groovy:109)
    at Helper.retrieveDocStringFromDoxygen(Helper.groovy:108)
    at Helper$_transformSwigXml_closure14.doCall(Helper.groovy:484)
    at Helper.transformSwigXml(Helper.groovy:479)
    at Helper$transformSwigXml$0.call(Unknown Source)
    at Generator.run(Generator.groovy:61)
make: *** [xbmc/interfaces/python/generated/AddonModuleXbmc.cpp] Error 1

groovy 1.8.6-1 from unstable fails differently:
...
groovy -cp 
"/usr/share/java/groovy-all-1.8.6.jar:/usr/share/java/commons-lang-2.6.jar:./tools/codegenerator:xbmc/interfaces/python"
\
        ./tools/codegenerator/Generator.groovy
xbmc/interfaces/python/generated/AddonModuleXbmc.xml
xbmc/interfaces/python/PythonSwig.cpp.template
xbmc/interfaces/python/generated/AddonModuleXbmc.cpp
xbmc/interfaces/python/generated/doxygenxml
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/root/xbmc-12.3+dfsg1/tools/codegenerator/Generator.groovy: 26: unable
to resolve class Helper
 @ line 26, column 1.
   import Helper
   ^

1 error

make: *** [xbmc/interfaces/python/generated/AddonModuleXbmc.cpp] Error 1

But it gives less clue about the actual problem.
Trying different JREs gives more hint:
 gij-4.8 -cp 
"/usr/share/java/groovy-all-1.8.6.jar:/usr/share/java/commons-lang-2.6.jar:./tools/codegenerator:xbmc/interfaces/python"
  groovy.ui.GroovyMain  ./tools/codegenerator/Generator.groovy
xbmc/interfaces/python/generated/AddonModuleXbmc.xml
xbmc/interfaces/python/PythonSwig.cpp.template
xbmc/interfaces/python/generated/AddonModuleXbmc.cpp
xbmc/interfaces/python/generated/doxygenxml
java.lang.ExceptionInInitializerError
   at java.lang.Class.initializeClass(libgcj.so.14)
   at 
org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:107)
   at 
org.codehaus.groovy.reflection.ReflectionCache.<clinit>(ReflectionCache.java:52)
   at java.lang.Class.initializeClass(libgcj.so.14)
   at 
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:161)
   at 
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:83)
   at 
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:61)
   at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:29)
   at java.lang.Class.initializeClass(libgcj.so.14)
   at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:49)
   at java.lang.Class.initializeClass(libgcj.so.14)
   at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
   at groovy.lang.Binding.<init>(Binding.java:34)
   at groovy.lang.GroovyShell.<init>(GroovyShell.java:70)
   at groovy.ui.GroovyMain.processOnce(GroovyMain.java:544)
   at groovy.ui.GroovyMain.run(GroovyMain.java:337)
   at groovy.ui.GroovyMain.process(GroovyMain.java:323)
   at groovy.ui.GroovyMain.processArgs(GroovyMain.java:120)
   at groovy.ui.GroovyMain.main(GroovyMain.java:100)
Caused by: java.lang.NullPointerException
   at java.lang.ref.Reference.<init>(libgcj.so.14)
   at java.lang.ref.WeakReference.<init>(libgcj.so.14)
   at org.codehaus.groovy.reflection.ClassInfo.<clinit>(ClassInfo.java:413)
   at java.lang.Class.initializeClass(libgcj.so.14)
   ...18 more
Caught: java.lang.NoClassDefFoundError:
org.codehaus.groovy.reflection.ReflectionCache
java.lang.NoClassDefFoundError: org.codehaus.groovy.reflection.ReflectionCache
   <<No stacktrace available>>

I started working on a fix handling the exceptions somewhere, but now
I think caching signatures from java.lang and other system packages is
simply not portable.

Cheers,
Balint


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.11-0.bpo.2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages groovy depends on:
ii  antlr                          2.7.7+dfsg-5
ii  default-jre [java6-runtime]    1:1.7-50
ii  default-jre-headless           1:1.7-50
ii  ivy                            2.3.0-3
ii  junit4                         4.11-2
ii  libasm4-java                   4.1-3
ii  libbsf-java                    1:2.4.0-5
ii  libcommons-cli-java            1.2-3
ii  libcommons-logging-java        1.1.3-1
ii  libjansi-java                  1.4-3
ii  libjline2-java                 2.11-2
ii  libqdox-java                   1.12-1
ii  libservlet2.5-java             6.0.37-1
ii  libxstream-java                1.4.4-1
ii  openjdk-7-jre [java6-runtime]  7u45-2.4.3-4

Versions of packages groovy recommends:
ii  ant                   1.9.2-1
ii  ant-optional          1.9.2-1
pn  libgpars-groovy-java  <none>
ii  libjcommander-java    1.32-1
ii  testng                6.8.7-2

Versions of packages groovy suggests:
pn  groovy-doc  <none>

-- no debconf information

__
This is the maintainer address of Debian's Java team
<http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>. 
Please use
debian-j...@lists.debian.org for discussions and questions.

Reply via email to