mixxx crashes on startup (1.12 dev, windows vista 32 bits)

Bug #1409323 reported by Fer22f
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Critical
RJ Skerry-Ryan

Bug Description

Hello, I've been able to run the new dev releases of Mixxx (http://downloads.mixxx.org/builds/master/) fine over the last weeks however, the new versions that the build server compiled in 06-Jan-2015 (release of git5122) gives a crash on startup. A lot of commits happened from the last time in last year and January 6, so I'm not sure, but as of the looks of it looks like a Qt problem with kernel32.dll.

I was gonna post the bug directly at the forums (http://www.mixxx.org/forums/viewtopic.php?f=1&t=6617) but the registration form is making a request to a server that says that every IP is a spam IP (see http://www.ahbl.org/content/last-notice-wildcarding-services-jan-1st for more information) because it's now down.

OS Version: Windows Vista Home Basic 32 bits SP2
CPU: Intel Pentium Dual CPU T2390 @1.86GHz 1.87GHz
RAM: 3GB
Video Card: Mobile Intel(R) 965 Express Chipset Family (*sigh*)

Revision history for this message
Fer22f (fer22f) wrote :
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Thank you so much for the GDB backtraces, DWI, and logs! That's so useful. I can't tell at a glance what is wrong. It looks like msvc120d.dll is throwing an exception but I can't tell what the exception is. It seems to be coming from thread 1 (probably the main thread) but the stack trace is empty. Maybe we need to distribute PDB files with our Windows builds? The mangled method names are there for QtCore4d so I'm not sure why our symbols aren't there. Need to double-check our debug symbol mode for Windows.

It looks like this exception type is unique to the MSVC++ runtime so it's not coming from a library we use.

Some articles on how to get the class name of the error (which would help):
http://blogs.msdn.com/b/oldnewthing/archive/2010/07/30/10044061.aspx

Thread 1 (Thread 1976.0x5a4):
#0 0x7780fd1e in RaiseException () from C:\Windows\system32\kernel32.dll
#1 0x640b0b86 in MSVCR120D!_CxxThrowException ()
   from C:\Program Files\Mixxx\msvcr120d.dll
#2 0x640bc2a1 in MSVCR120D!??2@YAPAXI@Z ()
   from C:\Program Files\Mixxx\msvcr120d.dll
#3 0x640bc35d in MSVCR120D!??_U@YAPAXI@Z ()
   from C:\Program Files\Mixxx\msvcr120d.dll
#4 0x01160a0d in ?? ()
#5 0x00ef1dd9 in ?? ()
#6 0x00ef1fdf in ?? ()
#7 0x00ef2ce8 in ?? ()
#8 0x01019a35 in ?? ()
#9 0x00ec7d78 in ?? ()
#10 0x00ecbc26 in ?? ()
#11 0x00edca46 in ?? ()
#12 0x00e6d2f9 in ?? ()
#13 0x00e6b000 in ?? ()
#14 0x00e69396 in ?? ()
#15 0x00e77d3c in ?? ()
#16 0x0111d41b in ?? ()
#17 0x0111b15d in ?? ()
#18 0x012673b9 in ?? ()
#19 0x012674fd in ?? ()
#20 0x7781d3c9 in KERNEL32!BaseThreadInitThunk ()
   from C:\Windows\system32\kernel32.dll
#21 0x77ac1603 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#22 0x77ac15d6 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#23 0x00000000 in ?? ()

Changed in mixxx:
importance: Undecided → Critical
milestone: none → 1.12.0
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Fer22f : do you know the gitXXXX tag of the last working version of Mixxx you were able to run?

Revision history for this message
Fer22f (fer22f) wrote :

Sorry for the small delay. Well, git5077 works fine, only version that are from this year (2015) on the repository won't work anymore like git5122.

About getting more information about the error, I'm currently installing Windows SDK that has the Debugger Tool but it will take a while with my bad internet so probably I will not be able to give the information today (we will see).

Revision history for this message
Fer22f (fer22f) wrote :

Ok got around to staying a bit late today and I think I got some information using the webpage you linked.

The information I got from Parameters[2] is ".?AVbad_alloc@std@@". And I attached the entire log from the debugger showing what I did step by step.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hm, very interesting. One way that bad_alloc can get thrown legitimately is if you are out of RAM. What's your system memory look like when you run Mixxx? How much is free? How much virtual memory / swap is in use and how much is left? Do you disable virtual memory / swapping?

If you aren't super low on RAM then maybe Mixxx is going crazy and allocating a ton of memory until you run out. Or we're trying to allocate gigabytes of memory or something and a single allocation with a junk argument is failing.

Revision history for this message
Fer22f (fer22f) wrote :

I'm not on my PC now (and I'm questioning myself if I will be able to get to it later) but usually I run Mixxx without any other visible applications because they usually get over ASIO (like firefox that also takes up a lot of memory).

I can say I run it with like 2,5GB available (there is background programs such as skype, teamviewer and others), my system has 3GB RAM total (and I think the maximum upgrade of 4GB will not help much).

Not using virtual memory or virtualbox, and as I saw there the last instruction wrote "Loading Resources" so it could probably be a one-time memory issue (that doesn't happen later in the program).

Would like to give you more info about memory availability, I will see if I can in 5 to 6 hours.

Revision history for this message
Fer22f (fer22f) wrote :

Ok I was wrong about my memory usage. Skype, explorer and all that stuff occupies 1,3GB of the memory leaving 1,7GB of the memory left and Mixxx crashes with that.

It's definitely a memory problem. I just made a test run where I reduced the max of memory all I could (killing explorer, skype and other programs) and reduced memory usage to 1GB. With 2GB left, Mixxx didn't crash however it used up all the memory it could (memory usage was up to 2,7GB, meaning Mixxx used up 1,7GB) and froze. I used Task Manager and the results are in the attachment of memory usage and you can see that there is a very little amount of CPU usage (that probably svchost.exe processes are using).

Removing the library from it's place didn't help with any part of the bug, I doubt it's a problem with the library loading process but rather a resources problem (with skins maybe).

TL;DR: Mixxx is eating up about 1,7GB worth of memory and crashes when it can't allocate that, and even when it can, it freezes.

-------------------------

I'm installing git5077 to see how much memory it uses effectively to see if it's just an extension of a prior version bug.

Revision history for this message
Fer22f (fer22f) wrote :

Ops forgot the glorious ms paint pic that shows the Task Manager memory usage.

Revision history for this message
Owen Williams (ywwg) wrote :

For comparison, on linux, Mixxx only causes ~300MB of free memory to disappear when loaded. (300 MB Resident, 5G virtual -- that means including shared libraries I think).

Revision history for this message
Owen Williams (ywwg) wrote :

on linux -> on my machine :)

Revision history for this message
Fer22f (fer22f) wrote :

git5077 memory usage for comparison. Mixxx uses about 900MB when loading the resources and this version is a bit unstable (dev versions tend to be, I understand).

The thing that intrigues me is more about how the latest version doesn't work even when allocating the memory it needs.

About Linux using up only 300MB, that seems like a really good number! I guess Qt libraries are much more expensive to memory in Windows. I think I may make a dual-boot to linux since this computer isn't very good. However, DidJiX didn't work as well as I expected, though I don't remember exactly how good it was.

Revision history for this message
Fer22f (fer22f) wrote :

Newer releases fixes bug; Someone can close this.

Guess I overreacted by the fact that the release server haven't released in a lot of days and when it did it didn't work; Guess I should wait at least a week before reporting a real issue.

We are done.

RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: New → Fix Committed
assignee: nobody → RJ Ryan (rryan)
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/7802

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.