ok, have pushed fix for this one, resolving the ticket.

On 24 April 2015 at 10:18, Dan Haywood <[email protected]> wrote:

> Hi Oscar,
>
> Just getting round to looking at this... there is indeed an issue.  The
> fix is easy enough, I believe.
>
> I've raised ISIS-1137 [1] and am working on it now.
>
> Thx
> Dan
>
>
>
> [1] https://issues.apache.org/jira/browse/ISIS-1137
>
> On 1 April 2015 at 17:09, GESCONSULTOR - Óscar Bou <[email protected]
> > wrote:
>
>>
>> Hi, all.
>>
>> After upgrading to latest Isis release we have quite tests that were
>> previously running smoothly, but currently end with PermGen errors,
>> originated always on wrappers.
>>
>> You must consider that we have nearly all action calls invoked through
>> wrappers, and most setters also (that way we ensure that validateXXX
>> methods, etc. that can hold business logic are always executed; if not
>> possible due tu visibility restrictions we execute them insider a
>> wrapNoExecute(…) call).
>>
>> For example, this a stack trace we obtain.
>>
>> We can add PermGen executing with:
>>  -Xmx1G -XX:MaxPermSize=512M
>>
>> But it will fail again, perhaps some more tests later.
>>
>> Perhaps there can be some memory loss:
>> - when wrapping (or if, when an action invocation is wrapped, if there
>> are many wrapped calls also) ?
>> - if a test does not complete successfully?
>>
>>
>> There can be other external factors to consider (like importing Excel
>> files through Apache POI), but I wanted to point it here.
>>
>>
>>
>> I’ve attached 2 sample logs:
>>
>>
>> *LOG 1 (executing a test with -XX:MaxPermSize=256)*
>>
>>
>> java.lang.RuntimeException: by java.lang.OutOfMemoryError: PermGen space
>> at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:174)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist.createEnhancedClass(ProxyInstantiatorForJavassist.java:74)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist.instantiateProxy(ProxyInstantiatorForJavassist.java:47)
>> at
>> org.apache.isis.core.wrapper.handlers.ProxyContextHandler.proxy(ProxyContextHandler.java:57)
>> at
>> org.apache.isis.core.wrapper.WrapperFactoryAbstract.createProxy(WrapperFactoryAbstract.java:224)
>> at
>> org.apache.isis.core.wrapper.WrapperFactoryAbstract.wrap(WrapperFactoryAbstract.java:220)
>> at
>> org.apache.isis.core.wrapper.WrapperFactoryAbstract.wrap(WrapperFactoryAbstract.java:196)
>> at
>> com.xms.framework.api.domain.model.isis.AbstractXMSDomainObject.wrap(AbstractXMSDomainObject.java:420)
>> at
>> com.xms.framework.risk.domain.model.Event.addEventCatalog(Event.java:405)
>> at sun.reflect.GeneratedMethodAccessor171.invoke(Unknown Source)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.internalInvoke(ActionInvocationFacetForDomainEventAbstract.java:337)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:189)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:1)
>> at
>> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
>> at
>> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:367)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleActionMethod(DomainObjectInvocationHandler.java:610)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:244)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
>> at
>> com.xms.framework.risk.domain.model.Event_$$_javassist_593.addEventCatalog(Event_$$_javassist_593.java)
>> at
>> com.xms.framework.risk.domain.model.EventAPIService.upsertEvent(EventAPIService.java:209)
>> at
>> com.xms.framework.risk.domain.model.EventAPIService.importEventsFromExcel(EventAPIService.java:160)
>> at
>> com.xms.framework.risk.domain.model.EventAPIService.importEventsFromExcel(EventAPIService.java:48)
>> at
>> com.xms.framework.risk.domain.model.Events.createThreatsForMAGERIT(Events.java:130)
>> at
>> com.xms.framework.risk.integration.tests.EventCatalogsTests.testCreateThreatsForMAGERIT(EventCatalogsTests.java:42)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>> at
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>> at
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>> at
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>> at
>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>> at
>> org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:214)
>> at
>> org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
>> at
>> org.apache.isis.core.integtestsupport.ExceptionRecognizerTranslate$TranslationStatement.evaluate(ExceptionRecognizerTranslate.java:32)
>> at
>> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:168)
>> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>> at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
>> at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>> at
>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>> at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>> at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>> Caused by: javassist.CannotCompileException: by
>> java.lang.OutOfMemoryError: PermGen space
>> at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:167)
>> at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:170)
>> ... 57 more
>> Caused by: java.lang.OutOfMemoryError: PermGen space
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>> at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:159)
>> at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:170)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist.createEnhancedClass(ProxyInstantiatorForJavassist.java:74)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist.instantiateProxy(ProxyInstantiatorForJavassist.java:47)
>> at
>> org.apache.isis.core.wrapper.handlers.ProxyContextHandler.proxy(ProxyContextHandler.java:57)
>> at
>> org.apache.isis.core.wrapper.WrapperFactoryAbstract.createProxy(WrapperFactoryAbstract.java:224)
>> at
>> org.apache.isis.core.wrapper.WrapperFactoryAbstract.wrap(WrapperFactoryAbstract.java:220)
>> at
>> org.apache.isis.core.wrapper.WrapperFactoryAbstract.wrap(WrapperFactoryAbstract.java:196)
>> at
>> com.xms.framework.api.domain.model.isis.AbstractXMSDomainObject.wrap(AbstractXMSDomainObject.java:420)
>> at
>> com.xms.framework.risk.domain.model.Event.addEventCatalog(Event.java:405)
>> at sun.reflect.GeneratedMethodAccessor171.invoke(Unknown Source)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.internalInvoke(ActionInvocationFacetForDomainEventAbstract.java:337)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:189)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:1)
>> at
>> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
>> at
>> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:367)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleActionMethod(DomainObjectInvocationHandler.java:610)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:244)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
>> at
>> com.xms.framework.risk.domain.model.Event_$$_javassist_593.addEventCatalog(Event_$$_javassist_593.java)
>> at
>> com.xms.framework.risk.domain.model.EventAPIService.upsertEvent(EventAPIService.java:209)
>> at
>> com.xms.framework.risk.domain.model.EventAPIService.importEventsFromExcel(EventAPIService.java:160)
>> at
>> com.xms.framework.risk.domain.model.EventAPIService.importEventsFromExcel(EventAPIService.java:48)
>>
>>
>>
>>
>> *LOG 2 (executing a test with -XX:MaxPermSize=512)*
>>
>> org.apache.isis.core.commons.exceptions.IsisApplicationException:
>> org.apache.isis.applib.services.wrapper.InvalidException: Source:
>>  [name=EAM-ASS-BIA-INH-020 - product,  [tenantId=301,
>> [id=E81C2859-791D-43BC-A3D5-87BD42B68D42, class
>> name=com.xms.framework.architecture.domain.model.business.Product]]].
>> Reason: by java.lang.OutOfMemoryError: PermGen space. Identifier:
>> com.xms.framework.architecture.domain.model.business.Product#aggregatedServices()
>> at
>> org.apache.isis.core.commons.lang.ThrowableExtensions.throwWithinIsisException(ThrowableExtensions.java:55)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.internalInvoke(ActionInvocationFacetForDomainEventAbstract.java:411)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:189)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:1)
>> at
>> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
>> at
>> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:367)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleActionMethod(DomainObjectInvocationHandler.java:610)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:244)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
>> at
>> com.xms.framework.architecture.domain.model.business.Product_$$_javassist_2972.addService(Product_$$_javassist_2972.java)
>> at
>> com.xms.framework.architecture.integration.glue.business.old.ProductGlue.product_aggregates_the_business_service(ProductGlue.java:35)
>> at ✽.When the "EAM-ASS-BIA-INH-020 - product" product aggregates the
>> "EAM-ASS-BIA-INH-020 - business service" business
>> service(com/xms/framework/risk/integration/specs/continuity/EAM-ASS-BIA -
>> Enterprise Architecture Model - Assets - BIA.feature:231)
>> Caused by: org.apache.isis.applib.services.wrapper.InvalidException:
>> Source:  [name=EAM-ASS-BIA-INH-020 - product,  [tenantId=301,
>> [id=E81C2859-791D-43BC-A3D5-87BD42B68D42, class
>> name=com.xms.framework.architecture.domain.model.business.Product]]].
>> Reason: by java.lang.OutOfMemoryError: PermGen space. Identifier:
>> com.xms.framework.architecture.domain.model.business.Product#aggregatedServices()
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.toException(DomainObjectInvocationHandler.java:709)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.notifyListenersAndVetoIfRequired(DomainObjectInvocationHandler.java:681)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleCollectionAddToMethod(DomainObjectInvocationHandler.java:506)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:230)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
>> at
>> com.xms.framework.architecture.domain.model.business.Product_$$_javassist_2973.addToAggregatedServices(Product_$$_javassist_2973.java)
>> at
>> com.xms.framework.architecture.domain.model.business.Product.addService(Product.java:112)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.internalInvoke(ActionInvocationFacetForDomainEventAbstract.java:337)
>> at
>> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:189)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:57)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1.execute(ActionInvocationFacetWrapTransaction.java:1)
>> at
>> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
>> at
>> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
>> at
>> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:367)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleActionMethod(DomainObjectInvocationHandler.java:610)
>> at
>> org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:244)
>> at
>> org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
>> at
>> com.xms.framework.architecture.domain.model.business.Product_$$_javassist_2972.addService(Product_$$_javassist_2972.java)
>> at
>> com.xms.framework.architecture.integration.glue.business.old.ProductGlue.product_aggregates_the_business_service(ProductGlue.java:35)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:606)
>> at cucumber.runtime.Utils$1.call(Utils.java:35)
>> at cucumber.runtime.Timeout.timeout(Timeout.java:12)
>> at cucumber.runtime.Utils.invoke(Utils.java:31)
>> at
>> cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:35)
>> at
>> cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:38)
>> at cucumber.runtime.Runtime.runStep(Runtime.java:289)
>> at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
>> at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
>> at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:40)
>> at
>> cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:83)
>> at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
>> at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>> at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
>> at cucumber.api.junit.Cucumber.runChild(Cucumber.java:82)
>> at cucumber.api.junit.Cucumber.runChild(Cucumber.java:41)
>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>> at cucumber.api.junit.Cucumber.run(Cucumber.java:87)
>> at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
>> at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>> at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>>
>>
>>
>>
>> *Óscar Bou Bou*
>> Responsable de Producto
>> Auditor Jefe de Certificación ISO 27001 en BSI
>> CISA, CRISC, APMG ISO 20000, ITIL-F
>>
>>    902 900 231 / 620 267 520
>>    http://www.twitter.com/oscarbou
>>
>>    http://es.linkedin.com/in/oscarbou
>>
>>    http://www.GesConsultor.com <http://www.gesconsultor.com/>
>>
>>
>>
>> Este mensaje y los ficheros anexos son confidenciales. Los mismos
>> contienen información reservada que no puede ser difundida. Si usted ha
>> recibido este correo por error, tenga la amabilidad de eliminarlo de su
>> sistema y avisar al remitente mediante reenvío a su dirección electrónica;
>> no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.
>> Su dirección de correo electrónico junto a sus datos personales constan
>> en un fichero titularidad de Gesdatos Software, S.L. cuya finalidad es la
>> de mantener el contacto con Ud. Si quiere saber de qué información
>> disponemos de Ud., modificarla, y en su caso, cancelarla, puede hacerlo
>> enviando un escrito al efecto, acompañado de una fotocopia de su D.N.I. a
>> la siguiente dirección: Gesdatos Software, S.L. , Paseo de la Castellana,
>> 153 bajo - 28046 (Madrid), y Avda. Cortes Valencianas num. 50, 1ºC - 46015
>> (Valencia). Asimismo, es su responsabilidad comprobar que este mensaje o
>> sus archivos adjuntos no contengan virus informáticos, y en caso que los
>> tuvieran eliminarlos.
>>
>>
>>
>>
>>
>>
>

Reply via email to