dnfield / flutter_svg

SVG parsing, rendering, and widget library for Flutter
MIT License
1.64k stars 449 forks source link

crash on iOS when svg in list #1078

Closed mustafa-707 closed 1 week ago

mustafa-707 commented 2 weeks ago

Hello ,

I'm facing this issue is cause a crash on iOS when i try to show my svgs in list , column , row or wrap widget

for example :

import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';

const urls = [
  'https://ik.imagekit.io/mashkor/general/general_pickup_en.svg',
  'https://ik.imagekit.io/mashkor/general/general_summer_en.svg',
  "https://ik.imagekit.io/mashkor/general/newsfeeds_powder_en.svg"
];

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Wrap(
          children: List.generate(
            urls.length,
            (index) => SvgPicture.network(
              urls[index],
              fit: BoxFit.cover,
            ),
          ),
        ),
      ),
    );
  }
}

its only when using flutter 3.22.1 and above

tested on iOS 17.4 and 17.5 simulator and real devices

is our Svgs is bad or is caused from flutter_svg

Thank you

kamranbekirovyz commented 2 weeks ago

Same here. This code block started causing crash on iOS Simulator on Flutter v3.22..1: Screenshot 2024-06-12 at 20 55 22

reinhardt-s commented 2 weeks ago

I experienced the same behaviour. It seems to happen only with specific svg files. Some 17 of 18 are loading just fine but one specific image let's the app crash. XML is valid.

Stack(
    children: [
        Positioned(
          bottom: 20,
          left: 0,
          child: SvgPicture.asset(
             _progressController.getSVGToLesson(lessonNumber: lessonNumber),
          ),
       ),
    ]
)

I can provide a minimum SVG that will break. The culprit is the path in group 1395

<svg xmlns="http://www.w3.org/2000/svg" width="86" height="86" viewBox="0 0 86 86">
  <g id="Group_4246" data-name="Group 4246" transform="translate(-250 -313)">
    <g id="Group_24" data-name="Group 24" transform="translate(206 -26)">
      <ellipse id="Ellipse_279" data-name="Ellipse 279" cx="35.5" cy="35" rx="35.5" ry="35" transform="translate(50 355)" fill="#1d43ca"/>
    </g>

    <g id="Group_1102" data-name="Group 1102" transform="translate(2 -8)">
    </g>
    <g id="layer1" transform="translate(151.834 -6.666)">
      <g id="Group_1399" data-name="Group 1399" transform="translate(131.192 342.263)">

        <!-- This group breaks i -->
        <g id="Group_1395" data-name="Group 1395" transform="translate(0.342 11.324)">
          <path id="Path_2556" data-name="Path 2556" d="M217.547,583.222h0Zm-1.348,3.909a.044.044,0,0,0,.035-.023h0c.013-.024.06-.121.112-.233h0a2.673,2.673,0,0,1,.55-.8h0a3.188,3.188,0,0,1,1.142-.711h0a.548.548,0,0,0,.261-.18h0a1.224,1.224,0,0,0,.313-.907h0a1.152,1.152,0,0,0-.3-.731h0a1.01,1.01,0,0,0-.7-.318h-.022c.01-.013.023-.029.037-.045h0a1.567,1.567,0,0,0,.251-.473h0a.966.966,0,0,0-.112-.758,1.623,1.623,0,0,0-.79-.586h0a1.95,1.95,0,0,0-.7-.137,2.66,2.66,0,0,0-.653.095h0a2.684,2.684,0,0,1-.661.094,1.7,1.7,0,0,1-.263-.02h0a2.062,2.062,0,0,1-.663-.206h0l-.192-.091a.036.036,0,0,0-.043.009l-.053.061h0a2.039,2.039,0,0,0-.276.52h0a1.932,1.932,0,0,0,.509,1.956h0a1.931,1.931,0,0,0,1.268.619h0c.051,0,.1.007.128.01h0l-.045.059h0a2.173,2.173,0,0,0-.416.917,2.225,2.225,0,0,0,.011.848h0a1.356,1.356,0,0,0,1.143,1.007h0l.122.022Z" transform="translate(-213.383 -581.097)"/>
        </g>

      </g>

      <g id="Group_1404" data-name="Group 1404" transform="translate(125.59 337.066)">
        <g id="Group_1401" data-name="Group 1401" transform="translate(11.041 45.251)">
          <path id="Path_2561" data-name="Path 2561" d="M299.554,1005.48l-10.869.035.006,1.812,10.869-.035-.006-1.812" transform="translate(-288.685 -1005.48)" fill="#231f20"/>
        </g>
      </g>
    </g>
  </g>
</svg>
Flutter 3.22.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 761747bfc5 (7 days ago) • 2024-06-05 22:15:13 +0200
Engine • revision edd8546116
Tools • Dart 3.4.3 • DevTools 2.34.3

Tested on iOS 17.2, 17.5 iPhone 15, iPhone 15 Pro Max

DevanshiGor commented 2 weeks ago

I am facing same issue Regardless of any specific svgImage.

anchao-lu commented 2 weeks ago

same for one specific svgimage

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1689828614673" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2151" xmlns:xlink="http://www.w3.org/1999/xlink" width="90" height="90"><path d="M361.472 120.32zM120.32 361.472h241.152V120.32H120.32zM361.472 0zM0 0h481.792v481.792H0z m1024 542.208v120.32h-120.32v-120.32z m-241.152 361.472h-120.32v-241.152h120.32z m0 0h120.832v-120.832H1024V1024h-241.152z m-481.792-60.416H180.736v-120.32h120.32zM903.68 120.32z m-241.152 0v241.152h241.152V120.32z m-301.056 421.888zM481.792 1024H0v-481.792h481.792zM301.056 301.056H180.736V180.736h120.32zM1024 0z m0 0v481.792h-481.792V0z m-361.472 903.68V1024h-120.32v-120.32z m60.416-602.624V180.736h120.32v120.32z m-361.472 361.472z m-241.152 0v241.152h241.152v-241.152z m542.208-120.32v120.32h-120.32v-120.32z" fill="#B2B2B2" p-id="2152"></path></svg>

flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.1, on macOS 14.5 23F79 darwin-arm64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] VS Code (version 1.90.1)
[✓] Connected device (4 available)
    ! Error: Browsing on the local area network for qiPhone. Ensure the device is unlocked and attached with a cable or
      associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources

• No issues found!

Xcode

xcode crash
jonahwilliams commented 1 week ago

Duplicate of https://github.com/flutter/flutter/issues/149309

You all really need to file flutter bugs in the flutter repo