bugzilla.mozilla.org has resumed normal operation. Attachments prior to 2014 will be unavailable for a few days. This is tracked in Bug 1475801.
Please report any other irregularities here.

Reorganize org.mozilla.gecko.mozglue.generatorannotations package

RESOLVED FIXED

Status

()

Firefox for Android
General
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: jchen, Assigned: capella)

Tracking

Trunk
All
Android
Points:
---

Firefox Tracking Flags

(firefox42 affected)

Details

Attachments

(4 attachments, 1 obsolete attachment)

(Reporter)

Description

3 years ago
org.mozilla.gecko.mozglue.generatorannotations package contains:

* OptionalGeneratedParameter, which no longer has any meaning so it should be removed.

* WrapElementForJNI, which is used, but the import name is too long to memorize, so it should probably move to another package like org.mozilla.gecko.jni.WrapForJNI, or org.mozilla.gecko.JNIMember.

* WrapEntireClassForJNI, which is similar to WrapElementForJNI and I think can be merged with WrapElementForJNI.
(Assignee)

Comment 1

3 years ago
Created attachment 8643893 [details] [diff] [review]
bug1191161_p1.diff

This seems to solve for the final issue: Merge WrapEntireClassForJNI into WrapElementForJNI
Attachment #8643893 - Flags: review?(nchen)
(Assignee)

Comment 2

3 years ago
Created attachment 8643915 [details] [diff] [review]
bug1191161_p2.diff

Resolves: Remove OptionalGeneratedParameter
Attachment #8643915 - Flags: review?(nchen)
(Reporter)

Comment 3

3 years ago
Comment on attachment 8643893 [details] [diff] [review]
bug1191161_p1.diff

Review of attachment 8643893 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM with a nit.

::: mobile/android/config/proguard/proguard.cfg
@@ +191,5 @@
>      @org.mozilla.gecko.mozglue.generatorannotations.WrapElementForJNI <fields>;
>  }
>  
> +# Keep all members of an annotated class.
> +-keepclassmembers @org.mozilla.gecko.mozglue.generatorannotations.WrapElementForJNI class * {

I think you still need this line,

> -keep @org.mozilla.gecko.mozglue.generatorannotations.WrapElementForJNI class *

i.e. "-keep" is different from "-keepclassmembers", which you've kept (heh).
Attachment #8643893 - Flags: review?(nchen) → review+
(Reporter)

Updated

3 years ago
Attachment #8643915 - Flags: review?(nchen) → review+
(Assignee)

Comment 4

3 years ago
re: I think you still need this line ...
-keep @org.mozilla.gecko.mozglue.generatorannotations.WrapElementForJNI class *

That previously exists in the config rules, up a few lines not shown in the diff here (let me know if I misunderstand ... proguard is a new area for me)

Also, I'll be updating that patch bug1191161_p1.diff due to new uses of |@WrapEntireClassForJNI| recently introduced here:
https://hg.mozilla.org/mozilla-central/rev/c5e9a116e559
(Assignee)

Comment 5

3 years ago
Created attachment 8643976 [details] [diff] [review]
bug1191161_p3.diff

Rename / Shorten WrapElementForJNI to WrapForJNI ... using same package |org.mozilla.gecko.mozglue| as RobocopTarget, WebRTCJNITarget, NativeZip, etc.
Assignee: nobody → markcapella
Status: NEW → ASSIGNED
Attachment #8643976 - Flags: review?(nchen)
(Reporter)

Comment 6

3 years ago
(In reply to Mark Capella [:capella] from comment #4)
> re: I think you still need this line ...
> -keep @org.mozilla.gecko.mozglue.generatorannotations.WrapElementForJNI
> class *
> 
> That previously exists in the config rules, up a few lines not shown in the
> diff here (let me know if I misunderstand ... proguard is a new area for me)
> 
> Also, I'll be updating that patch bug1191161_p1.diff due to new uses of
> |@WrapEntireClassForJNI| recently introduced here:
> https://hg.mozilla.org/mozilla-central/rev/c5e9a116e559

Sorry, you're right!
(Reporter)

Comment 7

3 years ago
Comment on attachment 8643976 [details] [diff] [review]
bug1191161_p3.diff

Review of attachment 8643976 [details] [diff] [review]:
-----------------------------------------------------------------

Any reason for org.mozilla.gecko.mozglue? I think I'd rather see it (and all the *Target annotations) be moved to a "org.mozilla.gecko.annotation" package. That is in line with java.annotation, android.annotation, etc.
(Assignee)

Comment 8

3 years ago
My un-familiarity with the moz.build / packaging system a.t.m. ... hhhmmmmm ....
(Reporter)

Comment 9

3 years ago
You can try moving the annotation java files under mobile/android/base/annoation, and then add them under "constants_jar.sources" in mobile/android/base/moz.build (and remove from mgjar.sources). That should keep the dependencies working.

I guess technically they should go inside annotation.jar or something, but since they are all self-contained classes without external dependencies, I think constants.jar is good enough.

Also, WrapForJNI should have CLASS as its RetentionPolicy like the others, because we don't use it reflectively.
(Assignee)

Comment 10

3 years ago
hmmmm, my initial attempt was to create a new jar, so I tried your approach. Unfortunately they both lead to the same errors ... probably something simple but I haven't figured it out yet ... basically results in build-time error messages along the lines below...

Still poking at it ...

.bundled.proguard.deps
ProGuard, version 4.7

Reading input...
Reading program jar [/home/master/android-sdk-linux/extras/android/support/v4/android-support-v4.jar]
Reading program jar [/home/master/android-sdk-linux/extras/android/support/v7/recyclerview/libs/android-support-v7-recyclerview.jar]
Reading program jar [/home/master/android-sdk-linux/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar]
Reading program jar [/home/master/android-sdk-linux/extras/android/support/v7/mediarouter/libs/android-support-v7-mediarouter.jar]
Reading program jar [/home/master/android-sdk-linux/extras/android/support/v7/appcompat/libs/android-support-v7-appcompat.jar]
Reading library jar [/home/master/android-sdk-linux/platforms/android-22/android.jar]
Reading library jar [/home/master/mozilla-central-droid/mobile/android/base/gecko-R.jar]

Initializing...
Note: com.google.android.gms.maps.internal.zzy: can't find dynamically referenced class com.google.android.gms.maps.internal.CreatorImplGmm6
Note: com.google.android.gms.maps.internal.zzy: can't find dynamically referenced class com.google.android.gms.maps.internal.CreatorImpl
Note: com.google.android.gms.ads.internal.purchase.zzb accesses a declared method 'asInterface(android.os.IBinder)' dynamically
Note: com.google.android.gms.common.internal.DowngradeableSafeParcel accesses a field 'NULL' dynamically
      Maybe this is program field 'com.google.android.gms.common.internal.safeparcel.SafeParcelable { 

java.lang.String NULL; }'
      Maybe this is library field 'android.util.JsonToken { android.util.JsonToken NULL; }'
      Maybe this is library field 'java.sql.Types { int NULL; }'
      Maybe this is library field 'org.json.JSONObject { java.lang.Object NULL; }'
Note: there were 2 unresolved dynamic references to classes or interfaces.
      You should check if you need to specify additional program jars.
Note: there were 2 accesses to class members by means of introspection.
      You should consider explicitly keeping the mentioned class members
      (using '-keep' or '-keepclassmembers').

Ignoring unused library classes...
  Original number of library classes: 3768
  Final number of library classes:    1198

Obfuscating...
Writing output...

Preparing output directory [/home/master/mozilla-central-droid/mobile/android/base/bundled-jars-nodebug]
  Copying resources from program jar [/home/master/android-sdk-linux/extras/android/support/v4/android-support-v4.jar]
  Copying resources from program jar [/home/master/android-sdk-linux/extras/android/support/v7/recyclerview/libs/android-support-v7-recyclerview.jar]
  Copying resources from program jar [/home/master/android-sdk-linux/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar]
  Copying resources from program jar [/home/master/android-sdk-linux/extras/android/support/v7/mediarouter/libs/android-support-v7-mediarouter.jar]
  Copying resources from program jar [/home/master/android-sdk-linux/extras/android/support/v7/appcompat/libs/android-support-v7-appcompat.jar]

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

webrtc.jar
search-activity.jar

gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI': class file for org.mozilla.gecko.annotation.WrapForJNI not found

gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'noThrow()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'stubName()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'narrowChars()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'allowMultithread()' in type 'WrapForJNI'
gecko-browser.jar(org/mozilla/gecko/GeckoAppShell.class): warning: Cannot find annotation method 'narrowChars()' in type 'WrapForJNI'

error: warnings found and -Werror specified

Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI': class file for org.mozilla.gecko.annotation.WrapForJNI not found

Cannot find annotation method 'noThrow()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
...
...
...
(Assignee)

Comment 11

3 years ago
Ok, I found the issue for comment #10 above, but now have a new one re: NativeZip generating differently ... looking into that :-)

Also, patches P1 and p2 pushed to try and look good ... gonna move them ahead
https://treeherder.mozilla.org/#/jobs?repo=try&revision=d74d869228ba
(Assignee)

Comment 13

3 years ago
Created attachment 8644184 [details] [diff] [review]
bug1191161_p3.diff

Ok, this starts by renaming WrapElementForJNI to WrapForJNI, and moving it to annotations.

I wasn't able to use your suggestion from comment #9 |WrapForJNI should have CLASS as its RetentionPolicy| ... after doing that, during build, the AnnotationProcessor spits out completely empty files for: GeneratedJNINatives.h, GeneratedJNIWrappers.h, and GeneratedJNIWrappers.cpp.

Also, oddly, in this new version, during build, the AnnotationProcessor removes some glue from GeneratedJNIWrappers.h and GeneratedJNIWrappers.cpp regarding the NativeZip::CreateInputStream() method. I pulled my hair out for a while trying to figure out what I'd broke, but then took a hunch and just built this way, and \o/ ... the stupid thing works (?)

Finally, being curious, I tried swapping @WrapForJNI with @JNITarget there, and wound up with identical results... so... meh ??
Attachment #8643976 - Attachment is obsolete: true
Attachment #8643976 - Flags: review?(nchen)
Attachment #8644184 - Flags: review?(nchen)
(Assignee)

Updated

3 years ago
Whiteboard: [leave open]
(Reporter)

Comment 14

3 years ago
Comment on attachment 8644184 [details] [diff] [review]
bug1191161_p3.diff

Review of attachment 8644184 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM! Asking :nalexander for stamp on moz.build/proguard.cfg changes.

(In reply to Mark Capella [:capella] from comment #13)
> Created attachment 8644184 [details] [diff] [review]
> bug1191161_p3.diff
> 
> Ok, this starts by renaming WrapElementForJNI to WrapForJNI, and moving it
> to annotations.
> 
> I wasn't able to use your suggestion from comment #9 |WrapForJNI should have
> CLASS as its RetentionPolicy| ... after doing that, during build, the
> AnnotationProcessor spits out completely empty files for:
> GeneratedJNINatives.h, GeneratedJNIWrappers.h, and GeneratedJNIWrappers.cpp.

Sorry, I forgot we do use this annotation reflectively during processing.

> Also, oddly, in this new version, during build, the AnnotationProcessor
> removes some glue from GeneratedJNIWrappers.h and GeneratedJNIWrappers.cpp
> regarding the NativeZip::CreateInputStream() method. I pulled my hair out
> for a while trying to figure out what I'd broke, but then took a hunch and
> just built this way, and \o/ ... the stupid thing works (?)
>
> Finally, being curious, I tried swapping @WrapForJNI with @JNITarget there,
> and wound up with identical results... so... meh ??

Cool. Not sure why it's not generating, but in any case, NativeZip::CreateInputStream should actually be using @JNITarget, and not @WrapForJNI.

@WrapForJNI creates wrappers in GeneratedJNIWrappers and @JNITarget doesn't; otherwise they're the same. In this case, mozglue has its own wrapper for NativeZip::CreateInputStream, so we don't actually need a generated wrapper.

::: mobile/android/base/mozglue/NativeZip.java
@@ +68,5 @@
>      private static native long getZipFromByteBuffer(ByteBuffer buffer);
>      private static native void _release(long obj);
>      private native InputStream _getInputStream(long obj, String path);
>  
> +    @WrapForJNI

Change to @JNITarget

::: mobile/android/base/util/NativeJSContainer.java
@@ +15,5 @@
>   * A container must only be used on the thread it is attached to. To use it on another
>   * thread, call {@link #clone()} to make a copy, and use the copy on the other thread.
>   * When a copy is first used, it becomes attached to the thread using it.
>   */
>  @JNITarget

You can remove @JNITarget here

::: mobile/android/base/util/NativeJSObject.java
@@ +14,5 @@
>  /**
>   * NativeJSObject is a wrapper around the SpiderMonkey JSAPI to make it possible to
>   * access Javascript objects in Java.
>   */
>  @JNITarget

You can remove @JNITarget here
Attachment #8644184 - Flags: review?(nchen)
Attachment #8644184 - Flags: review?(nalexander)
Attachment #8644184 - Flags: review+
(Reporter)

Updated

3 years ago
Blocks: 1191872
Comment on attachment 8644184 [details] [diff] [review]
bug1191161_p3.diff

Review of attachment 8644184 [details] [diff] [review]:
-----------------------------------------------------------------

r+ for build/PG stuff.  I was hoping to prevent bleed into constants.jar over time, but whatever.
Attachment #8644184 - Flags: review?(nalexander) → review+
(Assignee)

Updated

3 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Whiteboard: [leave open]
Hey folks, this was mentioned above (without resolution?) and looks really bad:

09:47:13     INFO -  /usr/bin/jar cMf webrtc.jar -C webrtc-classes .
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI': class file for org.mozilla.gecko.annotation.WrapForJNI not found
09:47:13     INFO -  Cannot find annotation method 'noThrow()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'narrowChars()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'narrowChars()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'allowMultithread()' in type 'org.mozilla.gecko.annotation.WrapForJNI'
09:47:13     INFO -  Cannot find annotation method 'stubName()' in type 'org.mozilla.gecko.annotation.WrapForJNI'


Explain to me why this is happening and how we can silence this noise.
Flags: needinfo?(nchen)
Flags: needinfo?(markcapella)
(Reporter)

Comment 21

3 years ago
Created attachment 8645993 [details] [diff] [review]
Followup to fix wrong annotation classpath (v1)

Looks some classpaths needed updating. More specifically, the warnings were from the "javah" step during code autogeneration, so turns out it wasn't particularly serious.
Attachment #8645993 - Flags: review?(nalexander)
(Reporter)

Updated

3 years ago
Flags: needinfo?(nchen)
Flags: needinfo?(markcapella)
Comment on attachment 8645993 [details] [diff] [review]
Followup to fix wrong annotation classpath (v1)

If it quiets the warnings, works for me.
Attachment #8645993 - Flags: review?(nalexander) → review+
You need to log in before you can comment on or make changes to this bug.