Imported users then cannot insert password manually

Hello,

I have imported users with the Import > data service:

image

I see the users in the Users table:

image

But as soon as i insert a password manually in the backend as the owner i receive this error message:

image

Full error message:

Backendless encountered an error while handling the request. An internal trouble ticket with ID 0240605D-0F5C-F331-FF92-B29B42249400 has been created and we will be investigating the issue. null java.lang.NullPointerException at com.backendless.services.users.utils.UserHelper.checkPassword(UserHelper.java:66) at com.backendless.services.users.services.UserUpdate.prepareUserValuesForUpdate(UserUpdate.java:213) at com.backendless.services.users.services.UserUpdate.lambda$unSafeUpdate$2(UserUpdate.java:140) at com.backendless.datamodel.application.dao.AppJpaTransaction.executeSync(AppJpaTransaction.java:130) at com.backendless.datamodel.application.dao.AppJpaTransaction.executeSync(AppJpaTransaction.java:199) at com.backendless.datamodel.application.dao.AppJpaTransaction.lambda$execute$0(AppJpaTransaction.java:40) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Suppressed: java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) at com.backendless.async.UncheckedCompletableFutureImpl.getUnchecked(UncheckedCompletableFutureImpl.java:158) at com.backendless.services.users.services.UserUpdate.unSafeUpdate(UserUpdate.java:161) at com.backendless.services.users.services.UserUpdate.lambda$update$0(UserUpdate.java:96) at com.backendless.util.sync.RedisSync.execute(RedisSync.java:108) at com.backendless.util.SyncUtil.execute(SyncUtil.java:45) at com.backendless.util.sync.ISync.execute(ISync.java:33) at com.backendless.services.users.services.UserUpdate.update(UserUpdate.java:96) at com.backendless.services.users.impl.UserService.update(UserService.java:267) at com.backendless.services.users.impl.UserServiceManagementProxy.update(UserServiceManagementProxy.java:192) at com.backendless.services.users.impl.UserServicePersistenceAdapter.update(UserServicePersistenceAdapter.java:82) at com.backendless.services.users.impl.UserServiceManagementProxy$$EnhancerByGuice$$2061a8e5.update() at com.backendless.services.persistence.ConsolePersistenceServiceChooserDecorator.update(ConsolePersistenceServiceChooserDecorator.java:152) at com.backendless.services.persistence.ConsolePersistenceServiceChooserDecorator.update(ConsolePersistenceServiceChooserDecorator.java:20) at com.backendless.services.persistence.ContextServiceWrapper.update(ContextServiceWrapper.java:143) at com.backendless.services.messaging.DeviceRegistrationPersistenceService.update(DeviceRegistrationPersistenceService.java:96) at com.backendless.services.messaging.DeviceRegistrationPersistenceService.update(DeviceRegistrationPersistenceService.java:41) at com.backendless.services.messaging.DeviceRegistrationPersistenceService$$EnhancerByGuice$$b4b1ebdb.update() at com.backendless.services.persistence.validator.TableExistenceDecorator.update(TableExistenceDecorator.java:300) at com.backendless.services.persistence.validator.TableExistenceDecorator.update(TableExistenceDecorator.java:32) at com.backendless.services.persistence.ContextServiceWrapper.update(ContextServiceWrapper.java:143) at com.backendless.rt.data.DataRTServiceDecorator.update(DataRTServiceDecorator.java:105) at com.backendless.rt.data.DataRTServiceDecorator$$EnhancerByGuice$$3ffe6f2e.CGLIB$update$5() at com.backendless.rt.data.DataRTServiceDecorator$$EnhancerByGuice$$3ffe6f2e$$FastClassByGuice$$810969bf.invoke() at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:76) at com.backendless.monitoring.PerformanceMonitoring.invoke(PerformanceMonitoring.java:31) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:78) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:54) at com.backendless.rt.data.DataRTServiceDecorator$$EnhancerByGuice$$3ffe6f2e.update() at com.backendless.rt.data.DataRTServiceDecorator.update(DataRTServiceDecorator.java:35) at com.backendless.rt.data.DataRTServiceDecorator$$EnhancerByGuice$$3ffe6f2e.update() at com.backendless.services.persistence.common.PersistenceInterfaceAdapter.update(PersistenceInterfaceAdapter.java:80) at com.backendless.services.persistence.common.PersistenceSqlErrorAdapter.lambda$update$1(PersistenceSqlErrorAdapter.java:44) at com.backendless.services.persistence.common.PersistenceSqlErrorAdapter.safeExecute(PersistenceSqlErrorAdapter.java:64) at com.backendless.services.persistence.common.PersistenceSqlErrorAdapter.update(PersistenceSqlErrorAdapter.java:44) at controllers.console.Data.lambda$updateEntity$7(Data.java:354) at com.backendless.async.ExecutorService.lambda$submit$0(ExecutorService.java:67) … 4 more

Can you check why this error is happening?

Hi @Michel_Loriaux !

Does your file with users include values for ‘password’ column?
Backendless expects that there will be present hashes for an old passwords.
If password column is impty - fill it with any values and try to reimport file to your application. After reimport this error should be gone.
Could you please try this solution and write me back?

Regards, Andriy

Thank you Andriy, that works.

Is it correct that i need to fill in the passwords again for them to work?

Yes, that is correct. You should provide some value instead of password hash when there is no real password.
Password is required for users in Backendless. We will add check during the import for password presence in imported file. Technically, you should not be able to go so far with users without password.

Regards, Andriy

1 Like