Closed Chelsiesokeng closed 3 weeks ago
Hello
I've fix the bug following the error AttributeError: 'str' object has no attribute 'decode'
in the new wrapper release.
I'm gonna close this ticket for this error but feel free to open a new one or reach us on discord for help if you have any more problem.
Describe the bug
──────────────────── Traceback (most recent call last) ──────────────────────╮ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ma │ │ nager/ExegolManager.py:397 in __loadOrCreateContainer │ │ │ │ 394 │ │ │ │ │ │ │ │ raise NotImplemented │ │ 395 │ │ │ │ else: │ │ 396 │ │ │ │ │ assert container_tag is not None │ │ ❱ 397 │ │ │ │ │ cls.__container = DockerUtils().getContainer(conta │ │ 398 │ │ except (ObjectNotFound, IndexError): │ │ 399 │ │ │ # ObjectNotFound is raised when the container_tag provided │ │ 400 │ │ │ # IndexError is raise when no container exist (raised from │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ cls = <class │ │ │ │ 'exegol.manager.ExegolManager.ExegolManager'> │ │ │ │ container_tag = 'ADGoad' │ │ │ │ container_tags = None │ │ │ │ multiple = False │ │ │ │ must_exist = False │ │ │ │ override_container = None │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ut │ │ ils/DockerUtils.py:186 in getContainer │ │ │ │ 183 │ │ │ │ lowered_tag = tag.lower() │ │ 184 │ │ │ │ if lowered_tag != tag: │ │ 185 │ │ │ │ │ return self.getContainer(lowered_tag) │ │ ❱ 186 │ │ │ raise ObjectNotFound │ │ 187 │ │ # Filter results with exact name matching │ │ 188 │ │ for c in container: │ │ 189 │ │ │ if c.name == f"exegol-{tag}": │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ container = [] │ │ │ │ self = <exegol.utils.DockerUtils.DockerUtils object at │ │ │ │ 0x7ff1e5710710> │ │ │ │ tag = 'ADGoad' │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ObjectNotFound
During handling of the above exception, another exception occurred:
╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ma │ │ nager/ExegolController.py:68 in main │ │ │ │ 65 │ │ # Set logger verbosity depending on user input │ │ 66 │ │ ExeLog.setVerbosity(ParametersManager().verbosity, ParametersMa │ │ 67 │ │ # Start Main controller & Executing action selected by user CLI │ │ ❱ 68 │ │ ExegolController.call_action() │ │ 69 │ except KeyboardInterrupt: │ │ 70 │ │ logger.empty_line() │ │ 71 │ │ logger.info("Exiting") │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ma │ │ nager/ExegolController.py:48 in call_action │ │ │ │ 45 │ │ │ # Fetch main operation function │ │ 46 │ │ │ main_action = cls.action() │ │ 47 │ │ │ # Execute main function │ │ ❱ 48 │ │ │ main_action() │ │ 49 │ │ else: │ │ 50 │ │ │ # TODO review required parameters │ │ 51 │ │ │ logger.error(f"These parameters are mandatory but missing: │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ cls = <class │ │ │ │ 'exegol.manager.ExegolController.ExegolController'> │ │ │ │ main_action = <bound method ExegolManager.start of <class │ │ │ │ 'exegol.manager.ExegolManager.ExegolManager'>> │ │ │ │ missing_params = [] │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ma │ │ nager/ExegolManager.py:75 in start │ │ │ │ 72 │ │ cls.__interactive_mode = not bool(ParametersManager().containe │ │ 73 │ │ if not cls.interactive_mode: │ │ 74 │ │ │ logger.info("Arguments supplied with the command, skipping │ │ ❱ 75 │ │ container = cls.loadOrCreateContainer() │ │ 76 │ │ assert container is not None and type(container) is ExegolCont │ │ 77 │ │ if not container.isNew(): │ │ 78 │ │ │ # Check and warn user if some parameters don't apply to th │ │ │ │ ╭────────────────────────── locals ──────────────────────────╮ │ │ │ cls = <class 'exegol.manager.ExegolManager.ExegolManager'> │ │ │ ╰────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ma │ │ nager/ExegolManager.py:405 in loadOrCreateContainer │ │ │ │ 402 │ │ │ if must_exist: │ │ 403 │ │ │ │ logger.warning(f"The container named '{container_tag}' │ │ 404 │ │ │ │ return [] if multiple else None │ │ ❱ 405 │ │ │ return cls.createContainer(container_tag) │ │ 406 │ │ assert cls.container is not None │ │ 407 │ │ return cast(Union[Optional[ExegolContainer], List[ExegolContai │ │ 408 │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ cls = <class │ │ │ │ 'exegol.manager.ExegolManager.ExegolManager'> │ │ │ │ container_tag = 'ADGoad' │ │ │ │ container_tags = None │ │ │ │ multiple = False │ │ │ │ must_exist = False │ │ │ │ override_container = None │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/ma │ │ nager/ExegolManager.py:526 in createContainer │ │ │ │ 523 │ │ │ │ │ │ "read CLI options with [green]exegol start -h[ │ │ 524 │ │ │ │ 525 │ │ container = DockerUtils().createContainer(model) │ │ ❱ 526 │ │ container.postCreateSetup() │ │ 527 │ │ return container │ │ 528 │ │ │ 529 │ @classmethod │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ cls = <class 'exegol.manager.ExegolManager.ExegolManager'> │ │ │ │ config = <exegol.model.ContainerConfig.ContainerConfig object at │ │ │ │ 0x7ff1e3e2ee50> │ │ │ │ container = <exegol.model.ExegolContainer.ExegolContainer object at │ │ │ │ 0x7ff1e3e31890> │ │ │ │ image = full (3.1.5/3.1.5 amd64) - 57.6GB - ([orange3]Outdated │ │ │ │ (v.3.1.5)[/orange3], [bright_black]N/A[/bright_black]) │ │ │ │ model = <exegol.model.ExegolContainerTemplate.ExegolContainerTempla… │ │ │ │ object at 0x7ff1e3e307d0> │ │ │ │ name = 'ADGoad' │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/mo │ │ del/ExegolContainer.py:316 in postCreateSetup │ │ │ │ 313 │ │ │ if self.container.status.lower() == "created": │ │ 314 │ │ │ │ self.start_container() │ │ 315 │ │ │ try: │ │ ❱ 316 │ │ │ │ self.updatePasswd() │ │ 317 │ │ │ except APIError as e: │ │ 318 │ │ │ │ if "is not running" in e.explanation: │ │ 319 │ │ │ │ │ logger.critical("An unexpected error occurred. Exe │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ is_temporary = False │ │ │ │ self = <exegol.model.ExegolContainer.ExegolContainer object at │ │ │ │ 0x7ff1e3e31890> │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/mo │ │ del/ExegolContainer.py:355 in __updatePasswd │ │ │ │ 352 │ │ """ │ │ 353 │ │ if self.config.getPasswd() is not None: │ │ 354 │ │ │ logger.debug(f"Updating the {self.config.getUsername()} pa │ │ ❱ 355 │ │ │ self.exec(f"echo '{self.config.getUsername()}:{self.config │ │ 356 │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ self = <exegol.model.ExegolContainer.ExegolContainer object at │ │ │ │ 0x7ff1e3e31890> │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ │ │ │ /home/parrot/.local/pipx/venvs/exegol/lib/python3.11/site-packages/exegol/mo │ │ del/ExegolContainer.py:193 in exec │ │ │ │ 190 │ │ │ │ # stream[0] : exit code │ │ 191 │ │ │ │ # stream[1] : text stream │ │ 192 │ │ │ │ for log in stream[1]: │ │ ❱ 193 │ │ │ │ │ logger.raw(log.decode("utf-8")) │ │ 194 │ │ │ │ if not quiet: │ │ 195 │ │ │ │ │ logger.success("End of the command") │ │ 196 │ │ │ except KeyboardInterrupt: │ │ │ │ ╭───────────────────────────────── locals ─────────────────────────────────╮ │ │ │ as_daemon = True │ │ │ │ command = "echo 'root:f2eNFMe0vKEaFsQjp7o834tTTRcAwf' | chpasswd" │ │ │ │ exec_payload = 'zsh -c \'autoload -Uz compinit; compinit; source │ │ │ │ ~/.zshrc; eval "$CMD"\'' │ │ │ │ is_tmp = False │ │ │ │ log = '\n' │ │ │ │ quiet = True │ │ │ │ self = <exegol.model.ExegolContainer.ExegolContainer object at │ │ │ │ 0x7ff1e3e31890> │ │ │ │ str_cmd = "echo 'root:f2eNFMe0vKEaFsQjp7o834tTTRcAwf' | chpasswd" │ │ │ │ stream = ExecResult(exit_code=0, output='\n') │ │ │ ╰──────────────────────────────────────────────────────────────────────────╯ │ ╰──────────────────────────────────────────────────────────────────────────────╯ AttributeError: 'str' object has no attribute 'decode'
Steps To Reproduce
1.exegol start ADAttack full
Exegol Wrapper Version
Host OS
Linux
Configuration of the concerned container
Execution logs in debug mode
Exception
No response
Anything else?
after this error, a container is create but i have this error when i use command like ping and nmap zsh: operation not permitted: