nextcloud / survey_client

🙋 Survey app which collects anonymized instance data to improve Nextcloud
GNU Affero General Public License v3.0
9 stars 14 forks source link

[Bug]: Usage survey not working #171

Closed EchedelleLR closed 1 week ago

EchedelleLR commented 2 years ago

⚠️ This issue respects the following points: ⚠️

Bug description

As suggested by the title it seems that the "Usage survey" is not working from a lot time ago several versions before.

I could not report this issue sooner because I almost forgot.

When I call to make the report manually, it seems that the nextcloud log which is accesible online reports me this error.

2022-02-05_10-56

When I checked other people issues here, it seems that this worked for them.

Steps to reproduce

  1. Log in with an Admin account
  2. Go to Settings > Usage survey
  3. Click on the button to send the survey

Expected behavior

The report to be sent successfully.

Installation method

Official Docker image

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.0

Web server

Apache (supported)

Database engine version

SQlite

Is this bug present after an update or on a fresh install?

Updated to a major version (ex. 22.2.3 to 23.0.1)

Are you using the Nextcloud Server Encryption module?

No response

What user-backends are you using?

Configuration report

{
    "system": {
        "htaccess.RewriteBase": "\/",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "192.168.3.2:8080",
            "melalandia.tk"
        ],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "melalandia.tk",
        "overwriteprotocol": "https",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "sqlite3",
        "version": "23.0.1.2",
        "overwrite.cli.url": "https:\/\/melalandia.tk",
        "installed": true,
        "maintenance": false,
        "theme": "",
        "loglevel": 0,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpsecure": "ssl",
        "app_install_overwrite": [
            "social",
            "socialsharing_email",
            "drawio",
            "circles",
            "joplin",
            "files_texteditor",
            "calendar",
            "onlyoffice",
            "bruteforcesettings",
            "tasks"
        ]
    }
}

List of activated Apps

Enabled:
  - accessibility: 1.9.0
  - activity: 2.15.0
  - admin_audit: 1.13.0
  - bruteforcesettings: 2.3.0
  - calendar: 3.0.5
  - circles: 23.0.1
  - cloud_federation_api: 1.6.0
  - cms_pico: 1.0.17
  - comments: 1.13.0
  - contacts: 4.0.7
  - contactsinteraction: 1.4.0
  - dashboard: 7.3.0
  - dav: 1.21.0
  - deck: 1.6.0
  - drawio: 1.0.2
  - federatedfilesharing: 1.13.0
  - federation: 1.13.0
  - files: 1.18.0
  - files_automatedtagging: 1.13.0
  - files_external: 1.15.0
  - files_pdfviewer: 2.4.0
  - files_rightclick: 1.2.0
  - files_sharing: 1.15.0
  - files_texteditor: 2.14.0
  - files_trashbin: 1.13.0
  - files_versions: 1.16.0
  - files_videoplayer: 1.12.0
  - fileslibreofficeedit: 1.0.4
  - firstrunwizard: 2.12.0
  - forms: 2.4.0
  - logreader: 2.8.0
  - lookup_server_connector: 1.11.0
  - mail: 1.11.6
  - maps: 0.1.10
  - nextcloud_announcements: 1.12.0
  - notes: 4.3.0
  - notifications: 2.11.1
  - oauth2: 1.11.0
  - onlyoffice: 7.3.0
  - password_policy: 1.13.0
  - phonetrack: 0.7.0
  - photos: 1.5.0
  - polls: 3.4.2
  - privacy: 1.7.0
  - provisioning_api: 1.13.0
  - recommendations: 1.2.0
  - riotchat: 0.11.0
  - serverinfo: 1.13.0
  - settings: 1.5.0
  - sharebymail: 1.13.0
  - socialsharing_email: 2.4.0
  - support: 1.6.0
  - survey_client: 1.11.0
  - systemtags: 1.13.0
  - tasks: 0.14.2
  - text: 3.4.0
  - theming: 1.14.0
  - twofactor_backupcodes: 1.12.0
  - twofactor_totp: 6.2.0
  - twofactor_u2f: 6.3.0
  - updatenotification: 1.13.0
  - user_status: 1.3.1
  - viewer: 1.7.0
  - weather_status: 1.3.0
  - workflowengine: 2.5.0
Disabled:
  - encryption: 2.6.0
  - spreed: 13.0.2
  - user_ldap

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

{
    "reqId": "nutlpqy6JCBVhjdffIyu",
    "level": 3,
    "time": "2022-02-05T11:06:22+00:00",
    "remoteAddr": "192.168.3.1",
    "user": "Admin",
    "app": "no app in context",
    "method": "POST",
    "url": "/ocs/v2.php/apps/survey_client/api/v1/report?format=json",
    "message": "Call to undefined method OC\\DB\\ConnectionAdapter::getParams() in file '/var/www/html/apps/survey_client/lib/Categories/Database.php' line 141",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
    "version": "23.0.1.2",
    "exception": {
        "Exception": "Exception",
        "Message": "Call to undefined method OC\\DB\\ConnectionAdapter::getParams() in file '/var/www/html/apps/survey_client/lib/Categories/Database.php' line 141",
        "Code": 0,
        "Trace": [{
            "file": "/var/www/html/lib/private/AppFramework/App.php",
            "line": 157,
            "function": "dispatch",
            "class": "OC\\AppFramework\\Http\\Dispatcher",
            "type": "->",
            "args": [{
                "__class__": "OCA\\Survey_Client\\Controller\\EndpointController"
            }, "sendReport"]
        }, {
            "file": "/var/www/html/lib/private/Route/Router.php",
            "line": 302,
            "function": "main",
            "class": "OC\\AppFramework\\App",
            "type": "::",
            "args": ["OCA\\Survey_Client\\Controller\\EndpointController", "sendReport", {
                "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
            }, {
                "_route": "ocs.survey_client.Endpoint.sendReport"
            }]
        }, {
            "file": "/var/www/html/ocs/v1.php",
            "line": 62,
            "function": "match",
            "class": "OC\\Route\\Router",
            "type": "->",
            "args": ["/ocsapp/apps/survey_client/api/v1/report"]
        }, {
            "file": "/var/www/html/ocs/v2.php",
            "line": 23,
            "args": ["/var/www/html/ocs/v1.php"],
            "function": "require_once"
        }],
        "File": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
        "Line": 158,
        "Previous": {
            "Exception": "Error",
            "Message": "Call to undefined method OC\\DB\\ConnectionAdapter::getParams()",
            "Code": 0,
            "Trace": [{
                "file": "/var/www/html/apps/survey_client/lib/Categories/Database.php",
                "line": 76,
                "function": "databaseSize",
                "class": "OCA\\Survey_Client\\Categories\\Database",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/html/apps/survey_client/lib/Collector.php",
                "line": 138,
                "function": "getData",
                "class": "OCA\\Survey_Client\\Categories\\Database",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/html/apps/survey_client/lib/Collector.php",
                "line": 158,
                "function": "getReport",
                "class": "OCA\\Survey_Client\\Collector",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/html/apps/survey_client/lib/Controller/EndpointController.php",
                "line": 94,
                "function": "sendReport",
                "class": "OCA\\Survey_Client\\Collector",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
                "line": 217,
                "function": "sendReport",
                "class": "OCA\\Survey_Client\\Controller\\EndpointController",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/html/lib/private/AppFramework/Http/Dispatcher.php",
                "line": 126,
                "function": "executeController",
                "class": "OC\\AppFramework\\Http\\Dispatcher",
                "type": "->",
                "args": [{
                    "__class__": "OCA\\Survey_Client\\Controller\\EndpointController"
                }, "sendReport"]
            }, {
                "file": "/var/www/html/lib/private/AppFramework/App.php",
                "line": 157,
                "function": "dispatch",
                "class": "OC\\AppFramework\\Http\\Dispatcher",
                "type": "->",
                "args": [{
                    "__class__": "OCA\\Survey_Client\\Controller\\EndpointController"
                }, "sendReport"]
            }, {
                "file": "/var/www/html/lib/private/Route/Router.php",
                "line": 302,
                "function": "main",
                "class": "OC\\AppFramework\\App",
                "type": "::",
                "args": ["OCA\\Survey_Client\\Controller\\EndpointController", "sendReport", {
                    "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
                }, {
                    "_route": "ocs.survey_client.Endpoint.sendReport"
                }]
            }, {
                "file": "/var/www/html/ocs/v1.php",
                "line": 62,
                "function": "match",
                "class": "OC\\Route\\Router",
                "type": "->",
                "args": ["/ocsapp/apps/survey_client/api/v1/report"]
            }, {
                "file": "/var/www/html/ocs/v2.php",
                "line": 23,
                "args": ["/var/www/html/ocs/v1.php"],
                "function": "require_once"
            }],
            "File": "/var/www/html/apps/survey_client/lib/Categories/Database.php",
            "Line": 141
        },
        "CustomMessage": "--"
    },
    "id": "61fe5c73ee3d7"
}

Additional info

This issue started several versions ago, I reported the exact cause of error for log and the server is behind a reverse proxy server which is also Apache HTTPD.

samm-git commented 1 year ago

I do have the same issue, but from the cron job:

Error: Call to undefined method OC\DB\ConnectionAdapter::getParams() in /usr/local/www/nextcloud/apps-pkg/survey_client/lib/Categories/Database.php:136
Stack trace:
#0 /usr/local/www/nextcloud/apps-pkg/survey_client/lib/Categories/Database.php(70): OCA\Survey_Client\Categories\Database->databaseSize()
nextcloud/server#1 /usr/local/www/nextcloud/apps-pkg/survey_client/lib/Collector.php(128): OCA\Survey_Client\Categories\Database->getData()
nextcloud/server#2 /usr/local/www/nextcloud/apps-pkg/survey_client/lib/Collector.php(148): OCA\Survey_Client\Collector->getReport()
nextcloud/server#3 /usr/local/www/nextcloud/apps-pkg/survey_client/lib/BackgroundJobs/MonthlyReport.php(48): OCA\Survey_Client\Collector->sendReport()
nextcloud/server#4 /usr/local/www/nextcloud/lib/public/BackgroundJob/Job.php(78): OCA\Survey_Client\BackgroundJobs\MonthlyReport->run(NULL)
nextcloud/server#5 /usr/local/www/nextcloud/lib/public/BackgroundJob/TimedJob.php(103): OCP\BackgroundJob\Job->start(Object(OC\BackgroundJob\JobList))
nextcloud/server#6 /usr/local/www/nextcloud/lib/public/BackgroundJob/TimedJob.php(93): OCP\BackgroundJob\TimedJob->start(Object(OC\BackgroundJob\JobList))
nextcloud/server#7 /usr/local/www/nextcloud/cron.php(152): OCP\BackgroundJob\TimedJob->execute(Object(OC\BackgroundJob\JobList), Object(OC\Log))
nextcloud/server#8 {main}
derritter88 commented 7 months ago

Seems the app is deprecated?! I try to send reports manual from time to time but I always do get a HTTP 500 error. Last successful report was sent in April 2020.

joshtrichards commented 1 week ago

Fix pending. Only impacted sqlite3. Due to some deprecated code. Sorry about the delay in addressing. :)