Runtime error on exit

Bug #251128 reported by Lambage on 2008-07-23
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Medium
Sean M. Pappalardo

Bug Description

Upon exit I get a runtime error "R6025 - pure virtual function call"

Running on a Vista Home Premium with Service Pack 1

ironstorm (ironstorm-gmail) wrote :

You better tell us what version or build of Mixxx you are running... :P

Lambage (sod-lambda) wrote :

oops, forgot, latest version 1.6 beta 4

Lambage (sod-lambda) wrote :

and just to add more to the description, it happens every time I close. It's mostly just an annoyance, not a real problem since it happens after I hit the close button.

Albert Santoni (gamegod) wrote :

Lambage: Does Mixxx save your settings when you exit?
Try changing something in the preferences, quitting, and restarting Mixxx. This will help us figure out where exact it's crashing.

Also, when you get Mixxx to crash, can you attach the "mixxx.log" file from your Mixxx directory? (likely C:\Program Files\Mixxx)

Thanks!

Lambage (sod-lambda) wrote :

Well I don't get a mixxx.log file, it seems to crash in trying to create that file. So no it doesn't remember settings.

I can attach a manifest file that might be useful.

Lambage (sod-lambda) wrote :

Looking at that file it seems pretty useless. I don't know what else I can do to help at the moment.

Lambage (sod-lambda) wrote :

On closing I tried to see what was popping up before the error message.

It starts to write the song database and I think it's crashing right around there.

Lambage: Check your event logs after the error to see if there's more info there.

Lambage (sod-lambda) wrote :

Do you have any suggestions of how/where to check? I don't get any log information that appears to be associated with "Mixxx" so it seems that there's probably some windows library that is being called and crashing.

holgers (jamieholgate) wrote :

I've been having the same problem in 1.6.0 and now 1.6.1 as well.
Running Vista Home Premium with Service Pack 1.

It seems to happen as Mixxx is writing the song database.
The next time I open Mixxx it scans my library (don't know if this is normal?) and my preferences (eg soundcard setup) are lost.

Lambage (sod-lambda) wrote :

It seems that version 1.6.1 does write the log file for me. However it still crashes and my settings are not saved.

Changed in mixxx:
importance: Undecided → Medium
milestone: none → 1.6.2

This is one of these bugs that's impossible to track down unless a
Win32 developer can reproduce it. Be forewarned (and don't be
optimistic about fixing this for 1.6.2)

On Mon, Feb 2, 2009 at 8:16 AM, Pegasus <email address hidden> wrote:
> ** Changed in: mixxx
> Importance: Undecided => Medium
> Target: None => 1.6.2
>
> --
> Runtime error on exit
> https://bugs.launchpad.net/bugs/251128
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
>

Albert: you're right. I just tested Mixxx 1.6.1 and the 1.6.2 branch in Vista and can't reproduce this. Removing milestone target.
Lambage & holgers: please gather the info mentioned here: http://mixxx.org/wiki/doku.php/reporting_bugs
...and reply to the bug report with that info.

You might also try compiling the 1.6.2 branch from source if you're up to it and see if the problem still exists.

Changed in mixxx:
milestone: 1.6.2 → none

Lambage & holders: What video cards do you have? (There's a crash-on-close issue in Linux with intel 945-compatible cards and I wonder if that's the case here too.)

holgers (jamieholgate) wrote :

Operating system: Windows Vista Home Premium, Service Pack 1
CPU architecture: Intel Core 2 Centrino Duo, 1.67 GHz
Soundcard: Realtek High Definition Audio (internal) and cheap USB soundcard for headphones (still crashes when this is not used)
Video card: Mobile Intel(R) 945 Express Chipset Family (could this be the problem?)
Steps to reproduce the problem: run Mixxx, exit, writing song database window stops around 80% and runtime error occurs. If preferences are set then these are lost next time Mixxx is run.

Mixxx log attached. No new events in the event viewer and error reporting doesn't come up.

How would I go about compiling 1.6.2 from source? Haven't done anything like that before but up for giving it a go.

ironstorm (ironstorm-gmail) wrote :

Hi Holgers,

For the purposes of testing this particular defect, there is an experimental windows build you can try here which is more recent then the 1.6.1 win build:
http://mixxx.org/packages/windows/mixxx-SVN2732-20090310_1828-win.exe

If you can't reproduce the crash on exit, then this defect has likely been fixed in 1.6.2.

Be forewarned, that this build is not release quality, not even testing quality, so it is likely to crash in other ways -- so don't want any bugs filed against it.

-G

holgers (jamieholgate) wrote :

Thanks. Still got the runtime error on exit but now preferences are not lost.

Albert Santoni (gamegod) wrote :

Hmmm, this is interesting, thanks for testing this holgers. So in 1.6.1, Mixxx was crashing before writing the preferences file, and in 1.6.2, Mixxx is crashing _after_ writing the preferences file.

Adam (or anyone with an MSVC env setup), maybe we should try to produce a test build from my sqlite branch to help narrow down the possibilities. Alternatively, someone with a good eye might want to look over a diff between SVN r2732 and the 1.6.1 tag, paying especially close attention to any track.cpp and mixxx.cpp changes.

Thanks,
Albert

Lambage (sod-lambda) wrote :

To respond to pegasus:

Mobile Intel(R) 965 Express Chipset Family

ironstorm (ironstorm-gmail) wrote :

I have restored the compile code for configobject.cpp, so it should be possible to build on MSVC on trunk (hopefully, nothing else has been broken):
http://mixxx.svn.sf.net/viewvc/mixxx/trunk/mixxx/src/configobject.cpp?r1=2696&r2=2743

ironstorm (ironstorm-gmail) wrote :

Holgers & Lambage

If you could do me a favour and try this build: http://mixxx.org/packages/windows/mixxx-SVN2740-20090322_1916-win.exe

It will install an icon on your Desktop named "Mixxx (inside GNU Debugger)", please start Mixxx via this icon, then crash it by exiting or whatever you can do to crash it... It may not crash but rather just hang, if this happens it means gdb has caught something, since this happens on exit you may not see a hung window...

In any case, flip to the "Mixxx (inside GNU Debugger)" after it should have crashed, you should see something in the window telling you it crashed and a (gdb) prompt. Follow the directions from Step 3 onward of http://mixxx.org/wiki/doku.php/creating_backtraces and post the info from the console.

If you see "Program exited normally." Mixxx exited cleanly, you can type "r" at (gdb) prompt to restart Mixxx. This is what I get when I try to crash Mixxx on exit (but no surprise as I can't reproduce it).

-G

holgers (jamieholgate) wrote :

Wasn't sure how to copy/paste information from the debugger so I just took a screenshot which I've attached.

Albert Santoni (gamegod) wrote :

This is the first time we've ever been able to see a real backtrace
for one of these mystery Win32 crashes. This is great, thanks holgers!

It seems to be dying in some driver-provided OpenGL function or
something. I wonder if we need to destroy our QGLWidgets (the waveform
views) in a nicer way (or maybe that's where it's dying?)...

Ideas?

On Thu, Mar 26, 2009 at 11:15 AM, holgers <email address hidden> wrote:
> Wasn't sure how to copy/paste information from the debugger so I just
> took a screenshot which I've attached.
>
> ** Attachment added: "backtrace.jpg"
>   http://launchpadlibrarian.net/24369100/backtrace.jpg
>
> --
> Runtime error on exit
> https://bugs.launchpad.net/bugs/251128
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
>

Okay. Holgers & Lambage, please download & install the latest graphics drivers for your hardware from Intel's web site. Try this link: http://downloadcenter.intel.com/Product_Filter.aspx?ProductID=2301&lang=eng
If you've already got that version (6/26/08 for Vista,) re-install it anyway.

Also install the latest chipset drivers for your system board from here:
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldId=16023&lang=eng

Let us know if that helps.

ironstorm (ironstorm-gmail) wrote :

Awesome job, holgers this helps a lot. ig4icd32.dll is intel graphics driver...

Yeah, so for others looking to capture the output, the way to do it as text (I should have mentioned this before, and I'll add it to the wiki), is to click on the DOS icon in the top left corner of the terminal and go to "Edit -> Select All", the terminal's color will invert at which point you hit Enter and it will go back to normal colour and in doing so copy the whole terminal buffer into the clipboard, then you can paste into notepad or into a firefox text box.

RJ Skerry-Ryan (rryan) wrote :

Yes, this crash on exit still happens on my i965 chipset in Linux as
well. I have tried to chase it down before, to no avail. I first thought
that the ~30 fps timer was re-entering the QGLWidget's event handler
after it had been destroyed, but I turned off the timer code and was
still able to cause the crash. I also tried deleting it via deleteLater,
as the docs suggest for deleting a QObject which may have pending events
in the GUI event loop. When I get my backtrace, I see that the QGLWidget
is being deleted via deleteChildren of MixxxView. I also tried using
deleteLater on MixxxView, and this doesn't seem to work either. I can't
think of any other way to delete the thing, and it doesn't look like it
has some sort of 'shutdown' method that should be called before deleting
it.

-RJ

Albert Santoni wrote:
> This is the first time we've ever been able to see a real backtrace
> for one of these mystery Win32 crashes. This is great, thanks holgers!
>
> It seems to be dying in some driver-provided OpenGL function or
> something. I wonder if we need to destroy our QGLWidgets (the waveform
> views) in a nicer way (or maybe that's where it's dying?)...
>
> Ideas?
>
> On Thu, Mar 26, 2009 at 11:15 AM, holgers <email address hidden> wrote:
>
>> Wasn't sure how to copy/paste information from the debugger so I just
>> took a screenshot which I've attached.
>>
>> ** Attachment added: "backtrace.jpg"
>> http://launchpadlibrarian.net/24369100/backtrace.jpg
>>
>> --
>> Runtime error on exit
>> https://bugs.launchpad.net/bugs/251128
>> You received this bug notification because you are a member of Mixxx
>> Development Team, which is subscribed to Mixxx.
>>
>>
>
>

holgers (jamieholgate) wrote :

Installed latest drivers but it still crashed for me.
Text version of backtrace attached if that helps.

Sorry for the delay. Holgers, give this test version of Mixxx a try please and let us know what happens: http://mixxx.org/packages/windows/Mixxx-1.7.0~beta1-Qt4.5.0-win32.exe

RJ: does this still happen in Linux with Qt 4.5.1?

holgers (jamieholgate) wrote :

That seems to have solved it. No error message on exit and preferences are saved.

This was caused by bundling old Qt DLLs in the win32 package. Will be fixed with the next beta/RC release.

Changed in mixxx:
assignee: nobody → Pegasus (pegasus-renegadetech)
milestone: none → 1.7.0
status: New → Fix Committed
RJ Skerry-Ryan (rryan) on 2009-08-11
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers