Better handling of big log files to avoid crash of the viewer
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, react
- Bereich
- frontend
Rechercherichtung
Beginne mit dem Einstiegspunkt der Protokollanzeige und reproduziere den Absturz anhand einer Protokolldatei mit mehr als 60.000 Einträgen. Untersuche die Browserkonsole auf den gemeldeten React-Fehler und ermittle, ob die Anzeige die Einträge begrenzen oder paginieren sollte; abgeschlossen ist die Aufgabe, wenn große Protokolle angezeigt werden, ohne dass die Seite leer bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Steps to reproduce
- Set loglevel to in
config/config.phpto 0 ('loglevel' => 0). - Execute many actions which will trigger a log message to get written.
- Open the log viewer when the logfile has more than 60000 entires.
Expected behaviour
The log viewer displays the log.
If the log is too big to be displayed, truncate to the newest n entries (where n is a value which can be handled by the frontend - for example 1000 or 5000) or paginate the log.
Actual behaviour
The log viewer crashes, so the page will get blank. It's not clear when exactly this happens. I have seen this with a logfile which counts about 62000 entries, but I believe the actual limit is lower and also depends on what browser and runtime environment you use.
Server configuration
Operating system: Ubuntu 20.04
Web server: Apache 2.4.41-4ubuntu3.10
Database: MariaDB 10.5.15
PHP version: 7.4
Nextcloud version: 24.0.0
Where did you install Nextcloud from: nextcloud.com
List of activated apps:
Enabled:
- accessibility: 1.10.0
- activity: 2.16.0
- admin_audit: 1.14.0
- apporder: 0.15.0
- bookmarks: 10.3.1
- calendar: 3.3.0
- circles: 24.0.0
- cloud_federation_api: 1.7.0
- comments: 1.14.0
- contacts: 4.1.0
- contactsinteraction: 1.5.0
- dashboard: 7.4.0
- dav: 1.22.0
- deck: 1.7.0
- drawio: 1.0.2
- external: 4.0.0
- federatedfilesharing: 1.14.0
- federation: 1.14.0
- files: 1.19.0
- files_fulltextsearch: 24.0.0
- files_fulltextsearch_tesseract: 24.0.0
- files_pdfviewer: 2.5.0
- files_rightclick: 1.3.0
- files_sharing: 1.16.2
- files_trashbin: 1.14.0
- files_versions: 1.17.0
- files_videoplayer: 1.13.0
- firstrunwizard: 2.13.0
- forms: 2.5.0
- fulltextsearch: 24.0.0
- fulltextsearch_elasticsearch: 24.0.0
- gpxpod: 4.3.0
- keeweb: 0.6.9
- logreader: 2.9.0
- lookup_server_connector: 1.12.0
- nextcloud_announcements: 1.13.0
- notes: 4.3.1
- notifications: 2.12.0
- oauth2: 1.12.0
- onlyoffice: 7.3.4
- password_policy: 1.14.0
- phonetrack: 0.7.0
- photos: 1.6.0
- polls: 3.6.1
- privacy: 1.8.0
- provisioning_api: 1.14.0
- quota_warning: 1.14.0
- serverinfo: 1.14.0
- settings: 1.6.0
- sharebymail: 1.14.0
- spreed: 14.0.1
- support: 1.7.0
- survey_client: 1.12.0
- systemtags: 1.14.0
- tasks: 0.14.4
- text: 3.5.1
- theming: 1.15.0
- theming_customcss: 1.11.0
- twofactor_backupcodes: 1.13.0
- updatenotification: 1.14.0
- user_status: 1.4.0
- viewer: 1.8.0
- workflowengine: 2.6.0
Disabled:
- encryption: 2.2.0
- files_external: 1.15.0
- recommendations: 0.4.0
- user_ldap
- weather_status: 1.3.0
Nextcloud configuration:
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"nextcloud.0x0c.de"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"skeletondirectory": "",
"overwrite.cli.url": "https:\/\/nextcloud.0x0c.de",
"dbtype": "mysql",
"version": "24.0.0.12",
"installed": true,
"htaccess.RewriteBase": "\/",
"maintenance": false,
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"memcache.local": "\\OC\\Memcache\\APCu",
"knowledgebaseenabled": false,
"theme": "",
"simpleSignUpLink.shown": false,
"loglevel": 2,
"log_authfailip": true,
"mysql.utf8mb4": true,
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "sendmail",
"mail_smtpauthtype": "LOGIN",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"updater.release.channel": "stable",
"trashbin_retention_obligation": "auto, 30",
"app_install_overwrite": [
"apporder",
"deck",
"keeweb",
"appointments",
"drawio",
"bookmarks",
"spreed"
],
"has_rebuilt_cache": true,
"onlyoffice": {
"verify_peer_off": true
},
"default_language": "de",
"default_phone_region": "DE",
"check_data_directory_permissions": false,
"log_rotate_size": 52428800
}
}
Client configuration
Browser:
Vivaldi 5.2.2623.46 (Stable channel) (64-Bit)
Operating system:
Windows 10
Logs
Nextcloud log (data/owncloud.log)
(not relevant)
Browser log
react-dom.production.min.js:216 Error: Minified React error #188; visit https://reactjs.org/docs/error-decoder.html?invariant=188 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at t.findDOMNode (react-dom.production.min.js:289:284)
at t.transition (CSSTransitionGroupChild.js:129:30)
at t.r.componentWillEnter (CSSTransitionGroupChild.js:97:15)
at t.s.performEnter (TransitionGroup.js:83:19)
at TransitionGroup.js:192:21
at Array.forEach (<anonymous>)
at t.componentDidUpdate (TransitionGroup.js:191:17)
at co (react-dom.production.min.js:219:502)
at xl (react-dom.production.min.js:259:160)
at t.unstable_runWithPriority (scheduler.production.min.js:18:343)
Uncaught (in promise) Error: Minified React error #188; visit https://reactjs.org/docs/error-decoder.html?invariant=188 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at t.findDOMNode (react-dom.production.min.js:289:284)
at t.transition (CSSTransitionGroupChild.js:129:30)
at t.r.componentWillEnter (CSSTransitionGroupChild.js:97:15)
at t.s.performEnter (TransitionGroup.js:83:19)
at TransitionGroup.js:192:21
at Array.forEach (<anonymous>)
at t.componentDidUpdate (TransitionGroup.js:191:17)
at co (react-dom.production.min.js:219:502)
at xl (react-dom.production.min.js:259:160)
at t.unstable_runWithPriority (scheduler.production.min.js:18:343)
- Vorherrschende Sprache
- JavaScript
- Sterne
- 71
- Forks
- 30
- Ø Merge
- 10 Std. 12 Min.
- Gemergte PRs (30 T.)
- 98
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nextcloud/logreader
-
0. Needs triage bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
Display Filtering is very slow and results in extreme CPU usage spikes on serverEvtl. vergeben @Antreesy hat das vor 142 Tagen übernommen. Offen0. Needs triage bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
nextcloud/logreader#2045 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
0. Needs triage bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
Maintainer antworten meist innerhalb von 1 Tag
-
0. Needs triage bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in nextcloud/logreader
Ähnliche Issues
-
admission-deferred priority: medium status: ready work-class: scoped
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
melodic-software/claude-code-plugins#10887 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 91/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 2 Tagen
-
enhancement ui-dashboard
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag