Bug 276298 - Amarok reads [client] section of $HOME/.my.cnf, making collection unusable
Summary: Amarok reads [client] section of $HOME/.my.cnf, making collection unusable
Status: RESOLVED DUPLICATE of bug 270715
Alias: None
Product: amarok
Classification: Applications
Component: Collections/Local (show other bugs)
Version: 2.4.1
Platform: Ubuntu Linux
: NOR normal
Target Milestone: 2.4.2
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-23 01:39 UTC by Ivan D Vasin
Modified: 2011-07-31 21:43 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan D Vasin 2011-06-23 01:39:17 UTC
Version:           2.4.1 (using KDE 4.6.4) 
OS:                Linux

i have a fresh installation of Amarok.  my work demands settings in $HOME/.my.cnf.  however, every time i launch Amarok, it apparently reads the my.cnf, then throws this error message:

The amarok database reported the following errors:
GREPME MySQLe query failed! (0) Unknown database 'test' on na
In most cases you will need to resolve these errors before Amarok will run properly.

after loading, the collection still scans successfully, but it is never saved.  no error message is shown about the failure to save.  the collection view is always empty.

a reliable workaround is to configure Amarok to use an external database.

the fact that Amarok uses MySQL (or a database at all) is an implementation detail that should be hidden from the user unless specifically requested (for example, if the user chooses to configure an external database in Amarok's settings).  and even if that information is exposed, there is no good reason for any application except the command-line mysql client to use the [client] section of $HOME/.my.cnf.  when they do, these kinds of bugs inevitably happen.  it is not reasonable to require a user to swap out different my.cnf files before launching an instance of every application that uses them.  see bug #264383 for a similar situation, whereby Akonadi not only used my.cnf, but also acted destructively on my company's database as a result.  broadly speaking, i think it's perfectly reasonable to have a strict KDE policy against releasing applications that use $HOME/.my.cnf (except *maybe* if the are frontends to mysql).  otherwise, costly things can happen to valuable data.

Reproducible: Always

Steps to Reproduce:
1. create a $HOME/.my.cnf with a [client] section that contains host, database, user, and password settings.  it's likely that a database setting is sufficient.
2. launch Amarok.

Actual Results:  
1. an error message is shown, as described above.
2. after dismissing the message, Amarok loads.
3. the collection is scanned successfully (as evidenced by warnings about duplicates) but never saved.
4. the collection view remains empty.

Expected Results:  
Amarok loads and uses its configured database settings, ignoring all settings in $HOME/.my.cnf.

OS: Linux (x86_64) release 2.6.38-10-generic
Compiler: cc
Comment 1 Ivan D Vasin 2011-07-31 21:43:05 UTC

*** This bug has been marked as a duplicate of bug 270715 ***