funilrys / PyFunceble

The tool to check the availability or syntax of domain, IP or URL.
https://pyfunceble.github.io
Apache License 2.0
297 stars 44 forks source link

BUG: UnicodeError: label empty or too long #386

Open spirillen opened 2 days ago

spirillen commented 2 days ago

Description

Fatal Error: label empty or too long
Traceback (most recent call last):
  File "/home/spirillen/Projects/github/funilrys/PyFunceble/PyFunceble/cli/system/launcher.py", line 1122, in start
    self.stop_and_wait_for_all_manager()
  File "/home/spirillen/Projects/github/funilrys/PyFunceble/PyFunceble/cli/system/launcher.py", line 1059, in stop_and_wait_for_all_manager
    self.tester_process_manager.wait()
  File "/home/spirillen/Projects/github/funilrys/PyFunceble/PyFunceble/cli/processes/base.py", line 330, in wait
    raise worker_error
UnicodeError: label empty or too long
encoding with 'idna' codec failed

Configuration

Details

```yml debug: active: no level: info cli_decoding: aggressive: no adblock: no rpz: no wildcard: no cli_testing: hosts_ip: '0.0.0.0' max_workers: null autocontinue: no inactive_db: yes whois_db: yes complements: no cidr_expand: no cooldown_time: 0.0 db_type: mariadb file_filter: null mining: no local_network: no preload_file: no chancy_tester: no ci: # Provides everything related to the Continuous integration. # Activates the continuous integration mode. # WARNING: Do not activate without asking or knowing what you are doing. active: no # Sets the commit message to apply everytime except for the last one. commit_message: 'PyFunceble - AutoSave' # Sets the commit message to apply at the very end of the test. end_commit_message: 'PyFunceble - Results' # Sets the number of minutes to wait before starting to save and stop # a session. max_exec_minutes: 15 # Sets the working branch. This is the branch from where we are testing. branch: master # Sets the distribution branch. This is the branch that is going to get # the (final) results. distribution_branch: master # Sets the command to execute every time before each commits except the last <-- TYPO IN everytime, it should be two words = every time # one. command: null # Sets the command to execute before the last commit. end_command: null display_mode: # Provides everything related to the display mode. # Activates the printing of dots. dots: no # Activates the printing of the execution time. execution_time: yes # Activates the output of the percentage information. percentage: yes # Activates the output of the top registrar information. registrar: no # Activates the quiet mode. quiet: no # Activates the output of very few information. less: no # Activates the output of all information. all: yes # Activates the output of the status and it's status (only) simple: no # Activates the coloration of stdout. colour: yes # Sets the status do display to STDOUT. # NOTE: This does not have any effect with the generated files. # Available values: ALL | ACTIVE | INACTIVE | INVALID | SANE | MALICIOUS status: all # Sets the maximum number of registrar to display. # NOTE: This does not have any effect with the generated files. max_registrar: 0 testing_mode: # Provides all available testing modes. # WARNING: Only one can be used at a time. # Activates the availability test. availability: yes # Activates the syntax test. syntax: no # Activates the reputation test. reputation: no # BETA: Activates the platform contribution test. platform_contribution: yes days_between: # Provides everything which is x days periodic. # NOT IMPLEMENTED (Anticipation for future usage). db_clean: 28 # Provides the number of days to wait before retesting subject which were # stored into the inactive database. db_retest: 7 sorting_mode: # Provides all our sorting mode. # WARNING: The sorting mode is only applied to the files. NOT STDOUT. # Activates the hierarchical sorting. hierarchical: yes # Activates the standard sorting. standard: no file_generation: # Provides everything related to the generation of file. # Deactivates the generation of any status file. no_file: no # Activates the generation of the hosts file(s). hosts: no # Activates the generation of the plain (or raw) file(s). plain: yes # Activates the generation of the analytic file(s). analytic: no # Activate the generation of an unified file for the copy of what is # outputted to STDOUT. unified_results: no # Activates or disables the merging of the results of all inputted files into # one single output subdirectory. merge_output_dirs: no lookup: dns: yes http_status_code: yes netinfo: yes special: yes whois: yes reputation: no platform: yes timeout: 5 dns: follow_server_order: no trust_server: yes server: - 9.9.9.10 - 149.112.112.10 protocol: UDP delay: 0.0 share_logs: no user_agent: browser: firefox platform: linux custom: null proxy: rules: - http: https: tld: - onion global: http: https: verify_ssl_certificate: no max_http_retries: 2 http_codes: self_managed: yes list: up: - 100 - 101 - 102 - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 429 potentially_down: - 400 - 402 - 409 - 410 - 412 - 414 - 415 - 416 - 451 potentially_up: - 000 - 300 - 301 - 302 - 303 - 304 - 305 - 307 - 308 - 403 - 404 - 405 - 406 - 407 - 408 - 411 - 413 - 417 - 418 - 421 - 422 - 423 - 424 - 426 - 428 - 431 - 500 - 501 - 502 - 503 - 504 - 505 - 506 - 507 - 508 - 510 - 511 links: api_date_format: 'https://pyfunceble.funilrys.com/api/date-format' api_no_referrer: 'https://pyfunceble.funilrys.com/api/no-referrer' platform: push: yes preferred_status_origin: recommended checker_priority: - availability - syntax checker_exclude: - reputation ```

Reproduction

  1. Download repo, and activate venv
  2. pyfunceble --no-files -t 2 -c --preload -f https://bitbucket.org/expiredsources/hosts-file.net/raw/master/mmt.txt

Expected behavior

Screenshots

Versions

OS: Ubuntu 24.01

Python Version: 3.11

PyFunceble Version: 4.2.29.dev

Additional context

spirillen commented 1 day ago

As the issue repeated it self I can get a screenshot

image

funilrys commented 1 day ago

Tested with the same protocol as described, and couldn't reproduce yet. Will look into it again later.

spirillen commented 1 day ago

you have post on matrix.org