Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324746 - Building an RCP plugin application with "Allow for binary cycles in target platform" unchecked produce a build error
Summary: Building an RCP plugin application with "Allow for binary cycles in target pl...
Status: RESOLVED INVALID
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 2.6.0   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 major (vote)
Target Milestone: 3.7.0   Edit
Assignee: Birt-Build CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-08 10:15 EDT by Ralph Bosson CLA
Modified: 2011-05-26 13:33 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralph Bosson CLA 2010-09-08 10:15:45 EDT
Build Identifier: Helios Release Build id: 20100617-1415: BIRT:2.6.0.v20100427-35-7w31211716 Build id: v20100609-1613

Building an RCP plugin application with "Allow for binary cycles in target platform" unchecked produces the following error:

"A cycle was detected when generating the classpath com.corgroup.plugin_0.1.0.001,  org.eclipse.birt.report.viewer_2.6.0.v20100605,  org.eclipse.equinox.http.jetty_2.0.0.v20100503, org.mortbay.jetty.util_6.1.23.v201004211559, org.slf4j.api_1.5.11.v20100519-1910, 
ch.qos.logback.classic_0.9.19.v20100519-1505,  ch.qos.logback.core_0.9.19.v20100419-1216,  org.slf4j.api_1.5.11.v20100519-1910."

The same plugin application build with "Allow for binary cycles in target platform" checked for macosx (cocoa/x86_64) crashes the JVM when a BIRT report is selected for display.  

The application built for macosx (cocoa/x86) and macosx (carbon/ppc) does not crash when a BIRT report is selected for display.

Product - Build - Dependencies

<plugin id="com.ibm.icu"/>
<plugin id="com.lowagie.text"/>
<plugin id="javax.activation"/>
<plugin id="javax.mail"/>
<plugin id="javax.servlet"/>
<plugin id="javax.servlet.jsp"/>
<plugin id="javax.wsdl"/>
<plugin id="javax.xml"/>
<plugin id="javax.xml.rpc"/>
<plugin id="javax.xml.soap"/>
<plugin id="org.aopalliance"/>
<plugin id="org.apache.axis"/>
<plugin id="org.apache.batik.bridge"/>
<plugin id="org.apache.batik.css"/>
<plugin id="org.apache.batik.dom"/>
<plugin id="org.apache.batik.dom.svg"/>
<plugin id="org.apache.batik.ext.awt"/>
<plugin id="org.apache.batik.parser"/>
<plugin id="org.apache.batik.svggen"/>
<plugin id="org.apache.batik.transcoder"/>
<plugin id="org.apache.batik.util"/>
<plugin id="org.apache.batik.util.gui"/>
<plugin id="org.apache.batik.xml"/>
<plugin id="org.apache.commons.codec"/>
<plugin id="org.apache.commons.discovery"/>
<plugin id="org.apache.commons.el"/>
<plugin id="org.apache.commons.logging"/>
<plugin id="org.apache.jasper"/>
<plugin id="org.apache.lucene"/>
<plugin id="org.apache.lucene.analysis"/>
<plugin id="org.apache.xerces"/>
<plugin id="org.apache.xml.resolver"/>
<plugin id="org.apache.xml.serializer"/>
<plugin id="org.eclipse.birt"/>
<plugin id="org.eclipse.birt.chart.engine"/>
<plugin id="org.eclipse.birt.chart.reportitem"/>
<plugin id="org.eclipse.birt.core"/>
<plugin id="org.eclipse.birt.data"/>
<plugin id="org.eclipse.birt.data.aggregation"/>
<plugin id="org.eclipse.birt.report.data.adapter"/>
<plugin id="org.eclipse.birt.report.designer.core"/>
<plugin id="org.eclipse.birt.report.designer.ui"/>
<plugin id="org.eclipse.birt.report.engine"/>
<plugin id="org.eclipse.birt.report.engine.dataextraction"/>
<plugin id="org.eclipse.birt.report.engine.emitter.config"/>
<plugin id="org.eclipse.birt.report.engine.emitter.html"/>
<plugin id="org.eclipse.birt.report.engine.emitter.html.config"/>
<plugin id="org.eclipse.birt.report.engine.emitter.pdf"/>
<plugin id="org.eclipse.birt.report.engine.emitter.pdf.config"/>
<plugin id="org.eclipse.birt.report.engine.emitter.postscript"/>
<plugin id="org.eclipse.birt.report.engine.emitter.postscript.config"/>
<plugin id="org.eclipse.birt.report.engine.fonts"/>
<plugin id="org.eclipse.birt.report.engine.script.javascript"/>
<plugin id="org.eclipse.birt.report.item.crosstab.core"/>
<plugin id="org.eclipse.birt.report.model"/>
<plugin id="org.eclipse.birt.report.viewer"/>
<plugin id="org.eclipse.compare.core"/>
<plugin id="org.eclipse.core.commands"/>
<plugin id="org.eclipse.core.contenttype"/>
<plugin id="org.eclipse.core.databinding"/>
<plugin id="org.eclipse.core.databinding.beans"/>
<plugin id="org.eclipse.core.databinding.observable"/>
<plugin id="org.eclipse.core.databinding.property"/>
<plugin id="org.eclipse.core.expressions"/>
<plugin id="org.eclipse.core.filesystem"/>
<plugin id="org.eclipse.core.filesystem.aix.ppc" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.hpux.ia64_32" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.linux.ppc" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.solaris.sparc" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.core.jobs"/>
<plugin id="org.eclipse.core.resources"/>
<plugin id="org.eclipse.core.resources.win32.x86" fragment="true"/>
<plugin id="org.eclipse.core.runtime"/>
<plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
<plugin id="org.eclipse.core.variables"/>
<plugin id="org.eclipse.datatools.connectivity"/>
<plugin id="org.eclipse.datatools.connectivity.oda"/>
<plugin id="org.eclipse.datatools.connectivity.oda.consumer"/>
<plugin id="org.eclipse.datatools.connectivity.oda.profile"/>
<plugin id="org.eclipse.draw2d"/>
<plugin id="org.eclipse.emf.common"/>
<plugin id="org.eclipse.emf.ecore"/>
<plugin id="org.eclipse.emf.ecore.xmi"/>
<plugin id="org.eclipse.equinox.app"/>
<plugin id="org.eclipse.equinox.common"/>
<plugin id="org.eclipse.equinox.http.jetty"/>
<plugin id="org.eclipse.equinox.http.registry"/>
<plugin id="org.eclipse.equinox.http.servlet"/>
<plugin id="org.eclipse.equinox.jsp.jasper"/>
<plugin id="org.eclipse.equinox.jsp.jasper.registry"/>
<plugin id="org.eclipse.equinox.preferences"/>
<plugin id="org.eclipse.equinox.registry"/>
<plugin id="org.eclipse.gef"/>
<plugin id="org.eclipse.help"/>
<plugin id="org.eclipse.help.appserver"/>
<plugin id="org.eclipse.help.base"/>
<plugin id="org.eclipse.help.ui"/>
<plugin id="org.eclipse.help.webapp"/>
<plugin id="org.eclipse.jface"/>
<plugin id="org.eclipse.jface.databinding"/>
<plugin id="org.eclipse.jface.text"/>
<plugin id="org.eclipse.osgi"/>
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.swt"/>
<plugin id="org.eclipse.swt.carbon.macosx" fragment="true"/>
<plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
<plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.ppc" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.ppc64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.s390" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.s390x" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.solaris.sparc" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.solaris.x86" fragment="true"/>
<plugin id="org.eclipse.swt.motif.aix.ppc" fragment="true"/>
<plugin id="org.eclipse.swt.motif.hpux.ia64_32" fragment="true"/>
<plugin id="org.eclipse.swt.motif.linux.x86" fragment="true"/>
<plugin id="org.eclipse.swt.motif.solaris.sparc" fragment="true"/>
<plugin id="org.eclipse.swt.photon.qnx.x86" fragment="true"/>
<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
<plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
<plugin id="org.eclipse.text"/>
<plugin id="org.eclipse.ui"/>
<plugin id="org.eclipse.ui.carbon" fragment="true"/>
<plugin id="org.eclipse.ui.cocoa" fragment="true"/>
<plugin id="org.eclipse.ui.forms"/>
<plugin id="org.eclipse.ui.views"/>
<plugin id="org.eclipse.ui.workbench"/>
<plugin id="org.eclipse.ui.workbench.texteditor"/>
<plugin id="org.eclipse.update.configurator"/>
<plugin id="org.mortbay.jetty.server"/>
<plugin id="org.mortbay.jetty.util"/>
<plugin id="org.mozilla.rhino"/>
<plugin id="org.springframework.bundle.osgi.core"/>
<plugin id="org.springframework.bundle.osgi.extender"/>
<plugin id="org.springframework.bundle.osgi.io"/>
<plugin id="org.springframework.bundle.spring"/>
<plugin id="org.w3c.css.sac"/>
<plugin id="org.w3c.dom.smil"/>
<plugin id="org.w3c.dom.svg"/>
<plugin id="org.w3c.sac"/>


Reproducible: Always

Steps to Reproduce:
1. Install eclipse package: eclipse-jee-helios-macosx-cocoa-x86_64
2. Using software updates install BIRT: http://download.eclipse.org/birt/update-site/2.6
3. Add to the eclipse drop-in folder: com.sysdeo.eclipse.tomcat_3.2.1
4. Create a product and build.
Comment 1 Ralph Bosson CLA 2010-09-21 10:28:29 EDT
Tested using:

Version: 2.6.1.v20100709a-9iF7A8FGLY4z0pxX3ORrsdrp6JXb
Build id: v20100915-1750

Result: Binary cycle problem still exists.

Result: No longer crashing in cocoa/x86-64 build
Comment 2 Xiaoying Gu CLA 2011-03-11 04:12:47 EST
Removing below plugins from your config:

<plugin id="org.aopalliance"/>
<plugin id="org.springframework.bundle.osgi.core"/>
<plugin id="org.springframework.bundle.osgi.extender"/>
<plugin id="org.springframework.bundle.osgi.io"/>
<plugin id="org.springframework.bundle.spring"/>

The rcp plugins can be exported correctly with the option "Allow for binary cycles in target platform" unchecked. Apparently the cycles does not come from BIRT plugins. And birt doesn't have any dependency on above removed plugins.