### Summary

This works on ansible 2.9.6 but fails on 3.8.10
Running on Ubuntu 20.04, Python version 3.8.10
**This task:**
```
  - name: Create generic link activemq to installation of choice
    file:
      src: /opt/apache-activemq-5.15.10
      dest: /opt/activemq
      state: link
```

**Produces this error:**
```
TASK [Create generic link activemq to installation of choice] ******************
fatal: [localhost]: FAILED! => {
    "changed": false,
    "rc": 1
}
MSG:
MODULE FAILURE
See stdout/stderr for the exact error
MODULE_STDOUT:
Traceback (most recent call last):
  File "/home/dfr/.ansible/tmp/ansible-tmp-24078.281748716-105360636672052/AnsiballZ_file.py", line 102, in <module>
    _ansiballz_main()
  File "/home/dfr/.ansible/tmp/ansible-tmp-24078.281748716-105360636672052/AnsiballZ_file.py", line 94, in _ansiballz_main

    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/home/dfr/.ansible/tmp/ansible-tmp-24078.281748716-105360636672052/AnsiballZ_file.py", line 34, in invoke_module
    z.writestr(zinfo, sitecustomize)
  File "/usr/lib/python3.8/zipfile.py", line 1816, in writestr
    with self.open(zinfo, mode='w') as dest:
  File "/usr/lib/python3.8/zipfile.py", line 1517, in open
    return self._open_to_write(zinfo, force_zip64=force_zip64)
  File "/usr/lib/python3.8/zipfile.py", line 1614, in _open_to_write
    self.fp.write(zinfo.FileHeader(zip64))
  File "/usr/lib/python3.8/zipfile.py", line 448, in FileHeader
    header = struct.pack(structFileHeader, stringFileHeader,
struct.error: ushort format requires 0 <= number <= (0x7fff * 2 + 1)
```
This works on ansible 2.9.6 but fails on 3.8.10

### Issue Type

Bug Report

### Component Name

file

### Ansible Version

```console
dfr@ansible-20:~/projects/m9kdeploy$ ansible --version
ansible [core 2.12.10]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/dfr/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  ansible collection location = /home/dfr/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.8.10 (default, Nov 14 2022, 12:59:47) [GCC 9.4.0]
  jinja version = 2.10.1
  libyaml = True
```


### Configuration

```console
dfr@ansible-20:~/projects/m9kdeploy/playbooks$ ansible-config dump --only-changed -t all
DEFAULT_HOST_LIST(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = ['/home/dfr/projects/m9kdeploy/playbooks/inventory-home']
DEFAULT_STDOUT_CALLBACK(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = debug
DEFAULT_VAULT_PASSWORD_FILE(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = /home/dfr/.ansible/vault-password
DISPLAY_SKIPPED_HOSTS(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = False
HOST_KEY_CHECKING(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = False
INTERPRETER_PYTHON(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = /usr/bin/python3

BECOME:
======

CACHE:
=====

CALLBACK:
========

default:
_______
display_skipped_hosts(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = False

CLICONF:
=======

CONNECTION:
==========

paramiko_ssh:
____________
host_key_checking(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = False

ssh:
___
host_key_checking(/home/dfr/projects/m9kdeploy/playbooks/ansible.cfg) = False

HTTPAPI:
=======

INVENTORY:
=========

LOOKUP:
======

NETCONF:
=======

SHELL:
=====

VARS:
====
```


### OS / Environment

Ubuntu 20.04

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
  - name: Create generic link activemq to installation of choice
    file:
      src: /opt/apache-activemq-5.15.10
      dest: /opt/activemq
      state: link
```


### Expected Results

I expect the link to be created with no error

### Actual Results

```console
TASK [Create generic link activemq to installation of choice] ******************
fatal: [localhost]: FAILED! => {
    "changed": false,
    "rc": 1
}

MSG:

MODULE FAILURE
See stdout/stderr for the exact error


MODULE_STDOUT:



Traceback (most recent call last):

  File "/home/dfr/.ansible/tmp/ansible-tmp-24078.281748716-105360636672052/AnsiballZ_file.py", line 102, in <module>

    _ansiballz_main()

  File "/home/dfr/.ansible/tmp/ansible-tmp-24078.281748716-105360636672052/AnsiballZ_file.py", line 94, in _ansiballz_main

    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)

  File "/home/dfr/.ansible/tmp/ansible-tmp-24078.281748716-105360636672052/AnsiballZ_file.py", line 34, in invoke_module

    z.writestr(zinfo, sitecustomize)

  File "/usr/lib/python3.8/zipfile.py", line 1816, in writestr

    with self.open(zinfo, mode='w') as dest:

  File "/usr/lib/python3.8/zipfile.py", line 1517, in open

    return self._open_to_write(zinfo, force_zip64=force_zip64)

  File "/usr/lib/python3.8/zipfile.py", line 1614, in _open_to_write

    self.fp.write(zinfo.FileHeader(zip64))

  File "/usr/lib/python3.8/zipfile.py", line 448, in FileHeader

    header = struct.pack(structFileHeader, stringFileHeader,

struct.error: ushort format requires 0 <= number <= (0x7fff * 2 + 1)
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
import os
import shlex
import zipfile
import re
import pkgutil
from ast import AST, Import, ImportFrom
from io import BytesIO
from ansible.release import __version__, __author__
from ansible import constants as C
from ansible.errors import AnsibleError
from ansible.executor.interpreter_discovery import InterpreterDiscoveryRequiredError
from ansible.executor.powershell import module_manifest as ps_manifest
from ansible.module_utils.common.json import AnsibleJSONEncoder
from ansible.module_utils.common.text.converters import to_bytes, to_text, to_native
from ansible.plugins.loader import module_utils_loader
from ansible.utils.collection_loader._collection_finder import _get_collection_metadata, _nested_dict_get
from ansible.executor import action_write_locks
from ansible.utils.display import Display
from collections import namedtuple
import importlib.util
import importlib.machinery
display = Display()
ModuleUtilsProcessEntry = namedtuple('ModuleUtilsProcessEntry', ['name_parts', 'is_ambiguous', 'has_redirected_child', 'is_optional'])
REPLACER = b"#<<INCLUDE_ANSIBLE_MODULE_COMMON>>"
REPLACER_VERSION = b"\"<<ANSIBLE_VERSION>>\""
REPLACER_COMPLEX = b"\"<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>\""
REPLACER_WINDOWS = b"# POWERSHELL_COMMON"
REPLACER_JSONARGS = b"<<INCLUDE_ANSIBLE_MODULE_JSON_ARGS>>"
REPLACER_SELINUX = b"<<SELINUX_SPECIAL_FILESYSTEMS>>"
ENCODING_STRING = u'# -*- coding: utf-8 -*-'