testsuite segfaults because of unintialized values

Bug #1263705 reported by MartinKG
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Nuvola Apps Runtime (Nuvola Player)
Fix Released
Critical
Unassigned

Bug Description

Nuvola Player 2.2.0 testsuite fails on Fedora 20

Running `xvfb-run -a valgrind --track-origins=yes --log valgrind.log ./main` in build/test/bin reveals some nasty problems with upstream's testsuite. It actually allocates some stack-objects from external gtk-libs and relies on them, but doesn't make sure that they are properly initialized.

valgrind.log file:
https://bugzilla.redhat.com/attachment.cgi?id=840798

thanks for your feedback.
Martin

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

Thanks for taking the time to report this bug.

Changed in nuvola-player:
status: New → Confirmed
importance: Undecided → Critical
Revision history for this message
MartinKG (mgansser) wrote :

when and in whitch version of nuvola-player can a solution of the problem be expected.

thanks in advanced.

Revision history for this message
Jiří Janoušek (fenryxo) wrote : Re: [Bug 1263705] Re: testsuite segfaults because of unintialized values

I might take a look at this issue on my desktop PC around January 6.
I'm currently visiting my parents, so I don't have access to it and
definitely don't want to run virtualized Fedora on my ancient laptop.

Revision history for this message
martinkg (linux4martin) wrote :

did you bring in the meantime closer in experience ?

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

On Wed, Jan 8, 2014 at 1:14 PM, martinkg <email address hidden> wrote:
> did you bring in the meantime closer in experience ?

No, I had an unplanned surgery on Friday and I've been still
recovering from it. I hope I'll get closer to the issue at weekend.

Changed in nuvola-player:
status: Confirmed → In Progress
Revision history for this message
Jiří Janoušek (fenryxo) wrote :

I've made a few improvements. Currently, I cannot reproduce crash in function chain nuvola_frame_bridge_execute_script -> JSEvaluateScript -> JSC::evaluate -> ... -> WTFCrash. However, the test suite crashes when JavaScriptCore runs garbage collector:

==12430== Process terminating with default action of signal 11 (SIGSEGV)
==12430== Access not within mapped region at address 0x0
==12430== at 0x92077B7: JSC::CodeBlock::~CodeBlock() (SentinelLinkedList.h:60)
==12430== by 0x920D203: JSC::FunctionCodeBlock::~FunctionCodeBlock() (CodeBlock.h:1300)
==12430== by 0x9378142: JSC::FunctionExecutable::discardCode() (OwnPtrCommon.h:54)
==12430== by 0x9392D1C: JSC::JSGlobalData::recompileAllJSFunctions() (JSGlobalData.cpp:86)
==12430== by 0x92A2C6C: JSC::Heap::collectAllGarbage() (Heap.cpp:771)
==12430== by 0x70FC9B1: WebCore::ThreadTimers::sharedTimerFiredInternal() (ThreadTimers.cpp:115)
==12430== by 0x7942151: WebCore::timeout_cb(void*) (SharedTimerGtk.cpp:49)
==12430== by 0x5558EEA: g_timeout_dispatch (gmain.c:3882)
==12430== by 0x5558354: g_main_context_dispatch (gmain.c:2539)
==12430== by 0x5558687: g_main_context_iterate.isra.23 (gmain.c:3146)
==12430== by 0x5558A81: g_main_loop_run (gmain.c:3340)
==12430== by 0x53085B8: fso_framework_test_wait_for_condition (asynchelpers.vala:97)

I will need to get touch with WebKitGtk/JavaScriptCore developers to help me to find out a cause of this crash and fix the issue.

Revision history for this message
MartinKG (mgansser) wrote :

Hi Jiří,

Had you already contact the developers of WebKitGtk/JavaScriptCore ?

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

No. I wanted to reproduce the crash also on another system. Also, I'm
after chemotherapy, so I'm focusing on easier bugs for now. However,
I've just tried to run the test case inside Fedora 20 chroot and it
hasn't crashed. Could you try to run test case from attached branch on
your system?

LD_LIBRARY_PATH=build xvfb-run -a valgrind --track-origins=yes
--log-file=valgrind.log build/tests/bin/main

  status incomplete

Changed in nuvola-player:
status: In Progress → Incomplete
Revision history for this message
MartinKG (mgansser) wrote :
Revision history for this message
MartinKG (mgansser) wrote :

this is the output from nuvola-player-svn805

martin@fc20 nuvola-player-svn805$ LD_LIBRARY_PATH=build xvfb-run -a valgrind --track-origins=yes --log-file=valgrind.log build/tests/bin/main
/ServicesManagerTest/load_service_from_dir: OK
/ServicesManagerTest/list_services_user: OK
/ServicesManagerTest/list_services_system: OK
/ServicesManagerTest/list_services_versioned: OK
/ServicesManagerTest/install_service: OK
/ServicesManagerTest/remove_service: OK
/CachedLyricsTest/store: OK
/CachedLyricsTest/read: OK
/AZLyricsTest/transform_name: OK
/Diorite.SimpleDocBufferTest/parse_errors: OK
/Diorite.SimpleDocBufferTest/parse_basic: OK
/Diorite.SimpleDocBufferTest/close_tag_from_stack: OK
/JSApiTest/keys_exist: No bp log location saved, using default.
[000:000] Browser XEmbed support present: 1
[000:031] Browser toolkit is Gtk2.
[000:304] Using Gtk2 toolkit
java version "1.7.0_51"
OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
[005:186] Warning(optionsfile.cc:47): Load: Could not open file, err=2
[005:196] No bp log location saved, using default.
[005:200] Browser XEmbed support present: 1
[005:201] Browser toolkit is Gtk2.
[005:202] Using Gtk2 toolkit

(build/tests/bin/main:3292): GLib-CRITICAL **: g_source_remove: assertion 'tag > 0' failed
#0 0x00000000380edf4d in vgModuleLocal_do_syscall_for_client_WRK ()
#1 0x0000000000000008 in ?? ()
#2 0x0000000808b99e10 in ?? ()
#3 0x0000000808b99dd0 in ?? ()
#4 0x0000000039bdf690 in ?? ()
#5 0x000000000000003d in ?? ()
#6 0x0000000039bdf680 in ?? ()
#7 0x0000000039fc91e8 in ?? ()
#8 0x00000000000000b8 in ?? ()
#9 0x000000000000003d in ?? ()
#10 0x0000000000000001 in ?? ()
#11 0x0000000039fc9158 in ?? ()
#12 0x000000003809deea in vgPlain_client_syscall ()
#13 0x000000003809a980 in handle_syscall ()
#14 0x000000003809bee7 in vgPlain_scheduler ()
#15 0x00000000380ab21d in run_a_thread_NORETURN ()
#16 0x0000000000000000 in ?? ()
/usr/bin/xvfb-run: line 166: 3292 Killed DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

> #1 0x0000000000000008 in ?? ()

This backtrace is not helpful at all because of missing function names (question marks). Did you build nuvolaplayer with debugging symbols (./waf configure --debug-symbols)? Do you have installed webkitgtk and javascriptcore libraries with debugging symbols?

Anyway, the crashes seems to occur inside webkitgtk and javascriptcore libraries and I'm closing this bug for that reason. I'm might be useful to ask upstream why the library crashes under valgrind though.

Fix committed to lp:nuvola-player as r805. Will be released in Nuvola Player 2.3.1.
<http://bazaar.launchpad.net/~fenryxo/nuvola-player/trunk/revision/805>

Changed in nuvola-player:
milestone: none → 2.3.1
status: Incomplete → Fix Committed
Revision history for this message
MartinKG (mgansser) wrote :

a nother valgrind logfile from revision r805, on Fedora20 nuvola-player couldn't compiles with the test suite.

https://dl.dropboxusercontent.com/s/y3p81kzvt0xsr8z/valgrind-805.log

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

Same story, the crash occurs inside WebKit, so I cannot fix it. Build
Nuvola Player without the test suite.

Changed in nuvola-player:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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