Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Race condition when Felix inits #18501

Closed
wezell opened this issue May 14, 2020 · 3 comments
Closed

Race condition when Felix inits #18501

wezell opened this issue May 14, 2020 · 3 comments

Comments

@wezell
Copy link
Contributor

wezell commented May 14, 2020

It turns out that there is an race condition when OSGI inits. This is because we are trying to init felix in a number of places, including the reindex thread. You can easily get into a place with OSGI where none of your bundles ever successfully init because the framework is being rebuilt all the time. This is the real reason we have all the noise in the logs and struggle when reloading felix. Also we ship with felix set to debug, which is too noisy in the logs.

If there is an issue with Felix, it can cause a real problem as it continuously writes debugging output. To the point where the server cannot even respond:

cms_1  | DEBUG: WIRE: [org.apache.felix.configadmin [3](R 3.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.configadmin [3](R 3.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.util.tracker)(version>=1.5.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.configadmin [3](R 3.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.7)) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework.startlevel)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework.wiring)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.cm)(version>=1.5.0)(!(version>=2.0.0))) -> [org.apache.felix.configadmin [3](R 3.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) -> [osgi.cmpn [7](R 7.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.url)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.fileinstall [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.util.tracker)(version>=1.5.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.imageio) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.sql) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.7.0)(!(version>=2.0.0))) -> [slf4j.api [8](R 8.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.helpers)(version>=1.7.0)(!(version>=2.0.0))) -> [slf4j.api [8](R 8.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.spi)(version>=1.7.0)(!(version>=2.0.0))) -> [slf4j.api [8](R 8.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=org.ietf.jgss) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.useradmin)(version>=1.1.0)(!(version>=2.0.0))) -> [osgi.cmpn [7](R 7.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.management) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.management.modelmbean) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.management.remote) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.naming) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.net) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.net.ssl) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.security.auth) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.servlet)(version>=3.1.0)(!(version>=4.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.servlet.http)(version>=3.1.0)(!(version>=4.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.felix.http.api)(version>=2.0.0)(!(version>=3.0.0))) -> [org.apache.felix.http.api [5](R 5.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.5.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.cm)(version>=1.3.0)(!(version>=2.0.0))) -> [org.apache.felix.configadmin [3](R 3.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0))) -> [osgi.cmpn [7](R 7.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.http)(version>=1.2.0)(!(version>=2.0.0))) -> [org.apache.felix.http.api [5](R 5.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) -> [osgi.cmpn [7](R 7.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.util.tracker)(version>=1.4.0)(!(version>=2.0.0))) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax.helpers) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.felix.http.bundle [6](R 6.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.7)) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | [INFO] Started bridged http service
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.activation) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.servlet.annotation) -> [org.apache.felix.http.bundle [6](R 6.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.servlet) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.servlet.http) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.osgi.framework) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.7.0)(!(version>=2.0.0))) -> [slf4j.api [8](R 8.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.w3c.dom) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax.ext) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax.helpers) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.logging)(version>=1.2.0)(!(version>=2.0.0))) -> [jcl.over.slf4j [2](R 2.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.crypto) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.crypto.interfaces) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.crypto.spec) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.imageio) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.imageio.metadata) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.imageio.plugins.jpeg) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.imageio.stream) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.management) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.naming) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.naming.directory) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.net.ssl) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.print) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.security.auth.x500) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.sound.midi) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.sound.sampled) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.sql) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.sql.rowset.serial) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.swing) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.swing.text) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.swing.text.html) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.annotation.adapters) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.bind.attachment) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.crypto) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.crypto.dom) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.crypto.dsig) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.crypto.dsig.dom) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.crypto.dsig.keyinfo) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.crypto.dsig.spec) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.datatype) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.namespace) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.stream) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.stream.events) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.stream.util) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.dom) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.sax) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.stax) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.stream) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.validation) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.xpath) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.config)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.detect)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.exception)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.extractor)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.io)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.metadata)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.parser)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.parser.digest)(version>=1.17.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.parser.external)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.sax)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.sax.xpath)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.utils)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.osgi.util.tracker) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.w3c.dom.events) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (osgi.wiring.package=org.w3c.dom.ls) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.mime)(version>=1.2.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.tika.fork)(version>=1.0.0)(!(version>=2.0.0))) -> [org.apache.tika.core [11](R 11.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.helpers)(version>=1.7.0)(!(version>=2.0.0))) -> [slf4j.api [8](R 8.0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.bundle [10](R 10.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.8)) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.crypto) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.namespace) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.parsers) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.stream) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.dom) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.sax) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=javax.xml.transform.stream) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=org.osgi.framework) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=org.osgi.util.tracker) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=org.w3c.dom) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.wiring.package; (osgi.wiring.package=org.xml.sax.helpers) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | DEBUG: WIRE: [org.apache.tika.core [11](R 11.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.7)) -> [org.apache.felix.framework [0](R 0)]
dotcms_1  | ERROR: Bundle org.apache.tika.bundle [10] Unable to get module class path. (java.lang.RuntimeException: Unable to open JAR file, probably deleted: error in opening zip file)
dotcms_1  | java.lang.RuntimeException: Unable to open JAR file, probably deleted: error in opening zip file
dotcms_1  | 	at org.apache.felix.framework.cache.JarContent.<init>(JarContent.java:74)
dotcms_1  | 	at org.apache.felix.framework.cache.JarContent.getEntryAsContent(JarContent.java:294)
dotcms_1  | 	at org.apache.felix.framework.BundleRevisionImpl.calculateContentPath(BundleRevisionImpl.java:432)
dotcms_1  | 	at org.apache.felix.framework.BundleRevisionImpl.initializeContentPath(BundleRevisionImpl.java:365)
dotcms_1  | 	at org.apache.felix.framework.BundleRevisionImpl.getContentPath(BundleRevisionImpl.java:351)
dotcms_1  | 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2115)
dotcms_1  | 	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringI
@wezell wezell changed the title Felix is too noisy Race condition when Felix inits May 22, 2020
wezell added a commit that referenced this issue May 22, 2020
wezell added a commit that referenced this issue May 22, 2020
@wezell wezell added this to the Bug Sprint milestone May 22, 2020
@nollymar
Copy link
Contributor

PR: #18541

@nollymar nollymar self-assigned this May 22, 2020
wezell added a commit that referenced this issue May 27, 2020
nollymar pushed a commit that referenced this issue May 27, 2020
* #18501 sets felix to info and turns the osgiproxyservlet off by defualt

* #18501 making felix init once

* ##18501 better defaults

* #18501 taking Freddy's suggestion
@nollymar
Copy link
Contributor

nollymar commented May 27, 2020

Internal QA Results: Success.

I tested with several plugins and I was able to deploy them successfully. However, if I re-init the server I get this log message:

13:08:30.228  INFO  hooks.Activator - +++++++++++++++++++++++++++++++++++++++++++++++
Started bundle: file:/Users/nollymar/Documents/workspace-dotcms/tomcat8/webapps/ROOT/WEB-INF/felix/load/com.dotcms.portlet-0.2.jar
ERROR: Bundle org.apache.felix.http.bundle [6] EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Invalid BundleContext.)
java.lang.IllegalStateException: Invalid BundleContext.
	at org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:511)
	at org.apache.felix.framework.BundleContextImpl.ungetService(BundleContextImpl.java:475)
	at org.osgi.util.tracker.ServiceTracker.removedService(ServiceTracker.java:459)
	at org.apache.felix.http.proxy.DispatcherTracker.removedService(DispatcherTracker.java:70)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:967)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:870)
	at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:909)
	at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
	at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
	at org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595)
	at org.apache.felix.framework.Felix.access$000(Felix.java:106)
	at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:420)
	at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170)
	at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:144)
	at org.apache.felix.framework.ServiceRegistry.unregisterServices(ServiceRegistry.java:241)
	at org.apache.felix.framework.Felix.stopBundle(Felix.java:2661)
	at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1391)
	at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
	at java.lang.Thread.run(Thread.java:748)
[INFO] Started bridged http service

In spite of that, all plugins are deployed correctly.
This issue had been already reported: #16448 (comment)

@bryanboza
Copy link
Member

Fixed, tested after the changes and now it works as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants