Bug 203933

Summary: [Windows] crashes after creating the database (mysqle and mysql-server)
Product: [Applications] amarok Reporter: Hatl <hatl>
Component: Collections/LocalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED NOT A BUG    
Severity: crash CC: brandon.ml, casper.vandonderen, maximilian.kossick, mitchell
Priority: NOR    
Version: 2.3-GIT   
Target Milestone: 2.3.0   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Hatl 2009-08-15 12:28:41 UTC
Version:           git version 15.08.2009 (using KDE 4.3.0)
Compiler:          mingw g++ 3.4.5 (mingw-vista special r3) 
OS:                MS Windows
Installed from:    MS Windows

The database gets created for mysqle and mysql-server but there are no tables.
After that amarok crashes (Segmentation fault).



warning: Debug:amarok:  ************************************************************************************************************

warning: Debug:amarok:  ** DEBUGGING OUTPUT IS NOW ENABLED. PLEASE NOTE THAT YOU WILL ONLY SEE THE FULL OUTPUT ON THE NEXT START. **

warning: Debug:amarok:  ************************************************************************************************************

warning: Debug:amarok: END__: handleCliArgs - Took 0.011s

warning: Debug:amarok: END__: newInstance - Took 0.014s

warning: Debug:amarok: BEGIN: continueInit

warning: Debug:amarok:   BEGIN: EngineController

warning: Debug:amarok:     BEGIN: initializePhonon

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioOutput ( no objectName ).


warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:amarok:       [EngineController] Tick Interval (actual):  100

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:amarok:     END__: initializePhonon - Took 0.12s

warning: Debug:amarok:   END__: EngineController - Took 0.12s

warning: Debug:amarok:   BEGIN: MainWindow

warning: Debug:amarok:     BEGIN: Model

warning: Debug:amarok:        BrowserCategoryList named  "internet"  starting...

warning: Warning:Object::connect: No such signal BrowserCategoryList::leavingTree()

warning: Warning:Object::connect:  (sender name:   'internet')

warning: Debug:amarok:       BEGIN: BrowserCategoryListDelegate

warning: Debug:amarok:       END__: BrowserCategoryListDelegate - Took 0.003s

warning: Debug:amarok:        ServiceBrowser starting...

warning: Debug:amarok:       BEGIN: collect

warning: Debug:amarok:         [PluginManager] Plugin trader constraint:  "[X-KDE-Amarok-framework-version] == 46 and [X-KDE-Amarok-pluginty
pe] == 'service' and [X-KDE-Amarok-rank] > 0"

warning: Debug:amarok:          Received [ "5" ] collection plugin offers

warning: Debug:amarok:         [PluginManager] Trying to load:  "amarok_service_opmldirectory"

warning: Debug:amarok:         BEGIN: init

warning: Debug:amarok:           [PluginManager] Plugin trader constraint:  "[X-KDE-Amarok-framework-version] == 46 and [X-KDE-Amarok-plugin
type] == 'collection' and [X-KDE-Amarok-rank] > 0"

warning: Debug:amarok:           [CollectionManager] Received [ "5" ] collection plugin offers

warning: Debug:amarok:           [PluginManager] Trying to load:  "libamarok_collection-umscollection"

warning: Debug:amarok(395300)/kdecore (KLibrary) findLibraryInternal: plugins should not have a 'lib' prefix: "libamarok_collection-umscolle
ction.dll"

warning: Debug:amarok:           [PluginManager]
"          " PluginManager Service Info:
"          " ---------------------------
"          " name                          : "Universal Mass Storage Collection"
"          " library                       : "libamarok_collection-umscollection"
"          " desktopEntryPath              : "amarok_collection-umscollection.desktop"
"          " X-KDE-Amarok-plugintype       : "collection"
"          " X-KDE-Amarok-name             : "ums-collection"
"          " X-KDE-Amarok-authors          : ("Alejandro Wainzinger")
"          " X-KDE-Amarok-rank             : "100"
"          " X-KDE-Amarok-version          : "1"
"          " X-KDE-Amarok-framework-version: "46"


warning: Debug:amarok:           BEGIN: MediaDeviceMonitor

warning: Debug:amarok:             BEGIN: init

warning: Debug:amarok:               BEGIN: MediaDeviceCache

warning: Debug:amarok:               END__: MediaDeviceCache - Took 0.003s

warning: Debug:amarok:             END__: init - Took 0.008s

warning: Debug:amarok:           END__: MediaDeviceMonitor - Took 0.014s

warning: Debug:amarok:           BEGIN: registerDeviceType

warning: Debug:amarok:           END__: registerDeviceType - Took 0.003s

warning: Debug:amarok:           [PluginManager] Trying to load:  "libamarok_collection-audiocdcollection"

warning: Debug:amarok(395300)/kdecore (KLibrary) findLibraryInternal: plugins should not have a 'lib' prefix: "libamarok_collection-audiocdc
ollection.dll"

warning: Debug:amarok:           BEGIN: AudioCdCollectionFactory

warning: Debug:amarok:           END__: AudioCdCollectionFactory - Took 0.002s

warning: Debug:amarok:           [PluginManager]
"          " PluginManager Service Info:
"          " ---------------------------
"          " name                          : "AudioCd Collection"
"          " library                       : "libamarok_collection-audiocdcollection"
"          " desktopEntryPath              : "amarok_collection-audiocdcollection.desktop"
"          " X-KDE-Amarok-plugintype       : "collection"
"          " X-KDE-Amarok-name             : "audiocd-collection"
"          " X-KDE-Amarok-authors          : ("Nikolaj Hald Nielsen")
"          " X-KDE-Amarok-rank             : "100"
"          " X-KDE-Amarok-version          : "1"
"          " X-KDE-Amarok-framework-version: "46"


warning: Debug:amarok:           BEGIN: registerDeviceType

warning: Debug:amarok:             BEGIN: checkDevicesFor

warning: Debug:amarok:               BEGIN: getDevices

warning: Debug:amarok:                 BEGIN: refreshCache

warning: Debug:amarok:                 END__: refreshCache - Took 0.003s

warning: Debug:amarok:               END__: getDevices - Took 0.007s

warning: Debug:amarok:             END__: checkDevicesFor - Took 0.013s

warning: Debug:amarok:           END__: registerDeviceType - Took 0.018s

warning: Debug:amarok:           [PluginManager] Trying to load:  "libamarok_collection-mysqlecollection"

warning: Debug:amarok(395300)/kdecore (KLibrary) findLibraryInternal: plugins should not have a 'lib' prefix: "libamarok_collection-mysqleco
llection.dll"

warning: Debug:amarok:           [PluginManager]
"          " PluginManager Service Info:
"          " ---------------------------
"          " name                          : "MySQLe Collection"
"          " library                       : "libamarok_collection-mysqlecollection"
"          " desktopEntryPath              : "amarok_collection-mysqlecollection.desktop"
"          " X-KDE-Amarok-plugintype       : "collection"
"          " X-KDE-Amarok-name             : "mysqle-collection"
"          " X-KDE-Amarok-authors          : ("Maximilian Kossick")
"          " X-KDE-Amarok-rank             : "100"
"          " X-KDE-Amarok-version          : "1"
"          " X-KDE-Amarok-framework-version: "46"


warning: Debug:amarok:           BEGIN: ScanManager

warning: Debug:amarok:           END__: ScanManager - Took 0.003s

warning: Debug:amarok:           BEGIN: MySqlEmbeddedCollection

[New thread 395300.0x60f50]
warning: Debug:amarok:              [ERROR!] GREPME MySQL query failed!   on  "Could not create mysql database"

warning: Debug:amarok:              [ERROR!] GREPME MySQL query failed!   on  "Could not select database"


Program received signal SIGSEGV, Segmentation fault.
0x6e830a84 in MySqlEmbeddedCollection::MySqlEmbeddedCollection () from D:\k\lib\kde4\libamarok_collection-mysqlecollection.dll
(gdb) backtrace
#0  0x6e830a84 in MySqlEmbeddedCollection::MySqlEmbeddedCollection () from D:\k\lib\kde4\libamarok_collection-mysqlecollection.dll
#1  0x6e830f84 in MySqlEmbeddedCollectionFactory::init () from D:\k\lib\kde4\libamarok_collection-mysqlecollection.dll
#2  0x678709c1 in CollectionManager::init () from D:\k\bin\libamaroklib.dll
#3  0x6787148e in CollectionManager::CollectionManager () from D:\k\bin\libamaroklib.dll
#4  0x67871629 in CollectionManager::instance () from D:\k\bin\libamaroklib.dll
#5  0x677443e7 in ServiceFactory::ServiceFactory () from D:\k\bin\libamaroklib.dll
#6  0x6d6411e2 in create_plugin () from d:\k\lib\kde4\amarok_service_opmldirectory.dll
#7  0x67aaa4c5 in PluginManager::createFromService () from D:\k\bin\libamaroklib.dll
#8  0x67770df5 in ServicePluginManager::collect () from D:\k\bin\libamaroklib.dll
#9  0x67772655 in ServicePluginManager::ServicePluginManager () from D:\k\bin\libamaroklib.dll
#10 0x67772777 in ServicePluginManager::instance () from D:\k\bin\libamaroklib.dll
#11 0x67595223 in Playlist::Model::Model () from D:\k\bin\libamaroklib.dll
#12 0x675a762a in Playlist::ModelStack::ModelStack () from D:\k\bin\libamaroklib.dll
#13 0x675a7857 in Playlist::ModelStack::instance () from D:\k\bin\libamaroklib.dll
#14 0x675a78bb in The::playlist () from D:\k\bin\libamaroklib.dll
#15 0x679b65aa in StatusBar::StatusBar () from D:\k\bin\libamaroklib.dll
#16 0x67a93f52 in MainWindow::MainWindow () from D:\k\bin\libamaroklib.dll
#17 0x67a46c19 in App::continueInit () from D:\k\bin\libamaroklib.dll
#18 0x67a48212 in App::App () from D:\k\bin\libamaroklib.dll
#19 0x00407d55 in main ()
(gdb)




warning: Debug:amarok:  ************************************************************************************************************

warning: Debug:amarok:  ** DEBUGGING OUTPUT IS NOW ENABLED. PLEASE NOTE THAT YOU WILL ONLY SEE THE FULL OUTPUT ON THE NEXT START. **

warning: Debug:amarok:  ************************************************************************************************************

warning: Debug:amarok: END__: handleCliArgs - Took 0.008s

warning: Debug:amarok: END__: newInstance - Took 0.01s

warning: Debug:amarok: BEGIN: continueInit

warning: Debug:amarok:   BEGIN: EngineController

warning: Debug:amarok:     BEGIN: initializePhonon

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioOutput ( no objectName ).


warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:amarok:       [EngineController] Tick Interval (actual):  100

warning: Debug:WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded

warning: Debug:amarok:     END__: initializePhonon - Took 0.096s

warning: Debug:amarok:   END__: EngineController - Took 0.1s

warning: Debug:amarok:   BEGIN: MainWindow

warning: Debug:amarok:     BEGIN: Model

warning: Debug:amarok:        BrowserCategoryList named  "internet"  starting...

warning: Warning:Object::connect: No such signal BrowserCategoryList::leavingTree()

warning: Warning:Object::connect:  (sender name:   'internet')

warning: Debug:amarok:       BEGIN: BrowserCategoryListDelegate

warning: Debug:amarok:       END__: BrowserCategoryListDelegate - Took 0.003s

warning: Debug:amarok:        ServiceBrowser starting...

warning: Debug:amarok:       BEGIN: collect

warning: Debug:amarok:         [PluginManager] Plugin trader constraint:  "[X-KDE-Amarok-framework-version] == 46 and [X-KDE-Amarok-pluginty
pe] == 'service' and [X-KDE-Amarok-rank] > 0"

warning: Debug:amarok:          Received [ "5" ] collection plugin offers

warning: Debug:amarok:         [PluginManager] Trying to load:  "amarok_service_opmldirectory"

warning: Debug:amarok:         BEGIN: init

warning: Debug:amarok:           [PluginManager] Plugin trader constraint:  "[X-KDE-Amarok-framework-version] == 46 and [X-KDE-Amarok-plugin
type] == 'collection' and [X-KDE-Amarok-rank] > 0"

warning: Debug:amarok:           [CollectionManager] Received [ "5" ] collection plugin offers

warning: Debug:amarok:           [PluginManager] Trying to load:  "libamarok_collection-mysqlservercollection"

warning: Debug:amarok(398268)/kdecore (KLibrary) findLibraryInternal: plugins should not have a 'lib' prefix: "libamarok_collection-mysqlser
vercollection.dll"

warning: Debug:amarok:           [PluginManager]
"          " PluginManager Service Info:
"          " ---------------------------
"          " name                          : "MySQLServer Collection"
"          " library                       : "libamarok_collection-mysqlservercollection"
"          " desktopEntryPath              : "amarok_collection-mysqlservercollection.desktop"
"          " X-KDE-Amarok-plugintype       : "collection"
"          " X-KDE-Amarok-name             : "mysqlserver-collection"
"          " X-KDE-Amarok-authors          : ("Jeff Mitchell")
"          " X-KDE-Amarok-rank             : "100"
"          " X-KDE-Amarok-version          : "1"
"          " X-KDE-Amarok-framework-version: "46"


warning: Debug:amarok:           BEGIN: ScanManager

warning: Debug:amarok:           END__: ScanManager - Took 0.006s

warning: Debug:amarok:           BEGIN: MySqlServerCollection

warning: Debug:amarok:              [ERROR!] GREPME MySQL query failed!   on  "Could not alter database charset/collation"

warning: Debug:amarok:              [ERROR!] GREPME MySQL query failed!   on  "Could not select database"


Program received signal SIGSEGV, Segmentation fault.
0x067f1a83 in MySqlServerCollection::MySqlServerCollection () from D:\k\lib\kde4\libamarok_collection-mysqlservercollection.dll
(gdb) backtrace
#0  0x067f1a83 in MySqlServerCollection::MySqlServerCollection () from D:\k\lib\kde4\libamarok_collection-mysqlservercollection.dll
#1  0x067f2097 in MySqlServerCollectionFactory::init () from D:\k\lib\kde4\libamarok_collection-mysqlservercollection.dll
#2  0x678709c1 in CollectionManager::init () from D:\k\bin\libamaroklib.dll
#3  0x6787148e in CollectionManager::CollectionManager () from D:\k\bin\libamaroklib.dll
#4  0x67871629 in CollectionManager::instance () from D:\k\bin\libamaroklib.dll
#5  0x677443e7 in ServiceFactory::ServiceFactory () from D:\k\bin\libamaroklib.dll
#6  0x6d6411e2 in create_plugin () from d:\k\lib\kde4\amarok_service_opmldirectory.dll
#7  0x67aaa4c5 in PluginManager::createFromService () from D:\k\bin\libamaroklib.dll
#8  0x67770df5 in ServicePluginManager::collect () from D:\k\bin\libamaroklib.dll
#9  0x67772655 in ServicePluginManager::ServicePluginManager () from D:\k\bin\libamaroklib.dll
#10 0x67772777 in ServicePluginManager::instance () from D:\k\bin\libamaroklib.dll
#11 0x67595223 in Playlist::Model::Model () from D:\k\bin\libamaroklib.dll
#12 0x675a762a in Playlist::ModelStack::ModelStack () from D:\k\bin\libamaroklib.dll
#13 0x675a7857 in Playlist::ModelStack::instance () from D:\k\bin\libamaroklib.dll
#14 0x675a78bb in The::playlist () from D:\k\bin\libamaroklib.dll
#15 0x679b65aa in StatusBar::StatusBar () from D:\k\bin\libamaroklib.dll
#16 0x67a93f52 in MainWindow::MainWindow () from D:\k\bin\libamaroklib.dll
#17 0x67a46c19 in App::continueInit () from D:\k\bin\libamaroklib.dll
#18 0x67a48212 in App::App () from D:\k\bin\libamaroklib.dll
#19 0x00407d55 in main ()
(gdb)
Comment 1 Jeff Mitchell 2009-08-15 15:28:31 UTC
No idea. Need a better backtrace (with line numbers), as I can't test it on a Windows machine.
Comment 2 Hatl 2009-08-15 19:28:27 UTC
Sorry, thats currently not possible.
If i compile amarok in debug mode i get the following:

(gdb) run --debug
Starting program: D:\k\bin/amarok.exe --debug
[New thread 5028.0x970]
Error: dll starting at 0x76c70000 not found.
Error: dll starting at 0x75940000 not found.
Error: dll starting at 0x76c70000 not found.
Error: dll starting at 0x77280000 not found.

Program received signal SIGSEGV, Segmentation fault.
0x00021780 in malloc () from D:\k\bin\mingwm10.dll
(gdb) backtrace
#0  0x00021780 in malloc () from D:\k\bin\mingwm10.dll
#1  0x000210c3 in DllMainCRTStartup@12 () from D:\k\bin\mingwm10.dll
#2  0x7755919c in ntdll!RtlAppendStringToString () from C:\Windows\system32\ntdll.dll
#3  0x00020000 in ?? ()
#4  0x00000001 in ?? ()
#5  0x0027fd24 in ?? ()
#6  0x00000001 in ?? ()
#7  0x0027fad4 in ?? ()
#8  0x008d4ef8 in ?? ()
#9  0x0027fb1c in ?? ()
#10 0x775448e7 in wcstoui64 () from C:\Windows\system32\ntdll.dll
#11 0x00021060 in lab () from D:\k\bin\mingwm10.dll
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Comment 3 Hatl 2009-08-15 22:03:22 UTC
I changed the code in MySqlServerCollection.cpp a bit. The output is very strange.
"ret: 0" should be impossible!

int ret;
if( ret = mysql_query( m_db, QString( "ALTER DATABASE %1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci" ).arg( databaseName ).toUtf8() ) )
{
  reportError( QString( "ALTER DATABASE %1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci" ).arg( databaseName ));
  reportError( QString("ret: ") + QString::number(ret));
  reportError( QString("MYSQL: ") + QString(mysql_error(m_db)));
  reportError( "Could not alter database charset/collation" );
}

if( ret = mysql_query( m_db, QString( "USE %1" ).arg( databaseName ).toUtf8() ) )
{
  reportError( QString("ret: ") + QString::number(ret));
  reportError( QString("MYSQL: ") + QString(mysql_error(m_db)));
  reportError( "Could not select database" );
}

warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "ALTER DATABASE amarok DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci"
warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "ret: 0"
warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "MYSQL: "
warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "Could not alter database charset/collation"
warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "ret: 109622165"
warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "MYSQL: "
warning: Debug:amarok:                [ERROR!] GREPME MySQL query failed!   on  "Could not select database"
Comment 4 Hatl 2009-08-16 00:48:56 UTC
by the way: the amarok gui starts without a error if the mysql server is down.
mysqle doesn't work.
Comment 5 Myriam Schweingruber 2009-10-21 20:11:55 UTC
Subscribing Casper, seems we forgot that :(
Comment 6 Carlo Segato 2009-10-21 21:31:00 UTC
from what I've seen the crash is likely caused by a buffer overflow because if you put some random kDebug it will crash later, unfortunately I haven't found any way to detect memory leaks/buffer overflow with mingw. I think that this bug is also in msvc and linux but it doesn't trigger any crashes
Comment 7 Myriam Schweingruber 2009-11-16 17:31:39 UTC
Any news on this?
Comment 8 Myriam Schweingruber 2010-01-06 20:47:17 UTC
Adding keyword.
Comment 9 Sven Krohlas 2010-03-24 15:06:15 UTC
@reporter: any recent backtraces for this?

As Windows is not yet supported this cannot be a release blocker.
Comment 10 Sven Krohlas 2010-05-11 17:53:41 UTC
Mass closing NEEDSINFO bugs with no comment for at least 31 days.

Dear reporter,

thanks for your feedback. For efficient bug triaging we need not only one report but also constant feedback about the status of an issue, at least when we ask for it.

If your request is still valid in our latest release in your opinion (2.3.1 beta 1) DO NOT REOPEN THIS BUG but file a fresh one instead. Developers need clean bug reports to be able to work efficiently. Provide at least a step-by-step guide on how to reproduce the issue, a backtrace in case of a crash and debug output if appropriate.

And remember:
* One issue per bug. Small, clean bug reports are best to work on.
* Search for duplicates. Hint: we have useful categories for that. :)

-> RESOLVED INVALID