[Bug]: OC\Archive\TAR only partially extracts tar.gz file
Personne n'a encore pris cette issue.
- Langage dominant
- PHP
- Étoiles
- 36.9k
- Forks
- 5.2k
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 713
Description
⚠️ This issue respects the following points: ⚠️
- This is a bug, not a question or a configuration/webserver/proxy issue.
- This issue is not already reported on Github OR Nextcloud Community Forum (I've searched it).
- Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- I agree to follow Nextcloud's Code of Conduct.
Bug description
File is available here: https://download.nextcloud.com/server/apps/text2image_stablediffusion/stable-diffusion-xl-base-1.0/
Steps to reproduce
$tarManager = new TAR($archivePath);
$tarManager->extract($__DIR__ );
Result:
ls apps/text2image_stablediffusion/models/stable-diffusion-xl
unet vae_decoder vae_encoder
Expected behavior
Should extract all folders
Installation method
Community Manual installation with Archive
Nextcloud Server version
master
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.1
Web server
None
Database engine version
SQlite
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
- Default user-backend (database)
- LDAP/ Active Directory
- SSO - SAML
- Other
Configuration report
No response
List of activated Apps
No response
Nextcloud Signing status
No response
Nextcloud Logs
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 2 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 3 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 4 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 5 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 6 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 7 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 8 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 9 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 10 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
{"reqId":"gziLpSYLVdLw0IMx6nQD","level":3,"time":"2024-01-09T11:00:45+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Uninitialized string offset 11 at /home/marcel/code/server/3rdparty/pear/archive_tar/Archive/Tar.php#1790","userAgent":"--","version":"29.0.0.3","data":{"app":"PHP"}}
Additional info
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez dans 3rdparty/pear/archive_tar/Archive/Tar.php vers la ligne 1790 et reproduisez l’échec avec l’archive stable-diffusion-xl-base-1.0 liée en utilisant TAR::extract(). Vérifiez pourquoi l’extraction s’arrête après n’avoir créé que certains dossiers et corrigez les décalages de chaînes non initialisés signalés ; le travail est terminé lorsque tous les dossiers de l’archive sont extraits sans ces avertissements.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100