Inspire EMEA 2022 On-Demand is live! Watch now, and be sure to save the date for Inspire 2023 in Las Vegas next May.

Alteryx Designer Knowledge Base

Definitive answers from Designer experts.

MalformedPacError: Malformed PAC file from the ADLS Connectors

helpfultoaster
Alteryx
Alteryx
Created

Issue

When attempting to connect to Azure Data Lake Store using one of the ADLS Connectors, a MalformedPacError occurs.

Azure Data Lake File Output (2) Traceback (most recent call last):¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\Lib\site-packages\pypac\parser.py", line 58, in __init__¶ self.find_proxy_for_url('/', '0.0.0.0')¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\Lib\site-packages\pypac\parser.py", line 72, in find_proxy_for_url¶ return self._context.evaljs("FindProxyForURL(dukpy['url'], dukpy['host'])", url=url, host=host)¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\Lib\site-packages\dukpy\evaljs.py", line 57, in evaljs¶ res = _dukpy.eval_string(self, jscode, jsvars)¶_dukpy.JSRuntimeError: EvalError: Error while calling Python Function: TypeError('inet_aton() argument 1 must be str, not None')¶ src\_support.c:99¶ anon native strict preventsyield¶ apply native strict preventsyield¶ anon src\pyduktape.c:5¶ FindProxyForURL src\pyduktape.c:726¶ eval src\pyduktape.c:1 preventsyield¶¶During handling of the above exception, another exception occurred:¶¶Traceback (most recent call last):¶ File "adl_output_engine.py", line 1, in ¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\AyxProxySession.py", line 13, in ¶ _pac = _pac_session.get_pac()¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\Lib\site-packages\pypac\api.py", line 283, in get_pac¶ pac = get_pac(**kwargs)¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\Lib\site-packages\pypac\api.py", line 74, in get_pac¶ return PACFile(downloaded_pac, **kwargs)¶ File "C:\ProgramData\Alteryx\Tools\azure_data_lake_output_v2.2.0-dev.790d8fea.2111091856\Lib\site-packages\pypac\parser.py", line 61, in __init__¶ raise MalformedPacError(original_exc=e) # from e¶pypac.parser.MalformedPacError: Malformed PAC file (EvalError: Error while calling Python Function: TypeError('inet_aton() argument 1 must be str, not None')¶ src\_support.c:99¶ anon native strict preventsyield¶ apply native strict preventsyield¶ anon src\pyduktape.c:5¶ FindProxyForURL src\pyduktape.c:726¶ eval src\pyduktape.c:1 preventsyield)¶
image.png

Environment Details



Cause

The python package used by this tool that parses the PAC script is called PyPAC. This error indicates that, for some reason, the PAC Script was unable to be parsed.

Diagnosis 

First, check Internet Options>Connections>LAN Settings. If any setting is checked here, then it is possible that you have a PAC script in place, and you should refer to Solution B. If none of the options on this page are selected, follow Resolution A.

Resolution

Solution A 

If LAN Settings are blank, then you do not have a Proxy set up. This means that this error is incorrect. This can occur if your PC has other security settings that inhibit the PyPac script from completing the parsing process.
image.png
  1. Download the modified version of the ADLS Tools from below
  2. Extract the tool folder from the zip file and drag it into C:\ProgramData\Alteryx\Tools
  3. Delete any ADLS connector folders from C:\ProgramData\Alteryx\Tools and C:\Users\%username%\AppData\Roaming\Alteryx\Tools
Please note that this modified version of the tool will not work if you have a Proxy in place.


Solution B 

  1. Connect with your Network/IT team and refactor your PAC Script to resolve this error.


Additional Resources

No ratings