[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Can I get logging corresponding to 'diag'?

Hi,

The best workaround I've found in order to discover what is going wrong in a test with a paxexam running with equinox due this missing logging information was to setup a remote debugging.

That way you can connect into the running equinox and use some console commands as "ss" and "bundle" to discover which bundles are in trouble.

in order to do that you need add the proper vmOption in your test configuration method:

ÂÂÂ @Configuration
ÂÂÂ public Option[] config() {
ÂÂÂ ÂÂÂ return options(
ÂÂÂ ÂÂÂ ÂÂÂ ÂÂÂ vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
ÂÂÂ ÂÂÂ ÂÂÂ ÂÂÂ ...
Â
and add a breakpoint into any test code to give you time to connect to equinox before test to end.

regards,

Cristiano

2015-07-10 8:42 GMT-03:00 Benson Margulies <benson@xxxxxxxxxxxxx>:
http://www.eclipse.org/equinox/documents/quickstart-framework.php is a
bit misleading, I submit, as it seems to suggest that you can just
download the jar and run it without any configuration.

Also, for those of you interesting in the logging question, see:

https://ops4j1.jira.com/browse/PAXEXAM-726

On Thu, Jul 9, 2015 at 10:10 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:
> To use the console you need the following 4 bundles from the Equinox SDK:
>
> org.apache.felix.gogo.command
> org.apache.felix.gogo.runtime
> org.apache.felix.gogo.shell
> org.eclipse.equinox.console
>
> You will need a file located next to the equinox jar
> configuration/config.ini and place the following in it:
>
> osgi.bundles=org.apache.felix.gogo.command, \
>Â org.apache.felix.gogo.runtime, \
>Â org.apache.felix.gogo.shell, \
>Â org.eclipse.equinox.console
>
> Then put these 4 bundles also next to the equinox framework jar from the
> Equinox SDK:
> http://download.eclipse.org/equinox/drops/R-Mars-201506032000/download.php?dropFile=equinox-SDK-Mars.zip
>
> Tom
>
>
>
>
>
> From:Â Â Â Â Benson Margulies <benson@xxxxxxxxxxxxx>
> To:Â Â Â Â Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
> Date:Â Â Â Â 07/09/2015 08:52 PM
> Subject:Â Â Â Â Re: [equinox-dev] Can I get logging corresponding to 'diag'?
> Sent by:Â Â Â Â equinox-dev-bounces@xxxxxxxxxxx
> ________________________________
>
>
>
> Either that or some piece of pax-exam is filter-feeding log messages.
> I found a way to customize it to just install a framework listener to
> get the data.
>
> Meanwhile, could you possibly deconfuse me about starting up the shell
> with java -jar? I assume that I'm missing something pretty minimal.
>
>
> On Thu, Jul 9, 2015 at 9:48 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:
>> Perhaps the Felix implementation of Bundle.toString displays resolution
>> results?
>>
>> Tom
>>
>>
>>
>>
>>
>> From:Â Â Â Â Benson Margulies <benson@xxxxxxxxxxxxx>
>> To:Â Â Â Â Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
>> Date:Â Â Â Â 07/09/2015 06:03 PM
>> Subject:Â Â Â Â Re: [equinox-dev] Can I get logging corresponding to
>> 'diag'?
>> Sent by:Â Â Â Â equinox-dev-bounces@xxxxxxxxxxx
>> ________________________________
>>
>>
>>
>> I built a test case. What it proves is that there is no Equinox problem
>> here, there's a pax-exam problem.
>>
>> When I run Equinox directly from my own code, I get:
>>
>> org.osgi.framework.BundleException: Could not resolve module:
>> com.basistech.equinox-logging-demo-problem [2]
>>Â ÂUnresolved requirement: Import-Package: org.apache.commons.io;
>> version="[1.4.0,1.4.1)"
>>
>> which is perfectly fine.
>>
>> pax-exam manages to obfuscate this to:
>>
>> 1065 [main] ERROR org.ops4j.pax.exam.nat.internal.NativeTestContainer -
>> Bundle [com.basistech.equinox-logging-demo-problem_0.0.1.SNAPSHOT [14]] is
>> not resolved
>>
>> So, I'll be taking this up with them.
>>
>>
>> On Thu, Jul 9, 2015 at 3:49 PM, Benson Margulies <benson@xxxxxxxxxxxxx>
>> wrote:
>> In an effort to get a clearer picture, I tried:
>>
>> java -jar
>>
>> ~/.m2/repository/org/eclipse/osgi/3.10.0-v20140606-1445/osgi-3.10.0-v20140606-1445.jar
>> -console
>>
>> as per the getting started page, but it just sits there. I am sure this is
>> density on my part.
>>
>>
>> On Thu, Jul 9, 2015 at 3:01 PM, Benson Margulies <benson@xxxxxxxxxxxxx>
>> wrote:
>> Tom,
>>
>> I can do that.
>>
>> Thanks.
>>
>>
>>
>> On Thu, Jul 9, 2015 at 2:58 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:
>> I suggest you open a bug against Equinox with step you used to launch the
>> framework and install/start the bundles. I'm still a bit confused by how
>> the errors are being logged. Clearly a better error message should be
>> getting logged that describes the unsatisfied requirement.
>>
>> Tom
>>
>>
>>
>>
>>
>> From:Â Â Â Â Benson Margulies <benson@xxxxxxxxxxxxx>
>> To:Â Â Â Â Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
>> Date:Â Â Â Â 07/09/2015 01:46 PM
>> Subject:Â Â Â Â Re: [equinox-dev] Can I get logging corresponding to
>> 'diag'?
>> Sent by:Â Â Â Â equinox-dev-bounces@xxxxxxxxxxx
>> ________________________________
>>
>>
>>
>>
>>
>> On Thu, Jul 9, 2015 at 2:39 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:
>> What version of Equinox are you using? Can you give the example of the
>> error message equinox does give you?
>> Tom
>>
>> I'm embarrassed to report that I've misplaced the log. I can, however,
>> try
>> to surround the question, as follows.
>>
>>
>> I am using, in Maven terms:
>>
>> org.eclipse:osgi:jar:3.10.0-v20140606-1445
>>
>> The problem was the following.
>>
>>Â Bundle 'fred' imports com.basistech.george;version=[34.0.0,35.0.0)
>>
>> I stupidly included bundle 'george' with version 35.0.0.
>>
>> The error message simply said that 'fred' could not be resolved, and cited
>> a
>> number in [] brackets.
>>
>> Later on I can reconstruct this stupidity by checking out from the right
>> (wrong) commit and running the build, but perhaps this is helpful?
>>
>> In comparison, when I swapped in Felix, I got a lengthy diagnosis that the
>> problem was the lack of com.basistech.george at the required version.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> From:Â Â Â Â Benson Margulies <benson@xxxxxxxxxxxxx>
>> To:Â Â Â Â equinox-dev@xxxxxxxxxxx
>> Date:Â Â Â Â 07/09/2015 12:31 PM
>> Subject:Â Â Â Â [equinox-dev] Can I get logging corresponding to 'diag'?
>> Sent by:Â Â Â Â equinox-dev-bounces@xxxxxxxxxxx
>> ________________________________
>>
>>
>>
>> When I make a mistake in a manifest, and a bundle has unresolvable
>> dependencies, the error message logged is not detailed. (For comparison
>> purposes, felix will log the whole story.) The shell command does not help
>> me; the situation is failing pax-exam tests, and while I could load up in
>> the shell, I'd rather just get the sad story when the test fails.
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>>
>> _______________________________________________
>> equinox-dev mailing list
>> equinox-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
>
>
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev



--
"Tudo vale a pena se a alma nÃo à pequena..."