Bug 1720682

Summary: Binary build-id conflicts with RCP application
Product: [Fedora] Fedora Reporter: Jie Kang <jkang>
Component: eclipseAssignee: Mat Booth <mat.booth>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: akurtako, andjrobins, dbhole, ebaron, eclipse-sig, jerboaa, jjohnstn, lef, mat.booth, neugens, rgrunber, sasiddiq, sgehwolf
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: eclipse-2019_06-3020190807134759.6ebe2c0f Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-15 18:10:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1718921    

Description Jie Kang 2019-06-14 14:15:18 UTC
When trying to install either of the updates to jmc:latest or jmc:7 [1], the installation fails with e.g.

file /usr/lib/.build-id/43/6307dc22dd874edd6c0bf49cd1d43b3b1980b2 conflicts between attempted installs of jmc-7.1.0-2.20190524hg4c9efa5eb5b8.module_f30+4549+4157fe94.x86_64 and eclipse-platform-1:4.11-4.fc30.x86_64


This build-id links to /usr/lib/jmc/jmc* for package: jmc
This build-id links to /usr/lib/eclipse/eclipse* for package: eclipse-platform

This issue is new and prevents installation of jmc.


The thread [1] suggests that -g should be used but it looks like it was removed in [2]. This might explain why it didn't occur in previous releases. Should this fix be applied to the jmc package or to the eclipse package?

[1]
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/XO5YZIQVMDLCQW5AOK6AFYKTVOGUTWNA/
[2]
https://src.fedoraproject.org/rpms/eclipse/c/fd9180606a37bd4a6f0c378e3eb19b4a2acccc7a?branch=master

Comment 1 Mat Booth 2019-06-17 08:51:36 UTC
Hmm, the reason I made this change was because we had this problem with the CDT standalone debugger: https://issues.jboss.org/browse/RHECLIPSE-114

Comment 2 Severin Gehwolf 2019-06-17 12:26:58 UTC
(In reply to Mat Booth from comment #1)
> Hmm, the reason I made this change was because we had this problem with the
> CDT standalone debugger: https://issues.jboss.org/browse/RHECLIPSE-114

FWIW, the debuginfo issue has been worked around in jmc via:
https://src.fedoraproject.org/rpms/jmc/blob/jmc/f/jmc.spec#_21

Comment 3 Jie Kang 2019-06-17 13:59:34 UTC
Er for clarity, I missed a [1] in my original comment that should be:

[1]
https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-339bc366c3
https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-e894e9ce53

Comment 4 Jie Kang 2019-06-20 15:06:37 UTC
Curiously, the binaries for JMC and Eclipse are not the same. However I have spoken to Mark J. Wielaard and it is possible (but unlikely) that since some (JMC) are built without debuginfo, there might be too little data left to make unique build-ids.

It's also my understanding that building with '-g' will embed package name/dir/sources into the binary on which the build-id is based. This makes the workaround described in [1] strange to me as using '-g' should produce more differences for the build-id generator to work with. I will try to configure the JMC build to use '-g' but I also don't think the Fedora eclipse package needs to carry the changes made in [2].


[1] https://issues.jboss.org/browse/RHECLIPSE-114
[2] https://src.fedoraproject.org/rpms/eclipse/c/fd9180606a37bd4a6f0c378e3eb19b4a2acccc7a?branch=master

Comment 5 Mat Booth 2019-06-21 09:20:00 UTC
(In reply to Jie Kang from comment #4)
> Curiously, the binaries for JMC and Eclipse are not the same. However I have
> spoken to Mark J. Wielaard and it is possible (but unlikely) that since some
> (JMC) are built without debuginfo, there might be too little data left to
> make unique build-ids.
> 
> It's also my understanding that building with '-g' will embed package
> name/dir/sources into the binary on which the build-id is based. This makes
> the workaround described in [1] strange to me as using '-g' should produce
> more differences for the build-id generator to work with. I will try to
> configure the JMC build to use '-g' but I also don't think the Fedora
> eclipse package needs to carry the changes made in [2].
> 

I can make the following an SCL-specific patch, if that helps:

> 
> [1] https://issues.jboss.org/browse/RHECLIPSE-114
> [2]
> https://src.fedoraproject.org/rpms/eclipse/c/
> fd9180606a37bd4a6f0c378e3eb19b4a2acccc7a?branch=master

Comment 6 Jie Kang 2019-06-21 14:33:29 UTC
(In reply to Mat Booth from comment #5)
> (In reply to Jie Kang from comment #4)
> > Curiously, the binaries for JMC and Eclipse are not the same. However I have
> > spoken to Mark J. Wielaard and it is possible (but unlikely) that since some
> > (JMC) are built without debuginfo, there might be too little data left to
> > make unique build-ids.
> > 
> > It's also my understanding that building with '-g' will embed package
> > name/dir/sources into the binary on which the build-id is based. This makes
> > the workaround described in [1] strange to me as using '-g' should produce
> > more differences for the build-id generator to work with. I will try to
> > configure the JMC build to use '-g' but I also don't think the Fedora
> > eclipse package needs to carry the changes made in [2].
> > 
> 
> I can make the following an SCL-specific patch, if that helps:

Yes I would appreciate that, thanks!

I'm not even sure if it's possible for me to configure how the JMC launcher binary is compiled. The project has a .product file that describes it and some configuration like additional arguments for the .ini, but I haven't found any documentation on how the launcher is actually created. Do you know?

> 
> > 
> > [1] https://issues.jboss.org/browse/RHECLIPSE-114
> > [2]
> > https://src.fedoraproject.org/rpms/eclipse/c/
> > fd9180606a37bd4a6f0c378e3eb19b4a2acccc7a?branch=master

Comment 7 Fedora Update System 2019-08-02 13:17:00 UTC
FEDORA-MODULAR-2019-00f5ed2262 has been submitted as an update to Fedora 30 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-00f5ed2262

Comment 8 Fedora Update System 2019-08-03 03:53:24 UTC
eclipse-2019_06-3020190801230108.f19b8f68 has been pushed to the Fedora 30 Modular testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-00f5ed2262

Comment 9 Fedora Update System 2019-08-05 15:00:08 UTC
FEDORA-MODULAR-2019-fb1ce318f5 has been submitted as an update to Fedora 30 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-fb1ce318f5

Comment 10 Fedora Update System 2019-08-06 03:42:42 UTC
eclipse-2019_06-3020190805134222.f19b8f68 has been pushed to the Fedora 30 Modular testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-fb1ce318f5

Comment 11 Fedora Update System 2019-08-07 14:14:46 UTC
FEDORA-MODULAR-2019-fb1ce318f5 has been submitted as an update to Fedora 30 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-fb1ce318f5

Comment 12 Fedora Update System 2019-08-08 04:20:42 UTC
eclipse-2019_06-3020190807134759.6ebe2c0f has been pushed to the Fedora 30 Modular testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2019-fb1ce318f5

Comment 13 Jie Kang 2019-08-14 00:29:44 UTC
I've completed a build of JMC and it looks like there are no conflicts; thanks for updating this.

$ rpm -qpl jmc-7.1.0-2.20190524hg4c9efa5eb5b8.module_f30+5573+67d8d3e6.x86_64.rpm | grep build-id
/usr/lib/.build-id
/usr/lib/.build-id/e9
/usr/lib/.build-id/e9/cf13ad0c51bc1a3987e713cae9c9a54060263f

$ rpm -qpl eclipse-platform-4.12-6.module_f30+5264+0fe54b96.x86_64.rpm | grep build-id
/usr/lib/.build-id
/usr/lib/.build-id/33
/usr/lib/.build-id/33/81f1e174e69a404b75e5a20a799612e04c6eaf
/usr/lib/.build-id/48
/usr/lib/.build-id/48/ef88685b3e19575b7e8db0a4da874a2cf9cc27
/usr/lib/.build-id/80
/usr/lib/.build-id/80/a4a0e6d8f57bc184f015cd5ec88048af2806cb
/usr/lib/.build-id/ba
/usr/lib/.build-id/ba/bdfc154fc7ea1a00cb3eea63c9dd27d2d31ede
/usr/lib/.build-id/c9
/usr/lib/.build-id/c9/6bbe5036fda5c9875ffeb2eb6d16f426de5d65

Comment 14 Fedora Update System 2019-08-15 18:10:48 UTC
eclipse-2019_06-3020190807134759.6ebe2c0f has been pushed to the Fedora 30 Modular stable repository. If problems still persist, please make note of it in this bug report.