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

PHP core dumps (Bus Error) on sync #40

Open
pallemannen opened this issue May 26, 2016 · 4 comments
Open

PHP core dumps (Bus Error) on sync #40

pallemannen opened this issue May 26, 2016 · 4 comments

Comments

@pallemannen
Copy link

When a google_addressbook enabled user ("jette" in this case) logs in to Roundcube, google_addressbook starts syncing her contacts. She's got a few hundred contacts. After 37 contacts (always the same 37 contacts) have been synced into the database, the browser sessions dies (different error message in different browsers, but they all mean no content from the server). When running sync-cli.sh, PHP core dumps with "Bus error" after syncing only 1 contact.

The 37 (and the 1) contacts being synced were verified in both the database and in /logs/sql

No errors or other relevant information in /logs/error or the Apache log file when she logs in, nor when running the sync script.

My guess is that there is some contact with field contents or other characteristics that the script (or any external function that is called) can't handle. Even if you can't fix the error - if you can give me clue on what to look for in her contacts, I can delete that field or contact to make things work. In what order is her contacts synced? It would be interesting to investigate contact #38.

root@ithora:/www/mail/plugins/google_addressbook # ./sync-cli.sh
Syncing contacts for user pal... disabled.
[...]
Syncing contacts for user jette... Bus error (core dumped)

My PHP is not debug-enabled, but this might at least tell you something:

(gdb) bt
#0 0x0000000801b138dd in free () from /lib/libc.so.7
#1 0x00000008059fc1d5 in CRYPTO_free () from /lib/libcrypto.so.7
#2 0x0000000810004d44 in SSL_CTX_set_alpn_protos () from /usr/local/lib/libssl.so.8
#3 0x000000080f94381d in curl_pushheader_byname () from /usr/local/lib/libcurl.so.4
#4 0x000000080f94772d in curl_pushheader_byname () from /usr/local/lib/libcurl.so.4
#5 0x000000080f8feedd in curl_formfree () from /usr/local/lib/libcurl.so.4
#6 0x000000080f90ef61 in curl_formfree () from /usr/local/lib/libcurl.so.4
#7 0x000000080f923d46 in curl_multi_perform () from /usr/local/lib/libcurl.so.4
#8 0x000000080f92392a in curl_multi_perform () from /usr/local/lib/libcurl.so.4
#9 0x000000080f91c08c in curl_easy_perform () from /usr/local/lib/libcurl.so.4
#10 0x000000080f6daa1a in zif_curl_exec () from /usr/local/lib/php/20131226/curl.so
#11 0x00000000005ec3e4 in zend_do_fcall_common_helper_SPEC ()
#12 0x00000000005ad688 in execute_ex ()
#13 0x0000000000585803 in zend_execute_scripts ()
#14 0x000000000052db73 in php_execute_script ()
#15 0x0000000000608918 in do_cli ()
#16 0x000000000060779f in main ()

Any ideas?

@stwa
Copy link
Owner

stwa commented May 27, 2016

Hmm, maybe there are two different problems here, web and CLI. It really looks strange to see PHP core dumping after syncing a contact.

Some questions:

  • It would be interesting to know your OS and version of PHP.
  • Do you know which line of (PHP) code produces the core dumb?
  • Is the BT from web or CLI?
  • Do you have any data to reproduce this behavior?

I can remember that during development a few years ago I had cases like this when I synced contacts with (big) pictures (I needed to tweak php.ini then). Maybe you can try to disable the downloading of images? (google_func.php:195)

Sorry, I am clueless, too. Please let me know as soon as you have more details.

@pallemannen
Copy link
Author

pallemannen commented May 27, 2016

FreeBSD 10.2-RELEASE-p17 with PHP 5.6.21

PHP line: Unfortunately not, but a decent WAG is google_func.php:195 :)
BT: CLI
It is reproduced every time I sync that user, after the same amount of contacts (37 or 1).

Disabled photo sync: Syncing contacts for user jette... 200[contactsfound]

She doesn't care about photos, so my problem is solved. Thanks!

@stwa
Copy link
Owner

stwa commented Jun 1, 2016

Thanks for your feedback, I will keep an eye on that. As I don't know much about memory management in PHP I have no clue why this is happening. Do you know if memory_limit is still set to the default value?

@pallemannen
Copy link
Author

Memory_limit is set to 512m (unless Roundcube or your plugin sets it to something else).

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