Errors in MOTECH startup

21 views
Skip to first unread message

manjo...@gmail.com

unread,
Oct 31, 2015, 10:57:36 AM10/31/15
to MOTECH Developer

Hi,

We are facing some errors during MOTECH startup, Can someone help in checking ?
MOTECH version : 0.27.X

Error

2015-10-31 20:12:52,490 WARN  [org.motechproject.mds.annotations.internal.LookupProcessor] Unable to read method public abstract java.util.List org.motechproject.mtraining.repository.LessonDataService.findLessonByName(java.lang.String) names using paranamer
com.thoughtworks.paranamer.ParameterNamesNotFoundException: Parameter names not found for findLessonByName
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.getParameterNamesForMethod(BytecodeReadingParanamer.java:241)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.access$300(BytecodeReadingParanamer.java:144)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer.lookupParameterNames(BytecodeReadingParanamer.java:104)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer.lookupParameterNames(BytecodeReadingParanamer.java:69)
    at org.motechproject.mds.annotations.internal.LookupProcessor.findParametersNames(LookupProcessor.java:193)
    at org.motechproject.mds.annotations.internal.LookupProcessor.verifyLookupParameters(LookupProcessor.java:147)
    at org.motechproject.mds.annotations.internal.LookupProcessor.process(LookupProcessor.java:108)
    at org.motechproject.mds.annotations.internal.AbstractProcessor.execute(AbstractProcessor.java:75)
    at org.motechproject.mds.annotations.internal.MDSAnnotationProcessor.processAnnotations(MDSAnnotationProcessor.java:40)
    at org.motechproject.mds.osgi.MdsBundleWatcher.process(MdsBundleWatcher.java:229)
    at org.motechproject.mds.osgi.MdsBundleWatcher.processInstalledBundles(MdsBundleWatcher.java:130)
    at org.motechproject.mds.osgi.MdsBundleWatcher.access$100(MdsBundleWatcher.java:48)
    at org.motechproject.mds.osgi.MdsBundleWatcher$1.doInTransactionWithoutResult(MdsBundleWatcher.java:82)
    at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
    at org.motechproject.mds.osgi.MdsBundleWatcher.start(MdsBundleWatcher.java:77)
    at org.motechproject.mds.MDSInitializer.initMDS(MDSInitializer.java:67)
    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.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:346)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:299)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:132)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60)
    at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325)
    at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
    at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290)
    at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
    at java.lang.Thread.run(Thread.java:745)
2015-10-31 20:12:52,492 WARN  [org.motechproject.mds.annotations.internal.LookupProcessor] Unable to read method public abstract org.motechproject.mtraining.domain.Chapter org.motechproject.mtraining.repository.ChapterDataService.findChapterById(java.lang.Long) names using Paranamer
com.thoughtworks.paranamer.ParameterNamesNotFoundException: Parameter names not found for findChapterById
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.getParameterNamesForMethod(BytecodeReadingParanamer.java:241)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer$TypeCollector.access$300(BytecodeReadingParanamer.java:144)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer.lookupParameterNames(BytecodeReadingParanamer.java:104)
    at com.thoughtworks.paranamer.BytecodeReadingParanamer.lookupParameterNames(BytecodeReadingParanamer.java:69)
    at org.motechproject.mds.annotations.internal.LookupProcessor.findLookupFields(LookupProcessor.java:251)
    at org.motechproject.mds.annotations.internal.LookupProcessor.process(LookupProcessor.java:105)
    at org.motechproject.mds.annotations.internal.AbstractProcessor.execute(AbstractProcessor.java:75)
    at org.motechproject.mds.annotations.internal.MDSAnnotationProcessor.processAnnotations(MDSAnnotationProcessor.java:40)
    at org.motechproject.mds.osgi.MdsBundleWatcher.process(MdsBundleWatcher.java:229)
    at org.motechproject.mds.osgi.MdsBundleWatcher.processInstalledBundles(MdsBundleWatcher.java:130)
    at org.motechproject.mds.osgi.MdsBundleWatcher.access$100(MdsBundleWatcher.java:48)
    at org.motechproject.mds.osgi.MdsBundleWatcher$1.doInTransactionWithoutResult(MdsBundleWatcher.java:82)
    at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
    at org.motechproject.mds.osgi.MdsBundleWatcher.start(MdsBundleWatcher.java:77)
    at org.motechproject.mds.MDSInitializer.initMDS(MDSInitializer.java:67)
    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.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:346)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:299)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:132)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1448)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60)
    at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325)
    at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
    at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290)
    at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
    at java.lang.Thread.run(Thread.java:745)


Regards
Manjot

Robert LaRubbio

unread,
Oct 31, 2015, 12:37:41 PM10/31/15
to motech-dev
Manjot,
  This doesn't look like a motech issue, but rather something in NMS.  Is this from the 1.0.2 hotfix?  Did it start after the hotfix, or has it not started at all?  Also what has changed, was this from a new deployment or just a restart?  If it was a new deployment are all old versions of jars and bundles removed from the bundles dir before the deployment? Is there any other recent action that might help put the exception into context?

-Rob

--
You received this message because you are subscribed to the Google Groups "MOTECH Developer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to motech-dev+...@googlegroups.com.
To post to this group, send email to motec...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/motech-dev/10b4062e-12ed-46c1-9018-4de2563ca423%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Frank Huster

unread,
Oct 31, 2015, 1:03:12 PM10/31/15
to motec...@googlegroups.com
According to Manjot they've been receiving these errors almost since the beginning.
But it doesn't seem to have any negative effect.


For more options, visit https://groups.google.com/d/optout.



--
Frank Huster
Mobile Health Innovations
Grameen Foundation

Sebastian Brudziński

unread,
Oct 31, 2015, 6:23:54 PM10/31/15
to MOTECH Developer
Hello

These warnings come from the BytecodeReadingParanamer. It is a library we use in MDS to read method's parameter names from the java bytecode. The BytecodeReadingParanamer relies on the debug information, which means that if the code has been compiled without the inclusion of debug information, the BytecodeReadingParanamer won't be able to read the method's parameter names (since they won't be included in the bytecode).

The generation of lookups will only be affected by this, if they have been defined without specifing lookup field names with @LookupField(name = "fieldName") annotation. If all lookup fields are marked with the annotation and have their names provided there, these warnings have no meaning.

Best regards,
Sebastian Brudzinski.
Reply all
Reply to author
Forward
0 new messages