### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Localstack prints a python stack error when attempting to save a large lambda (>1G) via "pod save".   It references S3, but that is a red-herring.  Once this error is encountered, the pod save exits leaving other services absent from the file.

### Expected Behavior

A services should be saved to the file.

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

localstack start -d
awslocal lambda create-function  --function-name kinesisToElasticSearch  --zip-file fileb://kinesisToElasticSearch.zip --handler index.handler --runtime nodejs12.x --role arn:aws:iam::000000000000:role/lambda-role --region us-east-1
localstack pod save file://$PWD/localstack.pod


### Environment

```markdown
- OS:MacOS Ventura 13.2.1
- LocalStack: 2.0.1.dev
```


### Anything else?

Note if you delete the lambda, the problem still occurs.   I have not determined the exact limit on the lambda zip file.

Output

2023-04-04T23:51:16.437  WARN --- [-functhread3] hypercorn.error            : ASGI Framework Lifespan error, continuing without Lifespan support
2023-04-04T23:51:16.437  WARN --- [-functhread3] hypercorn.error            : ASGI Framework Lifespan error, continuing without Lifespan support
2023-04-04T23:51:16.438  INFO --- [-functhread3] hypercorn.error            : Running on https://0.0.0.0:4566 (CTRL + C to quit)
2023-04-04T23:51:16.438  INFO --- [-functhread3] hypercorn.error            : Running on https://0.0.0.0:4566 (CTRL + C to quit)
Ready.
2023-04-04T23:52:32.051  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS lambda.CreateFunction => 201
2023-04-04T23:52:32.126  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS sts.AssumeRole => 200
2023-04-04T23:52:43.746  INFO --- [   asgi_gw_2] localstack.request.http    : GET / => 200
2023-04-04T23:52:43.797 ERROR --- [   asgi_gw_0] l.pods.manager             : Error while saving state of service s3 into pod
Traceback (most recent call last):
File "/opt/code/localstack/.venv/lib/python3.10/site-packages/localstack_persistence/pods/manager.py", line 15, in extract_into
try:A.accept_state_visitor(E)
File "/opt/code/localstack/localstack/services/plugins.py", line 145, in accept_state_visitor
ReflectionStateLocator(service=self.name()).accept_state_visitor(visitor)
File "/opt/code/localstack/localstack/state/inspect.py", line 133, in accept_state_visitor
visitor.visit(attribute)
File "/usr/local/lib/python3.10/functools.py", line 926, in _method
return method.__get__(obj, cls)(*args, **kwargs)
File "/opt/code/localstack/.venv/lib/python3.10/site-packages/localstack_persistence/pods/save.py", line 27, in _
G=os.path.join(constants.API_STATES_DIRECTORY,C,B,E,constants.MOTO_BACKEND_STATE_FILE)
File "/usr/local/lib/python3.10/posixpath.py", line 90, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/local/lib/python3.10/genericpath.py", line 152, in _check_arg_types
raise TypeError(f'{funcname}() argument must be str, bytes, or '
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'
2023-04-04T23:52:43.805  INFO --- [   asgi_gw_0] localstack.request.http    : GET /_localstack/pods/state => 200
2023-04-04T23:52:44.031  INFO --- [   asgi_gw_2] localstack.request.http    : GET /_localstack/pods/environment => 200
"""Change casing of Last-Modified and other headers to be picked by the parser"""
        status_code, resp_headers, key_value = fn(self, *args, **kwargs)
        for low_case_header in [
            "last-modified",
            "content-type",
            "content-length",
            "content-range",
            "content-encoding",
            "content-language",
            "content-disposition",
            "cache-control",
        ]:
            if header_value := resp_headers.pop(low_case_header, None):
                header_name = capitalize_header_name_from_snake_case(low_case_header)
                resp_headers[header_name] = header_value
        
        
        bucket_key_enabled = "x-amz-server-side-encryption-bucket-key-enabled"
        if val := resp_headers.get(bucket_key_enabled, ""):
            resp_headers[bucket_key_enabled] = str(val).lower()
        return status_code, resp_headers, key_value
    @patch(moto_s3_responses.S3Response._bucket_response_head)
    def _fix_bucket_response_head(fn, self, bucket_name, *args, **kwargs):
        code, headers, body = fn(self, bucket_name, *args, **kwargs)
        bucket = self.backend.get_bucket(bucket_name)
        headers["x-amz-bucket-region"] = bucket.region_name
        headers["content-type"] = "application/xml"
        return code, headers, body
    @patch(moto_s3_responses.S3Response._key_response_get)
    def _fix_key_response_get(fn, *args, **kwargs):