opensecuritycontroller / osc-core Goto Github PK
View Code? Open in Web Editor NEWA software-defined security orchestration solution
Home Page: https://www.opensecuritycontroller.org/
License: Apache License 2.0
A software-defined security orchestration solution
Home Page: https://www.opensecuritycontroller.org/
License: Apache License 2.0
As part of restart, we try to sync all the DA's. I see a NPE at this point.
replace line 49 in SyncDistributedApplianceJob
ConformService conformService = (ConformService) context.get(ConformService.class.getName());
ConformService conformService = (ConformService) context.getMergedJobDataMap().get(ConformService.class.getName());
java.lang.NullPointerException
at org.osc.core.server.scheduler.SyncDistributedApplianceJob$1.lambda$run$0(SyncDistributedApplianceJob.java:71)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.server.scheduler.SyncDistributedApplianceJob$1.run(SyncDistributedApplianceJob.java:66)
at java.lang.Thread.run(Thread.java:745)
Currently, we do not validate the OpenStack image format. OpenStack supports a huge list of images. We need to evaluate the list to add validation for them.
Deployment Specs are not be reloaded in their view when the user exits and reopens the view.
Steps:
Expected Result:
View displays DS1.
Actual Result:
No DS is displayed.
Notes:
From the logs below this may have been caused by #212 .
Logs:
2017-05-11 00:34:33,798 [ERROR| qtp1750666857-52| DeploymentSpecSubView]: Failed to populate Deployment Specification
java.lang.NullPointerException
at org.osc.core.broker.view.deploymentspec.DeploymentSpecSubView.populateTable(DeploymentSpecSubView.java:145)
at org.osc.core.broker.view.CRUDBaseSubView.createTable(CRUDBaseSubView.java:132)
at org.osc.core.broker.view.CRUDBaseSubView.createSubView(CRUDBaseSubView.java:113)
at org.osc.core.broker.view.CRUDBaseSubView.(CRUDBaseSubView.java:93)
at org.osc.core.broker.view.deploymentspec.DeploymentSpecSubView.(DeploymentSpecSubView.java:92)
at org.osc.core.broker.view.DistributedApplianceView.switchToDsSubView(DistributedApplianceView.java:262)
at org.osc.core.broker.view.DistributedApplianceView.buttonClicked(DistributedApplianceView.java:243)
at org.osc.core.broker.view.CRUDBaseView$1.buttonClick(CRUDBaseView.java:105)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
at com.vaadin.ui.Button.fireClick(Button.java:377)
at com.vaadin.ui.Button$1.click(Button.java:54)
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:432)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:404)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
at com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:148)
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:240)
at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:494)
at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:199)
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:107)
at org.atmosphere.container.Jetty9AsyncSupportWithWebSocket.service(Jetty9AsyncSupportWithWebSocket.java:180)
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2075)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:571)
at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:333)
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:328)
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:425)
at org.atmosphere.container.Jetty9WebSocketHandler.onWebSocketText(Jetty9WebSocketHandler.java:125)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:66)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:376)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
osc-service-api is missing the following reference
<repository>
<id>osc-nexus</id>
<name>OSC Nexus</name>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>http://ci.opensecuritycontroller.org:8082/nexus/content/repositories/osc-snapshot/</url>
</repository>
Deployed latest version of 1.0.0-SNAPSHOT (Build:7-gf231415)
The log messages dont show up for any UI,service/api related actions. This is not an issue in the 0.6 branch.
Investigate the unit tests in VSConformanceCheckMetaTaskTest and ensure the tests are robust and complete by adding new tests or modifying existing tests.
Steps to reproduce:
Add VC with Controller Type 'None'
Click 'OK'
Expected result: VC should be successfully created with no error message
Actual result: Fails with error message "Unsupported Controller type 'NONE'"
Logs:
[qtp781943562-65] INFO org.osc.core.broker.service.ServiceDispatcher - Service dispatch AddVirtualizationConnectorService. User: admin, Request: BaseRequest [dto=VirtualizationConnectorRequest{skipRemoteValidation=false, forceAddSSLCertificates=false}, isApi=false]
[qtp781943562-65] WARN org.osc.core.broker.service.ServiceDispatcher - Service request failed (logically): Open Security Controller: Unsupported Controller type 'NONE'
[qtp781943562-65] ERROR org.osc.core.broker.window.CRUDBaseWindow - Open Security Controller: Unsupported Controller type 'NONE'```
Looks like OsSecurityGroupNotificationRunner is listing all the security groups in a transaction, but the listeners depend on some lazy loaded instances within the SG(like SGMs).
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.osc.core.broker.model.entities.virtualization.SecurityGroup.securityGroupMembers, could not initialize proxy - no Session
at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:582)
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:201)
at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:561)
at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:132)
at org.hibernate.collection.internal.PersistentSet.iterator(PersistentSet.java:163)
at org.osc.core.broker.rest.client.openstack.vmidc.notification.runner.OsSecurityGroupNotificationRunner.getMemberIdsFromSG(OsSecurityGroupNotificationRunner.java:135)
at org.osc.core.broker.rest.client.openstack.vmidc.notification.runner.OsSecurityGroupNotificationRunner.addMemberListener(OsSecurityGroupNotificationRunner.java:267)
at org.osc.core.broker.rest.client.openstack.vmidc.notification.runner.OsSecurityGroupNotificationRunner.addListener(OsSecurityGroupNotificationRunner.java:165)
at org.osc.core.broker.rest.client.openstack.vmidc.notification.runner.OsSecurityGroupNotificationRunner.<init>(OsSecurityGroupNotificationRunner.java:72)
at org.osc.core.broker.rest.client.openstack.vmidc.notification.runner.RabbitMQRunner.<init>(RabbitMQRunner.java:77)
at com.mcafee.vmidc.server.Server.startRabbitMq(Server.java:519)
at com.mcafee.vmidc.server.Server.startServer(Server.java:185)
at com.mcafee.vmidc.server.Server.access$000(Server.java:81)
at com.mcafee.vmidc.server.Server$1.run(Server.java:126)
at java.lang.Thread.run(Thread.java:745)
It seems the following unit tests are now failing. Likely due to #242
org.osc.core.broker.rest.server.api.AlarmApisTest.testPutAlarm_withBadPathParam_expectErrorCode
org.osc.core.broker.rest.server.api.AlarmApisTest.testPutAlarm_withGoodRequest_expectStatusAccepted
org.osc.core.broker.rest.server.api.AlarmApisTest.testPostAlarm_withGoodRequest_expectStatusAccepted
org.osc.core.broker.rest.server.api.AlarmApisTest.testGetAlarms_expectListOfAlarmsAndStatusOk
Observed 2 issues w.r.t plugin load/unload
As part of plugin load, OSC installs plugin as bundle, which invokes start() method of bundle context. And as part of unload, stop() method of bundle gets invoked.
After loading plugin, if user clicks on any tab, then stop() method of bundle gets invoked, but plugin is not removed from context and still loaded in OSC. This'll remove any initialization done as part of start(), which is not an intended behavior. Ideally stop() methos should get called only if plugin gets unloaded.
This is a consistent behavior
Sometimes plugin doesn't get loaded properly i.e. some of the classes/libraries of plugin doesn't gets initialized/exist. UI shows that plugin gets loaded successfully, but at time of bind plugin throws exception when it tries to access those class/libraries. Looks like at time of plugin unload cleanup not happened properly, which is affecting next plugin load.
This is an inconsistent behavior, observed issue few times only.
To resolve this issue, user need to restart osc-server after every plugin unload, to cleanup context properly.
In case of Security group with type subnet is protected, when new VMs added in the subnet these are not being protected due to delay in osc-server in sending a trigger to SDN plugin to redirect the traffic for protection.
As a workaround, whenever a new VM is added in the subnet which is protected by a security group of type Subnet, user needs to do trigger manual sync of the security group from OSC UI, to protect new vms.
Observed issue only when security group protects subnet, with network case this is working fine.
All jobs in conform job are failing with nullpointer. I have investigated the issue - it may be problem with synchronization.
2017-04-07 14:02:15,839 [INFO | qtp1155878056-53| ReadWriteLockRecord]: tryLock LockRequest [objectRef=LockObjectReference [id=1, type=Manager Connector], unlockTask=org.osc.core.broker.service.tasks.conformance.UnlockObjectTask@329dc95a [LockObjectReference [id=1, type=Manager Connector]], [Write Lock]] 2017-04-07 14:02:15,872 [INFO | qtp1155878056-53| ReadWriteLockRecord]: Gained Write lock LockRequest [objectRef=LockObjectReference [id=1, type=Manager Connector], unlockTask=org.osc.core.broker.service.tasks.conformance.UnlockObjectTask@329dc95a [LockObjectReference [id=1, type=Manager Connector]], [Write Lock]] 2017-04-07 14:02:15,872 [INFO | qtp1155878056-53| ConformService]: Start MC (id:1) Conformance Job 2017-04-07 14:02:15,998 [INFO | qtp1155878056-53| ConformService]: Done submitting with jobId: 1 2017-04-07 14:02:15,999 [ERROR| isc-job-pool-0| Job]: Fail to update JobRecord Job [name=Syncing Appliance Manager Connector 'smc_test', state=RUNNING, status=PASSED] java.lang.NullPointerException at org.osc.core.broker.job.Job.lambda$persistState$1(Job.java:396) at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161) at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84) at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263) at org.osc.core.broker.job.Job.persistState(Job.java:393) at org.osc.core.broker.job.Job.setState(Job.java:385) at org.osc.core.broker.job.Job.executeGraph(Job.java:182) at org.osc.core.broker.job.Job.run(Job.java:167) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 2017-04-07 14:02:16,004 [INFO | qtp1155878056-53| ServiceDispatcher]: Service response: org.osc.core.broker.service.response.BaseJobResponse@269b283b 2017-04-07 14:02:16,011 [INFO | qtp1155878056-53| ServiceDispatcher]: Service dispatch ListManagerConnectoryPolicyService. User: admin, Request: BaseRequest [dto=null, isApi=false]
2017-04-07 15:10:40,530 [WARN | qtp1252837892-200| AddApplianceManagerConnectorService]: Exception encountered when trying to add Manager Connector, allowing user to either ignore or correct issue
2017-04-07 15:10:43,352 [ERROR| isc-job-pool-0| Job]: Fail to update JobRecord Job [name=Syncing Appliance Manager Connector 'SMC_MC', state=RUNNING, status=PASSED]
java.lang.NullPointerException
at org.osc.core.broker.job.Job.lambda$persistState$1(Job.java:396)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.job.Job.persistState(Job.java:393)
at org.osc.core.broker.job.Job.setState(Job.java:385)
at org.osc.core.broker.job.Job.executeGraph(Job.java:182)
at org.osc.core.broker.job.Job.run(Job.java:167)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-04-07 15:10:43,356 [ERROR| isc-job-pool-0| TaskNode]: Fail to update TaskRecord TaskNode [task=[Checking Appliance Manager Connector 'SMC_MC'], state=QUEUED, status=PASSED, guard=ALL_PREDECESSORS_SUCCEEDED]
java.lang.NullPointerException
at org.osc.core.broker.job.TaskNode.lambda$persistState$0(TaskNode.java:140)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.job.TaskNode.persistState(TaskNode.java:136)
at org.osc.core.broker.job.TaskNode.setState(TaskNode.java:122)
at org.osc.core.broker.job.Job.executeTask(Job.java:172)
at org.osc.core.broker.job.Job.executeGraph(Job.java:248)
at org.osc.core.broker.job.Job.run(Job.java:167)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-04-07 15:10:44,581 [ERROR| Thread-91| ConformService]: A serious error occurred in the Job Listener
org.osgi.service.transaction.control.ScopedWorkException: The scoped work threw an exception
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:185)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.ConformService$2.completed(ConformService.java:224)
at org.osc.core.broker.job.Job$NotifyJobCompletionListeners.run(Job.java:307)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.osc.core.broker.service.ConformService$2.lambda$completed$0(ConformService.java:226)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
... 5 more
2017-04-07 15:10:44,582 [ERROR| Thread-91| LogUtil$StdOutErrLog]: Exception in thread "Thread-91"
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: java.lang.RuntimeException: No Transactional resources are available
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.osc.core.broker.service.ConformService$2.completed(ConformService.java:229)
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.osc.core.broker.job.Job$NotifyJobCompletionListeners.run(Job.java:307)
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at java.lang.Thread.run(Thread.java:745)
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: Caused by: org.osgi.service.transaction.control.ScopedWorkException: The scoped work threw an exception
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:185)
2017-04-07 15:10:44,583 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.osc.core.broker.service.ConformService$2.completed(ConformService.java:224)
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: ... 2 more
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: Caused by: java.lang.NullPointerException
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.osc.core.broker.service.ConformService$2.lambda$completed$0(ConformService.java:226)
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
2017-04-07 15:10:44,584 [ERROR| Thread-91| LogUtil$StdOutErrLog]: ... 5 more
test
Start OSC
run a few jobs to completion
restart osc
all OSC tasks within the job which were showing up as completed before the restart are now marked as aborted.
Looks like regression from JPA changes
public List getUncompletedTasks() {
return this.session.createCriteria(TaskRecord.class).add(Restrictions.ne("state", TaskState.COMPLETED)).list();
}
was changed to
query = query.select(from).where(
cb.equal(from.get("state"), COMPLETED));
should be
query = query.select(from).where(
cb.notEqual(from.get("state"), COMPLETED));
The build is not downloading the jre. This is not failing the build however the resulting image is not functional wihtout the jre.
We are able to generate the parametrized/local build. However, Travis checks fails for the same pull request.
Repro Steps:
Sync
Expected Behavior:
A job is triggered and finishes successfully.
Actual Behavior:
An error pop up shows.
Likely Root Cause:
The class ManagerConnectorView
is not making using of the field private SyncManagerConnectorService syncManagerConnectorService = StaticRegistry.syncManagerConnectorService();
instead it is instantiating another sync service which likely wont have a ConformanceService resolved through OSGi.
Logs:
2017-04-12 01:56:55,024 [ERROR| qtp992985605-52| ServiceDispatcher]: Service request failed (unexpectedly): null
java.lang.NullPointerException
at org.osc.core.broker.service.mc.SyncManagerConnectorService.exec(SyncManagerConnectorService.java:43)
at org.osc.core.broker.service.mc.SyncManagerConnectorService.exec(SyncManagerConnectorService.java:31)
at org.osc.core.broker.service.ServiceDispatcher.lambda$dispatch$0(ServiceDispatcher.java:70)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.ServiceDispatcher.dispatch(ServiceDispatcher.java:70)
at org.osc.core.broker.view.ManagerConnectorView.conformManagerConnector(ManagerConnectorView.java:93)
at org.osc.core.broker.view.ManagerConnectorView.buttonClicked(ManagerConnectorView.java:83)
at org.osc.core.broker.view.CRUDBaseView$1.buttonClick(CRUDBaseView.java:103)
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 com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
at com.vaadin.ui.Button.fireClick(Button.java:377)
at com.vaadin.ui.Button$1.click(Button.java:54)
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 com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:119)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:432)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:404)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273)
at com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:148)
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:240)
at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:494)
at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:199)
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:107)
at org.atmosphere.container.Jetty9AsyncSupportWithWebSocket.service(Jetty9AsyncSupportWithWebSocket.java:180)
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2075)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:571)
at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:333)
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:328)
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:425)
at org.atmosphere.container.Jetty9WebSocketHandler.onWebSocketText(Jetty9WebSocketHandler.java:125)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:66)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:376)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
2017-04-12 01:56:59,337 [ERROR| qtp992985605-50| LogUtil$StdOutErrLog]: log4j:ERROR A "org.apache.log4j.RollingFileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
2017-04-12 01:56:59,337 [ERROR| qtp992985605-50| LogUtil$StdOutErrLog]: log4j:ERROR The class
Unbinding a security group from one Distributed Appliance and binding it to another Distributed Appliance in same request fails to protect the security group, as OSC is not triggering the InstallInspectionHook call to plugin.
SG bind should be successful when update with new DA
SG bind is successful when update with new DA(w.r.t job) but redirection not happened as plugin didn't get the call.
In https://OSCipaddress:8090/api-doc, Operations for Manager Connectors section there are three GETs, POST, PUT all have field name "PolicyMappingSupported", POST did get "bad request, un-recognize field", so all 5 places need to name it as "isPolicyMappingSupported". POST may even take this field out (not needed)
User can use api-doc to test Rest API functions OSC provides
POST/PUT failed. GET Model Schema display can confuse user with wrong name.
1)https://OSCipaddress:8090/api-doc, Operations for Manager Connectors section
2)GET Model Schema display in the yellow box
3)POST/PUT click write box and real fields in yellow box has wrong name and causes request fauiled
screenshot attached.
no null pointer and upgrade should succeed.
getting a null pointer with the below stacktrace
java.lang.NullPointerException
at org.osc.core.broker.service.tasks.conformance.openstack.deploymentspec.OsDAIUpgradeMetaTask.executeTransaction(OsDAIUpgradeMetaTask.java:107)
at org.osc.core.broker.service.tasks.TransactionalMetaTask.lambda$execute$0(TransactionalMetaTask.java:51)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.tasks.TransactionalMetaTask.execute(TransactionalMetaTask.java:50)
at org.osc.core.broker.job.TaskNode.run(TaskNode.java:308)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Looks like this is related to the OSGI changes. deleteSvaServerTask is being injected as a dynamic reference, but it is being intialized to null
Checking the option "Include Database Backup with Log Bundle" under Manage -> server -> summary tab and downloading the support bundle vs downloading just the logs works the same.
checking the "Include Database Backup with Log Bundle" should include the database in the zip file
No database in the zip file
goto Manage -> server -> summary and click "Download support Bundle" after checking the "Include Database Backup with Log Bundle" checkbox
Steps:
Upload ISM Manager Plugin - SampleMgrPlugin.bar using Manage/Pulgins/Manager Plugins
Add an ISM Manager Connector
Remove an ISM Manager Connector
Remove the plugin
Add the plugin once again
Add the ISM MC once again.
Expected Result:
All the steps above should be completed successfully
Actual Result:
There is a DB related issue preventing the plugin from being functional, add MC does not succeed.
Note:
After this bug is fixed it is OK if the ISM plugin still shows INSTALL_WAIT and Services as 0 as long as the plugin is functional. This status issue will be fixed by Intel once the PR opensecuritycontroller/security-mgr-sample-plugin#5 is handled.
Manage->Alarm->Edit select/deselect Enabled, click OK got red Error! Function ok.
Should not pop-up red Error!
Pop-up red "Error!" after click OK
Manage->Alarm->Edit select or deselect Enabled, click OK
DEBUG - createOstackVC
-- Sending POST Request for Action: create Virtualization Connector:
-- IP Addr: "10.3.205.104:8090"
-- Headers: "JSON"
-- URL: "/api/server/v1/virtualizationConnectors"
-- Body:
{
"name": "104-VC",
"type": "OPENSTACK",
"providerIP": "10.3.205.92",
"providerUser": "admin",
"providerPassword": "admin123",
"softwareVersion": "Icehouse",
"controllerType": {
"value": "NONE"
},
"adminTenantName": "admin",
"skipRemoteValidation": true,
"forceAddSSLCertificates": true,
"providerAttributes": {
"ishttps": "false",
"rabbitMQPort": "5672",
"rabbitUser": "guest",
"rabbitMQPassword": "guest"
}
}
DEBUG - Enter get_exception_info Exception: "_isc_connection: Status 400 for create Virtualization Connector: Bad Request b'{"errorCode":4000,"errorMessages":["Parse exception. Invalid request."]}'"
DEBUG - _isc_connection -- Sending POST Request for Action: create Manager Connector/createOrUpdateManagerConnector:
-- IP Addr: "10.3.205.104:8090"
-- Method: "POST"
-- Headers: "{'Authorization': 'Basic YWRtaW46YWRtaW4xMjM=', 'Content-Type': 'application/json', 'Accept': 'application/json'}"
-- URL: "/api/server/v1/applianceManagerConnectors"
-- Body:
{
"name": "104-MC",
"managerType": {
"value": "NSM"
},
"ipAddress": "10.3.205.105",
"username": "admin",
"password": "admin123",
"skipRemoteValidation": true,
"forceAddSSLCertificates": true,
"isPolicyMappingSupported": false
}
DEBUG - Enter get_exception_info Exception: "_isc_connection: Status 400 for create Manager Connector/createOrUpdateManagerConnector: Bad Request b'{"errorCode":4000,"errorMessages":["Parse exception. Invalid request."]}'"
Tested the same requests using 0.6 and they seem to work fine. used version 0.6 (Build:35-g00caf91)
You can test out the above requests by going into osc
https://OSC-IP:8090/api-doc/ and using swagger doc to submit and test the requests with the payload.
BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.219 s
[INFO] Finished at: 2017-07-20T21:14:49+08:00
[INFO] Final Memory: 13M/297M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-maven-plugin:3.0.0:bnd-process (default) on project osc-common: bnd error: No enum constant aQute.bnd.osgi.Packages.QUERY.VERSIONED, for cmd: packages, arguments; [packages, VERSIONED] -> [Help 1]
[ERROR]
there is commented code in
https://github.com/opensecuritycontroller/osc-core/blob/master/osc-control/src/main/java/org/osc/core/server/control/ServerControl.java
When the server is not running, we still want to allow query and exec functionality for debug purposes.
if (isRunningServer()) {
VmidcServerRestClient restClient = new VmidcServerRestClient(apiPort);
String queryOutput = restClient.postResource("query", String.class, sql);
System.out.println(queryOutput);
} else {
// System.out.println(ServerDebugApis.query(sql).toString());
}
Create a README for osc-core. The README should include all information (whether new content or linked) to build, test, understand versioning, etc. Research other open source projects' READMEs, for example, see this README template.
Steps to Reproduce:
javax.persistence.PersistenceException: Hibernate cannot unwrap interface java.sql.Connection
at org.hibernate.internal.SessionImpl.unwrap(SessionImpl.java:3786)
at org.apache.aries.tx.control.jpa.common.impl.EntityManagerWrapper.unwrap(EntityManagerWrapper.java:198)
at org.apache.aries.tx.control.jpa.common.impl.EntityManagerWrapper.unwrap(EntityManagerWrapper.java:198)
at org.osc.core.broker.service.archive.ArchiveService.exec(ArchiveService.java:77)
at org.osc.core.broker.service.archive.ArchiveService.exec(ArchiveService.java:54)
at org.osc.core.broker.service.ServiceDispatcher.lambda$dispatch$0(ServiceDispatcher.java:70)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.ServiceDispatcher.dispatch(ServiceDispatcher.java:70)
at org.osc.core.broker.view.maintenance.JobsArchiverPanel$3$1.run(JobsArchiverPanel.java:311)
at java.lang.Thread.run(Thread.java:745)
In the bnd process phase i see warning for some of the modules during build time.
Evaluate and fix the warnings as applicable.
bnd-maven-plugin:3.3.0:bnd-process
[WARNING] /var/lib/jenkins/jobs/osc-core/workspace/osc-control/bnd.bnd [0:0]: Export org.osc.core.broker.service.api, has 1, private references [javax.ws.rs.container],
[WARNING] /var/lib/jenkins/jobs/osc-core/workspace/osc-control/bnd.bnd [0:0]: Export org.osc.core.broker.service.exceptions, has 1, private references [javax.ws.rs],
New MC will be added - and sync will succeed
New MC will be added - but sync is failing
Have an MC run through automation delete and create a new one
All tasks of sync job succeed, except the one that sync the domains.
Repro Steps:
Create MC first time(successfully or unsuccessfully)
Second MC creating fails
Result:
Getting an error like below
2017-03-27 11:22:16,361 [ERROR| qtp1729923688-177| ServiceDispatcher]: Service request failed (unexpectedly): Transaction already active
java.lang.IllegalStateException: Transaction already active
at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:52)
at org.osc.core.broker.service.ServiceDispatcher.dispatch(ServiceDispatcher.java:67)
at org.osc.core.broker.window.add.AddManagerConnectorWindow.createAndSubmitRequest(AddManagerConnectorWindow.java:224)
at org.osc.core.broker.window.add.AddManagerConnectorWindow.submitForm(AddManagerConnectorWindow.java:191)
at org.osc.core.broker.window.CRUDBaseWindow.lambda$createWindow$633c848f$1(CRUDBaseWindow.java:69)
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 com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:979)
at com.vaadin.ui.Button.fireClick(Button.java:393)
at com.vaadin.ui.Button$1.click(Button.java:57)
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 com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:287)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:180)
at com.vaadin.server.communication.PushHandler$3.run(PushHandler.java:174)
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:253)
at com.vaadin.server.communication.PushHandler.access$200(PushHandler.java:56)
at com.vaadin.server.communication.PushHandler$1.onRequest(PushHandler.java:76)
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:174)
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:95)
at org.atmosphere.container.Jetty9AsyncSupportWithWebSocket.service(Jetty9AsyncSupportWithWebSocket.java:180)
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1802)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:432)
at org.atmosphere.websocket.DefaultWebSocketProcessor$2.run(DefaultWebSocketProcessor.java:285)
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:280)
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:303)
at org.atmosphere.container.Jetty9WebSocketHandler.onWebSocketText(Jetty9WebSocketHandler.java:77)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:66)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:376)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
2017-03-27 11:22:20,149 [ERROR| qtp1729923688-57| ServiceDispatcher]: Service request failed (unexpectedly): org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl@4e8f8bb8 is closed
java.lang.IllegalStateException: org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl@4e8f8bb8 is closed
at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.errorIfClosed(AbstractLogicalConnectionImplementor.java:37)
at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:128)
at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getConnectionForTransactionManagement(LogicalConnectionManagedImpl.java:247)
at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:254)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:203)
at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:56)
at org.osc.core.broker.service.ServiceDispatcher.dispatch(ServiceDispatcher.java:67)
at org.osc.core.broker.window.add.AddManagerConnectorWindow.createAndSubmitRequest(AddManagerConnectorWindow.java:224)
at org.osc.core.broker.window.add.AddManagerConnectorWindow.submitForm(AddManagerConnectorWindow.java:191)
at org.osc.core.broker.window.CRUDBaseWindow.lambda$createWindow$633c848f$1(CRUDBaseWindow.java:69)
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 com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:979)
at com.vaadin.ui.Button.fireClick(Button.java:393)
at com.vaadin.ui.Button$1.click(Button.java:57)
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 com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:287)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:180)
at com.vaadin.server.communication.PushHandler$3.run(PushHandler.java:174)
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:253)
at com.vaadin.server.communication.PushHandler.access$200(PushHandler.java:56)
at com.vaadin.server.communication.PushHandler$1.onRequest(PushHandler.java:76)
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:174)
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:95)
at org.atmosphere.container.Jetty9AsyncSupportWithWebSocket.service(Jetty9AsyncSupportWithWebSocket.java:180)
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1802)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:432)
at org.atmosphere.websocket.DefaultWebSocketProcessor$2.run(DefaultWebSocketProcessor.java:285)
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:280)
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:303)
at org.atmosphere.container.Jetty9WebSocketHandler.onWebSocketText(Jetty9WebSocketHandler.java:77)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:189)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:66)
at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:158)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:376)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
Expected Result:
Should be able to successfully create MC's multiple times.
I think this impacts all the services using the static registry.
private ConformService conformService;
private SetNetworkSettingsService setNetworkSettingsService;
private SetNATSettingsService setNATSettingsService;
private UpgradeService upgradeService;
private AddApplianceManagerConnectorService addApplianceManagerConnectorService;
private UpdateApplianceManagerConnectorService updateApplianceManagerConnectorService;
private SyncManagerConnectorService syncManagerConnectorService;
private DeleteUserService deleteUserService;
proposed fix is to add isOpen call to org.osc.core.broker.service.ServiceDispatcher.dispatch(I) method.
if (this.em == null || !this.em.isOpen()) {
this.em = getEntityManager();
}
@wardtimx Looks like your latest commit added new checkstyle warnings which is causing the osc-core build to fail: http://10.3.240.52:8080/view/Master/job/osc-core/215/analysisResult/
There should be a single java.header file which all submodules refer to and allow building just the submodule.
Currently in all the submodules there is a java.header file. Removing this file will cause the submodule build to fail with the error below when the submodule is build independent of the parent.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.15:check (default) on project osc-service-api: Failed during checkstyle configuration: cannot initialize module Header - unable to load header file java.header -> [Help 1]
delete java.header file and try to run submodule build only
Failed to build osc-core from command line
[INFO] BUILD SUCCESS
[INFO] org.osc.core:osc-export ............................ FAILURE [ 20.051 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:15 min
[INFO] Finished at: 2017-07-27T17:18:52+03:00
[INFO] Final Memory: 122M/1814M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal biz.aQute.bnd:bnd-export-maven-plugin:3.3.0:export (default) on project osc-export: Default handler for Launcher-Plugin not found in biz.aQute.launcher -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal biz.aQute.bnd:bnd-export-maven-plugin:3.3.0:export (default) on project osc-export: Default handler for Launcher-Plugin not found in biz.aQute.launcher
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Default handler for Launcher-Plugin not found in biz.aQute.launcher
at aQute.bnd.maven.export.plugin.ExportMojo.execute(ExportMojo.java:52)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: java.lang.IllegalArgumentException: Default handler for Launcher-Plugin not found in biz.aQute.launcher
at aQute.bnd.build.Project.getHandler(Project.java:2531)
at aQute.bnd.build.Project.getProjectLauncher(Project.java:2480)
at aQute.bnd.maven.export.plugin.ExportMojo.export(ExportMojo.java:57)
at aQute.bnd.maven.export.plugin.ExportMojo.execute(ExportMojo.java:48)
... 22 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :osc-export
git clone {URL}
cd {repo}/osc-core
mvn clean install -DskipTests -e
From within OSC code calling SecurityGroup.addSecurityGroupMember
with members of the same type should work as expected: new and different members should be added. This issue does not seem to reflect directly on OSC APIs or UI but it does affect unit testing and it could have other not yet found side effects.
From within OSC code calling SecurityGroup.addSecurityGroupMember
with members of the same type does not work. Only the first member gets added, this is happening because the type of the security members collection is TreeSet
which uses compareTo
to identify if elements are the same. Currently the SecurityGroupMember implements compareTo
using the type
only, thus adding elements of the same type does not work. This does not seem to be affecting any behavior on the APIs or UIs, the reason seems because the persistence framework instantiates the set of SGMs with a different collection other than TreeSet
this affects the unit tests though.
Since this is currently only affecting unit tests the repro steps involve removing the workaround added for the unit tests and running them:
AllocateDAIWithSGIMembersTaskTest
UpdateDAIToSGIMembersTaskTest.newSGM
which is currently mocking the compareTo method of the SGMAllocateDAIWithSGIMembersTaskTes
t and observe that they will now fail due to the TreeSet issue.Once the TreeSet issue is addressed, i.e.: use a HashSet then the tests should pass without the need for any workaround.
If the user encounters a connection-related exception while adding an MC, any number of exceptions may be thrown while trying to connect (SocketException, SocketTImeout, and many more).
This could be due to wrong IP, to appliance being down, to SSL certificate issues, authentication etc.
It is hard for the client or even the AddApplianceManagerConnectorService to determine the exact cause and alert the user appropriately, because the API classes in security-mgr-api are declared to throw Exception.
See, e.g., ApplianceManagerApi.createManagerDeviceApi(). Such exception are thrown inside it, typically by ApiFactoryService.checkConnection().
We need to create our own checked Exception classes, and have the implementors throw those instead.
We use instanceof someException do determine why we could not connect. See, e.g., ApplianceManagerApi.createManagerDeviceApi(). Such exception are thrown inside it, typically by ApiFactoryService.checkConnection().
Add NSM plugin. Then try adding a ManagerConnector with bogus IP, wrong credentials, SSL certificate. Debug into the methods mentioned above.
Repro Steps:
Create VC, MC, DA and DS.
Create an SG.
Bind the SG to a DA.
Result:
Getting an error - binding an SG (using Build 0.6-129)
IllegalArgumentException: Unable to locate Attribute with the the given name [protectedPorts] on this ManagedType [org.osc.core.broker.model.entities.BaseEntity]
Expected Result:
Should be able to successfully bind an SG.
Internal Bug ID: DE3596
Sometime the rabbitmq queue osc_queue is not being auto deleted like it supposed to. Seems to be an RabbitMQ issue. Best practise is to add ttl for every queue created so it gets deleted automatically.
http://www.rabbitmq.com/ttl.html#queue-ttl
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-expires", 1800000);
channel.queueDeclare("myqueue", false, false, false, args);
Using the maven all profile should not result in build failure unless an actual issue is found
Build fails in the sub-modules with the following error.
[INFO] --- maven-checkstyle-plugin:2.15:check (osc-checkstyle) @ sdn-controller-api ---
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] org.osc.api:sdn-controller-api ..................... FAILURE [ 8.402 s]
..............................................
..............................................
..............................................
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.731 s
[INFO] Finished at: 2017-07-13T15:48:59-07:00
[INFO] Final Memory: 33M/522M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.15:check (osc-checkstyle) on project sdn-controller-api: Failed during checkstyle configuration: cannot initialize module Header - unable to load header file java.header -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
run "mvn clean install -Pall" from the osc-core project while the submodules like sdn-controller-api are checked out in the parent folder.
The following tests fail inconsistently on both local runs and on the CI services. These tests should be fixed, redesigned to align with the unit test guidelines and re-enabled:
JobQueuerTest:testPutJob
JobEngineTest:testTaskDependencyExecutionOrder
Currently the task DeleteInspectionPortTask task is only being executed if the SDN controller supports port group. This task should be included for ALL sdn controllers.
The Job engine tests are failing with the error below. Looks like this code was not updated for aries tx-control
9057 [main] ERROR org.osc.core.broker.job.Job - Fail to create JobRecord Job [name=Job-task-graph-wiring, state=NOT_RUNNING, status=PASSED]
java.lang.NullPointerException
at org.osc.core.broker.util.db.HibernateUtil.ensureInitialized(HibernateUtil.java:78)
at org.osc.core.broker.util.db.HibernateUtil.getConnectionManager(HibernateUtil.java:44)
at org.osc.core.broker.util.db.HibernateUtil.getTransactionalEntityManager(HibernateUtil.java:62)
at org.osc.core.broker.job.Job.persistJob(Job.java:575)
at org.osc.core.broker.job.JobEngine.initJob(JobEngine.java:185)
at org.osc.core.broker.job.JobEngine.submit(JobEngine.java:156)
at org.osc.core.broker.job.JobEngineTest.testAddTaskGraph(JobEngineTest.java:465)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
This issue is related to the PR #256 . That PR turns additional entity enums used in the DTOS into strings. We must discuss further whether this can cause a real compatibility problem and, if so, maybe replicate those enums in the API service.
@derekwb I will leave this issue assigned to myself for now to discuss with @arvindn05 upon his return. We will assign to you in case this is something we must fix.
The following recently added line is a resource leak, and may also prevent files being deletable on Windows. There is a compiler warning that points this out.
The following folder content is automatically generated at compile time, this should not be checked in.
https://github.com/opensecuritycontroller/osc-core/tree/master/osc-ui/src/main/webapp/VAADIN/widgetsets
reverting the files leads to stack traces like below
2017-07-06 16:10:41,947 [ERROR| qtp1593532558-89| CRUDBaseWindow]:
com.vaadin.data.util.MethodProperty$MethodException
at com.vaadin.data.util.MethodProperty.invokeSetMethod(MethodProperty.java:678)
at com.vaadin.data.util.MethodProperty.setValue(MethodProperty.java:649)
compile application, revert the files under the widgetsets folder
Since Virtualization connector has a job associated with it which checks SSL connectivity we should be able to force delete the VC incase the endpoint is no longer accessible.
NullPointerException (NPE) thrown when updating a DA with a different Service Function Definition. SG is binded with the DA
The DA edit/update should have been successful with a Passed job
DA edit fails when a different Service Function definition (Image) is selected
Create a DA (e.g. da-1) using Setup > Distributed Appliances. Use an image with 1 nic interface.
Now edit the above DA using a different Service Function Definition. use an image with 2-nic interface.
A warning is received which asks for comfirmation if you want to make the change.
Click on OK.
DA edit Job fails - Failed Task shows Null Pointer Exception
Note - That the Sg is binded with this DA
java.lang.NullPointerException
at org.osc.core.broker.service.tasks.conformance.openstack.deploymentspec.OsDAIConformanceCheckMetaTask.executeTransaction(OsDAIConformanceCheckMetaTask.java:194)
at org.osc.core.broker.service.tasks.TransactionalMetaTask.lambda$execute$0(TransactionalMetaTask.java:51)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.doWork(AbstractTransactionControlImpl.java:161)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl$TransactionBuilderImpl.required(AbstractTransactionControlImpl.java:84)
at org.apache.aries.tx.control.service.common.impl.AbstractTransactionControlImpl.required(AbstractTransactionControlImpl.java:263)
at org.osc.core.broker.service.tasks.TransactionalMetaTask.execute(TransactionalMetaTask.java:50)
at org.osc.core.broker.job.TaskNode.run(TaskNode.java:308)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
The SdkUtil type added to OSC returns a platform dependent path, but the places that use it expect to be able to make a URI from it. This causes the URI be invalid (i.e. it contains a \ not a /) and so is not absolute and throws a URI syntax exception.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.