GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

False Negative in Duplicate Class Files appearing in one or more JAR files

Abierto
#1,402 2 comentarios 0 reacciones 0 asignados Ver en GitHub
bug p3
Lenguaje dominante
Java
Estrellas
163
Forks
80
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

While investigating #1401 , I noticed that there might be a false negative in Linkage Checker.

In attempt to fix the bug (https://github.com/GoogleCloudPlatform/cloud-opensource-java/commit/def9c4ac25304685058630cc79c607bd56479acc), it generated more errors in our BOM dashboard than currently shown in master. Such as

Screen Shot 2020-05-13 at 11 42 35

The class path has two JARs that has `javax.mail.internet.InternetHeaders`.

- In the class path com.google.appengine:appengine-api-1.0-sdk:1.9.71 comes before javax.mail:mail:1.4.3.
- com.google.appengine:appengine-api-1.0-sdk:1.9.71 has `javax.mail.internet.InternetHeaders$InternetHeader`.
- javax.mail:mail:1.4.3 has javax.mail.internet.InternetHeaders. Its inner class `javax.mail.internet.InternetHeaders$matchEnum` references `javax.mail.internet.InternetHeaders$InternetHeader`'s field line

### Javap

appengine-api-1.0-sdk-1.9.71.jar's InternetHeaders does not have line field

```
suztomo-macbookpro44% javap -v -cp /Users/suztomo/.m2/repository/com/google/appengine/
appengine-api-1.0-sdk/1.9.71/appengine-api-1.0-sdk-1.9.71.jar javax/mail/internet/InternetHeaders
|grep line |grep '#'
#115 = Utf8 line
```

mail-1.4.3's `InternetHeaders$matchEnum` references the missing field.
```
suztomo-macbookpro44% javap -v -cp /Users/suztomo/.m2/repository/javax/mail/mail/1.4.3/mail-
1.4.3.jar 'javax/mail/internet/InternetHeaders$matchEnum' |grep line |grep '#'
#6 = Fieldref #21.#65 // javax/mail/internet/InternetHeaders$matchEnum.want_line:Z
#12 = Fieldref #19.#71 // javax/mail/internet/InternetHeaders$InternetHeader.line:Ljava/lang/String;
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.