Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: exception string, boolean expected when sharing with a user #34225

Closed
6 of 9 tasks
sunflowerbofh opened this issue Sep 23, 2022 · 3 comments
Closed
6 of 9 tasks
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug needs info

Comments

@sunflowerbofh
Copy link

⚠️ 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 (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • Nextcloud Server is running on 64bit capable CPU, PHP and OS.
  • I agree to follow Nextcloud's Code of Conduct.

Bug description

When sharing with a certain user (which is found from LDAP), there is a short pop-up
"Error creating the share". Afterwards it looks as if the folder is shared, but the user does not see it. The error is reproducible for just that user and always creates the same logs (s. below).

Steps to reproduce

  1. Create a folder or use an existing one
  2. Click on the share symbol
  3. Search the concerning user and click on it -> error appears right above

Expected behavior

Sharing should work well for all users

Installation method

Community Manual installation with Archive

Operating system

Debian/Ubuntu

PHP engine version

PHP 7.4

Web server

Apache (supported)

Database engine version

PostgreSQL

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

Updated from a minor version (ex. 22.2.3 to 22.2.4)

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

occ config:list system
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "node2.web.n....b....e",
            "nextcloud....e"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "23.0.4.1",
        "overwrite.cli.url": "https:\/\/nextcloud....e",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwrite.host": "nextcloud....e",
        "overwriteprotocol": "https",
        "memcache.local": "\\OC\\Memcache\\Memcached",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": "6379",
            "password": "***REMOVED SENSITIVE VALUE***"
        },
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "updater.release.channel": "stable",
        "trashbin_retention_obligation": "92",
        "defaultapp": "files",
        "logtimezone": "Europe\/Zurich",
        "log_rotate_size": "536870912",
        "default_phone_region": "CH",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "skeletondirectory": "\/srv\/node2.web.n...e\/nextcloud\/skeleton-bfh",
        "theme": "",
        "lost_password_link": "disabled",
        "preview_max_y": "200",
        "preview_max_x": "200",
        "maintenance": false,
        "loglevel": 2
    }
}

List of activated Apps

occ app:list
Enabled:
  - accessibility: 1.9.0
  - activity: 2.15.0
  - admin_audit: 1.13.0
  - bruteforcesettings: 2.4.0
  - cloud_federation_api: 1.6.0
  - comments: 1.13.0
  - contacts: 4.1.0
  - contactsinteraction: 1.4.0
  - dashboard: 7.3.0
  - dav: 1.21.0
  - federatedfilesharing: 1.13.0
  - federation: 1.13.0
  - files: 1.18.0
  - files_pdfviewer: 2.4.0
  - files_rightclick: 1.2.0
  - files_sharing: 1.15.0
  - files_trashbin: 1.13.0
  - files_versions: 1.16.0
  - files_videoplayer: 1.12.0
  - firstrunwizard: 2.12.0
  - logreader: 2.8.0
  - lookup_server_connector: 1.11.0
  - nextcloud_announcements: 1.12.0
  - notifications: 2.11.1
  - oauth2: 1.11.0
  - password_policy: 1.13.0
  - photos: 1.5.0
  - previewgenerator: 4.0.0
  - privacy: 1.7.0
  - provisioning_api: 1.13.0
  - recommendations: 1.2.0
  - serverinfo: 1.13.0
  - settings: 1.5.0
  - sharebymail: 1.13.0
  - support: 1.6.0
  - survey_client: 1.11.0
  - systemtags: 1.13.0
  - text: 3.4.1
  - theming: 1.14.0
  - twofactor_backupcodes: 1.12.0
  - updatenotification: 1.13.0
  - user_ldap: 1.13.1
  - user_status: 1.3.1
  - viewer: 1.7.0
  - weather_status: 1.3.0
  - workflowengine: 2.5.0
Disabled:
  - circles: 22.1.1
  - encryption
  - files_external
  - groupfolders: 11.1.2

Nextcloud Signing status

Technical information
=====================
The following list covers which files have failed the integrity check. Please read the previous linked documentation to learn more about the errors and how to fix them.

Results
=======
- core
	- FILE_MISSING
		- 3rdparty/.github/dependabot.yml
		- 3rdparty/.github/workflows/block-merge-freeze.yml
		- 3rdparty/aws/aws-sdk-php/src/data/accessanalyzer/2019-11-01/api-2.json.php
		- 3rdparty/aws/aws-sdk-php/src/data/accessanalyzer/2019-11-01/paginators-1.json.php
		- 3rdparty/aws/aws-sdk-php/src/data/aliases.json.php
		- 3rdparty/aws/aws-sdk-php/src/data/amp/2020-08-01/api-2.json.php
(...output omitted ...)
7faa2725369b6ae9fd6942043742b81ba9698b718e347f1e749c8b4f66bf95eda0ff4d3a650305e91faddd3df237c7840e0d14c349aa572aa024df69d7fdfe62
                            [current] => 
                        )

                )

        )

)
(too many characters -> extra file)

Nextcloud Logs

 1 /srv/temp/nextcloud/sharefoo.log                                                              Bufs 
  Error    no app in context  Exception: substr() expects parameter 1 to be  2022-09-23T15:38:55+02:00 
                              string, bool given in file                                               
                              '/srv/node2.web.n.....e/nextcloud/lib/private/Security/Crypto.php'                           
                              line 98 at                                                               
                              lib/private/AppFramework/Http/Dispatcher.php                             
                              line 158                                                                 
                                                                                                       
                              0. .../App.php line 157                                                  
                                 OC\AppFramework\Http\Dispatcher->dispatch(                            
                                                                                                       
                                 )                                                                     
                              1. .../Router.php line 302                                               
                                 OC\AppFramework\App::main(                                            
                                                                                                       
                                 )                                                                     
                              2. .../v1.php line 62                                                    
                                 OC\Route\Router->match(                                               
                                                                                                       
                                 )                                                                     
                              3. ocs/v2.php line 23                                                    
                                 require_once("\/srv\/node2.web.ne ... p")                             
                                                                                                       
                              Caused by TypeError: substr() expects parameter 1 to be                           
                              string, bool given at                                                    
                              lib/private/Security/Crypto.php line 98                                  
                                                                                                       
                               0. .../Security/Crypto.php line 98                                      
                                  substr(                                                              
                                                                                                       
                                  ) 
                               .../Manager.php line 111                                             
                                  OC\Security\Crypto->encrypt("*** ... *")                             
                               2. .../Manager.php line 134                                             
                                  OC\Security\IdentityProof\Manager->generateKey(                           
                                                                                                       
                                  )                                                                    
                               3. .../Manager.php line 147                                             
                                  OC\Security\IdentityProof\Manager->retrieveKey(                           
                                                                                                       
                                  )                                                                    
                               4. .../Push.php line 199                                                
                                  OC\Security\IdentityProof\Manager->getKey(                           
                                                                                                       
                                  )                                                                    
                               5. .../App.php line 57                                                  
                                  OCA\Notifications\Push->pushToDevice(                                
                                                                                                       
                                  )                                                                    
                               6. .../Manager.php line 337                                             
                                  OCA\Notifications\App->notify(                                       
                                                                                                       
                                  )                                                                    
                               7. .../Listener.php line 68                                             
                                  OC\Notification\Manager->notify(                                     
                                                                                                       
                                  )                                                                    
                               8. .../Application.php line 141                                         
                                  OCA\Files_Sharing\Notification\Listener->shareNotification(                           
                                                                                                       
                                  )                                                                    
                               9. .../EventDispatcher.php line 264                                     
                                  OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}(                           
                                    ... *"                                                             
                                  )                                                                    
                              10. .../EventDispatcher.php line 239                                     
                                  Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(                           
                                                                                                       
                                  )                                                                    
                              11. .../EventDispatcher.php line 73                                      
                                  Symfony\Component\EventDispatcher\EventDispatcher->callListeners(                           
                                                                                                       
                                  )                                                                    
                              12. .../SymfonyAdapter.php line 123                                      
                                  Symfony\Component\EventDispatcher\EventDispatcher->dispatch(                           
                                                                                                       
                                  )                                                                    
                              13. .../Manager.php line 835                                             
                                  OC\EventDispatcher\SymfonyAdapter->dispatch(                           
                                                                                                       
                                  )                                                                    
                              14. .../ShareAPIController.php line 672                                  
                                  OC\Share20\Manager->createShare(                                     
                                                                                                       
                                  )         
                                        15. .../Dispatcher.php line 217                                          
                                  OCA\Files_Sharing\Controller\ShareAPIController->createShare(                           
                                                                                                       
                                  )                                                                    
                              16. .../Dispatcher.php line 126                                          
                                  OC\AppFramework\Http\Dispatcher->executeController(                           
                                                                                                       
                                  )                                                                    
                              17. .../App.php line 157                                                 
                                  OC\AppFramework\Http\Dispatcher->dispatch(                           
                                                                                                       
                                  )                                                                    
                              18. .../Router.php line 302                                              
                                  OC\AppFramework\App::main(                                           
                                                                                                       
                                  )                                                                    
                              19. .../v1.php line 62                                                   
                                  OC\Route\Router->match(                                              
                                                                                                       
                                  )                                                                    
                              20. ocs/v2.php line 23                                                   
                                  require_once("\/srv\/node2.web.n ... p")                             

  Error    PHP                Error: hash_hkdf(): Input keying material      2022-09-23T15:38:55+02:00 
                              cannot be empty at                                                       
                              /srv/node2.web.n ... e/nextcloud/lib/private/Security/Crypto.php#97                           
                              at lib/private/Log/ErrorHandler.php line 92                              
                                                                                                       
                               0. <<closure>>                                                          
                                  OC\Log\ErrorHandler::onError(                                        
                                                                                                       
                                  )                                                                    
                               1. .../Crypto.php line 97                                               
                                  hash_hkdf(                                                           
                                                                                                       
                                  )                                                                    
                               2. .../Manager.php line 111                                             
                                  OC\Security\Crypto->encrypt("*** ... *")                             
                               3. .../Manager.php line 134                                             
                                  OC\Security\IdentityProof\Manager->generateKey(                           
                                                                                                       
                                  )                                                                    
                               4. .../Manager.php line 147                                             
                                  OC\Security\IdentityProof\Manager->retrieveKey(                           
                                                                                                       
                                  )                                                                    
                               5. .../Push.php line 199                                                
                                  OC\Security\IdentityProof\Manager->getKey(                           
                                                                                                       
                                  )                                                                    
                               6. .../App.php line 57                                                  
                                  OCA\Notifications\Push->pushToDevice(                                
                                                                                                       
                                  )     
                    7. .../Manager.php line 337                                             
                                  OCA\Notifications\App->notify(                                       
                                                                                                       
                                  )                                                                    
                               8. .../Listener.php line 68                                             
                                  OC\Notification\Manager->notify(                                     
                                                                                                       
                                  )                                                                    
                               9. .../Application.php line 141                                         
                                  OCA\Files_Sharing\Notification\Listener->shareNotification(                           
                                                                                                       
                                  )                                                                    
                              10. .../EventDispatcher.php line 264                                     
                                  OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}(                           
                                    ... *"                                                             
                                  )                                                                    
                              11. .../EventDispatcher.php line 239                                     
                                  Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(                           
                                                                                                       
                                  )                                                                    
                              12. .../EventDispatcher.php line 73                                      
                                  Symfony\Component\EventDispatcher\EventDispatcher->callListeners(                           
                                                                                                       
                                  )                                                                    
                              13. .../SymfonyAdapter.php line 123                                      
                                  Symfony\Component\EventDispatcher\EventDispatcher->dispatch(                           
                                                                                                       
                                  )                                                                    
                              14. .../Manager.php line 835                                             
                                  OC\EventDispatcher\SymfonyAdapter->dispatch(                           
                                                                                                       
                                  )                                                                    
                              15. .../ShareAPIController.php line 672                                  
                                  OC\Share20\Manager->createShare(                                     
                                                                                                       
                                  )                                                                    
                              16. .../Dispatcher.php line 217                                          
                                  OCA\Files_Sharing\Controller\ShareAPIController->createShare(                           
                                                                                                       
                                  )                                                                    
                              17. .../Dispatcher.php line 126                                          
                                  OC\AppFramework\Http\Dispatcher->executeController(                           
                                                                                                       
                                  )                                                                    
                              18. .../App.php line 157                                                 
                                  OC\AppFramework\Http\Dispatcher->dispatch(                           
                                                                                                       
                                  )                                                                    
                              19. .../Router.php line 302                                              
                                  OC\AppFramework\App::main(                                           
                                                                                                       
                                  )                                                                    
                              20. .../v1.php line 62                                                   
                                  OC\Route\Router->match(                                              
                                                                                                       
                                  )    
                             )                                                                    
                              21. ocs/v2.php line 23                                                   
                                  require_once("\/srv\/node2.web.n ... p")

Additional info

The user has about 82 GB of data and 54468 files (and 19186 files_versions).

@sunflowerbofh sunflowerbofh added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Sep 23, 2022
@sunflowerbofh
Copy link
Author

Here the whole sigining status (had too many characters for the bug report)
sigining_status.txt

@sunflowerbofh
Copy link
Author

Not sure if there is a coherence, but we get the "substr() expects parameter 1 to be string, bool given" error although when running the cron job:
$ sudo -u www-data /usr/bin/php /srv/node1.web.nextcloud....e/nextcloud/cron.php
TypeError: substr() expects parameter 1 to be string, bool given in /srv/node1.web.nextcloud....e/nextcloud/lib/private/Security/Crypto.php:98
Stack trace:
#0 /srv/node1.web.nextcloud....e/nextcloud/lib/private/Security/Crypto.php(98): substr()
#1 /srv/node1.web.nextcloud....e/nextcloud/lib/private/Security/IdentityProof/Manager.php(111): OC\Security\Crypto->encrypt()
#2 /srv/node1.web.nextcloud....e/nextcloud/lib/private/Security/IdentityProof/Manager.php(134): OC\Security\IdentityProof\Manager->generateKey()
#3 /srv/node1.web.nextcloud....e/nextcloud/lib/private/Security/IdentityProof/Manager.php(147): OC\Security\IdentityProof\Manager->retrieveKey()
#4 /srv/node1.web.nextcloud....e/nextcloud/lib/private/Security/IdentityProof/Signer.php(64): OC\Security\IdentityProof\Manager->getKey()
#5 /srv/node1.web.nextcloud....e/nextcloud/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php(150): OC\Security\IdentityProof\Signer->sign()
#6 /srv/node1.web.nextcloud....e/nextcloud/lib/public/BackgroundJob/Job.php(79): OCA\LookupServerConnector\BackgroundJobs\RetryJob->run()
#7 /srv/node1.web.nextcloud....e/nextcloud/apps/lookup_server_connector/lib/BackgroundJobs/RetryJob.php(113): OCP\BackgroundJob\Job->execute()
#8 /srv/node1.web.nextcloud....e/nextcloud/cron.php(150): OCA\LookupServerConnector\BackgroundJobs\RetryJob->execute()
#9 {main}

@szaimen
Copy link
Contributor

szaimen commented Jan 23, 2023

Hi, please update to 24.0.9 or better 25.0.3 and report back if it fixes the issue. Thank you!

My goal is to add a label like e.g. 25-feedback to this ticket of an up-to-date major Nextcloud version where the bug could be reproduced. However this is not going to work without your help. So thanks for all your effort!

If you don't manage to reproduce the issue in time and the issue gets closed but you can reproduce the issue afterwards, feel free to create a new bug report with up-to-date information by following this link: https://github.com/nextcloud/server/issues/new?assignees=&labels=bug%2C0.+Needs+triage&template=BUG_REPORT.yml&title=%5BBug%5D%3A+

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap bug needs info
Projects
None yet
Development

No branches or pull requests

2 participants