Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#1487065 closed Bugs (worksforme)

Cannot see contacts on 0.4.x

Reported by: limb Owned by:
Priority: 5 Milestone: 0.5-beta
Component: Addressbook Version: 0.4.2
Severity: normal Keywords:
Cc:

Description

Everything was fine on 0.3.x, then I updated to 0.4 (currently 0.4.2), ran the portions of the SQL updates I needed, and ported my config settings to the new config files. I can't see contacts, even newly created ones, though they're in the DB.

I'm the Fedora RC maintainer, and I've gotten lots of requests to get 0.4.x in Rawhide.

Attachments (1)

today.sql (13.9 KB) - added by limb 3 years ago.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 3 years ago by alec

  • Milestone changed from later to 0.5-beta

Any errors in log? What browser? What PHP version?

comment:2 Changed 3 years ago by limb

No errors (save timezone-related), multiple recent Firefoxes, php 5.3.3. Running on Fedora 12. Are there any new PHP modules required or anything?

comment:3 Changed 3 years ago by alec

Be more precise, what means "can't see contacts"? Enable sql_debug and check the SQL queries. Are you using any plugins? Disable them. Are you using non-default skin? Change to default.

comment:4 Changed 3 years ago by limb

I don't see any errors. No plugins, no skins. I do see, however, that there are no rows in contactgroupmebmers or contactgroups.

comment:5 Changed 3 years ago by alec

How about the SQL queries? Check the log and run the same queries on database by hand. Are you using LDAP addressbook?

comment:6 Changed 3 years ago by alec

  • Resolution set to worksforme
  • Status changed from new to closed

No feedback.

comment:7 Changed 3 years ago by limb

  • Resolution worksforme deleted
  • Status changed from closed to reopened

The contacts I add get added to the db, and I'm not using an LDAP addressbook. I suspect a javascipt problem, since they're not being displayed, but I don't know javascript.

comment:8 Changed 3 years ago by alec

Please, describe steps to reproduce more precissely. What happens after clicking Save in new contact form? Any errors in javascript errors console? What happens when you refresh the page, is the new contact listed on the contacts list? Can you click it? You're the only person with this problem, so we need more info.

comment:9 Changed 3 years ago by limb

Log in, click Address Book. Click New contact button. Fill out fields. Click Save.

In error console:

this.rows[a] is undefined Line 19 in program/js/list.js.

No contacts are displayed, before or after, and many exist for this user in the DB.

comment:10 Changed 3 years ago by alec

I'm unable to reproduce. Enable sql_debug and attach the log.

comment:11 Changed 3 years ago by limb

I grepped otu the bits from today.

Changed 3 years ago by limb

comment:12 Changed 3 years ago by alec

This is very strange. Lets check (08:17:20):

SELECT vars, ip, UNIX_TIMESTAMP(changed) AS changed FROM session WHERE sess_id = '44b9490f4bee05c660e24f4797c573ad';
SELECT * FROM users WHERE user_id = '5';

here should be also SELECT COUNT(c.contact_id)....

INSERT INTO contacts (user_id, changed, del, `name`, `email`, `firstname`, `surname`) VALUES (5, now(), 0, 'Biscuit Flayer', 'eatme@coo.com', 'Biscuit', 'Flayer');
SELECT LAST_INSERT_ID();

and here stops, why? Maybe it doesn't return last insert id. Try to execute these two queries. I think you should also try do reinstall Roundcube, because this log isn't looking normal.

comment:13 Changed 3 years ago by limb

The insert succeeds, and select last_insert_id() returns 302, which is correct.

This is an RPM install, as I'm the Fedora packager for rc. My rc installation basically had the fields upgraded, the config file settings migrated, and the mysql.update.sql run from Line 75 onward.

comment:14 Changed 3 years ago by alec

Consider giving me access to your box. Without some debugging in /program/steps/addressbook/save.inc we'll probably not able to fix this.

comment:15 Changed 3 years ago by alec

Make sure your tables have ENGINE=InnoDB set.

comment:16 Changed 3 years ago by limb

Fascinating. contactgroupmembers and contactgroups are InnoDB, the rest are MyISAM. A. Which need to be InnoDB B. Why does this matter C. Is this not something that could be included in the sql upgrade script?

comment:17 Changed 3 years ago by alec

  • Resolution set to worksforme
  • Status changed from reopened to closed

All should be InnoDB (contacts for sure). It is in update script, but I'm not sure when it has been added. Reopen if changing it doesn't help.

comment:18 Changed 3 years ago by limb

  • Resolution worksforme deleted
  • Status changed from closed to reopened

Changed all tables to InnoDB. Same issue.

comment:19 Changed 3 years ago by alec

My last hint is to check MDB2 package version. Again, consider giving me access to your box.

comment:20 Changed 3 years ago by limb

2.4.1.

comment:21 Changed 3 years ago by limb

Also, the MDB2 mysql driver version is 1.4.1.

comment:22 Changed 3 years ago by alec

  • Resolution set to worksforme
  • Status changed from reopened to closed

It's too old. Check INSTALL file for requirements.

comment:23 Changed 3 years ago by limb

Ah. Ok. We only have 2.4.1, even in rawhide. The website only gives a Beta release for MDB2, when do you think there will be a stable release?

comment:24 Changed 3 years ago by alec

I have no idea. Just use MDB2 code bundled with Roundcube.

comment:25 Changed 3 years ago by limb

In Fedora, we try to minimize, and when possible, eliminate us of bundled code.

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

In short, using bundled code presents serious challenges in keeping current on security patches.

Note: See TracTickets for help on using tickets.