Skip to main content

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

Well, I've made my own copies of the native container factory that add
a listener and print nice errors.


On Fri, Jul 10, 2015 at 9:34 AM, Cristiano Gavião <cvgaviao@xxxxxxxxx> wrote:
> 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..."
>
> _______________________________________________
> 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


Back to the top