eclipse / eavp

Eclipse advanced visualization project
Eclipse Public License 1.0
9 stars 15 forks source link

Null pointer exception when creating a new plot with CSVVizService #149

Closed anarak closed 5 years ago

anarak commented 7 years ago

When creating a plot using IVizService named as "ice-plot", a corresponding createPlot method in CSVVizService is called by default, which returns a null pointer exception after consuming EAVP service in Vaadin. The exception was thrown at CSVProxyPlot in createProxySeries method where the style variable is assigned a value. The debugging revealed that null was passed to that method as an argument from CSVProxyPlot which in turn was passed from calling getIndependentSeries in reloadSeries method. Turns out, the getter returns independentSeries before it's set or assigned some value, hence null from the AbstractPlot.

jayjaybillings commented 7 years ago

?Will you post the full stack trace please?

Jay

Jay Jay Billings Team Lead, Scientific Software Development Oak Ridge National Laboratory Twitter Handle: @jayjaybillings


From: anarak notifications@github.com Sent: Wednesday, April 26, 2017 4:21 PM To: eclipse/eavp Cc: Subscribed Subject: [eclipse/eavp] Null pointer exception when creating a new plot with CSVVizService (#149)

When creating a plot using IVizService named as "ice-plot", a corresponding createPlot() method in CSVVizService is called by default, which returns a null pointer exception after consuming EAVP service in Vaadin. The exception was thrown at CSVProxyPlot.java in createProxySeries method where the style variable is assigned a value. The debugging revealed that null was passed to that method as an argument from CSVProxyPlot which in turn was passed from calling getIndependentSeries in reloadSeries method. Turns out, the getter returns independentSeries before it's set or assigned some value, hence null from the AbstractPlot.

- You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/eclipse/eavp/issues/149, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGFVYXieXsn0Ww5WcBjGJ8lXfmZBdkMbks5rz6dHgaJpZM4NJYAy.

anarak commented 7 years ago

?You said to be verbose, didn't you?

anarak commented 7 years ago
!ENTRY vaadin 4 0 2017-04-27 14:14:38.287
!MESSAGE [SCR] Error while trying to bind reference Reference[name = IVizServiceFactory, interface = org.eclipse.eavp.viz.service.IVizServiceFactory, policy = static, cardinality = 1..1, target = null, bind = setVizServiceFactory, unbind = null]
    Details:
    Problematic reference = Reference[name = IVizServiceFactory, interface = org.eclipse.eavp.viz.service.IVizServiceFactory, policy = static, cardinality = 1..1, target = null, bind = setVizServiceFactory, unbind = null]
    of service component = org.eclipse.eavp.viz.client.vaadin.service
    component implementation class = org.eclipse.eavp.viz.vaadin.WebEAVPUI
    located in bundle with symbolic name = vaadin
    bundle location = reference:file:/home/kfu/Documents/eavp-with-vaadin-apr12-workspace/eavp/vaadin/src/main/webapp/
!STACK 0
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:343)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.createProxySeries(CSVProxyPlot.java:70)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.reloadSeries(CSVProxyPlot.java:241)
    at org.eclipse.eavp.viz.service.ProxyPlot.setSource(ProxyPlot.java:210)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.setSource(CSVProxyPlot.java:278)
    at org.eclipse.eavp.viz.service.csv.CSVVizService.createPlot(CSVVizService.java:80)
    at org.eclipse.eavp.viz.vaadin.WebEAVPUI.setVizServiceFactory(WebEAVPUI.java:120)
    ... 16 more
Root exception:
java.lang.NullPointerException
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.createProxySeries(CSVProxyPlot.java:70)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.reloadSeries(CSVProxyPlot.java:241)
    at org.eclipse.eavp.viz.service.ProxyPlot.setSource(ProxyPlot.java:210)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.setSource(CSVProxyPlot.java:278)
    at org.eclipse.eavp.viz.service.csv.CSVVizService.createPlot(CSVVizService.java:80)
    at org.eclipse.eavp.viz.vaadin.WebEAVPUI.setVizServiceFactory(WebEAVPUI.java:120)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:343)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at java.lang.Thread.run(Thread.java:745)

!ENTRY vaadin 4 0 2017-04-27 14:14:38.288
!MESSAGE [SCR] Error while trying to bind reference Reference[name = IVizServiceFactory, interface = org.eclipse.eavp.viz.service.IVizServiceFactory, policy = static, cardinality = 1..1, target = null, bind = setVizServiceFactory, unbind = null]
    Details:
    Problematic reference = Reference[name = IVizServiceFactory, interface = org.eclipse.eavp.viz.service.IVizServiceFactory, policy = static, cardinality = 1..1, target = null, bind = setVizServiceFactory, unbind = null]
    of service component = org.eclipse.eavp.viz.client.vaadin.service
    component implementation class = org.eclipse.eavp.viz.vaadin.WebEAVPUI
    located in bundle with symbolic name = vaadin
    bundle location = reference:file:/home/kfu/Documents/eavp-with-vaadin-apr12-workspace/eavp/vaadin/src/main/webapp/
!STACK 0
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:343)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.createProxySeries(CSVProxyPlot.java:70)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.reloadSeries(CSVProxyPlot.java:241)
    at org.eclipse.eavp.viz.service.ProxyPlot.setSource(ProxyPlot.java:210)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.setSource(CSVProxyPlot.java:278)
    at org.eclipse.eavp.viz.service.csv.CSVVizService.createPlot(CSVVizService.java:80)
    at org.eclipse.eavp.viz.vaadin.WebEAVPUI.setVizServiceFactory(WebEAVPUI.java:120)
    ... 16 more
Root exception:
java.lang.NullPointerException
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.createProxySeries(CSVProxyPlot.java:70)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.reloadSeries(CSVProxyPlot.java:241)
    at org.eclipse.eavp.viz.service.ProxyPlot.setSource(ProxyPlot.java:210)
    at org.eclipse.eavp.viz.service.csv.CSVProxyPlot.setSource(CSVProxyPlot.java:278)
    at org.eclipse.eavp.viz.service.csv.CSVVizService.createPlot(CSVVizService.java:80)
    at org.eclipse.eavp.viz.vaadin.WebEAVPUI.setVizServiceFactory(WebEAVPUI.java:120)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:343)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at java.lang.Thread.run(Thread.java:745)

!ENTRY org.eclipse.equinox.ds 4 0 2017-04-27 14:14:38.289
!MESSAGE Could not bind a reference of component org.eclipse.eavp.viz.client.vaadin.service. The reference is: Reference[name = IVizServiceFactory, interface = org.eclipse.eavp.viz.service.IVizServiceFactory, policy = static, cardinality = 1..1, target = null, bind = setVizServiceFactory, unbind = null]

!ENTRY org.eclipse.equinox.ds 4 0 2017-04-27 14:14:38.289
!MESSAGE Could not bind a reference of component org.eclipse.eavp.viz.client.vaadin.service. The reference is: Reference[name = IVizServiceFactory, interface = org.eclipse.eavp.viz.service.IVizServiceFactory, policy = static, cardinality = 1..1, target = null, bind = setVizServiceFactory, unbind = null]
jayjaybillings commented 7 years ago

I did. :-) It is also pretty much standard to provide the stacktrace when available if you are writing in Java.

Jay

Jay Jay Billings Team Lead, Scientific Software Development Oak Ridge National Laboratory Twitter Handle: @jayjaybillings


From: anarak notifications@github.com Sent: Thursday, April 27, 2017 2:17 PM To: eclipse/eavp Cc: Billings, Jay Jay; Mention Subject: Re: [eclipse/eavp] Null pointer exception when creating a new plot with CSVVizService (#149)

?You said to be verbose, didn't you?

- You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/eclipse/eavp/issues/149#issuecomment-297796732, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGFVYdent2VXmEAkd5Me05cGP9sm_YEbks5r0NvNgaJpZM4NJYAy.

anarak commented 7 years ago

It's not only in Java.

SmithRWORNL commented 5 years ago

The previous CSVVizService will be removed in 0.3