xamarin/Xamarin.Forms

[iOS] App crashes with SIGSEV when tapping the "More" tab when a page from the "More" tab is already selected.

开放

#3,358 创建于 2018年7月20日

 (3 条评论) (1 个反应) (0 位负责人)C# (1,926 个派生)batch import
e/6 :clock6:help wantedi/highinactivep/iOS 🍎t/bug :bug:up-for-grabs

仓库指标

星标
 (5,644 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

Description

Copied from 3 year old bugzilla bug: https://bugzilla.xamarin.com/show_bug.cgi?id=28379#c3

Confirmed this is still an issue with Forms version 3.1.0.637273

With a TabbedPage as the main page, and having enough child pages of the TabbedPage so there is a "More" tab, tapping the "More" tab when a page from the "More" tab is already selected causes a crash with the following stack trace:

critical: Stacktrace:
critical:   at <unknown> <0xffffffff>
critical:   at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <IL 0x00095, 0xffffffff>
critical:   at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:62
critical:   at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:46
critical:   at TestTabbedPage.iOS.Application.Main (string[]) [0x00008] in /Users/apple/Downloads/TestTabbedPage/TestTabbedPage/TestTabbedPage.iOS/Main.cs:13
critical:   at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff>
critical: 
Native stacktrace:
critical: 
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

This is only when each child page of the TabbedPage is wrapped in a NavigationPage. Removing the NavigationPage wrapper for the child pages (specifically the child pages in the "More" tab) does resolve this issue.

Steps to Reproduce

  1. Load attached test project and run to an iOS simulator or device.

  2. Tap the "More" tab.

  3. Select a page from the list.

  4. Tap the "More" tab again.

Expected Behavior

The list of pages in the "More" tab will be displayed again

Actual Behavior

The app crashes with the above SIGSEV error

Basic Information

  • Version with issue: 3.1.0.637273
  • Last known good version: None. Bug initially filed against 1.4.1-Pre1
  • IDE: Visual Studio for Mac
  • Platform Target Frameworks:
    • iOS: 11.12.0.4

Reproduction Link

TabbedPageTest.zip

贡献者指南