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

Newest version crashes Roundcube v1.2-beta #129

Closed
al-Iskandar opened this issue Dec 24, 2015 · 18 comments
Closed

Newest version crashes Roundcube v1.2-beta #129

al-Iskandar opened this issue Dec 24, 2015 · 18 comments

Comments

@al-Iskandar
Copy link

When I updated carddav to the newest version (Dec 2015) I get a white page when opening roundcube (v1.2-beta, PHP 7.01). If I downgrade again to the version before, Roundcube is working again.

Here the error log:

[24-Dec-2015 17:12:49 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:12:52 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:12:52 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:14:20 +0100]: <0848368b> Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:14:21 +0100]: <0848368b> Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:14:21 +0100]: <0848368b> Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:19:56 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:19:56 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:19:56 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:20:01 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:20:01 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:20:02 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:20:02 +0100]: Warning: Call to deprecated function write_log(); See bc.inc for replacement
[24-Dec-2015 17:20:05 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:20:13 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:22:28 +0100]: Warning: Call to deprecated function parse_input_value(); See bc.inc for replacement
[24-Dec-2015 17:22:31 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:22:31 +0100]: Warning: Call to deprecated function write_log(); See bc.inc for replacement
[24-Dec-2015 17:23:01 +0100]: Warning: Call to deprecated function parse_input_value(); See bc.inc for replacement
[24-Dec-2015 17:23:01 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:23:04 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:23:04 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:23:06 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:23:08 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:23:08 +0100]: Warning: Call to deprecated function write_log(); See bc.inc for replacement
[24-Dec-2015 17:24:47 +0100]: Warning: Call to deprecated function get_table_name(); See bc.inc for replacement
[24-Dec-2015 17:24:47 +0100]: Warning: Call to deprecated function write_log(); See bc.inc for replacement

@blind-coder
Copy link
Collaborator

I just pushed a fix branch issue_129. Can you please check if it works with that?

@boatdrinks
Copy link

Hi,
I checked out branch issue_129 with rouncube beta 1.2 and PHP version 5.5.30 as I had the same errors as OP, roundcube works now, however carddav syncing does not and now new errors arise. I can access the settings menu and get a sucesful save confirmation when adding a carddav account, the newly added account shows up in the addressbook, but with no contacts. The following errors are present still in the main roundcube error log. Nothing is shown in the carddav log.
Hope this helps. Cheers.

[06-Jan-2016 22:15:59 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[06-Jan-2016 22:16:04 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[06-Jan-2016 22:16:05 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[06-Jan-2016 22:16:08 -0600]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[06-Jan-2016 22:16:11 -0600]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[06-Jan-2016 22:16:15 -0600]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[06-Jan-2016 22:16:15 -0600]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[06-Jan-2016 22:17:30 -0600]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[06-Jan-2016 22:17:30 America/Chicago] PHP Warning: dns_get_record(): An unexpected server failure occurred. in /var/www/roundcube/plugins/carddav/carddav_discovery.php on line 252
[06-Jan-2016 22:17:30 America/Chicago] PHP Warning: Invalid argument supplied for foreach() in /var/www/roundcube/plugins/carddav/carddav_discovery.php on line 253
[06-Jan-2016 22:17:31 -0600]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[06-Jan-2016 22:17:38 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[06-Jan-2016 22:17:42 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[06-Jan-2016 22:17:45 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[06-Jan-2016 22:17:48 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement

@blind-coder
Copy link
Collaborator

I have just pushed another commit into issue_129 fixing those function calls.

Can you please check if it works now?

@boatdrinks
Copy link

Just tried it out,
Still no contacts with the following errors. It appears most previous errors were resolved however.

[07-Jan-2016 11:22:01 America/Chicago] PHP Warning: dns_get_record(): An unexpected server failure occurred. in /var/www/roundcube/plugins/carddav/carddav_discovery.php on line 252
[07-Jan-2016 11:22:01 America/Chicago] PHP Warning: Invalid argument supplied for foreach() in /var/www/roundcube/plugins/carddav/carddav_discovery.php on line 253
[07-Jan-2016 11:22:51 -0600]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement

@blind-coder
Copy link
Collaborator

dns_get_record(): An unexpected server failure occurred. in /var/www/roundcube/plugins/carddav/carddav_discovery

That sounds like a DNS resolution issue. Can you make sure your server can resolve the domain?
That other rcube_label is certainly not from RCMCardDAV, there's no call to that left.

Can you give me the domain name so I can check if its _carddav._tcp service is set up correctly?

@boatdrinks
Copy link

Roger that, yah the domain is the-morrows.com/owncloud, using an Owncloud v8.2 server as the carddav server backend.

Also as an fyi...
https://github.com/owncloud/core/blob/master/.htaccess

That link provides the rewrite rules for the carddav and other owncloud services. It might help...Thanks again.

Sent from my mobile

On Jan 8, 2016, at 01:42, Benjamin Schieder notifications@github.com wrote:

dns_get_record(): An unexpected server failure occurred. in /var/www/roundcube/plugins/carddav/carddav_discovery

That sounds like a DNS resolution issue. Can you make sure your server can resolve the domain?
That other rcube_label is certainly not from RCMCardDAV, there's no call to that left.

Can you give me the domain name so I can check if its _carddav._tcp service is set up correctly?


Reply to this email directly or view it on GitHub.

@blind-coder
Copy link
Collaborator

Okay, there's the problem. On my side, the-morrows.com doesn't resolve at all which leads to the errors above.
How do you access that domain if it doesn't resolve?

@boatdrinks
Copy link

Okay I did some testing, and it seems I have an expired certificate
concerning our DNSSEC setup. Which by the looks of it, means I am not
resolving at Google's public dns servers (8.8.8.8), which I am also
going to guess, that dns address is what is used to resolve dns on your
end?

using any other dns server the-morrows.com resolves just fine...Examples
below

Level3
######~ dig @209.244.0.3 the-morrows.com A
; <<>> DiG 9.9.5-3ubuntu0.6-Ubuntu <<>> @209.244.0.3 the-morrows.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29051
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; ANSWER SECTION:
the-morrows.com. 37488 IN A 72.216.236.194

Verizon
########~ dig @4.2.2.2 the-morrows.com A
; <<>> DiG 9.9.5-3ubuntu0.6-Ubuntu <<>> @4.2.2.2 the-morrows.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17620
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; ANSWER SECTION:
the-morrows.com. 38400 IN A 72.216.236.194

On 2016-01-08 07:54, Benjamin Schieder wrote:

Okay, there's the problem. On my side, the-morrows.com doesn't resolve at all which leads to the errors above.
How do you access that domain if it doesn't resolve?

Reply to this email directly or view it on GitHub [1].

Links:

[1]
#129 (comment)

@boatdrinks
Copy link

So just out of curiosity to see what the DNS resolved to on the server hosting roundcube I tried in test.php:
<?php $result = dns_get_record("the-morrows.com"); print_r($result); ?>
and then ran
#~ php test.php
and received back the following. To me it appears DNS is working fine, although I could be missing something obvious here. Thanks

Array
(
    [0] => Array
        (
            [host] => the-morrows.com
            [class] => IN
            [ttl] => 38400
            [type] => NS
            [target] => ns1.the-morrows.com
        )
    [1] => Array
        (
            [host] => the-morrows.com
            [class] => IN
            [ttl] => 38400
            [type] => NS
            [target] => ns2.the-morrows.com
        )
    [2] => Array
        (
            [host] => the-morrows.com
            [class] => IN
            [ttl] => 38400
            [type] => A
            [ip] => 72.216.236.194
        )
    [3] => Array
        (
            [host] => the-morrows.com
            [class] => IN
            [ttl] => 38400
            [type] => MX
            [pri] => 10
            [target] => the-morrows.com
        )
    [4] => Array
        (
            [host] => the-morrows.com
            [class] => IN
            [ttl] => 38400
            [type] => TXT
            [txt] => v=spf1 mx ip4:72.216.236.194 mx:the-morrows.com -all
            [entries] => Array
                (
                    [0] => v=spf1 mx ip4:72.216.236.194 mx:the-morrows.com -all
                )
        )
    [5] => Array
        (
            [host] => the-morrows.com
            [class] => IN
            [ttl] => 38400
            [type] => SOA
            [mname] => ns1.the-morrows.com
            [rname] => root.the-morrows.com
            [serial] => 2015120235
            [refresh] => 10800
            [retry] => 3600
            [expire] => 1209600
            [minimum-ttl] => 38400
        )
)

@blind-coder
Copy link
Collaborator

Yeah, that's looking fine to me, too. Can you try the same with the following hostnames:
_carddav._tcp.the-morrows.com
_carddavs._tcp.the-morrows.com

Also, as second parameter to dns_get_record please use the constant DNS_SRV:

 <?php
$result = dns_get_record("the-morrows.com", DNS_SRV);
print_r($result);
$result = dns_get_record("_carddav._tcp.the-morrows.com", DNS_SRV);
print_r($result);
$result = dns_get_record("_carddavs._tcp.the-morrows.com", DNS_SRV);
print_r($result);
?>

@boatdrinks
Copy link

yah as expected, those SRV requests return as blank arrays as I haven't
specified them in my DNS settings...Also, one thing to note is that the
autodiscovery seems to work just fine. When addding a new carddav
account either as the absolute url to my contacts or the
the-morrows.com/owncloud/remote.php/carddav/, it finds the correct
contact address book and saves it correctly in the mysql database.

However, one thing I just noticed in the carddav.warn file that now is
being populated, these errors are now being generated:

[11-Jan-2016 12:40:25 -0600]: BACKEND: (carddavconfig) FATAL!
Request for non-existent configuration 4
[11-Jan-2016 12:40:38 -0600]: BACKEND: (carddavconfig) FATAL!
Request for non-existent configuration 4
[11-Jan-2016 12:47:25 -0600]: BACKEND: (carddavconfig) FATAL!
Request for non-existent configuration 4
[11-Jan-2016 12:47:30 -0600]: BACKEND: (carddavconfig) FATAL!
Request for non-existent configuration 4
[11-Jan-2016 12:49:45 -0600]: BACKEND: (carddavconfig) FATAL!
Request for non-existent configuration 4

On 2016-01-11 06:38, Benjamin Schieder wrote:

Yeah, that's looking fine to me, too. Can you try the same with the following hostnames:
_carddav._tcp.the-morrows.com
_carddavs._tcp.the-morrows.com

Also, as second parameter to dns_get_record please use the constant DNS_SRV:

Reply to this email directly or view it on GitHub [1].

Links:

[1]
#129 (comment)

@blind-coder
Copy link
Collaborator

That looks like there's some buggy data in the database. Do you have access to the database and can check the carddav_addressbooks table for the addressbook with the id 4?

@boatdrinks
Copy link

Yes, only showing one entry with an id of 8. Where is the call made for the id in the database?

Sent from my mobile

On Jan 11, 2016, at 13:33, Benjamin Schieder notifications@github.com wrote:

That looks like there's some buggy data in the database. Do you have access to the database and can check the carddav_addressbooks table for the addressbook with the id 4?


Reply to this email directly or view it on GitHub.

@blind-coder
Copy link
Collaborator

It's in carddavconfig, called from the constructor of carddav_backend and called in carddav.php line 294.

@svilenarsov
Copy link

copy bc.php from roundcube 1.1.4 to 1.2 beta. Everything work fine!

@blind-coder
Copy link
Collaborator

@svilenarsov Yeah... but that's not really a proper fix ;)

@hubearth
Copy link

hubearth commented Mar 26, 2017

Is this bug fixed? It seems still active for Rouncube 1.2 with carddav 2.0.4.
I'm trying to figure out if it's only a config problem.

@blind-coder
Copy link
Collaborator

@hubearth
This should definately be fixed. If you are encountering a similiar error, please open a new tickete

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

5 participants