nextcloud / nextcloud/server

[Bug]: OC\Archive\TAR only partially extracts tar.gz file

Offen
#42,657 2 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

0. Needs triage 29-feedback bug dependencies
Vorherrschende Sprache
PHP
Sterne
36.9k
Forks
5.2k
Ø Merge
2 T. 3 Std.
Gemergte PRs (30 T.)
713

Beschreibung

⚠️ This issue respects the following points: ⚠️
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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne bei 3rdparty/pear/archive_tar/Archive/Tar.php ungefähr bei Zeile 1790 und reproduziere den Fehler mit dem verlinkten stable-diffusion-xl-base-1.0-Archiv unter Verwendung von TAR::extract(). Prüfe, warum die Extraktion nach dem Erstellen nur einiger Ordner stoppt, und behebe die gemeldeten nicht initialisierten String-Offsets; als erledigt gilt die Aufgabe, wenn alle Archivordner ohne diese Warnungen extrahiert werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.