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

Entering new contact results in: contact could not be saved #415

Closed
integras opened this issue Oct 29, 2017 · 15 comments
Closed

Entering new contact results in: contact could not be saved #415

integras opened this issue Oct 29, 2017 · 15 comments

Comments

@integras
Copy link

Steps to reproduce

  1. Create a new entry (any addressbook)
  2. Mark the string <New contact>, delete it with backspace and type the new name, e.g. Testname, Test2, ...
  3. This results in the message: contact could not be saved

Expected behaviour

The name should be accepted and stored correctly without error message

Actual behaviour

The error message pops up. Still the new contact is stored. Reload of the page shows the new name. Subsequent sync with Android through DavDroid transfers it to the Android device

General server configuration

Operating system: Linux dshpl1 3.10.102 #15152 SMP Fri Oct 6 18:13:48 CST 2017 x86_64

Web server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141 (fpm-fcgi)

Database: mysql 10.0.31

PHP version: 5.6.31

PHP-modules loaded
 - Core
 - date
 - ereg
 - libxml
 - pcre
 - zlib
 - ctype
 - dom
 - fileinfo
 - filter
 - hash
 - json
 - mbstring
 - pcntl
 - SPL
 - PDO
 - readline
 - Reflection
 - session
 - SimpleXML
 - standard
 - tokenizer
 - xml
 - xmlreader
 - xmlwriter
 - mysqlnd
 - cgi-fcgi
 - apcu
 - bcmath
 - bz2
 - calendar
 - curl
 - exif
 - ftp
 - gd
 - gettext
 - gmp
 - iconv
 - imap
 - intl
 - ldap
 - mysql
 - mysqli
 - openssl
 - pdo_dblib
 - pdo_mysql
 - pdo_pgsql
 - pdo_sqlite
 - pgsql
 - Phar
 - posix
 - shmop
 - soap
 - sockets
 - sqlite3
 - sysvmsg
 - sysvsem
 - sysvshm
 - wddx
 - xmlrpc
 - zip
 - mcrypt
 - mhash
 - apc
 - Zend OPcache

Nextcloud configuration

Nextcloud version: 12.0.3 - 12.0.3.3

Updated from an older Nextcloud/ownCloud or fresh install: ownCloud -> Nextcloud -> Nextcloud

Where did you install Nextcloud from: Nextcloud website

Are you using external storage, if yes which one: files_external is disabled

Are you using encryption: no

Are you using an external user-backend, if yes which one: LDAP

Signing status
[]
Enabled apps
 - activity: 2.5.2
 - bruteforcesettings: 1.0.2
 - calendar: 1.5.6
 - comments: 1.2.0
 - contacts: 2.0.1
 - dav: 1.3.0
 - federatedfilesharing: 1.2.0
 - federation: 1.2.0
 - files: 1.7.2
 - files_pdfviewer: 1.1.1
 - files_sharing: 1.4.0
 - files_texteditor: 2.4.1
 - files_trashbin: 1.2.0
 - files_versions: 1.5.0
 - files_videoplayer: 1.1.0
 - gallery: 17.0.0
 - issuetemplate: 0.2.2
 - logreader: 2.0.0
 - lookup_server_connector: 1.0.0
 - nextcloud_announcements: 1.1
 - notifications: 2.0.0
 - oauth2: 1.0.5
 - password_policy: 1.2.2
 - provisioning_api: 1.2.0
 - serverinfo: 1.2.0
 - sharebymail: 1.2.0
 - socialsharing_email: 1.0.1
 - survey_client: 1.0.0
 - systemtags: 1.2.0
 - tasks: 0.9.5
 - theming: 1.3.0
 - twofactor_backupcodes: 1.1.1
 - updatenotification: 1.2.0
 - user_ldap: 1.2.1
 - workflowengine: 1.2.0
Disabled apps
 - admin_audit
 - encryption
 - files_external
 - firstrunwizard
 - user_external
Content of config/config.php
{
    "instanceid": "521dba5201815",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "datadirectory": "\/volume1\/web\/owncloud_data\/data",
    "dbtype": "mysql",
    "version": "12.0.3.3",
    "installed": true,
    "forcessl": true,
    "ldapIgnoreNamingRules": false,
    "theme": "",
    "maintenance": false,
    "loglevel": "1",
    "trusted_domains": [
        "***REMOVED SENSITIVE VALUE***",
        "***REMOVED SENSITIVE VALUE***:443",
        "192.168.1.10:443",
        "192.168.1.10"
    ],
    "secret": "***REMOVED SENSITIVE VALUE***",
    "share_folder": "\/Shared",
    "dbname": "owncloud",
    "dbhost": "127.0.0.1:3307",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "trashbin_retention_obligation": "auto",
    "appstore.experimental.enabled": true,
    "appstoreurl": "https:\/\/marketplace.owncloud.com\/api\/v0",
    "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
    "overwrite.cli.url": "https:\/\/***REMOVED SENSITIVE VALUE***\/nextcloud",
    "updater.release.channel": "stable"
}
LDAP config
root:/volume1/web/nextcloud# sudo -u http php56 occ ldap:show-config
+-------------------------------+-----------------------------------+
| Configuration                 |                                   |
+-------------------------------+-----------------------------------+
| hasMemberOfFilterSupport      |                                   |
| hasPagedResultSupport         |                                   |
| homeFolderNamingRule          |                                   |
| lastJpegPhotoLookup           | 0                                 |
| ldapAgentName                 | uid=root,cn=users,dc=***REMOVED SENSITIVE VALUE*** |
| ldapAgentPassword             | ***                               |
| ldapAttributesForGroupSearch  |                                   |
| ldapAttributesForUserSearch   |                                   |
| ldapBackupHost                |                                   |
| ldapBackupPort                | 389                               |
| ldapBase                      | dc=***REMOVED SENSITIVE VALUE***                   |
| ldapBaseGroups                | dc=***REMOVED SENSITIVE VALUE***                   |
| ldapBaseUsers                 | dc=***REMOVED SENSITIVE VALUE***                   |
| ldapCacheTTL                  | 600                               |
| ldapConfigurationActive       | 1                                 |
| ldapDefaultPPolicyDN          |                                   |
| ldapDynamicGroupMemberURL     |                                   |
| ldapEmailAttribute            |                                   |
| ldapExperiencedAdmin          | 0                                 |
| ldapExpertUUIDGroupAttr       |                                   |
| ldapExpertUUIDUserAttr        |                                   |
| ldapExpertUsernameAttr        |                                   |
| ldapGidNumber                 | gidNumber                         |
| ldapGroupDisplayName          | cn                                |
| ldapGroupFilter               | (&(|(objectclass=posixGroup)))    |
| ldapGroupFilterGroups         |                                   |
| ldapGroupFilterMode           | 0                                 |
| ldapGroupFilterObjectclass    | posixGroup                        |
| ldapGroupMemberAssocAttr      | memberUid                         |
| ldapHost                      | localhost                         |
| ldapIgnoreNamingRules         |                                   |
| ldapLoginFilter               | displayName=%uid                  |
| ldapLoginFilterAttributes     |                                   |
| ldapLoginFilterEmail          | 0                                 |
| ldapLoginFilterMode           | 1                                 |
| ldapLoginFilterUsername       | 0                                 |
| ldapNestedGroups              | 0                                 |
| ldapOverrideMainServer        | 0                                 |
| ldapPagingSize                | 500                               |
| ldapPort                      | 389                               |
| ldapQuotaAttribute            |                                   |
| ldapQuotaDefault              |                                   |
| ldapTLS                       | 1                                 |
| ldapUserDisplayName           | cn                                |
| ldapUserDisplayName2          |                                   |
| ldapUserFilter                | (|(objectclass=posixAccount))     |
| ldapUserFilterGroups          |                                   |
| ldapUserFilterMode            | 0                                 |
| ldapUserFilterObjectclass     | posixAccount                      |
| ldapUuidGroupAttribute        | auto                              |
| ldapUuidUserAttribute         | auto                              |
| turnOffCertCheck              | 1                                 |
| turnOnPasswordChange          | 0                                 |
| useMemberOfToDetectMembership | 1                                 |
+-------------------------------+-----------------------------------+
+-------------------------------+---------------------------------------------------------------------+
| Configuration                 | s01                                                                 |
+-------------------------------+---------------------------------------------------------------------+
| hasMemberOfFilterSupport      |                                                                     |
| hasPagedResultSupport         |                                                                     |
| homeFolderNamingRule          |                                                                     |
| lastJpegPhotoLookup           | 0                                                                   |
| ldapAgentName                 | uid=root,cn=users,dc=***REMOVED SENSITIVE VALUE***                                   |
| ldapAgentPassword             | ***                                                                 |
| ldapAttributesForGroupSearch  |                                                                     |
| ldapAttributesForUserSearch   |                                                                     |
| ldapBackupHost                |                                                                     |
| ldapBackupPort                |                                                                     |
| ldapBase                      | dc=***REMOVED SENSITIVE VALUE***                                                     |
| ldapBaseGroups                | dc=***REMOVED SENSITIVE VALUE***                                                     |
| ldapBaseUsers                 | dc=***REMOVED SENSITIVE VALUE***                                                     |
| ldapCacheTTL                  | 600                                                                 |
| ldapConfigurationActive       | 1                                                                   |
| ldapDefaultPPolicyDN          |                                                                     |
| ldapDynamicGroupMemberURL     |                                                                     |
| ldapEmailAttribute            |                                                                     |
| ldapExperiencedAdmin          | 0                                                                   |
| ldapExpertUUIDGroupAttr       |                                                                     |
| ldapExpertUUIDUserAttr        |                                                                     |
| ldapExpertUsernameAttr        |                                                                     |
| ldapGidNumber                 | gidNumber                                                           |
| ldapGroupDisplayName          | cn                                                                  |
| ldapGroupFilter               | (&(|(objectclass=posixGroup)))                                      |
| ldapGroupFilterGroups         |                                                                     |
| ldapGroupFilterMode           | 0                                                                   |
| ldapGroupFilterObjectclass    | posixGroup                                                          |
| ldapGroupMemberAssocAttr      | memberUid                                                           |
| ldapHost                      | localhost                                                           |
| ldapIgnoreNamingRules         |                                                                     |
| ldapLoginFilter               | (&(|(objectclass=inetOrgPerson))(|(uid=%uid)(|(displayName=%uid)))) |
| ldapLoginFilterAttributes     | displayName                                                         |
| ldapLoginFilterEmail          | 0                                                                   |
| ldapLoginFilterMode           | 0                                                                   |
| ldapLoginFilterUsername       | 1                                                                   |
| ldapNestedGroups              | 0                                                                   |
| ldapOverrideMainServer        | 0                                                                   |
| ldapPagingSize                | 500                                                                 |
| ldapPort                      | 389                                                                 |
| ldapQuotaAttribute            |                                                                     |
| ldapQuotaDefault              |                                                                     |
| ldapTLS                       | 0                                                                   |
| ldapUserDisplayName           | displayName                                                         |
| ldapUserDisplayName2          |                                                                     |
| ldapUserFilter                | (|(objectclass=inetOrgPerson))                                      |
| ldapUserFilterGroups          |                                                                     |
| ldapUserFilterMode            | 0                                                                   |
| ldapUserFilterObjectclass     | inetOrgPerson                                                       |
| ldapUuidGroupAttribute        | auto                                                                |
| ldapUuidUserAttribute         | auto                                                                |
| turnOffCertCheck              | 1                                                                   |
| turnOnPasswordChange          | 0                                                                   |
| useMemberOfToDetectMembership | 1                                                                   |
+-------------------------------+---------------------------------------------------------------------+

Client configuration

Browser: Chrome/Version 61.0.3163.100 (Official Build) (64-bit)

Operating system: Linux wombat 4.10.0-37-generic #41-Ubuntu SMP Fri Oct 6 20:20:37 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

@integras
Copy link
Author

Browser log

scripts-for-file-app.js Failed to load resource: net::ERR_NETWORK_CHANGED
socialsharingemail.js Failed to load resource: net::ERR_NETWORK_CHANGED
merged.js Failed to load resource: net::ERR_NETWORK_CHANGED
merged.js Failed to load resource: net::ERR_NETWORK_CHANGED
VM4209 core.js?v=73fc34a035468f7e9528f0804aa640a2-1:7 JQMIGRATE: Migrate is installed, version 1.4.0
Navigated to https://***reomved***/nextcloud/index.php/apps/contacts/
core.js?v=73fc34a035468f7e9528f0804aa640a2-1:sourcemap:7 JQMIGRATE: Migrate is installed, version 1.4.0
dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3738 PUT https://***reomved***/nextcloud/remote.php/dav/addressbooks/users/138e13fc-af17-1032-9bf3-612ab34ea9c9/HPL%20Private/f5256fd9-37bb-4f27-a1a7-180f8a1aa187.vcf 412 (Precondition failed)
send @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3738
callee$2$0$ @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3251
tryCatch @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:121
invoke @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:294
Gp.(anonymous function) @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:330
onFulfilled @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3834
(anonymous) @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3823
co @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3819
send @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3229
updateObject @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:3512
updateCard @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:1850
updateCard @ dav.js?v=73fc34a035468f7e9528f0804aa640a2-1:1524
update @ contact_service.js:303
ctrl.updateContact @ contactDetails_controller.js:79
fn @ VM4684:4
$eval @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:17682
(anonymous) @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:24916
(anonymous) @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27691
forEach @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:321
$$writeModelToScope @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27689
writeToModelIfNeeded @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27682
(anonymous) @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27676
validationDone @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27603
processAsyncValidators @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27586
$$runValidators @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27530
$$parseAndValidate @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27669
$commitViewValue @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27637
(anonymous) @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27774
(anonymous) @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:19612
completeOutstandingRequest @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:5964
(anonymous) @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:6243
setTimeout (async)
Browser.self.defer @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:6241
timeout @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:19610
$$debounceViewValueCommit @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27773
$setViewValue @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:27751
listener @ angular.js?v=73fc34a035468f7e9528f0804aa640a2-1:23988
dispatch @ core.js?v=73fc34a035468f7e9528f0804aa640a2-1:3
r.handle @ core.js?v=73fc34a035468f7e9528f0804aa640a2-1:3

@integras
Copy link
Author

integras commented Oct 29, 2017

Maybe this is the same issue as #405 or at least related? It does seem possible to enter a contact though, even if the system says the contrary, whereas @nova168168 says he can't...
The error message from the screen shot seems to be the same however.

@integras
Copy link
Author

integras commented Oct 29, 2017

Strange observation: originally I thought that this was related to entering Umlaute. I noticed it when entering the city and it would hiccup when the umlaut was entered. I then made a lot of experiments and it seemed that the speed I entered the letters made a difference. Entering them very slowly, waiting 3-4 seconds between every key-press did not raise the error. Don't know if this is of any relevance, but thought I'd mention it anyway...

@integras
Copy link
Author

I do not know about #402, but the description #397 sounds a bit like what I am seeing here. It seems to depend on entry speed there too. I have seen the behaviour in fields (City, Street) also, as described in #397, not only in the main name field.
My server is a synology diskstation which is not really fast, but not very slow either.

@integras
Copy link
Author

Just FYI: number of contacts is 544 (distributed over 5 addressbooks which are shared so that one user gets all the 544 contacts). Does not seem much to me, but who knows... :)

@skjnldsv
Copy link
Member

Yes, this is a duplicate of #397.
Error 412! :)

@integras
Copy link
Author

integras commented Oct 30, 2017

Thanks for the info :)
Should I rather wait for 2.0.2 (since nothing really bad seems to happen) or should I go for the last nightly build and check if the issue goes away?
Another question: is this behaviour an indicator meaning that I should tweak my nextcloud installation somehow (yes/potentially/no answer is sufficient ;)?

@skjnldsv
Copy link
Member

You can try the latest nightlies if you want yes! :)
This is a indicator that the server takes a long time to respond. So it might be great to check if everything is alright!

@integras
Copy link
Author

Tested the following build: nextcloud_contacts_nightly_build_2017-10-30.tar.gz

Problem has improved, but has not gone away, I can reproduce error messages when writing longer comments (a few words) into the Note field. Observations:

  • to the left no groups are displayed anymore, they are still contained in the contacts though
  • selecting a contact seems noticeably slower now before the details are displayed to the right

Any other information I can or should provide?

@skjnldsv
Copy link
Member

Could you post a screenshot of your network tab after a few errors? Especially the timeline part! :)

@integras
Copy link
Author

integras commented Oct 31, 2017

screenshot from 2017-10-31 23-58-22
I am unfamiliar with this kind of information, so please let me know if this is not what you expect 😃
Screenshot taken after a few errors have been displayed

@skjnldsv
Copy link
Member

That is exactly what I was looking for! :)
Unfortunately this is not what I was thinking it would look like. 🤔

It's very strange. Do you just type continuously or with a specific way to do it?

@integras
Copy link
Author

Sorry for that... 😉
I am typing with 4 or 5 fingers, pretty quick for an ordinary computer user, but nothing like a professional typist. Just typing away, sometimes spaces, sometimes waiting a bit thinking of what I want to write.

@integras
Copy link
Author

The messages pile up, mostly 2, sometimes up to 4 (or even more, I don't count them precisely) and then go away after some time one by one.

@integras
Copy link
Author

I might have good news... have experimented a bit and can report the following.

After completely cleaning the browser cache, stopping and restarting it

  • I can not reproduce the error anymore
  • the groups to the left are displayed correctly

Yay! 😁

Thanks for your help and sorry for the browser cache. I should have thought of it before reporting back...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants