No default skin in 1.12 if the configured one is missing

Bug #1397989 reported by Jean Claveau
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Expired
Critical
Unassigned

Bug Description

If the configured skin doesn't exist in the skin folder Mixxx will stop :

*** Error in `/home/jean/dev/mixxx/mixxx_demos/mixxx': free(): invalid pointer: 0x00007ffff72075c0 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff60f28700 (LWP 13161)]
0x00007ffff17cdbb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) backtrace
#0 0x00007ffff17cdbb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff17d0fc8 in __GI_abort () at abort.c:89
#2 0x00007ffff180ae14 in __libc_message (do_abort=do_abort@entry=1,
    fmt=fmt@entry=0x7ffff1919668 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007ffff18170ee in malloc_printerr (ptr=<optimized out>, str=0x7ffff1915759 "free(): invalid pointer", action=1)
    at malloc.c:4996
#4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#5 0x00007ffff6fdcbb1 in qAtomicAssign<QSqlDatabasePrivate> (x=0x7fff50009920,
    d=@0x15d90a88: 0x7ffff72075c0 <QSqlDatabasePrivate::shared_null()::n>)
    at ../../include/QtCore/../../src/corelib/thread/qatomic.h:201
#6 QSqlDatabase::operator= (this=this@entry=0x15d90a88, other=...) at kernel/qsqldatabase.cpp:714
#7 0x0000000000947aa1 in LibraryScanner::run (this=0x15d90a70) at src/library/libraryscanner.cpp:141
#8 0x00007ffff540032f in QThreadPrivate::start (arg=0x15d90a70) at thread/qthread_unix.cpp:349
#9 0x00007ffff31e6182 in start_thread (arg=0x7fff60f28700) at pthread_create.c:312
#10 0x00007ffff1891fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

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

This one is a beta blocker since it likely affects Mixxx 1.11.

We need to verify that a Mixxx 1.11 -> 1.12 beta -> 1.11 doesn't leave the user unable to start Mixxx 1.11 because we write a skin to the config that isn't available in Mixxx 1.11.

Also, we should fix this in Mixxx 1.12 in a nice way. What if we had a screenshot.png that every skin could provide and had a nice skin picker that showed the screenshots in a carousel?

Changed in mixxx:
importance: Undecided → Critical
milestone: none → 1.12.0
status: New → Confirmed
Revision history for this message
Owen Williams (ywwg) wrote :

Can't reproduce.

* If I remove the skin definitions from the config, it falls back to LateNight
* If I create a bogus skin definition in the config, it falls back to LateNight
* If I make the skin definition blank, it falls back to LateNight
* If I was using a Deere skin in 1.11, 1.12 loads the new Deere (thanks to my recent patch)

I can't get mixxx to crash at all -- please retest on latest trunk, and if it does crash, please upload a copy of your config and a list of the contents of the res/ directory. Maybe this is an issue with a half-removed skin?

Changed in mixxx:
status: Confirmed → Incomplete
Revision history for this message
Owen Williams (ywwg) wrote :

(Looking at the backtrace, it looks like the crash occurred during library scanning, not skin loading)

Revision history for this message
Ferran Pujol (ferranpujol) wrote :

Can't reproduce this with the latest master.

jus (jus)
Changed in mixxx:
milestone: 2.0.0 → none
Revision history for this message
Owen Williams (ywwg) wrote :

does it exist in 2.0.0?

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mixxx because there has been no activity for 60 days.]

Changed in mixxx:
status: Incomplete → Expired
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/7695

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.