// Module included in the following assemblies:
// oadp-features-plugins-known-issues
// * backup_and_restore/application_backup_and_restore/oadp-features-plugins.adoc
// * backup_and_restore/application_backup_and_restore/troubleshooting.adoc

:_content-type: CONCEPT
[id="oadp-features-plugins-known-issues_{context}"]
= OADP plugins known issues

The following section describes known issues in {oadp-first} plugins:

[id="velero-plugin-panic_{context}"]
== Velero plugin panics during imagestream backups due to a missing secret

When the backup and the Backup Storage Location (BSL) are managed outside the scope of the Data Protection Application (DPA), the OADP controller, meaning the DPA reconciliation does not create the relevant `oadp-<BSL Name>-<BSL Provider>-registry-secret`.

When the backup is run, the OpenShift Velero plugin panics on the imagestream backup, with a panic error:

[source,terminal]
----
024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item"
backup=openshift-adp/<backup name> error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=<BSL Name>, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…
----

[id="velero-plugin-panic-workaround_{context}"]
=== Workaround to avoid the panic error

To avoid the Velero plugin panic error, perform the following steps:

. Label the custom BSL with the relevant label
+
[source,terminal]
----
$ oc label backupstoragelocations.velero.io <bsl_name> app.kubernetes.io/component=bsl
----

. After the BSL is labeled, wait until the DPA reconciles.
+
[NOTE]
====
You can force the reconciliation by making any minor change to the DPA itself.
====

. When the DPA reconciles, confirm that the relevant `oadp-<BSL Name>-<BSL Provider>-registry-secret` has been created and that the correct registry data has been populated into it:
+
[source,terminal]
----
$ oc -n openshift-adp get secret/oadp-<bsl_name>-<bsl_provider>-registry-secret -o json | jq -r '.data'
----


[id="openshift-adp-controller-manager-seg-fault_{context}"]
== OpenShift ADP Controller segmentation fault

If you configure a DPA with both `cloudstorage` and `restic` enabled, the `openshift-adp-controller-manager` pod crashes and restarts indefinitely until the pod fails with a crash loop segmentation fault.

You can have either `velero` or `cloudstorage` defined, because they are mutually exclusive fields.

* If you have both `velero` and  `cloudstorage` defined, the `openshift-adp-controller-manager` fails.
* If you have neither `velero` nor `cloudstorage` defined, the `openshift-adp-controller-manager` fails.

For more information about this issue, see link:https://issues.redhat.com/browse/OADP-1054[OADP-1054].


[id="openshift-adp-controller-manager-seg-fault-workaround_{context}"]
=== OpenShift ADP Controller segmentation fault workaround

You must define either `velero` or `cloudstorage` when you configure a DPA. If you define both APIs in your DPA, the `openshift-adp-controller-manager` pod fails with a crash loop segmentation fault.
