Foren

null pointer al cargar imagen

Alberto Bandrés Pereira, geändert vor 10 Jahren.

null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas, estoy trabajando con la versión Enterprise de Liferay 6.1. Mirando el catalina.out me doy cuenta que cada cierto tiempo me saltan estos mensajes de error con diferentes imágenes que se muestran en la Home. Las imagenes están correctamente enlazadas pues esté logado o no, las veo correctamente. A ver si podéis echarme una mano para solucionarlo.

08:43:11,107 ERROR [ajp-bio-8009-exec-14][AutoLoginFilter:245] Current URL /documents/10179/27504/flecha+azul+claro+central+portada.png/ba55f30d-c114-4b3f-9387-4541c2b8b6bc?t=1377258018310?t=1377258018311 generates exception: java.lang.NullPointerException


Muchas gracias
thumbnail
Iñaki Sainz, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

Junior Member Beiträge: 43 Beitrittsdatum: 05.06.13 Neueste Beiträge
Hola Alberto,

Imagino que tienes desplegado algún sistema de Autologin y que para esos casos te está dando algún tipo de error. Has comprobado que lo indicado en:

https://www.liferay.com/community/forums/-/message_boards/message/20845944

No te esté ocurriendo?

En cualquier caso, te recomiendo que subas la traza de log a través de la opción del panel de control --> administración del servidor
para la categoría com.liferay.portal.servlet.filters.autologin.AutoLoginFilter de ERROR que la debes tener ahora a DEBUG.

De esta forma podrás ver la traza de error original y averiguar en que parte del código se está originando la excepción.

Un saludo.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas Iñaki, gracias por la contestación.

Justo ayer estuve viendo ese post, pero en mi caso no he configurado ningún sistema de Autologin, estoy utilizando básicamente el que trae el portal por defecto.

¿crees que puede tener relación?

Gracias,
thumbnail
Iñaki Sainz, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

Junior Member Beiträge: 43 Beitrittsdatum: 05.06.13 Neueste Beiträge
Buenas Andrés,

no es lo mismo, aunque en el fondo es igual que el hook sea a partir de uno externo o los genéricos del portal ya que a nivel de ejecución todos pasan por ese lugar. Aunque está claro es que el origen será otro.

Prueba a aumentar las trazas de log para que salga a la luz el origen real del problema.

Slds.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas,

ya tengo puesto el nivel de trazas a DEBUG, esto es lo que me devuelve:

10:39:48,272 WARN [ajp-bio-8009-exec-183][AutoLoginFilter:232] com.liferay.portal.security.auth.AutoLoginException: java.lang.NullPointerException
com.liferay.portal.security.auth.AutoLoginException: java.lang.NullPointerException
at com.liferay.portal.security.auth.RememberMeAutoLogin.login(RememberMeAutoLogin.java:112)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:198)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:306)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at com.liferay.portal.service.impl.UserLocalServiceImpl.isPasswordExpired(UserLocalServiceImpl.java:2833)
at com.liferay.portal.service.impl.UserLocalServiceImpl.decryptUserId(UserLocalServiceImpl.java:1586)
at sun.reflect.GeneratedMethodAccessor1078.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
at $Proxy98.decryptUserId(Unknown Source)
at com.liferay.portal.service.UserLocalServiceUtil.decryptUserId(UserLocalServiceUtil.java:905)
at com.liferay.portal.security.auth.RememberMeAutoLogin.login(RememberMeAutoLogin.java:77)
... 49 more
10:39:48,274 ERROR [ajp-bio-8009-exec-183][AutoLoginFilter:245] Current URL / generates exception: java.lang.NullPointerException

Muchas gracias,
thumbnail
Iñaki Sainz, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

Junior Member Beiträge: 43 Beitrittsdatum: 05.06.13 Neueste Beiträge
De la traza desprendo que el error se produce ejecutando el filtro de Remember me en combinación con la propiedad de portal.properties activa.

ldap.password.policy.enabled=true

Es posible?

Si es así, creo que entra en conflicto con el filtro de remember me y eso te provoca el null pointer.

Mi recomendación es que desactives el RememberMe si no tiene sentido para vosotros.
Si puedes desactivarlo, deberás de tratar de modificar el comportamiento de la comprobación de si el password ha expirado en tiempo o no y hacerlo dependiente de la policy de LDAP. Concretamente, deberías tratar de modificar (mediante un hook) el Service UserLocalService para que el método isPasswordExpired tenga en cuenta este caso y se comporte.

Espero que te ayude.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas Iñaki,

Ayer me contestaste a otra incidencia que teníamos justo desactivando esa propiedad:

ldap.password.policy.enabled=false

Todavía tengo que reiniciar el portal para aplicar este cambio, ¿puede ser que solucionemos las dos incidencias con esa modificación entoces? De esta manera (si he entendido bien) evitaríamos el conflicto.

Gracias,
thumbnail
Iñaki Sainz, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

Junior Member Beiträge: 43 Beitrittsdatum: 05.06.13 Neueste Beiträge
En principio si, pruébalo y ya nos dirás.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenos días Iñaki,

Acabo de reiniciar el tomcat con la propiedad del fichero portal-ext.properties --> ldap.password.policy.enabled=false

Ha arrancado sin ninguna traza de error y al principio parecía que ya no salían los errores de los import de los usuarios del LDAP, pero al cabo de 10 minuto ha empezado a importar algunos de nuevo con el mismo mensaje:

[liferay/scheduler_dispatch-14][PortalLDAPImporterImpl:698] Unable to import user.....

Y el otro problema que daba de los null pointer al cargar las imágenes de la home también han vuelto a salir:

ERROR [ajp-bio-8009-exec-236][AutoLoginFilter:245] Current URL /documents/10179/27504/flecha+azul+claro+central+portada.png/ba55f30d-c114-4b3f-9387-4541c2b8b6bc?t=1377258018310?t=1377258018311 generates exception: java.lang.NullPointerException

¿alguna idea?

Gracias de nuevo,
thumbnail
Iñaki Sainz, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

Junior Member Beiträge: 43 Beitrittsdatum: 05.06.13 Neueste Beiträge
las trazas de error completas son las mismas? A ver si ahora se produce un error diferente.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Sí Iñaki, son las mismas. emoticon
thumbnail
Iñaki Sainz, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

Junior Member Beiträge: 43 Beitrittsdatum: 05.06.13 Neueste Beiträge
Hola

acabo de caer en que si las configuraciones de LDAP las hiciste a través de panel de control es posible que la propiedad Use LDAP Password Policy del panel de control esté activa. ¿Lo puedes comprobar? En Portal Settings --> Authentication --> LDAP

Todas las propiedades seteadas a través del panel de control sobre-escriben las propiedades definidas en los ficheros de configuración, con lo que podría ser la explicación.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas,

Efectivamente está activa, la configuración como bien dices se hizo a través del panel de control. ¿pruebo desactivarla? a ver si ahora no van a poder identificarse los usuarios del LDAP.. jeje

Gracias!!
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas,

Después de tres días con esta propiedad cambiada no han vuelto a salir trazas de errores.

Muchas gracias Iñaki.
Alberto Bandrés Pereira, geändert vor 10 Jahren.

RE: null pointer al cargar imagen

New Member Beiträge: 22 Beitrittsdatum: 09.02.11 Neueste Beiträge
Buenas,

Me acabo de dar cuenta que al cambiar la propiedad ldap.password.policy.enabled=false los usuarios nuevos registrados en el LDAP no los reconoce. ¿esto es normal?

Gracias,