Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unhandled Exception: FormatException: Not a properly formatted version string #12

Closed
jjvillavicencio opened this issue Nov 11, 2019 · 13 comments
Assignees
Labels
bug Something isn't working Resolved
Milestone

Comments

@jjvillavicencio
Copy link

Hi, how can I solve this error when implementing the plugin, I did tests and the string that cannot be parse is samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXU2DRB6:user/release-keys

I/flutter (20116): Version: samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXU2DRB6:user/release-keys E/flutter (20116): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Not a properly formatted version stringE/flutter (20116): #0 Version.parse (package:version/version.dart:134)

@larryaasen larryaasen self-assigned this Nov 12, 2019
@larryaasen larryaasen added the bug Something isn't working label Nov 12, 2019
larryaasen added a commit that referenced this issue Nov 12, 2019
…Info.version.baseOS) when it is not a valid Semantic Version as defined here http://semver.org/.
@larryaasen larryaasen added this to the 0.6.0 milestone Nov 12, 2019
@larryaasen
Copy link
Owner

I just published an update to upgrader v0.6.0 that should handle this version string. Since that version string is not a valid semantic version, it will be ignored.

@ehsnaskri
Copy link

I am still getting this error.

@svyazist2005
Copy link

svyazist2005 commented Jun 2, 2021

I'm still getting this error on IOS
environment:
sdk: ">=2.1.0 <3.0.0"

dependencies:
upgrader: ^2.8.3

flutter: [2021-06-02 15:45:00.237040 | ConsoleHandler | INFO] ============================== CATCHER LOG ==============================
flutter: [2021-06-02 15:45:00.238442 | ConsoleHandler | INFO] Crash occured on 2021-06-02 15:45:00.230994
flutter: [2021-06-02 15:45:00.239356 | ConsoleHandler | INFO]
flutter: [2021-06-02 15:45:00.242177 | ConsoleHandler | INFO] ------- DEVICE INFO -------
flutter: [2021-06-02 15:45:00.245357 | ConsoleHandler | INFO] model: iPhone
flutter: [2021-06-02 15:45:00.246494 | ConsoleHandler | INFO] isPhysicalDevice: false
flutter: [2021-06-02 15:45:00.248929 | ConsoleHandler | INFO] name: iPhone SE (2nd generation)
flutter: [2021-06-02 15:45:00.252155 | ConsoleHandler | INFO] identifierForVendor: 9C3ACF81-1DDC-4631-91FB-A0FD87EE3ED2
flutter: [2021-06-02 15:45:00.255890 | ConsoleHandler | INFO] localizedModel: iPhone
flutter: [2021-06-02 15:45:00.259004 | ConsoleHandler | INFO] systemName: iOS
flutter: [2021-06-02 15:45:00.259937 | ConsoleHandler | INFO] utsnameVersion: Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64
flutter: [2021-06-02 15:45:00.261076 | ConsoleHandler | INFO] utsnameRelease: 19.6.0
flutter: [2021-06-02 15:45:00.261722 | ConsoleHandler | INFO] utsnameMachine: x86_64
flutter: [2021-06-02 15:45:00.262373 | ConsoleHandler | INFO] utsnameNodename: MacForFutures-MacBook-Pro.local
flutter: [2021-06-02 15:45:00.263864 | ConsoleHandler | INFO] utsnameSysname: Darwin
flutter: [2021-06-02 15:45:00.264847 | ConsoleHandler | INFO]
flutter: [2021-06-02 15:45:00.266948 | ConsoleHandler | INFO] ------- APP INFO -------
flutter: [2021-06-02 15:45:00.267622 | ConsoleHandler | INFO] environment: debug
flutter: [2021-06-02 15:45:00.268517 | ConsoleHandler | INFO] version: 2.0.7
flutter: [2021-06-02 15:45:00.269169 | ConsoleHandler | INFO] appName: null
flutter: [2021-06-02 15:45:00.270696 | ConsoleHandler | INFO] buildNumber: 29
flutter: [2021-06-02 15:45:00.273184 | ConsoleHandler | INFO] packageName: com.mixsport.app
flutter: [2021-06-02 15:45:00.273897 | ConsoleHandler | INFO]
flutter: [2021-06-02 15:45:00.275281 | ConsoleHandler | INFO] ---------- ERROR ----------
flutter: [2021-06-02 15:45:00.275838 | ConsoleHandler | INFO] FormatException: Not a properly formatted version string
flutter: [2021-06-02 15:45:00.276275 | ConsoleHandler | INFO]
flutter: [2021-06-02 15:45:00.278361 | ConsoleHandler | INFO] ------- STACK TRACE -------
flutter: [2021-06-02 15:45:00.279911 | ConsoleHandler | INFO] #0 Version.parse (package:version/version.dart:139:7)
flutter: [2021-06-02 15:45:00.281034 | ConsoleHandler | INFO] #1 Upgrader.isUpdateAvailable (package:upgrader/src/upgrader.dart:374:39)
flutter: [2021-06-02 15:45:00.282589 | ConsoleHandler | INFO] #2 Upgrader.shouldDisplayUpgrade (package:upgrader/src/upgrader.dart:319:10)
flutter: [2021-06-02 15:45:00.283273 | ConsoleHandler | INFO] #3 Upgrader.checkVersion (package:upgrader/src/upgrader.dart:279:29)
flutter: [2021-06-02 15:45:00.285031 | ConsoleHandler | INFO] #4 UpgradeAlert.build. (package:upgrader/src/upgrade_alert.dart:64:24)
flutter: [2021-06-02 15:45:00.285794 | ConsoleHandler | INFO] #5 _FutureBuilderState.build (package:flutter/src/widgets/async.dart:751:55)
flutter: [2021-06-02 15:45:00.286446 | ConsoleHandler | INFO] #6 StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28)
flutter: [2021-06-02 15:45:00.287200 | ConsoleHandler | INFO] #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
flutter: [2021-06-02 15:45:00.287819 | ConsoleHandler | INFO] #8 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
flutter: [2021-06-02 15:45:00.288177 | ConsoleHandler | INFO] #9 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
flutter: [2021-06-02 15:45:00.288610 | ConsoleHandler | INFO] #10 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
flutter: [2021-06-02 15:45:00.288862 | ConsoleHandler | INFO] #11 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
flutter: [2021-06-02 15:45:00.289234 | ConsoleHandler | INFO] #12 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
flutter: [2021-06-02 15:45:00.289605 | ConsoleHandler | INFO] #13 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
flutter: [2021-06-02 15:45:00.289960 | ConsoleHandler | INFO] #14 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
flutter: [2021-06-02 15:45:00.290369 | ConsoleHandler | INFO] #15 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
flutter: [2021-06-02 15:45:00.290804 | ConsoleHandler | INFO] #16 _rootRun (dart:async/zone.dart:1190:13)
flutter: [2021-06-02 15:45:00.291800 | ConsoleHandler | INFO] #17 _CustomZone.run (dart:async/zone.dart:1093:19)
flutter: [2021-06-02 15:45:00.292502 | ConsoleHandler | INFO] #18 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
flutter: [2021-06-02 15:45:00.293145 | ConsoleHandler | INFO] #19 _invoke (dart:ui/hooks.dart:251:10)
flutter: [2021-06-02 15:45:00.293551 | ConsoleHandler | INFO] #20 _drawFrame (dart:ui/hooks.dart:209:3)
flutter: [2021-06-02 15:45:00.293842 | ConsoleHandler | INFO]
flutter: [2021-06-02 15:45:00.294893 | ConsoleHandler | INFO] ==

@larryaasen
Copy link
Owner

larryaasen commented Jun 3, 2021

@svyazist2005 Can you enabled logging with this: debugLogging: true, and include the upgrader log here?

@svyazist2005
Copy link

@svyazist2005 Can you enabled logging with this: debugLogging: true, and include the upgrader log here?

It does does not differ much, anyway please check below:


Running Xcode build...
Xcode build done. 98.4s
Waiting for iPhone SE (2nd generation) to report its views... 5ms
Syncing files to device iPhone SE (2nd generation)...
flutter: [2021-06-04 19:17:50.364057 | Catcher | FINE] Using debug config

flutter: [2021-06-04 19:17:50.394683 | Catcher | FINE] Catcher configured successfully.

flutter: Orientation.portrait

flutter: 375.0

flutter: 667.0

flutter: 3.75

flutter: 6.67

flutter: upgrader: build UpgradeAlert

flutter: main page refresh

flutter: read key: launchedAtFirtsTime

flutter: ## reading authentication state

flutter: read Secure Storage

flutter: read Secure Storage

flutter: read Secure Storage

flutter: read key: locale

flutter: saved locale

flutter: uk

flutter: String

flutter: read key: notFirstLaunch

flutter: not first launch

flutter: upgrader: package info packageName: com.mixsport.app

flutter: upgrader: package info version: 2.0.7

flutter: upgrader: countryCode: US

flutter: read key: userName

flutter: read key: userId

flutter: ## not authenticated

flutter: checkConnection connected

flutter: fetchFavorites

flutter: getCityName(bloc).toUpperCase()

flutter:

flutter: getCityName(bloc).toUpperCase()

flutter:

flutter: connected
Syncing files to device iPhone SE (2nd generation)... 1,590ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).
An Observatory debugger and profiler on iPhone SE (2nd generation) is available at: http://127.0.0.1:61922/2L4tz5nC6Ws=/
flutter: [2021-06-04 19:17:56.334268 | Catcher | INFO] Setup localization lazily!
flutter: [2021-06-04 19:17:56.355864 | ConsoleHandler | INFO] ============================== CATCHER LOG ==============================
flutter: [2021-06-04 19:17:56.357943 | ConsoleHandler | INFO] Crash occured on 2021-06-04 19:17:56.340968
flutter: [2021-06-04 19:17:56.358746 | ConsoleHandler | INFO]
flutter: [2021-06-04 19:17:56.361113 | ConsoleHandler | INFO] ------- DEVICE INFO -------
flutter: [2021-06-04 19:17:56.370055 | ConsoleHandler | INFO] model: iPhone
flutter: [2021-06-04 19:17:56.371750 | ConsoleHandler | INFO] isPhysicalDevice: false
flutter: [2021-06-04 19:17:56.372520 | ConsoleHandler | INFO] name: iPhone SE (2nd generation)
flutter: [2021-06-04 19:17:56.373381 | ConsoleHandler | INFO] identifierForVendor: CA363EB6-EF7C-4E38-9447-C01EB1D5EAE7
flutter: [2021-06-04 19:17:56.376119 | ConsoleHandler | INFO] localizedModel: iPhone
flutter: [2021-06-04 19:17:56.378643 | ConsoleHandler | INFO] systemName: iOS
flutter: [2021-06-04 19:17:56.383082 | ConsoleHandler | INFO] utsnameVersion: Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64
flutter: [2021-06-04 19:17:56.384256 | ConsoleHandler | INFO] utsnameRelease: 19.6.0
flutter: [2021-06-04 19:17:56.385429 | ConsoleHandler | INFO] utsnameMachine: x86_64
flutter: [2021-06-04 19:17:56.386768 | ConsoleHandler | INFO] utsnameNodename: MacForFutures-MacBook-Pro.local
flutter: [2021-06-04 19:17:56.387813 | ConsoleHandler | INFO] utsnameSysname: Darwin
flutter: [2021-06-04 19:17:56.389431 | ConsoleHandler | INFO]
flutter: [2021-06-04 19:17:56.392555 | ConsoleHandler | INFO] ------- APP INFO -------
flutter: [2021-06-04 19:17:56.393960 | ConsoleHandler | INFO] environment: debug
flutter: [2021-06-04 19:17:56.394913 | ConsoleHandler | INFO] version: 2.0.7
flutter: [2021-06-04 19:17:56.395620 | ConsoleHandler | INFO] appName: null
flutter: [2021-06-04 19:17:56.396395 | ConsoleHandler | INFO] buildNumber: 29
flutter: [2021-06-04 19:17:56.397606 | ConsoleHandler | INFO] packageName: com.mixsport.app
flutter: [2021-06-04 19:17:56.399120 | ConsoleHandler | INFO]
flutter: [2021-06-04 19:17:56.401423 | ConsoleHandler | INFO] ---------- ERROR ----------
flutter: [2021-06-04 19:17:56.403335 | ConsoleHandler | INFO] FormatException: Not a properly formatted version string
flutter: [2021-06-04 19:17:56.404613 | ConsoleHandler | INFO]
flutter: [2021-06-04 19:17:56.407134 | ConsoleHandler | INFO] ------- STACK TRACE -------
flutter: [2021-06-04 19:17:56.408933 | ConsoleHandler | INFO] #0 Version.parse (package:version/version.dart:139:7)
flutter: [2021-06-04 19:17:56.411017 | ConsoleHandler | INFO] #1 Upgrader.isUpdateAvailable (package:upgrader/src/upgrader.dart:339:39)
flutter: [2021-06-04 19:17:56.412587 | ConsoleHandler | INFO] #2 Upgrader.shouldDisplayUpgrade (package:upgrader/src/upgrader.dart:292:10)
flutter: [2021-06-04 19:17:56.413408 | ConsoleHandler | INFO] #3 Upgrader.checkVersion (package:upgrader/src/upgrader.dart:265:11)
flutter: [2021-06-04 19:17:56.415837 | ConsoleHandler | INFO] #4 UpgradeAlert.build. (package:upgrader/src/upgrade_alert.dart:336:24)
flutter: [2021-06-04 19:17:56.416625 | ConsoleHandler | INFO] #5 _FutureBuilderState.build (package:flutter/src/widgets/async.dart:751:55)
flutter: [2021-06-04 19:17:56.417940 | ConsoleHandler | INFO] #6 StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28)
flutter: [2021-06-04 19:17:56.421153 | ConsoleHandler | INFO] #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
flutter: [2021-06-04 19:17:56.423116 | ConsoleHandler | INFO] #8 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
flutter: [2021-06-04 19:17:56.424419 | ConsoleHandler | INFO] #9 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
flutter: [2021-06-04 19:17:56.425239 | ConsoleHandler | INFO] #10 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
flutter: [2021-06-04 19:17:56.426094 | ConsoleHandler | INFO] #11 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
flutter: [2021-06-04 19:17:56.427079 | ConsoleHandler | INFO] #12 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
flutter: [2021-06-04 19:17:56.427692 | ConsoleHandler | INFO] #13 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
flutter: [2021-06-04 19:17:56.428298 | ConsoleHandler | INFO] #14 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
flutter: [2021-06-04 19:17:56.429428 | ConsoleHandler | INFO] #15 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
flutter: [2021-06-04 19:17:56.430292 | ConsoleHandler | INFO] #16 _rootRun (dart:async/zone.dart:1190:13)
flutter: [2021-06-04 19:17:56.431059 | ConsoleHandler | INFO] #17 _CustomZone.run (dart:async/zone.dart:1093:19)
flutter: [2021-06-04 19:17:56.432025 | ConsoleHandler | INFO] #18 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
flutter: [2021-06-04 19:17:56.433314 | ConsoleHandler | INFO] #19 _invoke (dart:ui/hooks.dart:251:10)
flutter: [2021-06-04 19:17:56.435786 | ConsoleHandler | INFO] #20 _drawFrame (dart:ui/hooks.dart:209:3)
flutter: [2021-06-04 19:17:56.437168 | ConsoleHandler | INFO]
flutter: [2021-06-04 19:17:56.439087 | ConsoleHandler | INFO] ======================================================================
flutter: [2021-06-04 19:17:56.504221 | Catcher | INFO] Report result: true

@larryaasen
Copy link
Owner

@svyazist2005 The log is missing this line which was added in version 2.8.1:

upgrader: package info appName:

It would normally be between these lines like this:

upgrader: package info packageName: com.mixsport.app
upgrader: package info appName:
upgrader: package info version: 2.0.7

Please check your pubspec.yaml file for the version of upgrader you are using and list that here in a comment. Make sure you are using version 2.8.3 or later.

@svyazist2005
Copy link

@svyazist2005 The log is missing this line which was added in version 2.8.1:

upgrader: package info appName:

It would normally be between these lines like this:

upgrader: package info packageName: com.mixsport.app
upgrader: package info appName:
upgrader: package info version: 2.0.7

Please check your pubspec.yaml file for the version of upgrader you are using and list that here in a comment. Make sure you are using version 2.8.3 or later.

I'm using upgrader: ^2.8.3

@larryaasen
Copy link
Owner

@svyazist2005 What does the pubspec.lock file say?

@tiagohbalves
Copy link

I'm facing the same problem. I'm using simulator iPhone 12 Pro max - iOS 14.5.
This is my log


flutter: upgrader: package info appName: Ligo
flutter: upgrader: package info version: 1.0.5
flutter: upgrader: countryCode: US
flutter: upgrader: blocked: false
flutter: upgrader: debugDisplayAlways: false
flutter: upgrader: debugDisplayOnce: false
flutter: upgrader: hasAlerted: false
flutter: upgrader: appStoreVersion: 1.0.8
flutter: upgrader: installedVersion: 1.0.5
flutter: upgrader: minAppVersion: null
flutter: The following FormatException was thrown building FutureBuilder<bool>(dirty, state:
flutter: _FutureBuilderState<bool>#5ff9e):
flutter: Not a properly formatted version string
flutter:
flutter: The relevant error-causing widget was:
flutter:   FutureBuilder<bool>
flutter:   file:///Users/tiagohbalves/flutter/.pub-cache/hosted/pub.dartlang.org/upgrader-2.8.3/lib/src/upgrade_alert.dart:60:12
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      Version.parse (package:version/version.dart:172:7)
flutter: #1      Upgrader.isUpdateAvailable (package:upgrader/src/upgrader.dart:375:40)
flutter: #2      Upgrader.shouldDisplayUpgrade (package:upgrader/src/upgrader.dart:319:10)
flutter: #3      Upgrader.checkVersion (package:upgrader/src/upgrader.dart:279:29)
flutter: #4      UpgradeAlert.build.<anonymous closure> (package:upgrader/src/upgrade_alert.dart:64:24)
flutter: #5      _FutureBuilderState.build (package:flutter/src/widgets/async.dart:751:55)
flutter: #6      StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28)
flutter: #7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
flutter: #8      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
flutter: #9      Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
flutter: #10     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
flutter: #11     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
flutter: #12     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
flutter: #13     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
flutter: #14     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
flutter: #15     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
flutter: #19     _invoke (dart:ui/hooks.dart:251:10)
flutter: #20     _drawFrame (dart:ui/hooks.dart:209:3)
flutter: (elided 3 frames from dart:async)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════

Upgrader version:
2.8.3

@larryaasen
Copy link
Owner

@tiagohbalves According to the log above, it is crashing on this version: installedVersion: 1.0.5. Is there anything about the 1.0.5 version that could not be parsed by the Version package?

@khaledSayedAbdellah
Copy link

still have the same issue at upgrader: ^4.11.1

upgrader: isUpdateAvailable: FormatException: Not a properly formatted version string

my log

flutter: upgrader: instantiated.
flutter: upgrader: build UpgradeAlert
flutter: upgrader: languageCode: ar
flutter: upgrader: default operatingSystem: ios Version 16.1 (Build 20B72)
flutter: upgrader: operatingSystem: ios
flutter: upgrader: platform: TargetPlatform.iOS
flutter: upgrader: isAndroid: false, isIOS: true, isLinux: false, isMacOS: false, isWindows: false, isFuchsia: false, isWeb: false
flutter: upgrader: package info packageName: Tawasl.Mrfixit
flutter: upgrader: package info appName: Main Pro
flutter: upgrader: package info version: 3.0.0
flutter: upgrader: countryCode: US
flutter: upgrader: languageCode: ar
flutter: upgrader: blocked: false
flutter: upgrader: debugDisplayAlways: false
flutter: upgrader: debugDisplayOnce: false
flutter: upgrader: hasAlerted: false
flutter: upgrader: appStoreVersion: version 19.0.1
flutter: upgrader: installedVersion: 3.0.0
flutter: upgrader: minAppVersion: null
flutter: upgrader: isUpdateAvailable: FormatException: Not a properly formatted version string
flutter: upgrader: isUpdateAvailable: false
flutter: upgrader: shouldDisplayUpgrade: false
flutter: upgrader: shouldDisplayReleaseNotes: true

any help

@larryaasen
Copy link
Owner

larryaasen commented Nov 17, 2022

@khaledSayedAbdellah There seems to be a bug in the Apple App Store listing for this app where the term version is included in the version string like this: version 19.0.1.
See this screenshot:
Screen Shot 2022-11-16 at 10 39 26 PM
https://apps.apple.com/us/app/mainpro-%D9%85%D8%A7%D9%8A%D9%86-%D8%A8%D8%B1%D9%88/id1582292480?uo=4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Resolved
Projects
None yet
Development

No branches or pull requests

7 participants
@larryaasen @jjvillavicencio @tiagohbalves @svyazist2005 @khaledSayedAbdellah @ehsnaskri and others