hello team, I have pushed a PR on fineract repo, but a Fineract Signed Commits Check workflow run has failed how do you guys set it up, thank you
Channels / #fineract / 2026 / 04 / 22
#fineract 2026-04-22
Wed 11:06Adam Saghy
👀 1
Wed 16:01Kaushal Shriyan
Subject: Issue with Self-Service Plugin Tables in Fineract 1.15
I am using the self-service plugin for user onboarding:
https://github.com/openMF/selfservice-plugin
I followed the below steps:
```#git clone https://github.com/apache/fineract.git
#cd /opt/fineract
# git branch
# Verify build
#ls /opt/fineract/fineract-provider/build/libs/
fineract-provider-1.15.0-SNAPSHOT.jar```
Then, I built the self-service plugin:
```#git clone https://github.com/openMF/selfservice-plugin.git
#cd selfservice-plugin
#./mvnw -Dmaven.test.skip=true
#cp /opt/selfservice-plugin/target/selfservice-plugin-1.15.0-SNAPSHOT.jar /opt/fineract/libs/```
My systemd configuration is as follows:
```[Unit]
Description= CBS Application Service
After=network.target
Wants=network-online.target
[Service]
WorkingDirectory=/opt/fineract/fineract-provider
ExecStart=/usr/bin/java -Duser.timezone=UTC \
-Dloader.path=/opt/fineract/libs/ \
-Dspring.config.additional-location=file:/opt/fineract/override.properties \
-jar build/libs/fineract-provider-1.15.0-SNAPSHOT.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
StandardOutput=append:/var/log/fineract/fineract.log
StandardError=append:/var/log/fineract/fineract-error.log
[Install]
WantedBy=multi-user.target```
After startup, I can see the following self-service tables:
```SHOW TABLES LIKE '%m_selfservice%';
m_selfservice_beneficiaries_tpt
m_selfservice_user_client_mapping```
However, the following tables are missing:
Could you please guide me on why these tables are not being created and how to resolve this issue?
I am using the self-service plugin for user onboarding:
https://github.com/openMF/selfservice-plugin
I followed the below steps:
```#git clone https://github.com/apache/fineract.git
#cd /opt/fineract
# git branch
- develop
# Verify build
#ls /opt/fineract/fineract-provider/build/libs/
fineract-provider-1.15.0-SNAPSHOT.jar```
Then, I built the self-service plugin:
```#git clone https://github.com/openMF/selfservice-plugin.git
#cd selfservice-plugin
#./mvnw -Dmaven.test.skip=true
#cp /opt/selfservice-plugin/target/selfservice-plugin-1.15.0-SNAPSHOT.jar /opt/fineract/libs/```
My systemd configuration is as follows:
```[Unit]
Description= CBS Application Service
After=network.target
Wants=network-online.target
[Service]
WorkingDirectory=/opt/fineract/fineract-provider
ExecStart=/usr/bin/java -Duser.timezone=UTC \
-Dloader.path=/opt/fineract/libs/ \
-Dspring.config.additional-location=file:/opt/fineract/override.properties \
-jar build/libs/fineract-provider-1.15.0-SNAPSHOT.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
StandardOutput=append:/var/log/fineract/fineract.log
StandardError=append:/var/log/fineract/fineract-error.log
[Install]
WantedBy=multi-user.target```
After startup, I can see the following self-service tables:
```SHOW TABLES LIKE '%m_selfservice%';
m_selfservice_beneficiaries_tpt
m_selfservice_user_client_mapping```
However, the following tables are missing:
- `m_selfservice_user`
- `m_selfservice_registration`
Could you please guide me on why these tables are not being created and how to resolve this issue?
Hi, i don't think these are plugin issues, tables are actually there ,they just have different names than what you're expecting! Try this `SHOW TABLES LIKE '%appselfservice%';` also `SHOW TABLES LIKE 'request_audit_table';`
Ok
```Database changed
MariaDB [fineract_default]> SHOW TABLES LIKE '%appselfservice%';
+-----------------------------------------------+
| Tables_in_fineract_default (%appselfservice%) |
+-----------------------------------------------+
| m_appselfservice_user |
| m_appselfservice_user_role |
+-----------------------------------------------+
2 rows in set (0.001 sec)
MariaDB [fineract_default]> SHOW TABLES LIKE 'request_audit_table';
+--------------------------------------------------+
| Tables_in_fineract_default (request_audit_table) |
+--------------------------------------------------+
| request_audit_table |
+--------------------------------------------------+
1 row in set (0.001 sec)
MariaDB [fineract_default]>```
MariaDB [fineract_default]> SHOW TABLES LIKE '%appselfservice%';
+-----------------------------------------------+
| Tables_in_fineract_default (%appselfservice%) |
+-----------------------------------------------+
| m_appselfservice_user |
| m_appselfservice_user_role |
+-----------------------------------------------+
2 rows in set (0.001 sec)
MariaDB [fineract_default]> SHOW TABLES LIKE 'request_audit_table';
+--------------------------------------------------+
| Tables_in_fineract_default (request_audit_table) |
+--------------------------------------------------+
| request_audit_table |
+--------------------------------------------------+
1 row in set (0.001 sec)
MariaDB [fineract_default]>```
👍 1
so what all tables are created by the self service plugins?
- `m_appselfservice_user`
- `m_appselfservice_user_role`
- `m_selfservice_user_client_mapping`
```MariaDB [fineract_default]> show tables like '%selfservice%';
+--------------------------------------------+
| Tables_in_fineract_default (%selfservice%) |
+--------------------------------------------+
| m_appselfservice_user |
| m_appselfservice_user_role |
| m_selfservice_beneficiaries_tpt |
| m_selfservice_user_client_mapping |
+--------------------------------------------+
4 rows in set (0.001 sec)
MariaDB [fineract_default]>```
+--------------------------------------------+
| Tables_in_fineract_default (%selfservice%) |
+--------------------------------------------+
| m_appselfservice_user |
| m_appselfservice_user_role |
| m_selfservice_beneficiaries_tpt |
| m_selfservice_user_client_mapping |
+--------------------------------------------+
4 rows in set (0.001 sec)
MariaDB [fineract_default]>```
yes, all 4 tables in your query are created by the self-service plugin
ok
Do you have sample API calls to create a self service users? map savings account, deposit money and withdraw money , beneficiaries etc..
Thanks in advance
```2026-04-22 23:57:41.442 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.account.api.SelfAccountTransferApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.account.api.SelfAccountTransferApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.account.api.SelfBeneficiariesTPTApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.account.api.SelfBeneficiariesTPTApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.client.api.SelfClientsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.client.api.SelfClientsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.loanaccount.api.SelfLoansApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.loanaccount.api.SelfLoansApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.products.api.SelfLoanProductsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.products.api.SelfLoanProductsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.products.api.SelfSavingsProductsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.products.api.SelfSavingsProductsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.products.api.SelfShareProductsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.products.api.SelfShareProductsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.runreport.SelfRunReportApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.runreport.SelfRunReportApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.savings.api.SelfSavingsAccountApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.savings.api.SelfSavingsAccountApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.security.api.SelfAuthenticationApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.security.api.SelfAuthenticationApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.security.api.SelfForgotPasswordApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.security.api.SelfForgotPasswordApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.security.api.SelfUserApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.security.api.SelfUserApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.shareaccounts.api.SelfShareAccountsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.shareaccounts.api.SelfShareAccountsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.spm.api.SelfScorecardApiResource$$SpringCGLIB$$0 registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.spm.api.SelfScorecardApiResource$$SpringCGLIB$$0 will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.spm.api.SelfSpmApiResource$$SpringCGLIB$$0 registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.spm.api.SelfSpmApiResource$$SpringCGLIB$$0 will be ignored.
2026-04-22 23:57:42.514 - WARN 11297 [ default] --- [nio-8080-exec-5] o.g.j.server.ServerRuntime$Responder : An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the default exception mapper.
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because "authenticationMode" is null
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl.createRegistrationRequest(SelfServiceRegistrationWritePlatformServiceImpl.java:179)
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl$$SpringCGLIB$$0.createRegistrationRequest(<generated>)
at org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource.createSelfServiceRegistrationRequest(SelfServiceRegistrationApiResource.java:59)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
2026-04-22 23:57:42.535 -ERROR 11297 [ no-tenant] --- [nio-8080-exec-5] .a.c.c.C.[.[.[.[.a.f.i.c.j.JerseyConfig] : Servlet.service() for servlet [org.apache.fineract.infrastructure.core.jersey.JerseyConfig] in context with path [/fineract-provider] threw exception [java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because "authenticationMode" is null] with root cause
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because "authenticationMode" is null
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl.createRegistrationRequest(SelfServiceRegistrationWritePlatformServiceImpl.java:179)
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl$$SpringCGLIB$$0.createRegistrationRequest(<generated>)
at org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource.createSelfServiceRegistrationRequest(SelfServiceRegistrationApiResource.java:59)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)```
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.account.api.SelfBeneficiariesTPTApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.account.api.SelfBeneficiariesTPTApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.client.api.SelfClientsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.client.api.SelfClientsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.loanaccount.api.SelfLoansApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.loanaccount.api.SelfLoansApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.products.api.SelfLoanProductsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.products.api.SelfLoanProductsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.products.api.SelfSavingsProductsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.products.api.SelfSavingsProductsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.products.api.SelfShareProductsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.products.api.SelfShareProductsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.runreport.SelfRunReportApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.runreport.SelfRunReportApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.savings.api.SelfSavingsAccountApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.savings.api.SelfSavingsAccountApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.security.api.SelfAuthenticationApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.security.api.SelfAuthenticationApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.security.api.SelfForgotPasswordApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.security.api.SelfForgotPasswordApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.security.api.SelfUserApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.security.api.SelfUserApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.shareaccounts.api.SelfShareAccountsApiResource registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.shareaccounts.api.SelfShareAccountsApiResource will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.spm.api.SelfScorecardApiResource$$SpringCGLIB$$0 registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.spm.api.SelfScorecardApiResource$$SpringCGLIB$$0 will be ignored.
2026-04-22 23:57:41.443 - WARN 11297 [ no-tenant] --- [nio-8080-exec-5] o.g.jersey.internal.inject.Providers : A provider org.apache.fineract.selfservice.spm.api.SelfSpmApiResource$$SpringCGLIB$$0 registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.apache.fineract.selfservice.spm.api.SelfSpmApiResource$$SpringCGLIB$$0 will be ignored.
2026-04-22 23:57:42.514 - WARN 11297 [ default] --- [nio-8080-exec-5] o.g.j.server.ServerRuntime$Responder : An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the default exception mapper.
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because "authenticationMode" is null
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl.createRegistrationRequest(SelfServiceRegistrationWritePlatformServiceImpl.java:179)
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl$$SpringCGLIB$$0.createRegistrationRequest(<generated>)
at org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource.createSelfServiceRegistrationRequest(SelfServiceRegistrationApiResource.java:59)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
2026-04-22 23:57:42.535 -ERROR 11297 [ no-tenant] --- [nio-8080-exec-5] .a.c.c.C.[.[.[.[.a.f.i.c.j.JerseyConfig] : Servlet.service() for servlet [org.apache.fineract.infrastructure.core.jersey.JerseyConfig] in context with path [/fineract-provider] threw exception [java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because "authenticationMode" is null] with root cause
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because "authenticationMode" is null
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl.createRegistrationRequest(SelfServiceRegistrationWritePlatformServiceImpl.java:179)
at org.apache.fineract.selfservice.registration.service.SelfServiceRegistrationWritePlatformServiceImpl$$SpringCGLIB$$0.createRegistrationRequest(<generated>)
at org.apache.fineract.selfservice.registration.api.SelfServiceRegistrationApiResource.createSelfServiceRegistrationRequest(SelfServiceRegistrationApiResource.java:59)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:125)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)```
`cat /opt/fineract/override.properties`
# ===============================
# DATABASE CONFIG
# ===============================
spring.datasource.url=jdbc:mariadb://localhost:3306/fineract_tenants
spring.datasource.username=fineract
spring.datasource.password=fineract
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
fineract.datasource.username=fineract
fineract.datasource.password=fineract
fineract.tenant.datasource.url=jdbc:mariadb://localhost:3306/fineract_default
fineract.tenant.datasource.username=fineract
fineract.tenant.datasource.password=fineract
# Fineract Tenant/Master Specific Overrides
fineract.tenant.username=fineract
fineract.tenant.password=fineract
fineract.tenant.master.username=fineract
fineract.tenant.master.password=fineract
# Force Hikari to use these
spring.datasource.hikari.username=fineract
spring.datasource.hikari.password=fineract
# Server Settings
server.port=8080
server.ssl.enabled=false
# ===============================
# CORE SETTINGS
# ===============================
fineract.node-id=1
# ===============================
# MODE
# ===============================
fineract.mode.batch-worker-enabled=false
fineract.mode.read-only-enabled=false
# ===============================
# JOB
# ===============================
fineract.job.loan-cob-enabled=false
# ===============================
# EVENTS
# ===============================
fineract.events.external.enabled=false
fineract.events.external.partition-size=1
# ===============================
# REMOTE JOB HANDLER
# ===============================
fineract.remote-job-message-handler.spring-events.enabled=false
fineract.remote-job-message-handler.jms.enabled=false
# ===============================
# JPA
# ===============================
fineract.jpa.statement-logging-enabled=false
# ===============================
# SAMPLING
# ===============================
fineract.sampling.enabled=false
# ===============================
# REPORT (FIXES CURRENT ERROR)
# ===============================
fineract.report.export.enabled=false
# ===============================
# S3 (disable)
# ===============================
fineract.s3.enabled=false
# ===============================
# LOGGING (optional)
# ===============================
logging.level.root=INFO
# ===== REPORT =====
fineract.report.enabled=true
fineract.report.export.enabled=false
# ===== S3 =====
fineract.s3.enabled=false
fineract.s3.bucket-name=dummy
fineract.s3.access-key=dummy
fineract.s3.secret-key=dummy
fineract.s3.region=us-east-1
logging.level.liquibase=DEBUG
logging.level.org.apache.fineract.selfservice=DEBUG
# ===============================
# SELF SERVICE (CLEAN CONFIG)
# ===============================
# Enable self-service plugin
fineract.self-service.enabled=true
fineract.self-service.registration.enabled=true
# Use only basic auth (required)
fineract.security.basicauth.enabled=true
# Disable OAuth (avoid conflicts)
fineract.security.oauth.enabled=false
fineract.selfservice.authentication-mode=USERNAME
# ===============================
# DATABASE CONFIG
# ===============================
spring.datasource.url=jdbc:mariadb://localhost:3306/fineract_tenants
spring.datasource.username=fineract
spring.datasource.password=fineract
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
fineract.datasource.username=fineract
fineract.datasource.password=fineract
fineract.tenant.datasource.url=jdbc:mariadb://localhost:3306/fineract_default
fineract.tenant.datasource.username=fineract
fineract.tenant.datasource.password=fineract
# Fineract Tenant/Master Specific Overrides
fineract.tenant.username=fineract
fineract.tenant.password=fineract
fineract.tenant.master.username=fineract
fineract.tenant.master.password=fineract
# Force Hikari to use these
spring.datasource.hikari.username=fineract
spring.datasource.hikari.password=fineract
# Server Settings
server.port=8080
server.ssl.enabled=false
# ===============================
# CORE SETTINGS
# ===============================
fineract.node-id=1
# ===============================
# MODE
# ===============================
fineract.mode.batch-worker-enabled=false
fineract.mode.read-only-enabled=false
# ===============================
# JOB
# ===============================
fineract.job.loan-cob-enabled=false
# ===============================
# EVENTS
# ===============================
fineract.events.external.enabled=false
fineract.events.external.partition-size=1
# ===============================
# REMOTE JOB HANDLER
# ===============================
fineract.remote-job-message-handler.spring-events.enabled=false
fineract.remote-job-message-handler.jms.enabled=false
# ===============================
# JPA
# ===============================
fineract.jpa.statement-logging-enabled=false
# ===============================
# SAMPLING
# ===============================
fineract.sampling.enabled=false
# ===============================
# REPORT (FIXES CURRENT ERROR)
# ===============================
fineract.report.export.enabled=false
# ===============================
# S3 (disable)
# ===============================
fineract.s3.enabled=false
# ===============================
# LOGGING (optional)
# ===============================
logging.level.root=INFO
# ===== REPORT =====
fineract.report.enabled=true
fineract.report.export.enabled=false
# ===== S3 =====
fineract.s3.enabled=false
fineract.s3.bucket-name=dummy
fineract.s3.access-key=dummy
fineract.s3.secret-key=dummy
fineract.s3.region=us-east-1
logging.level.liquibase=DEBUG
logging.level.org.apache.fineract.selfservice=DEBUG
# ===============================
# SELF SERVICE (CLEAN CONFIG)
# ===============================
# Enable self-service plugin
fineract.self-service.enabled=true
fineract.self-service.registration.enabled=true
# Use only basic auth (required)
fineract.security.basicauth.enabled=true
# Disable OAuth (avoid conflicts)
fineract.security.oauth.enabled=false
fineract.selfservice.authentication-mode=USERNAME
```curl -X POST "http://192.168.200.32:8080/fineract-provider/api/v1/self/registration" \
-H "Content-Type: application/json" \
-H "Fineract-Platform-TenantId: default" \
-d '{
"username": "self_user_1",
"password": "Xcel@2026Secure!",
"email": "self1@example.com"
}'
{"timestamp":"2026-04-22T23:57:42.591Z","status":500,"error":"Internal Server Error","path":"/fineract-provider/api/v1/self/registration"}```
-H "Content-Type: application/json" \
-H "Fineract-Platform-TenantId: default" \
-d '{
"username": "self_user_1",
"password": "Xcel@2026Secure!",
"email": "self1@example.com"
}'
{"timestamp":"2026-04-22T23:57:42.591Z","status":500,"error":"Internal Server Error","path":"/fineract-provider/api/v1/self/registration"}```
@Krishna Mewara (DeathGun44) I have updated the issue details in https://mifosforge.jira.com/browse/MX-168
cc @Victor Romero
cc @Victor Romero
Wed 16:10Edson
I want to create a ticket for fineract where do i go, this page is not loading https://issues.apache.org/jira/projects, i failed to find a space for Fineract in mifos jira https://mifosforge.jira.com/jira/for-you?viewed, someone to guide me
Hi @Edson Fineract tickets are created in https://issues.apache.org/jira/projects/FINERACT/issues/
Thank you @Francisco Cuandon, I have now created the ticket and the PR is ready
I created the ticket but I am unable to assign it to my self [FINERACT-2592] It does not allow rescheduling. - ASF Jira
Hi you have to be comitter to can assign tickets to you.
Can someone assign it to me?, someone may claim it yet the Pr is already up
You cannot assign tickets to yourself until you become a committer. Please leave a comment stating that you are working on it but cannot assign it to yourself yet.
okay thatnk you @Francisco Cuandon
@Edson I have reviewed your PR. I have initiated a discussion at fineract dev mail list. Regarding your usecase. https://lists.apache.org/thread/cmlw0lcl2xzdlbc292gk0qrymzs64kz2
Please subscribe to apache fineract dev mail list to get involved in conversation. If not already.
Please subscribe to apache fineract dev mail list to get involved in conversation. If not already.
I have failed to login
```An error occurred in handling this OAuth request:
Invalid username or password supplied!```
```An error occurred in handling this OAuth request:
Invalid username or password supplied!```
You have to subscribe to devlist with private email by sending email.
✅ 1