Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-4919

Categories sometimes not applied

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.8.0
    • None
    • groovy-jdk
    • Debian Lenny Linux

    Description

      Since upgrading http://media.io to Groovy 1.8.0, I very rarely get these exceptions:

      groovy.lang.MissingMethodException: No signature of method: java.lang.String.shaHex() is applicable for argument types: () values: []
      Possible solutions: size(), charAt(int), isCase(java.lang.Object), isCase(java.lang.Object), sleep(long), sleep(long, groovy.lang.Closure)
      	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
      	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
      	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
      	at media.entities.Info$_getCleanName_closure1.doCall(Info.groovy:87)
      

      The code in Info.groovy uses categories together with commons-codec and looks like this:

      @EqualsAndHashCode(excludes = 'size,outputName,outputSize,format,progress,downloaded,tags')
      class Info implements Serializable {
          
          private static final long serialVersionUID = 3L
          
          String name
      ...
          String getCleanName(String extension) {
              use (DigestUtils) { extension ? new StringBuilder(49).append(name.shaHex()).append('.').append(extension) : name.shaHex() }
          }
          
      }
      

      My guess is that this happens less frequently than every 50000 calls so it's hard for me to reproduce.

      Any ideas? Could this be a thread-safety thing?

      Attachments

        Activity

          People

            Unassigned Unassigned
            johann Johann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: