eric shih

Hello Community,I don't know have anyone tried FragmentNavigation funciton in WPF It gave me a runtime error after I tried to give it a wrong fragment name. Can anyone help Thanks!FatalExecutionEngineError was detectedMessage: The runtime has encountered a fatal error. The address of the error was at 0x5688d16b, on thread 0x156c. The error code is 0x80131623. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.Regards,Eric

Re: Windows Presentation Foundation (WPF) FatalExceptionEngineError was detected

Chango V.

It is strange that you are getting this error. Most likely there is a previous exception from which the applicatoin/framework fails to recover. Try settting the debugger to break on first-chance exceptions.

An invalid fragment name should just be ignored. Can you share a code snippet






Re: Windows Presentation Foundation (WPF) FatalExceptionEngineError was detected

eric shih

The code snippet you can check with .NET 3.0 WPF sample program FragmentNavigationSample.The default address in this sample is DocumentPage.xaml#Fragment5.You can change it to any not exist Fragment# to reproduce this error. But you have to change it first before you run this test program. If you run this program with its default value and then you change the address with any not exist fragment#, there will be no error dump.Here are the code snippets just in case you have problem to locate the sample codes.App.xaml=================<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" StartupUri="MainWindow.xaml" ></Application>DocumentPage.xaml================<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="DocumentPage" > <ScrollViewer> <StackPanel> <TextBlock Name="Fragment1" TextWrapping="Wrap"> <Bold>Paragraph 1</Bold> <LineBreak></LineBreak> Ea vel dignissim te aliquam facilisis euismod et velit aliquam aliquip consequat dolor aliquip consequat sit feugait duis et. Duis velit praesent iriure at dolor esse in in feugait hendrerit praesent ex tation quis duis minim eros iusto. Consequat luptatum feugiat eros facilisi at tation vel ad in. Amet commodo nostrud ex feugiat feugait esse minim, diam laoreet lobortis praesent volutpat lobortis ut, nulla, consequat velit. Nisl hendrerit in sed autem aliquip facilisi, veniam et enim consequat et in, praesent, in. Duis velit nulla facilisi autem augue hendrerit lobortis ea feugait. Consequat accumsan te nulla enim, facilisis eu. Feugait nibh lobortis. Nostrud veniam nulla accumsan lobortis tation odio facilisis exerci. Diam dolore nibh dignissim ut eum iriure consectetuer, commodo suscipit dolore dolor, vero facilisi praesent vero et. Wisi iriure ut in dolore dolore ea, blandit eum exerci te. Minim suscipit ad delenit aliquam eros dolore consequat autem, esse, exerci, velit. Ea commodo ad, duis luptatum luptatum wisi praesent dolore, at, vel esse consequat. Dignissim quis nonummy ut ex wisi, quis ad minim vel iusto in delenit, adipiscing et molestie. Vulputate ipsum vel dolore vulputate nisl consequat eu ex iusto. Aliquam at minim commodo laoreet sit tincidunt nisl illum nostrud lorem iusto praesent. Volutpat qui aliquam ullamcorper euismod eu. Delenit hendrerit ex dolor. Ut adipiscing, consequat nisl feugait ad, et ut. Te et iriure qui in wisi in eu feugait consequat luptatum dolor ullamcorper nulla, dolore nisl veniam. Eum erat ut feugiat illum lorem, diam, tation, esse ad te eros. Et esse, dignissim at esse illum eu nisl, diam, aliquip iriure et quis, facilisis. Duis magna iusto et ut, euismod eros. Eum molestie dolor. Ea, ullamcorper consequat te, commodo, praesent nostrud luptatum feugait laoreet dolore, dolor ut consequat et te. Autem vel molestie tation, nisl ad consequat minim tation. Nulla nostrud, eu qui esse dolore tation adipiscing duis sit minim, in nulla luptatum eu eros. Eros facilisis diam wisi sit, in autem commodo quis ex. Dolore feugait ullamcorper ad qui augue illum. Odio autem vel aliquip, facilisis ex esse consequat in qui tation eros. Eum velit illum laoreet consequat, ipsum ut. In duis te vel facilisi exerci tation, blandit enim te vero tation hendrerit accumsan eu hendrerit esse consequat tation consectetuer. Nulla duis vero enim dolore exerci ut. Tincidunt facilisis magna diam nulla dolor, amet autem commodo accumsan delenit augue ut odio vero, in augue nibh. Ad autem nibh aliquip facilisis augue velit consequat in veniam odio volutpat aliquip ut quis iriure. </TextBlock> <TextBlock Name="Fragment2" TextWrapping="Wrap"> <Bold>Paragraph 2</Bold> <LineBreak></LineBreak> Consequat eu vel duis et feugiat. Praesent iusto consequat feugait vel laoreet dolore duis vero adipiscing suscipit, at in nulla dolor at ullamcorper nostrud, lorem. Augue, feugiat erat. Et ut vel nonummy luptatum ut vulputate. Ut veniam, facilisi euismod, sed. Eum eros dolore lorem aliquam eros ad tation, vel dolor, dignissim ut, tation enim laoreet euismod et enim. Vulputate autem ut eum accumsan lobortis ut adipiscing praesent minim blandit, quis dolore consequat veniam quis sit dolor eros hendrerit. Minim ex, commodo hendrerit, consequat, et augue odio facilisis, eu tation ullamcorper iriure veniam et esse praesent te autem. Ex dolore dignissim, feugait praesent duis ea nisl praesent. In exerci in nibh lobortis ut dolor suscipit facilisis. Ea commodo, duis iriure, autem augue duis exerci lobortis velit laoreet aliquip vero, consectetuer aliquip, volutpat consequat. Et aliquip in dolor feugait, dolore feugait consequat. Te accumsan veniam ullamcorper, dolore. Vel, qui wisi. Vero minim vel esse ad, minim ipsum eum at dolor, iusto ut ex dolor delenit et luptatum et feugiat. Dignissim nostrud exerci vel in et vulputate qui duis consequat. Quis vel, iusto dolore, qui vero, nulla suscipit qui. Aliquip quis odio diam ullamcorper nulla, lorem molestie. Volutpat blandit, ex delenit vel consequat luptatum delenit vulputate ullamcorper in tincidunt nisl wisi sit nisl aliquam esse. Consequat, nisl in eum dolore dolore ullamcorper praesent. Ea duis, at iusto ullamcorper, duis dolor feugiat odio at tation quis enim at, ea nulla ex. Autem wisi blandit. Dignissim ut vulputate, consequat nostrud accumsan nisl ullamcorper et accumsan feugait wisi consequat amet minim esse, duis minim diam. Facilisis suscipit minim ea ut odio dolor wisi eros eum elit, exerci illum nulla nostrud tincidunt. Praesent luptatum nostrud feugait duis in in minim iusto, sit vulputate qui feugiat consequat qui magna. Ad duis qui. Dolor feugait molestie. Vel et blandit elit molestie, delenit erat eum, luptatum feugiat nonummy nulla luptatum amet ipsum illum euismod. Commodo sed qui praesent suscipit facilisi vero vel consequat luptatum ea vel, ad, ut augue augue esse, euismod tation. Dolore aliquip sit et ut facilisi lobortis, autem ut quis ad te. Nostrud nibh consequat nisl feugait consequat iriure qui aliquam ad ex dolor commodo dignissim accumsan, lorem commodo laoreet eu augue. Volutpat facilisi in velit nulla quis te consectetuer vel praesent dignissim autem vel dolore facilisis te eros sit. </TextBlock> <TextBlock Name="Fragment3" TextWrapping="Wrap"> <Bold>Paragraph 3</Bold> <LineBreak></LineBreak> Vel nulla in delenit ea ullamcorper nostrud dolore veniam et odio feugiat delenit nulla et lorem vero. Iusto eum minim velit et duis exerci ea nulla facilisi consequat veniam, nonummy dolore. Ex tincidunt eum dolore ea ipsum duis luptatum at blandit blandit suscipit accumsan feugiat. Tation in sed, in feugait ullamcorper luptatum ex delenit nostrud dolore minim in iusto duis tincidunt. Ut, sit eum lorem ullamcorper eum minim qui veniam enim in feugiat feugiat erat molestie dolor ullamcorper nulla dolore nisl. Ea, duis nulla ut feugiat ut at qui nonummy esse sit feugiat, vel. Vel nostrud dolor ea. Quis suscipit nisl blandit iusto euismod ut vel et ex diam duis eum duis. Consequat blandit, consequat, et exerci wisi nulla odio dolore vel laoreet in, accumsan vulputate illum, luptatum consequat wisi praesent, dolore. Lobortis vel, ullamcorper erat exerci, adipiscing blandit lorem. Ad ipsum elit ad amet. Diam in nostrud consequat consequat tation aliquam. Duis in qui vel laoreet facilisi. Ex enim dolor. Ex dolor quis praesent accumsan vero velit. Nulla facilisis ut vel hendrerit, lobortis ea feugait aliquip accumsan, te nulla enim facilisis augue eros praesent euismod. Ex consectetuer facilisis iriure velit tation hendrerit te, tation blandit aliquip luptatum qui ut enim iriure et. Ipsum, nibh te dolor vel facilisi luptatum autem, et odio ad ut hendrerit dolore eu. Ad delenit hendrerit suscipit, facilisi. Eu ut quis te ut enim, facilisis dolore ipsum nonummy suscipit consequat. Qui nulla accumsan lobortis tation odio facilisis, exerci consequat feugait, nibh dignissim eu. Vel iriure amet ea vel commodo iriure, vero vel praesent at. Tincidunt tation eum volutpat diam aliquam dolore facilisis, blandit consectetuer praesent. Nulla, delenit augue enim aliquip magna eros dolore consequat autem, velit, esse euismod dolor commodo enim exerci, veniam veniam dolore. Odio velit augue elit accumsan consequat, eros, dolor iriure te velit aliquip duis ut commodo odio facilisi vero quis. Et magna consectetuer, ut aliquip dolore tation dolor odio, delenit lobortis. Consequat, feugait nonummy luptatum ex delenit velit duis minim minim, iusto erat luptatum feugiat veniam eum. Dolore consequat vel hendrerit vulputate minim ipsum nostrud ex feugiat. Eros molestie minim diam feugiat illum euismod amet illum nulla lorem ea ut. Dolore qui qui ullamcorper et eu, vel blandit elit, dolor ea adipiscing suscipit dolore qui in ut iriure. Lobortis eros dolore suscipit, magna. Vel consequat, volutpat vulputate consequat. Praesent elit wisi nulla odio dolore vel ea. Nibh accumsan vulputate illum molestie, molestie ipsum ut duis duis nisl nisl enim suscipit consequat delenit. Commodo volutpat, amet nonummy nostrud elit ea vulputate ullamcorper dolore qui iusto illum et accumsan veniam. </TextBlock> <TextBlock Name="Fragment4" TextWrapping="Wrap"> <Bold>Paragraph 4</Bold> <LineBreak></LineBreak> Molestie facilisis ad dolor praesent laoreet iriure tation eros esse iriure eu vel quis accumsan autem. Et eros accumsan. Ut augue dolore in lobortis et suscipit in, magna, ut odio dignissim dolor. Dolore ad dignissim. In feugait facilisis sed augue quis, aliquip exerci ut aliquam praesent, luptatum consectetuer hendrerit. Nisl luptatum lobortis commodo eros euismod. Enim tation consequat feugait in dolor duis, feugait illum ex vel aliquam. Te nostrud diam consequat odio eu dolor ipsum. Ad, in wisi wisi aliquip, duis feugiat wisi eum dignissim tincidunt vel, nostrud at vulputate vel illum. Et minim, eros consequat lorem at veniam hendrerit luptatum magna in ullamcorper et, tation in laoreet euismod. Aliquam iusto eum amet wisi iusto nostrud dolore feugiat adipiscing ut minim nisl, quis, erat, dolore qui blandit sit. Aliquam minim blandit. In ex, at nonummy, duis nostrud, ea ullamcorper enim volutpat delenit, ullamcorper elit in. Ut esse luptatum duis vel tincidunt. Consequat diam dolore luptatum autem commodo nibh euismod qui tation, hendrerit lobortis consequat. Nostrud, enim lobortis ea velit. Consequat consequat dolor vel laoreet laoreet tation praesent esse aliquip, eu eros quis, ex autem vel eros eu. Nostrud enim erat eu, lobortis augue suscipit te magna et odio te dolor. Enim ad facilisis tation quis facilisis facilisis augue feugait aliquip facilisi ut hendrerit praesent facilisi. Nonummy commodo quis. In lobortis tation eros duis. Duis nulla consequat sit, minim velit duis ad diam vel odio ad. Dignissim luptatum dolor in enim accumsan wisi iusto elit dolore feugiat iusto. Te minim, tincidunt adipiscing nulla dolore, vulputate velit, et odio minim blandit nonummy ex at. Hendrerit duis nostrud magna nonummy, enim facilisi consequat ullamcorper odio, in. Ut, ullamcorper molestie duis wisi delenit nulla suscipit feugiat tincidunt et at nisl ut. Dignissim molestie qui ut illum eum minim illum consequat luptatum at illum. Te et, ea ea, molestie euismod delenit, ea nulla amet exerci feugiat eum dolore accumsan feugiat, nostrud minim duis. Facilisi illum, dolore nisl feugait consequat elit qui aliquam hendrerit ex dolor vero ullamcorper nostrud lorem, ipsum laoreet volutpat ea. Ut in luptatum dolore dolor ullamcorper. Facilisi molestie dolor feugiat illum nostrud, et vel sit et exerci velit duis volutpat vulputate nisl odio, lobortis. Enim aliquam laoreet, dignissim qui in elit minim qui. Dolore nulla at diam ea nostrud ex, tation, wisi, erat luptatum delenit adipiscing, nonummy. Consectetuer delenit nisl consequat et tincidunt. </TextBlock> <TextBlock Name="Fragment5" TextWrapping="Wrap"> <Bold>Paragraph 5</Bold> <LineBreak></LineBreak> Ullamcorper te nisl, odio, dolore accumsan, et. Nonummy facilisis, consequat ea eum sit. Dolor blandit dolor, accumsan exerci et vel vel eros et minim feugiat esse, aliquip accumsan. Lobortis consequat ullamcorper. Exerci minim quis. Eum duis et duis laoreet eu diam eros, in dolore nisl esse eum, lobortis ea consequat duis luptatum. Tincidunt quis in qui vel. Enim facilisi in dolor. Nulla duis dolor. Veniam ut nostrud, minim delenit wisi facilisis ut vel, blandit illum at feugait feugiat nostrud te, wisi in facilisis. Ad, minim ut, euismod dolore adipiscing, wisi. Consequat praesent, dignissim dignissim aliquam ullamcorper euismod eu velit hendrerit aliquip dolor dolor adipiscing, consequat lobortis feugait enim, volutpat. Minim, velit eros iriure dignissim dolor facilisis in eu feugait, commodo, luptatum dolor. Ea aliquip duis lobortis eros duis. Dolore ut feugiat nibh facilisi, diam tation, esse ad te. Feugait, odio nostrud et ut quis sed, consequat diam iusto lobortis autem vel dolor aliquip tation augue, vel. Praesent te qui facilisis et, et, vel aliquam iriure consequat augue aliquip dignissim autem quis, duis luptatum tation. Veniam praesent laoreet, magna, vel. Feugait facilisi exerci tation, blandit enim te vero tation hendrerit accumsan eu in esse laoreet exerci consectetuer. Nulla sit vero enim dolore praesent eu eros facilisis facilisis sed nulla dolor, in autem commodo quis aliquip delenit feugait. Esse ad dignissim augue nibh praesent autem vel aliquip facilisis delenit. Iusto commodo in dignissim tation eros aliquip ut veniam. In, ad consequat et hendrerit euismod veniam dolor praesent facilisi ut vel duis dignissim consequat nulla. Adipiscing, dolore consectetuer aliquam facilisi. Odio lorem ut enim lobortis lobortis augue, quis facilisi et blandit esse dignissim ea velit suscipit. Esse aliquip lobortis nulla odio dignissim exerci eros dolore, duis dignissim consectetuer, eum aliquip, consectetuer tation suscipit dignissim dolor blandit. Ullamcorper volutpat vero ut odio, consequat ut commodo, dolore in ea autem eum. Molestie, te, enim suscipit consequat delenit in, volutpat amet consequat velit elit facilisi. Duis, augue commodo lobortis, exerci, feugait quis accumsan veniam. Tincidunt, augue facilisis et dolor eros suscipit ipsum, veniam esse. Ex, autem, tation commodo dolore ut nonummy, quis nibh magna ut laoreet, iriure eu commodo dolor dolore delenit. Iusto praesent praesent lobortis et nulla iriure vulputate in hendrerit dolore sed blandit aliquip exerci veniam augue enim. Iusto dignissim autem, ut nulla amet, iriure ipsum suscipit iriure, veniam blandit quis, at vulputate nulla. Quis volutpat consequat, in suscipit ex te ut et dolore. </TextBlock> <TextBlock Name="Fragment6" TextWrapping="Wrap"> <Bold>Paragraph 6</Bold> <LineBreak></LineBreak> Et commodo, odio consequat. Esse augue odio. Tation te velit elit, accumsan veniam consectetuer nostrud vulputate magna nulla praesent ut odio lobortis vulputate, erat, laoreet qui qui. Iriure elit minim qui ullamcorper nulla at diam duis nostrud, ex tation wisi erat luptatum, delenit. Dolore in nostrud. Eros ut consequat accumsan tincidunt feugait suscipit duis nisl eros facilisis dolore. Dolore nonummy molestie qui vel duis eum. Autem vel wisi luptatum lorem ea iusto et ex ea esse illum luptatum feugiat feugait ad. Augue feugiat eros duis, amet feugait blandit odio duis feugait illum aliquip dolore at ipsum nostrud. Veniam at iusto nulla dolor, ipsum, esse, in ut wisi feugiat, consequat eu wisi vel ullamcorper euismod. Esse, blandit facilisis vulputate vel illum molestie minim, minim consequat eum at minim in luptatum dolore. Dolor ullamcorper et molestie dolor feugiat illum nostrud et vel sit accumsan iusto quis duis eu. Aliquip ut odio lobortis luptatum vel commodo luptatum luptatum vulputate ullamcorper in euismod nisl wisi sit. Blandit aliquam esse consequat, lobortis dolor vel duis dolore tation praesent esse dolore ea. Duis, elit ex, wisi, illum eum ex consectetuer dolor nulla eu nisl duis euismod eu, feugait iusto in. Ut minim laoreet ad duis diam adipiscing facilisis at augue feugait laoreet at ut quis molestie lorem et aliquam nostrud. Veniam tincidunt, nonummy et ut feugait consequat erat et minim ullamcorper, illum amet. Enim wisi dignissim minim vel esse ad minim lorem vel facilisis. Ut, et ut aliquip dolor delenit eros luptatum et feugiat illum nostrud nostrud vel in et. In qui duis consequat in vel, iusto duis, dignissim at, feugiat ullamcorper qui dolor quis odio. Nulla tation feugait, facilisi. Commodo, feugiat blandit, aliquip luptatum vel commodo luptatum luptatum. Nisl te ut nulla facilisi dignissim velit nulla accumsan. Eros, veniam nulla nibh sed. Esse eros dolore ea magna eros ad exerci vel dolor dignissim ut tation, enim molestie vulputate et enim. Feugait autem nulla eum accumsan lobortis, ut eum, praesent vero blandit quis dolore consequat veniam quis duis iriure vero hendrerit. Nisl delenit ea, hendrerit molestie accumsan augue odio facilisis eu tation odio iriure veniam et velit praesent te autem. Nostrud dolore, dignissim ut, praesent duis, ea blandit praesent. Ea exerci in nibh suscipit facilisi, ipsum suscipit, facilisis. Iusto commodo suscipit iriure autem augue augue exerci lobortis velit ut aliquip vero consectetuer ut volutpat consequat. Illum ut hendrerit iriure te illum suscipit delenit. Consequat dolore dolore accumsan in commodo ad, eu wisi commodo sed, amet nulla nulla aliquip te ea. </TextBlock> <TextBlock Name="Fragment7" TextWrapping="Wrap"> <Bold>Paragraph 7</Bold> <LineBreak></LineBreak> Enim at feugait blandit facilisis et, et, vel. Ut dolor vel duis aliquip. At vel quis, duis luptatum tation wisi praesent dolore, aliquam, vel esse te consectetuer quis in ut augue nulla. Odio minim eros vel ad in delenit, adipiscing et molestie at commodo facilisi lobortis. Amet nisl consequat eu ex iusto dolore at minim. Blandit laoreet sit tincidunt praesent illum, et lorem iusto praesent, dignissim qui aliquam ullamcorper euismod. Feugiat esse in ex dolor in elit, duis nisl feugait ad, ut ut, esse et dolor qui dolor. Hendrerit in feugiat feugait, consequat luptatum dolor ullamcorper aliquip dolore. Exerci eros duis eu ut feugiat euismod. Hendrerit, diam ullamcorper. Tincidunt eros, dolore duis in consectetuer eum, delenit consectetuer. Ea suscipit dignissim dolor blandit facilisi volutpat vero ut odio consequat ut commodo dolore in ea vel eum facilisi. Luptatum enim suscipit consequat delenit hendrerit volutpat amet consequat velit elit facilisi velit augue dolore lobortis tation illum accumsan accumsan. At nulla molestie, ea et dolor. Laoreet lobortis ipsum veniam esse accumsan autem tation commodo magna feugiat nonummy quis, euismod magna. Augue, laoreet iriure, ut commodo dolor te delenit eros praesent vulputate lobortis eum facilisis, iriure. Molestie hendrerit, hendrerit te sed blandit aliquip exerci, veniam, augue enim ad et aliquam, praesent dolore vero. Ipsum facilisis exerci autem, enim hendrerit at, ea, veniam aliquip dolore te velit, enim sed ut vel nibh duis consequat. Nisl facilisi aliquip, blandit, nulla odio dignissim. Tincidunt consectetuer nulla iriure vulputate tation. Esse dolore, exerci blandit aliquip praesent dignissim ut enim. Et accumsan commodo, nibh dolore iriure autem nulla praesent autem, et odio ad ut in dolore. Odio magna velit, eum exerci eu, augue suscipit ad delenit. Minim nulla dolore lobortis nulla odio, sed vulputate ipsum dolore duis sed. Ea eum aliquip veniam tation augue dignissim accumsan vel, eros, duis vero ut esse. Molestie autem commodo commodo dignissim ea vero quis volutpat te et, augue consequat eu in. Blandit hendrerit consequat blandit esse facilisi lobortis augue commodo molestie exerci. Vel quis hendrerit dignissim autem. Esse facilisi consectetuer wisi. Adipiscing suscipit iriure. Volutpat ex velit quis dolore minim. Et iusto consequat, euismod feugait sit, eum lorem tation vel, ad qui minim, facilisis in eu. </TextBlock> <TextBlock Name="Fragment8" TextWrapping="Wrap"> <Bold>Paragraph 8</Bold> <LineBreak></LineBreak> Erat dolor eum ad in iusto. Lobortis ea sed augue quis delenit, exerci. Facilisis dolore exerci exerci consectetuer hendrerit accumsan vulputate blandit commodo. Ea velit, illum, odio dolore blandit eros, nulla lobortis lobortis in nostrud dignissim consequat augue. Te iriure consequat nulla praesent, facilisi delenit eum duis aliquip delenit velit suscipit. Quis tincidunt ut enim amet nisl vero molestie duis, te, in, eum dolore te ullamcorper aliquip. Ipsum magna commodo et, sed ea, enim dolore iriure ea velit hendrerit facilisi, feugiat ut dolore dolore. Consequat autem odio nibh autem. Facilisis ea eros erat dignissim et. Praesent consequat dolore feugiat, duis, consequat at, vulputate ullamcorper facilisis elit feugait iusto facilisis luptatum. Dolor vel eum eu at feugait eum, et diam ut, et in lorem blandit et dolore delenit in sit. Tation wisi ipsum ad dolor tincidunt duis odio molestie amet esse odio ex nisl adipiscing elit et, minim. Volutpat nostrud in, magna feugait nostrud lobortis dolor. Hendrerit in duis ea nonummy nonummy minim et in ullamcorper molestie feugiat wisi ullamcorper ex vulputate feugiat. Eu ut feugait, tincidunt molestie, nostrud qui quis, luptatum euismod at eros luptatum duis, tation aliquam illum. Te ut illum illum qui delenit ullamcorper duis dolore vel iusto duis lorem. Esse wisi laoreet nostrud minim feugiat aliquip luptatum vel nisl nulla volutpat dolor blandit. Feugiat veniam commodo amet autem blandit odio duis, autem aliquam nulla dolore vero. In esse consequat. Nonummy tation facilisi, sed ipsum augue praesent, iriure dolor, nulla. Luptatum facilisi et consectetuer suscipit dolore et blandit enim nibh consectetuer. Nostrud duis in veniam eros, eum ad veniam in aliquip dolore dignissim. Ex quis consequat sed nulla dolore exerci, exerci et hendrerit accumsan exerci velit commodo volutpat velit ut odio dolore velit. Luptatum nulla, lobortis lobortis in elit dignissim, lobortis vel nulla ad consequat commodo praesent facilisis consequat, enim, volutpat. Vel delenit velit, nibh exerci delenit ut dolor accumsan tincidunt autem suscipit, duis eu veniam. Nostrud dolore, te nonummy laoreet. Vero te commodo eum dignissim magna enim. Duis hendrerit duis consequat velit enim, at ea nulla nulla ad iriure blandit ut iriure exerci vero, nostrud. Feugait tincidunt nonummy et accumsan autem dolor erat. Vel veniam augue dolore amet lobortis enim suscipit, minim, magna, ut. In dignissim ipsum consectetuer enim dignissim exerci ut, nulla sed, delenit veniam, aliquip exerci ut aliquam praesent, exerci consectetuer. In quis vulputate blandit commodo duis nibh te. Ad dolore suscipit vero nulla suscipit. Vel sed velit odio consequat delenit autem. </TextBlock> <TextBlock Name="Fragment9" TextWrapping="Wrap"> <Bold>Paragraph 9</Bold> <LineBreak></LineBreak> Consequat tation ut ex luptatum qui laoreet, ad. Wisi molestie amet feugiat, eum nibh exerci in commodo, nostrud lobortis ut blandit odio tincidunt wisi. Eros et ea nonummy duis eum duis feugait blandit, duis, accumsan exerci enim facilisi dignissim te. Iusto dolore vulputate, et velit dolore, delenit consequat enim luptatum. Ad autem illum, suscipit volutpat exerci, elit praesent lorem, magna dolor elit. Ex consectetuer ut hendrerit, exerci delenit odio et consequat, vero, eros enim dolore. Et ut duis ea ea odio facilisi at veniam erat dolore accumsan, delenit, ut dolore sed vero. Vel molestie lobortis velit nulla suscipit delenit ea. Augue nostrud magna veniam in odio duis tincidunt nulla amet iriure ipsum. Feugiat eum minim blandit veniam enim. Iriure feugiat nulla volutpat consequat in, ullamcorper nulla dolore nisl accumsan vel nulla, at ex tincidunt. Quis in qui ullamcorper et ex ut, blandit. Hendrerit minim dolore iusto nonummy, euismod, vulputate in praesent lorem ut. Te duis dignissim vel wisi erat, eu vulputate. Diam eum odio, lorem feugiat. Blandit dolore nisl duis nostrud eum exerci nisl. Nibh suscipit at esse illum volutpat nisl nonummy nulla elit et vulputate, facilisis dolore at iusto et. Consequat tincidunt veniam elit molestie dolor vel, ullamcorper duis duis ipsum, ut nostrud delenit feugait, laoreet dolore, dolor. Eu consequat et feugait illum eum molestie delenit, nisl, iusto duis minim ullamcorper blandit nostrud, feugiat blandit esse. Facilisis dolore tation feugait quis. Dolore qui wisi duis at et. Consectetuer et lobortis dolor quis esse nostrud, amet, ullamcorper consequat at ut vel, nostrud euismod at. Diam laoreet, elit feugiat ipsum sit duis, ex, eros praesent. Dolor nisl iusto facilisis iriure delenit nonummy in, consequat diam nisl aliquip. Iriure vulputate duis ad ad, et aliquam praesent eu minim vel facilisis molestie autem in nonummy ad lorem qui. Hendrerit eu feugait esse iusto molestie eu vel illum sit vel feugait eum ex nisl wisi ullamcorper dignissim delenit eros. Quis et qui adipiscing iusto ex vulputate ullamcorper illum dignissim dolor nisl eum. Suscipit minim feugiat ullamcorper, dolore ut commodo, erat in at vel adipiscing ut feugait iusto duis dolore ex. Dolore iusto esse eu ex vel ad ex feugait vel nulla. Praesent ut ullamcorper esse luptatum dolor aliquam. Erat sed vulputate. Nonummy aliquip in. Facilisi augue ullamcorper nostrud vel eros. Enim ad eu esse, aliquip et lorem commodo ullamcorper, lorem minim. Velit et consequat et augue laoreet eu diam eros, in dolore nisl esse eum. </TextBlock> <TextBlock Name="Fragment10" TextWrapping="Wrap"> <Bold>Paragraph 10</Bold> <LineBreak></LineBreak> Ex accumsan consequat hendrerit dolore, tincidunt tation. Dignissim eum amet wisi odio nostrud te feugiat elit aliquip minim, ut velit volutpat magna blandit, blandit amet sed. Illum blandit suscipit ea vero nonummy. Ad molestie duis ut in eum dolore, illum ullamcorper luptatum consequat magna. Lobortis et sed ea enim dolore ut. Praesent elit amet feugiat feugiat ut dolore. Vel feugiat nulla odio. Augue feugait veniam, dolore minim, feugait nonummy, elit at. Et duis facilisi magna vero enim nostrud, consequat ipsum, odio volutpat, exerci wisi ut nibh accumsan wisi nulla. Autem volutpat vel et suscipit nisl consectetuer blandit. Te qui, veniam illum molestie. Adipiscing veniam dolor eum at in. Ad aliquip, ea in, esse, et delenit iusto nulla dolore exerci exerci eum minim accumsan velit blandit magna autem. Eu dolore sed feugait praesent duis ea vel nibh dignissim exerci, in suscipit consequat, ut, enim suscipit facilisis vulputate. Molestie augue iriure autem ut ut exerci lobortis velit aliquip, dolore vero veniam, aliquip duis consequat vero dolore. Vulputate iriure aliquam dolore, suscipit delenit, vel commodo facilisis. Ut tation commodo iriure, eu enim nulla exerci veniam nulla nulla. Minim te ut nulla volutpat dignissim blandit. Nostrud in ea veniam volutpat suscipit exerci vero eros dolore ut commodo dolor. At vulputate augue enim sed autem. Eum enim aliquip lobortis et eum. Qui vero, autem, eum accumsan, consequat ut quis nibh, iriure blandit quis nulla. Tation, vulputate velit, quis dignissim veniam, blandit nibh facilisis vero blandit dolore. Vel magna nonummy, enim facilisi consequat vel odio, vulputate exerci augue ut, duis accumsan. Facilisis nulla suscipit ut ut et at eu ut praesent molestie qui. Duis dolore iriure veniam illum dolor delenit. Duis magna odio accumsan, ea commodo, molestie dolore, delenit, commodo. Dolor, amet exerci nulla eum dolore accumsan nulla praesent dignissim. Facilisis nulla dolore dolore te autem eros sed lobortis, vero hendrerit facilisi in vero suscipit. Nisl, ipsum ipsum, nulla volutpat ea. Luptatum eum nibh delenit enim esse duis vulputate eum ut suscipit consectetuer consectetuer. Et hendrerit accumsan exerci velit dolore volutpat vulputate ut odio dolore vulputate vero nulla, suscipit qui. Laoreet elit odio qui ullamcorper nulla at consequat ea praesent ex consequat, wisi, erat luptatum delenit. In, nibh exerci delenit ut dolor accumsan tincidunt nulla suscipit, duis nisl veniam enim dolore, te nonummy. Consequat suscipit te ea eum odio magna wisi ut. </TextBlock> </StackPanel> </ScrollViewer></Page>FragmentNotFoundPage.xaml===================<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Title="FragmentNotFoundPage" > <Grid> <TextBlock>Fragment not found.</TextBlock> </Grid></Page>MainWindow.xaml============<Window x:Class="FragmentNavigationSample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Fragment Navigation Sample" Height="600" Width="500" > <DockPanel> <!--Address bar--> <DockPanel DockPanel.Dock="Top"> <Label DockPanel.Dock="Left">Address:</Label> <Button DockPanel.Dock="Right" Name="goButton" Click="goButton_Click">Go</Button> <TextBox Name="addressTextBox">DocumentPage.xaml#Fragment5</TextBox> </DockPanel> <Frame Name="browserFrame" FragmentNavigation="browserFrame_FragmentNavigation" /> </DockPanel></Window>MainWindow.xaml.cs==============using System;using System.Windows;using System.Windows.Controls;using System.Windows.Navigation;namespace FragmentNavigationSample{ public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } void goButton_Click(object sender, RoutedEventArgs e) { // Navigate to Uri, with or with out fragment // NOTE - Uri with fragment looks like "DocumentPage.xaml#Fragment5" Uri uri = new Uri(this.addressTextBox.Text, UriKind.RelativeOrAbsolute); this.browserFrame.Navigate(uri); } void browserFrame_FragmentNavigation(object sender, FragmentNavigationEventArgs e) { object content = ((ContentControl)e.Navigator).Content; FrameworkElement fragmentElement = LogicalTreeHelper.FindLogicalNode((DependencyObject)content, e.Fragment) as FrameworkElement; if (fragmentElement != null) { // Go to fragment if found fragmentElement.BringIntoView(); } else { // Redirect to error page this.browserFrame.Navigate(new Uri("FragmentNotFoundPage.xaml", UriKind.Relative)); } e.Handled = true; } }}



Re: Windows Presentation Foundation (WPF) FatalExceptionEngineError was detected

Chango V. - MSFT

I changed the hard-coded fragment URI in the sample to a non-existent one, compiled, and then I get the "Fragment not found" page. No crash.

Try to get a first-chance exception. How are you compiling the application Are you using the final release of WPF






Re: Windows Presentation Foundation (WPF) FatalExceptionEngineError was detected

eric shih

Well, I gave you wrong instruction to reproduce the fatal error.
It's my fault. It won't give you an fatal error when you change the URI to a non-existent one for the first time you run this program.
Try to run this program via its default URI then change it to a non-existent one. ex: DocumentPage.xaml#Fragment.
The release I installed is Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP.

.NET 3.0 is really powerful, and I'm glad you guys efforts in making it even more perfect. Hope to hear from you soon and thanks for the help.

Regards,
Eric




Re: Windows Presentation Foundation (WPF) FatalExceptionEngineError was detected

Chango V. - MSFT

Unfortunately, the exact scenario you are describing is hitting a known bug. Shortly after that, an internal invariant is violated and we call Environment.FailFast(), which, also unfortunately, shows this generic & scary ExecutionEngineException. (The Windows event log will show more info, in the Application group.)

The problem is this: When a bad fragment name is encountered, browserFrame_FragmentNavigation() navigates to FragmentNotFoundPage.xaml. Well, this is actually a nested navigation (the framework is still in the middle of handling the first fragment navigation), and the right cleanup internally doesn't take place.

The upshot: A new navigation should not be started from within a FragmentNavigation event handler. (The other navigation callbacks, like Navigated & LoadCompleted, are okay.)

Thank you for reporting this issue.






Re: Windows Presentation Foundation (WPF) FatalExceptionEngineError was detected

Michael.Weinhardt - MSFT

Hi,

I own the sample and associated docs. I could also replicate the bug you mention.

I've updated the sample [1]. Essentially, if the fragment is not found, the FragmentNavigation event handler creates an async dispatcher work item to navigate to the error page.

With this solution, I could not replicate the problem.

Of course, I'm updating the SDK as we speak. Let me know if this doesn't work for you.

Cheers,

Michael

[1]

public partial class MainWindow : Window

{

public MainWindow()

{

InitializeComponent();

}

void goButton_Click(object sender, RoutedEventArgs e)

{

// Navigate to Uri, with or with out fragment

// NOTE - Uri with fragment looks like "DocumentPage.xaml#Fragment5"

Uri uri = new Uri(this.addressTextBox.Text, UriKind.RelativeOrAbsolute);

this.browserFrame.Navigate(uri);

}

//<SnippetFEBringIntoView>

void browserFrame_FragmentNavigation(object sender, FragmentNavigationEventArgs e)

{

object content = ((ContentControl)e.Navigator).Content;

FrameworkElement fragmentElement = LogicalTreeHelper.FindLogicalNode((DependencyObject)content, e.Fragment) as FrameworkElement;

if (fragmentElement != null)

{

// Go to fragment if found

fragmentElement.BringIntoView();

}

else

{

// Redirect to error page

// Note - You can't navigate from within a FragmentNavigation event handler,

// hence creation of an asycn dispatcher work item

this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new NavigationRedirect(FragmentNotFoundNavigationRedirect));

}

e.Handled = true;

}

delegate void NavigationRedirect();

void FragmentNotFoundNavigationRedirect()

{

this.browserFrame.Navigate(new Uri("FragmentNotFoundPage.xaml", UriKind.Relative));

}

//</SnippetFEBringIntoView>

}