[Mono-dev] Moonlight crash with debugging

Markku Tavasti tavasti at seravo.fi
Fri Feb 3 13:42:48 UTC 2012


I'm trying to debug problems in moonlight. Unfortunately, debugging it is
bit problematic

1) with MOONLIGHT_DEBUG I got plugin crash. Frotunately, I managed to find
it:

diff --git a/src/value.cpp b/src/value.cpp
index 3117f24..eda014d 100644
--- a/src/value.cpp
+++ b/src/value.cpp
@@ -74,7 +74,8 @@ Value::CreateUnrefPtr (Uri *uri)
        result->SetKind (Type::URI);
        result->u.uri = uri;
        result->SetIsNull (false);
-       LOG_VALUE ("unref [delete] Value [%p] %s\n", result,
result->GetName());
+       // This crashes plugin at applcation load
+       //LOG_VALUE ("unref [delete] Value [%p] %s\n", result,
result->GetName());
        return result;
 }

2) Running with valgrind moonlight will crash when silverlight app is
loaded. Crash will happen on same place:

==16548== Invalid read of size 4
==16548==    at 0xA903F78: ???
==16548==    by 0x8913680: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:620)
==16548==    by 0x891361D: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:609)
==16548==    by 0x89136AF: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*)) (animat
ion.cpp:574)
==16548==    by 0x8A856F6: _moonlight_cbinding_storyboard_flatten_timelines
(cbinding.cpp:608
5)
==16548==    by 0x1A916219: ???
==16548==    by 0x1A9161C9: ???
==16548==    by 0x1A915855: ???
==16548==    by 0x1A9157D5: ???
==16548==    by 0x1A914D87: ???
==16548==    by 0x1A914147: ???
==16548==    by 0x1A906E6D: ???
==16548==  Address 0xffa14944 is not stack'd, malloc'd or (recently) free'd
==16548==
==16548== Invalid write of size 4
==16548==    at 0x8E231D4: mono_jit_info_table_find (domain.c:386)
==16548==    by 0x8CE9B2E: mono_sigsegv_signal_handler (mini.c:5840)
==16548==    by 0x406BB1F: ??? (in /lib/libpthread-2.11.1.so)
==16548==    by 0x8913680: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:620)
==16548==    by 0x891361D: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:609)
==16548==    by 0x89136AF: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*)) (animat
ion.cpp:574)
==16548==    by 0x8A856F6: _moonlight_cbinding_storyboard_flatten_timelines
(cbinding.cpp:608
5)
==16548==    by 0x1A916219: ???
==16548==    by 0x1A9161C9: ???
==16548==    by 0x1A915855: ???
==16548==    by 0x1A9157D5: ???
==16548==    by 0x1A914D87: ???
==16548==  Address 0x7e7a00c is not stack'd, malloc'd or (recently) free'd
==16548==
==16548== Invalid write of size 4
==16548==    at 0x8E231DD: mono_jit_info_table_find (domain.c:387)
==16548==    by 0x8CE9B2E: mono_sigsegv_signal_handler (mini.c:5840)
==16548==    by 0x406BB1F: ??? (in /lib/libpthread-2.11.1.so)
==16548==    by 0x8913680: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:620)
==16548==    by 0x891361D: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:609)
==16548==    by 0x89136AF: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*)) (animat
ion.cpp:574)
==16548==    by 0x8A856F6: _moonlight_cbinding_storyboard_flatten_timelines
(cbinding.cpp:608
5)
==16548==    by 0x1A916219: ???
==16548==    by 0x1A9161C9: ???
==16548==    by 0x1A915855: ???
==16548==    by 0x1A9157D5: ???
==16548==    by 0x1A914D87: ???
==16548==  Address 0x7e7a010 is not stack'd, malloc'd or (recently) free'd
==16548==
==16548== Thread 2 return signal frame corrupted.  Killing process.
==16548==
==16548== Process terminating with default action of signal 11 (SIGSEGV):
dumping core
==16548==  General Protection Fault
==16548==    at 0x406BB25: ??? (in /lib/libpthread-2.11.1.so)
==16548==    by 0x8913680: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:620)
==16548==    by 0x891361D: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*), Moonlig
ht::Timeline*, Moonlight::DependencyObject*, Moonlight::PropertyPath*)
(animation.cpp:609)
==16548==    by 0x89136AF: Moonlight::Storyboard::FlattenTimelines(void
(*)(Moonlight::Timeli
ne const*, Moonlight::DependencyObject const*,
Moonlight::DependencyProperty const*)) (animat
ion.cpp:574)
==16548==    by 0x8A856F6: _moonlight_cbinding_storyboard_flatten_timelines
(cbinding.cpp:608
5)
==16548==    by 0x1A916219: ???
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120203/01f9ed9e/attachment.html>


More information about the Mono-devel-list mailing list