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

Clementine not start #47

Closed
hefistion opened this issue Mar 10, 2016 · 9 comments
Closed

Clementine not start #47

hefistion opened this issue Mar 10, 2016 · 9 comments
Labels

Comments

@hefistion
Copy link

Clementine not start and this the message from konsole:

[carlos@Acer-E5 ~]$ clementine 18:09:15.877 ERROR Database:577 db error: QSqlError("1", "No es posible obtener la fila", "unknown tokenizer: unicode") 18:09:15.877 ERROR Database:578 faulty query: "CREATE VIRTUAL TABLE songs_fts USING fts3(\n ftstitle, ftsalbum, ftsartist, ftsalbumartist, ftscomposer, ftsgenre, ftscomment,\n tokenize=unicode\n)" 18:09:15.877 ERROR Database:579 bound values: QMap() __logging_message__18:09:15.877 ERROR unknown Unable to update music library database Failed to connect to the parent process. KCrash: Application 'clementine' crashing... KCrash: Attempting to start /usr/lib/drkonqi from kdeinit sock_file=/run/user/1000/kdeinit5__1 __logging_message__18:09:15.974 WARN unknown QSocketNotifier: Invalid socket 15 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 26 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 33 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 36 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 42 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QProcess: Destroyed while process ("/usr/bin/clementine-tagreader") is still running. __logging_message__18:09:15.975 WARN unknown QProcess: Destroyed while process ("/usr/bin/clementine-tagreader") is still running. __logging_message__18:09:15.975 WARN unknown QProcess: Destroyed while process ("/usr/bin/clementine-tagreader") is still running. __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 40 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 44 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 16 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 19 and type 'Read', disabling... __logging_message__18:09:15.975 WARN unknown QSocketNotifier: Invalid socket 27 and type 'Read', disabling... __logging_message__18:09:15.976 WARN unknown QSocketNotifier: Invalid socket 20 and type 'Read', disabling... __logging_message__18:09:15.976 WARN unknown QSocketNotifier: Invalid socket 5 and type 'Read', disabling... __logging_message__18:09:15.976 WARN unknown QSocketNotifier: Invalid socket 23 and type 'Read', disabling... [carlos@Acer-E5 ~]$

I have new binutils and mariadb packages
[carlos@Acer-E5 ~]$ pacman -Q binutils binutils 2.26-2

a window appears with a tab Developer Information

Application: clementine (clementine), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f873aff8840 (LWP 4748))]

Thread 5 (Thread 0x7f8724715700 (LWP 4749)):

0 0x00007f8734e77afd in poll () from /lib/libc.so.6

1 0x00007f8730660ac2 in ?? () from /usr/lib/libxcb.so.1

2 0x00007f873066269f in xcb_wait_for_event () from /usr/lib/libxcb.so.1

3 0x00007f8725c363a9 in ?? () from /usr/lib/libQt5XcbQpa.so.5

4 0x00007f8735d4653f in ?? () from /usr/lib/libQt5Core.so.5

5 0x00007f8738a7b434 in start_thread () from /lib/libpthread.so.0

6 0x00007f8734e80bad in clone () from /lib/libc.so.6

Thread 4 (Thread 0x7f87167af700 (LWP 4750)):

0 0x00007f8734e77afd in poll () from /lib/libc.so.6

1 0x00007f87380e52a4 in ?? () from /usr/lib/libglib-2.0.so.0

2 0x00007f87380e53ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0

3 0x00007f8735f7b7ec in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5

4 0x00007f8735f22e42 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5

5 0x00007f8735d4166c in QThread::exec() () from /usr/lib/libQt5Core.so.5

6 0x00007f8735d4653f in ?? () from /usr/lib/libQt5Core.so.5

7 0x00007f8738a7b434 in start_thread () from /lib/libpthread.so.0

8 0x00007f8734e80bad in clone () from /lib/libc.so.6

Thread 3 (Thread 0x7f8715efc700 (LWP 4751)):

0 0x00007f8738a81428 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0

1 0x00007f8735d474f8 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5

2 0x00007f8735d4368c in ?? () from /usr/lib/libQt5Core.so.5

3 0x00007f8735d4653f in ?? () from /usr/lib/libQt5Core.so.5

4 0x00007f8738a7b434 in start_thread () from /lib/libpthread.so.0

5 0x00007f8734e80bad in clone () from /lib/libc.so.6

Thread 2 (Thread 0x7f87156fb700 (LWP 4752)):

0 0x00007f8734e77afd in poll () from /lib/libc.so.6

1 0x00007f87380e52a4 in ?? () from /usr/lib/libglib-2.0.so.0

2 0x00007f87380e53ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0

3 0x00007f8735f7b7ec in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5

4 0x00007f8735f22e42 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/libQt5Core.so.5

5 0x00007f8735d4166c in QThread::exec() () from /usr/lib/libQt5Core.so.5

6 0x00007f8735d4653f in ?? () from /usr/lib/libQt5Core.so.5

7 0x00007f8738a7b434 in start_thread () from /lib/libpthread.so.0

8 0x00007f8734e80bad in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7f873aff8840 (LWP 4748)):
[KCrash Handler]

5 0x00007f8734dcc207 in raise () from /lib/libc.so.6

6 0x00007f8734dcd68a in abort () from /lib/libc.so.6

7 0x0000000000bdd12d in ?? ()

8 0x00007f8735d32461 in ?? () from /usr/lib/libQt5Core.so.5

9 0x00007f8735d33de6 in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5

10 0x000000000068c54f in Database::ExecSongTablesCommands(QSqlDatabase&, QStringList const&, QStringList const&) ()

11 0x000000000068c6b4 in Database::ExecSchemaCommands(QSqlDatabase&, QString const&, int, bool) ()

12 0x000000000068d9b1 in Database::ExecSchemaCommandsFromFile(QSqlDatabase&, QString const&, int, bool) ()

13 0x000000000068dbc1 in Database::UpdateDatabaseSchema(int, QSqlDatabase&) ()

14 0x000000000068e230 in Database::UpdateMainSchema(QSqlDatabase*) ()

15 0x000000000069011b in Database::Connect() ()

16 0x0000000000690a18 in Database::Database(Application_, QObject_, QString const&) ()

17 0x0000000000686896 in Application::Application(QObject*) ()

18 0x0000000000680252 in main

@demmm
Copy link
Contributor

demmm commented Mar 11, 2016

In Octopi go to Tools > SysInfo and paste the returned link here please.

@hefistion
Copy link
Author

ok, this is
http://pastebin.com/XqaXTSQP

@demmm
Copy link
Contributor

demmm commented Mar 11, 2016

I can finally reproduce (in live mode), so no more info needed from you at this time, will keep you posted here at what I find.

@demmm
Copy link
Contributor

demmm commented Mar 11, 2016

@hefistion
Do you remember when this issue started? The better you can pinpoint a date or update, the bigger the help.
Rebuild did not fix so far.

@demmm
Copy link
Contributor

demmm commented Mar 12, 2016

Issue found, it is new sqlite, no longer having tokenizer support.
Quick fix is to use old sqlite:
sudo pacman -U https://sourceforge.net/projects/kaosx/files/packages/sqlite-3.10.2-1-x86_64.pkg.tar.xz

A rebuild sqlite 3.11 with tokenizer support will be in the [build] repo shortly

@hefistion
Copy link
Author

thank you very much, now works fine

@Arfrever
Copy link

Unconditionally re-enabling support for custom FTS3/FTS4 tokenizers reintroduces security vulnerability which was worked around by SQLite upstream by disabling this feature:

From documentation of SQLite:
"Because of security concerns, SQLite version 3.11.0 only enabled the second form of the fts3_tokenizer() function when the library is compiled with the -DSQLITE_ENABLE_FTS3_TOKENIZER option. In earlier versions it was always available. Beginning with SQLite version 3.12.0, the second form of fts3_tokenizer() can also be activated at run-time by calling sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER,1,0).

SECURITY WARNING: If a version of the fts3/4 extension that supports the two-argument form of fts3_tokenizer() is deployed in an environment where malicious users can run arbitrary SQL, then those users should be prevented from invoking the two-argument fts3_tokenizer() function. This can be done using the authorization callback, or by disabling the two-argument fts3_tokenizer() interface using a call to sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER,0,0)."

SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER was backported in Gentoo to SQLite 3.11:
https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/sqlite/files/sqlite-3.11.0-full_tarball-SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER.patch
https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-db/sqlite/files/sqlite-3.11.0-nonfull_tarball-SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER.patch

I added potential patch for Clementine in clementine-player/Clementine#5297.

@demmm demmm reopened this Mar 14, 2016
@demmm
Copy link
Contributor

demmm commented Mar 14, 2016

Thanks for looking into this. It was known why SQlite disabled toknizer support, but no fix could be found up to now for Clementine.
I'll try and use your patch on Clementine, if works then SQlite change will be reversed.

@demmm demmm added the upstream label Mar 28, 2016
@demmm
Copy link
Contributor

demmm commented Apr 6, 2016

Fixed with SQLite 3.12.0 and patched Clementine https://github.com/KaOSx/apps/blob/master/clementine/tokenizer.diff

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

No branches or pull requests

3 participants