Skip to main content
Home Forums Silverlight Programming Report a Silverlight Bug RC0+Release: Unexpected iexplore.exe: Silverlight crash
23 replies. Latest Post by XCubed on March 5, 2009.
(0)
Dvladimir
Member
0 points
11 Posts
10-08-2008 6:48 AM |
My Silverlight application based on MultiScaleImage with customized MultiScaleTileSource. I use mouse wheel helper based on Silverlight's DOM bridge
My Silverlight application based on MultiScaleImage with customized MultiScaleTileSource.
I use mouse wheel helper based on Silverlight's DOM bridge
Before it was updated from Beta2 to RC0 all worked perfect. But after update to RC0 ,sometimes during active work, Internet Explorer 7 and Firefox 3 close without any messages.
In VS 2008 Sp1 in output I found only one message:
The program '[7232] iexplore.exe: Silverlight' has exited with code -1073741783 (0xc0000029).
I have no ideas how to troubleshooting this.
Jim Lynn
46 points
16 Posts
10-08-2008 7:44 AM |
I can't help with a solution but I just got the same thing, also using a MultiScaleImage. Mine happened when I was running a couple of storyboards, but it doesn't seem to be immediately repeatable. I was debugging at the time and the debugger just stopped debugging with no breakpoint or anything. I got precisely the same error message.
11-14-2008 9:42 AM |
It's probably bad form to bump my own reply, but I'm really suffering from this bug. It happens with alarming regularity in my project. Now, I'm doing lots of fairly complex things - animating the ViewportWidth and Origin of a deep zoom image, animating some custom dependency properties, the scale transform on a canvas and properties on a custom panel which is attaching labels to the deep zoom image. But the DeepZoom image seems to be the common factor. I've definitely seen the random crash at least once on a fresh project generated by Deep Zoom Composer, although it's fairly rare to see that. I can only remember it happening once, although I don't play with many raw unchanged projects.
I get the feeling there's a core problem that's being exacerbated by all the other things I'm doing, but since the problem is intermittent, it's hard to track down which elements of the app are making it worse.
If anyone on the team who knows about Deep Zoom has seen anything like this before, I'd really appreciate some feedback because this problem makes demonstrating our application a fraught process.
StefanWick
Contributor
2864 points
438 Posts
11-14-2008 10:19 AM |
Can you post the native callstack of the crash? Or provide a link to the repro?
Steps to get the callstack:
1. launch your app in IE
2. attach VS to the iexplore.exe process - make sure the code type is set to "Native"
3. produce the crash
4. in VS go to Debug | Windows | Callstack
5. now go to Tools | Options | Debugging | Symbols and click on "Load symbols from Microsoft symbol server"
The last step may take a few minutes. When done, copy the content of the Callstack window and paste it into this thread.
Thanks, Stefan Wick
11-14-2008 4:00 PM |
OK, I've got two different stacktraces. The first looks the most like the main problem:
First-chance exception at 0x7c94e392 (ntdll.dll) in iexplore.exe: 0xC0000029: An invalid unwind target was encountered during an unwind operation.> ntdll.dll!_RtlUnwind@16() + 0x18f08 bytes npctrl.dll!_longjmp() + 0x4e bytes npctrl.dll!CWindowsServices::ThrowException() + 0xc bytes agcore.dll!jpeg_common_struct::ErrExit() + 0x5a bytes agcore.dll!scl_CalcDevHorMetrics() - 0xa1eaf bytes agcore.dll!jpeg_marker_reader::read_markers() + 0x64 bytes agcore.dll!jinit_memory_mgr() + 0x375c bytes agcore.dll!jpeg_consume_input() + 0x4a bytes agcore.dll!jpeg_decompress_struct::jpeg_read_header() + 0x19 bytes agcore.dll!CJpegLibDecoder::Decode() + 0x54 bytes agcore.dll!AbortableJpegDecodeFunction() + 0x1d bytes npctrl.dll!CWindowsServices::CallWithExceptionHandler() + 0x39 bytes agcore.dll!DecodeJpeg() + 0x83 bytes agcore.dll!fnSetTileSurface() + 0x1cd bytes agcore.dll!fnSetTileSurface() + 0x4dd bytes agcore.dll!AttemptDecode() + 0x32 bytes agcore.dll!CSDWorkerThread::Run() + 0xa6 bytes agcore.dll!CSDWorkerThread::ThreadStart() + 0xf bytes kernel32.dll!_BaseThreadStart@8() + 0x37 bytes
The first time I tried reproducing it I got a different stack. My app does (much less frequently) throw an exception in a custom panel complaining about Measure being called with NaN in the size (even though the debugger shows valid values being passed) so I'm including this second trace in case it's related.
> kernel32.dll!_RaiseException@16() + 0x52 bytes coreclr.dll!RaiseTheExceptionInternalOnly() + 0x20d bytes coreclr.dll!JIT_Throw() + 0xf4 bytes 053929f5() coreclr.dll!_UM2MThunk_WrapperHelper@20() + 0x10 bytes coreclr.dll!UM2MThunk_WrapperWorker() + 0x83 bytes coreclr.dll!UM2MThunk_Wrapper() + 0x14 bytes coreclr.dll!Thread::DoADCallBack() + 0xa1 bytes coreclr.dll!_UM2MDoADCallBack@16() + 0xa0 bytes 03c64742() agcore.dll!CFrameworkElement::ArrangeCore() + 0xab4 bytes agcore.dll!CUIElement::ArrangeInternal() + 0x99 bytes agcore.dll!CUIElement::Arrange() + 0x371 bytes agcore.dll!CUIElement::Arrange() + 0x1617 bytes agcore.dll!CUIElement::Arrange() + 0x1617 bytes agcore.dll!CUIElement::Arrange() + 0x1617 bytes agcore.dll!CUIElement::Arrange() + 0x1617 bytes agcore.dll!CUIElement::Arrange() + 0x1617 bytes agcore.dll!CLayoutManager::UpdateLayout() + 0x2e315 bytes agcore.dll!CCoreServices::Draw() + 0xf1 bytes agcore.dll!CCoreServices::Draw() + 0x2d bytes npctrl.dll!CXcpBrowserHost::OnTick() + 0x8c bytes npctrl.dll!CXcpDispatcher::Tick() + 0xb3a bytes npctrl.dll!CXcpDispatcher::OnReentrancyProtectedWindowMessage() + 0x4c bytes npctrl.dll!CXcpDispatcher::WindowProc() + 0x70 bytes user32.dll!_InternalCallWinProc@20() + 0x28 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes user32.dll!_DispatchMessageWorker@8() + 0xdc bytes user32.dll!_DispatchMessageW@4() + 0xf bytes browseui.dll!TimedDispatchMessage() + 0x33 bytes browseui.dll!BrowserThreadProc() + 0x336 bytes browseui.dll!BrowserProtectedThreadProc() + 0x50 bytes browseui.dll!_SHOpenFolderWindow@4() + 0x22c bytes shdocvw.dll!_IEWinMain@8() + 0x129 bytes iexplore.exe!WinMainT() + 0x2de bytes iexplore.exe!__ModuleEntry@0() + 0x99 bytes kernel32.dll!_BaseProcessStart@4() + 0x23 bytes
11-14-2008 4:41 PM |
Having tried another few times, I can confirm that the first trace matches the problem with the browser just disappearing. The second trace leads to an integer overflow, which I suspect is what's causing the Measure call to complain about NaN.
11-14-2008 9:03 PM |
Let's focus on the first one here, because I think that's what the original post in this thread was about. Please start a seperate thread for the second issue - and if possible provide a link or steps to reproduce it.
Now for the MultiScaleImage, are you using PNG or JPG tiles? Would it be possible to share a link to your project?
11-15-2008 3:51 PM |
Unfortunately, the project isn't public and the deep zoom image consists of over 2.5 million tiles so it's not an easy one to share. The tiles are PNG in this instance.
11-15-2008 7:17 PM |
We are currently investigating this bug. We don't have a complete analysis yet, but there is reason to believe that it is related to using PNG files in combination with certain other content (e.g. text) that is being scaled on top of the images.
Not sure if it is an option for your project, but something to try in the meantime would be:
1) use JPG tiles instead of PNG
2) remove or re-arrange some of the content that overlays the images
11-15-2008 7:46 PM |
Thanks, Stefan, that's very useful indeed. Although the thought of regenerating 2.5m tiles as jpg doesn't fill me with delight, if it will avoid this issue then it'll be worth it.
Out of interest, is it png in general? We were intending to change from 24bit PNG to 8bit indexed (because our images still look OK like that) to save space but jpg would probably still work.
And part of the app does have scaled text and other items overlaid on the deep zoom image.
Jim.
11-17-2008 2:53 AM |
I found that my project crashing if I turn on text displaying, I have scaled text - TextBlocks that use RenderTransform (ScaleTransform) to recalculate size and position
My project also contains some vector like markers - Geometry objects
I use png and jpg and haven't found differences
11-17-2008 3:59 AM |
First-chance exception at 0x7c94e39c (ntdll.dll) in iexplore.exe: 0xC0000029: An invalid unwind target was encountered during an unwind operation. Unhandled exception at 0x7c94e39c (ntdll.dll) in iexplore.exe: 0xC0000029: An invalid unwind target was encountered during an unwind operation.
First-chance exception at 0x7c94e39c (ntdll.dll) in iexplore.exe: 0xC0000029: An invalid unwind target was encountered during an unwind operation.
Unhandled exception at 0x7c94e39c (ntdll.dll) in iexplore.exe: 0xC0000029: An invalid unwind target was encountered during an unwind operation.
My call stack:
ntdll.dll!_RtlUnwind@16() + 0x237f7 bytes npctrl.dll!_longjmp() + 0x4e bytes npctrl.dll!CWindowsServices::ThrowException() + 0xc bytes agcore.dll!jpeg_common_struct::ErrExit() + 0x5a bytes agcore.dll!scl_CalcDevHorMetrics() - 0xa1eaf bytes agcore.dll!jpeg_marker_reader::read_markers() + 0x64 bytes agcore.dll!jinit_memory_mgr() + 0x375c bytes agcore.dll!jpeg_consume_input() + 0x4a bytes agcore.dll!jpeg_decompress_struct::jpeg_read_header() + 0x19 bytes agcore.dll!CJpegLibDecoder::Decode() + 0x54 bytes agcore.dll!AbortableJpegDecodeFunction() + 0x1d bytes npctrl.dll!CWindowsServices::CallWithExceptionHandler() + 0x39 bytes agcore.dll!DecodeJpeg() + 0x83 bytes agcore.dll!fnSetTileSurface() + 0x1cd bytes agcore.dll!fnSetTileSurface() + 0x4dd bytes agcore.dll!AttemptDecode() + 0x32 bytes agcore.dll!CSDWorkerThread::Run() + 0xa6 bytes agcore.dll!CSDWorkerThread::ThreadStart() + 0xf bytes kernel32.dll!_BaseThreadStart@8() + 0x37 bytes
---------------------
All tiles are png, crashed while zooming
11-17-2008 10:33 AM |
Thanks for the callstack, DVladimir! It looks like you are both hitting the problem.
In your previous post you said it repros with both PNG and JPG. Are you saying it also crashes when using JPG tiles in your MultiScaleImage? If so, does the callstack look the same or different for JPG tiles?
11-18-2008 9:46 AM |
Today I have performed testing MultiScaleImage with JPG and found that it stable and does not crashing, looks like all problems in PNG
11-25-2008 5:38 AM |
My investigations show that application crashed when I used PNG + ScaleTransform or made changes in FontSize for TextBlock but with TranslateTransform all work fine.
Yesterday I have made testing with Label from Silverlight Toolkit and found the same effect.
tiagonmas
29 points
19 Posts
12-13-2008 4:21 PM |
Hi!I'm also developing a project that uses MSI (with Jpgs) and overlay TextBox's that I'm scaling with ScaleTransform.The application also crashes Internet Explorer, Firefox and Chorme. Silverlight Version is 2.0.31005.0.If I comment out the ScaleTransform the application does not crash anymore. Event Viewer:Faulting application IEXPLORE.EXE, version 7.0.6000.16764, time stamp 0x48f6a2ed, faulting module ntdll.dll, version 6.0.6000.16386, time stamp 0x4549bdf8, exception code 0xc0000029, fault offset 0x000675fc, process id 0xf18, application start time 0x01c95d5ad4de2d60.Call Stack:> ntdll.dll!_RtlUnwind@16() + 0x2c187 bytes npctrl.dll!_longjmp() + 0x4e bytes npctrl.dll!CWindowsServices::ThrowException() + 0xc bytes agcore.dll!jpeg_common_struct::ErrExit() + 0x5a bytes agcore.dll!scl_CalcDevHorMetrics() - 0xa1eaf bytes agcore.dll!jpeg_marker_reader::read_markers() + 0x64 bytes agcore.dll!jinit_memory_mgr() + 0x375c bytes agcore.dll!jpeg_consume_input() + 0x4a bytes agcore.dll!jpeg_decompress_struct::jpeg_read_header() + 0x19 bytes agcore.dll!CJpegLibDecoder::Decode() + 0x54 bytes agcore.dll!AbortableJpegDecodeFunction() + 0x1d bytes npctrl.dll!CWindowsServices::CallWithExceptionHandler() + 0x39 bytes agcore.dll!DecodeJpeg() + 0x83 bytes agcore.dll!fnSetTileSurface() + 0x1cd bytes agcore.dll!fnSetTileSurface() + 0x4dd bytes agcore.dll!AttemptDecode() + 0x32 bytes agcore.dll!CSDWorkerThread::Run() + 0xa6 bytes agcore.dll!CSDWorkerThread::ThreadStart() + 0xf bytes kernel32.dll!@BaseThreadInitThunk@12() + 0xe bytes ntdll.dll!__RtlUserThreadStart@8() + 0x23 bytes
Here is the application that causes this crash (but working with a different set of Deep Zoom images ... the crash does not happen with this set :( ... only with the one I have that is >100MB).
Do you have any news or workarounds ?Thanks,Tiago Andrade e SilvaFullsix Portugal
12-15-2008 4:09 PM |
You say your MSIs are using JPGs, but do you mean the source images or the output of Deep Zoom Composer?
In your dzi file, in the first <Image> tag, does it say Format="jpg" or Format="png"?
I've suffered from this error when using a PNG-output deep zoom image, but I've been successfully developing exactly the same codebase with the tiles converted to jpeg and it hasn't crashed once.
I know that doesn't help you much if your DZI is jpeg, but if it happens to be a PNG DZI you could regenerate it in JPG format and the problem would go away.
12-16-2008 10:48 AM |
Hi!
Today I recreated my deep zoom project and exported it. The error seemed to never happen again.
When I had the error it only happened when I used the ScaleTransform.
I've always been exporting as JPEG...
02-23-2009 12:27 PM |
Похоже друзья из Макрософт забили на нашу проблему, выпустили глючный продукт, а поддержки 0.
P.S. My opinion about problem solving from Microsoft, in Russian
netghost
74 points
12 Posts
02-23-2009 9:26 PM |
Dvladimir: Похоже друзья из Макрософт забили на нашу проблему, выпустили глючный продукт, а поддержки 0. P.S. My opinion about problem solving from Microsoft, in Russian
Why are you saying we provide no support? Look at all Stefan's posts up the thread... He was trying to get as much analysis as possible from you, guys, but it's really hard to chase down a bug, if there's no consistent repro (or at least an app, that would repro the bug at least randomly).
PS: What was the point of expressing your thoughts in Russian?
02-24-2009 2:43 AM |
Yes Stefan's posts are very usefull :))
Now I must convert my 5 TB image database into jpg .... ha ... ha ... very funny
If you need application that reproduce bug I'll try to extract it from my system and provide it with image DB
P.S. I expressed my opinion in Russian because I tired dancing with tambourine aroung Silverlight
02-24-2009 3:47 AM |
We were able to replicate the problem based on the information that was provided in this thread. Silverlight 3 will include the fix.
02-24-2009 4:52 AM |
Good news, thanks.
XCubed
2 points
3 Posts
03-05-2009 4:33 PM |
Stefan, is there is a reason why the fix has been postponed until Silverlight 3? I was kinda hoping it might have been part of last month's update.
Our Silverlight application is currently experiencing this issue with increasing regularity. If it was just an exception being thrown, we could handle it and try again, but the entire browser crashing out without an error message is not something our customers will appreciate. Changing the tile format from PNG to JPEG is not a viable option for us.
Are there any other workarounds we can try? Can you provide specific information on why the issue occurs so that we can avoid it?
I find it puzzling that the error is occurring in the JPEG decoder functions too, when we're using PNG tiles. Can you elaborate on why that's the case?
Thanks, Carey