All users were logged out of Bugzilla on October 13th, 2018

Building Adjust sdk broken on beta 51, keeping mozilla-beta closed

RESOLVED FIXED in Firefox 51

Status

()

P1
blocker
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: philor, Assigned: ahunt)

Tracking

51 Branch
Firefox 53
Points:
---

Firefox Tracking Flags

(firefox51blocking fixed, firefox52 fixed, firefox53 fixed)

Details

(Whiteboard: [MobileAS])

Attachments

(1 attachment, 2 obsolete attachments)

(Reporter)

Description

2 years ago
Last thing keeping beta closed and keeping us from being able to ship the first beta of 51.

Once bug 1317359 made it possible to actually build Adjust, we now have https://treeherder.mozilla.org/logviewer.html#?job_id=1922227&repo=mozilla-beta

 02:57:31     INFO -  Exception in thread "main" java.lang.NoClassDefFoundError: com/adjust/sdk/OnAttributionChangedListener
 02:57:31     INFO -  	at java.lang.ClassLoader.defineClass1(Native Method)
 02:57:31     INFO -  	at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
 02:57:31     INFO -  	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 02:57:31     INFO -  	at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
 02:57:31     INFO -  	at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
 02:57:31     INFO -  	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
 02:57:31     INFO -  	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 02:57:31     INFO -  	at java.security.AccessController.doPrivileged(Native Method)
 02:57:31     INFO -  	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 02:57:31     INFO -  	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
 02:57:31     INFO -  	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
 02:57:31     INFO -  	at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
 02:57:31     INFO -  	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
 02:57:31     INFO -  	at org.mozilla.gecko.annotationProcessors.classloader.JarClassIterator.fillLookAheadIfPossible(JarClassIterator.java:51)
 02:57:31     INFO -  	at org.mozilla.gecko.annotationProcessors.classloader.JarClassIterator.hasNext(JarClassIterator.java:27)
 02:57:31     INFO -  	at org.mozilla.gecko.annotationProcessors.AnnotationProcessor.main(AnnotationProcessor.java:84)
 02:57:31     INFO -  Caused by: java.lang.ClassNotFoundException: com.adjust.sdk.OnAttributionChangedListener
 02:57:31     INFO -  	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
 02:57:31     INFO -  	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 02:57:31     INFO -  	at java.security.AccessController.doPrivileged(Native Method)
 02:57:31     INFO -  	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 02:57:31     INFO -  	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
 02:57:31     INFO -  	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
 02:57:31     INFO -  	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
 02:57:31     INFO -  	... 16 more
 02:57:32     INFO -  gmake[5]: *** [GeneratedJNIWrappers.cpp] Error 1
(Reporter)

Comment 1

2 years ago
[Tracking Requested - why for this release]:

Because it's making releasing it impossible.
tracking-firefox51: --- → ?
Sebastian can you help find someone to work on this? It is blocking 51 beta 1 mobile.
status-firefox51: --- → affected
tracking-firefox51: ? → blocking
Flags: needinfo?(s.kaspari)
Brad, maybe you can suggest someone to investigate/fix this. I'm not sure who to needinfo to.
Flags: needinfo?(blassey.bugs)
Sebastian is the right person to ask
Flags: needinfo?(blassey.bugs)
It looks like we do not include the Adjust code at all - which depends on MOZ_INSTALL_TRACKING being set at this point:
https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/moz.build#1007-1044

I'll have a look, but I'll also flag Chris who might already know what's going on here.
Flags: needinfo?(s.kaspari) → needinfo?(cmanchester)
Andrzej is actually already working on fixing this.
Assignee: nobody → ahunt
Flags: needinfo?(cmanchester)
(Assignee)

Comment 7

2 years ago
Created attachment 8811162 [details] [diff] [review]
Part 1: fix annotation processing by including appropriate jars at each stage
(Assignee)

Comment 8

2 years ago
Created attachment 8811163 [details] [diff] [review]
Part 2: reduce field wastage to not exceed dex field limit
(Assignee)

Comment 9

2 years ago
These two patches allow me to build beta locally, and are intended for applying directly to beta. 

Part 1 contains build changes that will probably need to be landed on central/aurora too before the next merge day, I don't know if the patch I've uploaded would even apply to central/aurora (there's a lot of work going on in the geckoview area, which I'm not entirely up to date on).

Part 2 already exists on nightly/aurora (52/53) as Bug 1306021.

We should probably look into producing builds with adjust enabled on central/aurora to prevent this issue from hitting us again. Sebastian suggested running builds with the beta/release configuration on central/aurora, which would allow us to verify that we don't break anything that might only be enabled with the release config. (Adjust is however the most significant difference, and adds a large chunk of code that is only built on beta/release.)
Comment hidden (mozreview-request)
(Assignee)

Updated

2 years ago
Attachment #8811179 - Flags: review?(s.kaspari)
Comment hidden (mozreview-request)
(Assignee)

Updated

2 years ago
Attachment #8811162 - Attachment is obsolete: true
(Assignee)

Updated

2 years ago
Attachment #8811163 - Attachment is obsolete: true

Comment 12

2 years ago
mozreview-review
Comment on attachment 8811179 [details]
Bug 1317880 - Move adjust and thirdparty jars into GECKOVIEW_JARS to fix annotation processing

https://reviewboard.mozilla.org/r/93388/#review93422
Attachment #8811179 - Flags: review?(s.kaspari) → review+

Comment 13

2 years ago
Pushed by ahunt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6b7c1986d7ec
Move adjust and thirdparty jars into GECKOVIEW_JARS to fix annotation processing r=sebastian
(Assignee)

Comment 14

2 years ago
Comment on attachment 8811179 [details]
Bug 1317880 - Move adjust and thirdparty jars into GECKOVIEW_JARS to fix annotation processing

Approval Request Comment
[Feature/regressing bug #]: Probably Bug 1291375 
[User impact if declined]: can't build beta (== can't build with adjust enabled)
[Describe test coverage new/current, TreeHerder]: manual local builds of both m-c and beta (beta with adjust enabled, m-c without).
[Risks and why]: Medium risk, build system changes that involve moving jars around between GeckoView and Fennec.
[String/UUID change made/needed]: none.
Attachment #8811179 - Flags: approval-mozilla-beta?
Attachment #8811179 - Flags: approval-mozilla-aurora?
(Assignee)

Updated

2 years ago
Status: NEW → ASSIGNED
Iteration: --- → 1.9
Priority: -- → P1
Whiteboard: [MobileAS]
Comment on attachment 8811179 [details]
Bug 1317880 - Move adjust and thirdparty jars into GECKOVIEW_JARS to fix annotation processing

Fix a blocker for building fennec 51 beta. Beta51+ and Aurora52+.
Attachment #8811179 - Flags: approval-mozilla-beta?
Attachment #8811179 - Flags: approval-mozilla-beta+
Attachment #8811179 - Flags: approval-mozilla-aurora?
Attachment #8811179 - Flags: approval-mozilla-aurora+

Updated

2 years ago
status-firefox52: --- → affected

Comment 16

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/6b7c1986d7ec
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
status-firefox53: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 53

Comment 17

2 years ago
bugherderuplift
https://hg.mozilla.org/releases/mozilla-beta/rev/d84659c9d929
status-firefox51: affected → fixed

Comment 18

2 years ago
bugherderuplift
https://hg.mozilla.org/releases/mozilla-aurora/rev/f52c628bce82
status-firefox52: affected → fixed
You need to log in before you can comment on or make changes to this bug.