Comments (10)
Another one, received on May 4:
Program: embroideryReader, Version=2.2.3.0, Culture=neutral,
PublicKeyToken=null
Program location: C:\Program Files (x86)\NJCrawford
Software\Embroidery Reader\embroideryReader.exe
OS: Windows 8.1 Connected (6.3 build 9600) (x64)
OS Culture: en-US
Framework: 4.0.30319.36366 (x64)
Error:
System.ArgumentOutOfRangeException (Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index)
at System.Collections.Generic.List`1.get_Item(Int32 index)
at PesFile.PesFile.OpenFile(String filename)
at embroideryReader.frmMain.openFile(String filename)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at embroideryReader.frmMain.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
from embroideryreader.
Another, received 2016-12-17:
Program: embroideryReader, Version=2.2.3.0, Culture=neutral,
PublicKeyToken=null
Program location: C:\Program Files (x86)\NJCrawford
Software\Embroidery Reader\embroideryReader.exe
OS: Windows 10 Pro release 1607 (6.3 build 14393) (x64)
OS Culture: en-AU
Framework: 4.0.30319.42000 (x64)
Error:
System.ArgumentOutOfRangeException (Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index)
at
System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument
argument, ExceptionResource resource)
at PesFile.PesFile.OpenFile(String filename)
at embroideryReader.frmMain.openFile(String filename)
at embroideryReader.frmMain.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at embroideryReader.frmMain.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
from embroideryreader.
Possibly related report from version 2.1.0, received 2016-05-08:
Program: embroideryReader, Version=2.1.0.0, Culture=neutral,
PublicKeyToken=null
Program location: C:\Program Files (x86)\NJCrawford
Software\Embroidery Reader\embroideryReader.exe
OS: Microsoft Windows NT 6.1.7601 Service Pack 1
OS Culture: en-US
Framework: 4.0.30319.34209
Error:
System.ArgumentOutOfRangeException (Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index)
at System.Collections.Generic.List`1.get_Item(Int32 index)
at PesFile.PesFile.OpenFile(String filename)
at embroideryReader.frmMain.openFile(String filename)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at embroideryReader.frmMain.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
from embroideryreader.
Emailed the most recent reporter to see if they could remember the file they were trying to open, and see if they're willing to share it with me to fix this issue.
from embroideryreader.
Received another report on 2017-06-21, and emailed the reporter to see if they would be willing to share the file that caused it:
Program: embroideryReader, Version=2.2.3.0, Culture=neutral,
PublicKeyToken=null
Program location: C:\Program Files (x86)\NJCrawford
Software\Embroidery Reader\embroideryReader.exe
OS: Windows 10 Home release 1607 (6.3 build 14393) (x64)
OS Culture: en-US
Framework: 4.0.30319.42000 (x64)
Error:
System.ArgumentOutOfRangeException (Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index)
at
System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument
argument, ExceptionResource resource)
at PesFile.PesFile.OpenFile(String filename)
at embroideryReader.frmMain.openFile(String filename)
at embroideryReader.frmMain.openToolStripMenuItem_Click(Object
sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key,
EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs
e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs
mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropD
(Report clipped)
from embroideryreader.
Reporter of the crash yesterday replied that they were opening a folder in Embroidery Reader. I haven't been able to reproduce it yet. They also said it was a duplicate file and they had deleted it, and hadn't seen the issue again since.
It might be a good idea to put more error checking in the open function to try to track this down.
from embroideryreader.
Another error report received today:
Program: embroideryReader, Version=2.2.3.0, Culture=neutral,
PublicKeyToken=null
Program location: C:\Program Files (x86)\NJCrawford
Software\Embroidery Reader\embroideryReader.exe
OS: Windows 10 Pro release 1703 (6.3 build 15063) (x64)
OS Culture: en-US
Framework: 4.0.30319.42000 (x64)
Error:
System.ArgumentOutOfRangeException (Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index)
at
System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument
argument, ExceptionResource resource)
at PesFile.PesFile.OpenFile(String filename)
at embroideryReader.frmMain.openFile(String filename)
at embroideryReader.frmMain.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at embroideryReader.frmMain.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
from embroideryreader.
Yet another received this weekend with the same stack trace:
Program: embroideryReader, Version=2.2.3.0, Culture=neutral,
PublicKeyToken=null
Program location: C:\Program Files (x86)\NJCrawford
Software\Embroidery Reader\embroideryReader.exe
OS: Windows 7 Professional Service Pack 1 (6.1 build 7601) (x64)
OS Culture: en-US
Framework: 4.0.30319.42000 (x64)
Error:
System.ArgumentOutOfRangeException (Index was out of range. Must be
non-negative and less than the size of the collection.
Parameter name: index)
at
System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument
argument, ExceptionResource resource)
at PesFile.PesFile.OpenFile(String filename)
at embroideryReader.frmMain.openFile(String filename)
at embroideryReader.frmMain.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at embroideryReader.frmMain.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
from embroideryreader.
After a quick review of the OpenFile() function, there were 2 array accesses that didn't check the bounds of the array. If a file was corrupted in a specific way, it could have contained more blocks than it claimed and the counter would increment beyond the end of the array.
The change included in afd3e80 checks the index and throws a more informative exception if it would be beyond the end of the array.
from embroideryreader.
Recently I've received 4 files from 2 users that were causing this crash. This has allowed me to come up with a fix for the crash, or at least a workaround in code. It appears that the byte I was reading to mean number of blocks has some other meaning... perhaps number of thread changes? Without having an embroidery machine myself, it's hard to tell what it's actually doing.
from embroideryreader.
Related Issues (20)
- ArgumentException in designToBitmap() when printing HOT 4
- ArgumentException in ScaleTransform() when printing HOT 2
- Print scale is too large on some printers HOT 1
- System.ArgumentException in ReadChar() HOT 1
- InvalidPrinterException (No printers are installed.) in print preview menu HOT 1
- Installer sometimes leaves old versions behind after upgrade HOT 1
- SmartScreen filter blocks downloads of Embroidery Reader MSI files HOT 1
- Make installer remove pre-Wix installer versions automatically
- Crash when saving settings HOT 5
- Add file name to printed image
- Add ability to generate design thumbnails in Windows Explorer
- add view realist in embroidery reader HOT 10
- Add a batch image generation tool
- Add option to scale designs when displaying them
- System.ArgumentException: Parameter is not valid. HOT 9
- Translations are not loaded some times HOT 1
- Add Mac OSX port
- Gibberish images are displayed on some PCs HOT 3
- Trying to run from Windows Installer directory HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from embroideryreader.