alexander-pick / MKMTool

MKMTool ist a helper application I wrote for tinkering around with optimization of sale processes on magiccardmarket.eu and the idea of automisation of some tasks most people wouldn’t be able to get done by pure manpower.
GNU Affero General Public License v3.0
65 stars 15 forks source link

Crash while apparaising ? :( #43

Open Deedoo34 opened 3 years ago

Deedoo34 commented 3 years ago

Hello,

I already had an error with experimental version and I thought "wait for final one".... but I still have an exception while "apparising" :(

See below for error.

When Exception encountered, even when I click "continue", nothing happen and MKMTool just seems crashed :(

Just had to restart MKMTool...

Anyone else have something similar ?

Thanks for help

David

** Texte de l'exception ** System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet. à MKMTool.MKMBot.traverseSimilarItems(XmlNodeList similarItems, MKMMetaCard article, Boolean ignoreSellersCountry, Int32& lastMatch, List1 prices) à MKMTool.MKMBot.appraiseArticle(MKMMetaCard article, Dictionary2 myStock) à MKMTool.MKMBot.GeneratePrices(List`1 cardList, Boolean useMyStock) à MKMTool.PriceExternalList.appraise(Boolean MKMToolPrice, Boolean MKMPriceGuide) à System.Threading.Tasks.Task.Execute() --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée --- à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) à MKMTool.PriceExternalList.d__14.MoveNext() --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée --- à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

** Assemblys chargés ** mscorlib Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4250.0 built by: NET48REL1LAST_C CodeBase : file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

MKMTool Version de l'assembly : 1.0.0.0 Version Win32 : 0.8.0.0 CodeBase : file:///E:/MKMTool0.8.0.0/MKMTool.exe

System.Windows.Forms Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4270.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4200.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4190.0 built by: NET48REL1LAST_B CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4270.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Data Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4270.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

System.Numerics Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

System.Data.DataSetExtensions Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll

System.Windows.Forms.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll

mscorlib.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll

System.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.resources.dll

** Débogage JIT ** Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette application ou cet ordinateur (machine.config) doit avoir la valeur jitDebugging définie dans la section system.windows.forms. L'application doit également être compilée avec le débogage activé.

Par exemple :

tomasjanak commented 3 years ago

I have uploaded a fix for the crash as version 0.8.0.1 (at least I think it should fix it). But the most likely reason it got to the crashy state is that there is something wrong in the csv file you are appraising. You should get an error in the console and also in error_log.txt with details of what is wrong. Are you not getting any errors with the list when you are importing it?

Deedoo34 commented 3 years ago

Yes, I have some cards that cannot be found but already meet something like this without a crash... (using an app to scan cards and some of them are a bit different sometimes like "//" or "/" in name... )

Perhaps too many errors for this file causing crash ? I'll try the fix btw.

Oh yes, a last thing that can cause this : I still had a "403 error" ! Last time I had had those was when I used previous version without "new API limits" (perhaps a limit reached even with this new version ?)

Thanks !

Deedoo34 commented 3 years ago

Sorry for this "noob question" but.... how do I have to install the hotfix ? I just need to download all package again or just a few files fixed ? Thanks

tomasjanak commented 3 years ago

Yes, I have some cards that cannot be found but already meet something like this without a crash... (using an app to scan cards and some of them are a bit different sometimes like "//" or "/" in name... )

Perhaps too many errors for this file causing crash ? I'll try the fix btw.

Cards that fail to import should not be passed to the appraisal part at all, so in your case there is probably something that slips through even though it should not. If you find out which cards are throwing the error, I would like to look at it, so if you could show just the one of the error lines of the file as an example (+ the column names) I am interested. I think you should be getting errors "Error with updating price of [card name]: [some error message saying what is wrong]".

Oh yes, a last thing that can cause this : I still had a "403 error" ! Last time I had had those was when I used previous version without "new API limits" (perhaps a limit reached even with this new version ?)

Thanks !

I doubt the api limits are a concern for MKMTool, I don't think we ever do 10 requests per second. I get 403 errors only occasionally and it's always because of issues on MKM side, if you are getting 403 regularly there is probably some other problem. Do you have the errors when doing some specific things in MKMTool or always?

Sorry for this "noob question" but.... how do I have to install the hotfix ? I just need to download all package again or just a few files fixed ? Thanks

You can either download the windows binaries I built https://github.com/tomasjanak/tomasjanak.github.io/raw/master/MKMTool0.8.0.1.zip , if you are building yourself from source, you can either download the files changed in the last commit (https://github.com/alexander-pick/MKMTool/commit/90b130876029cd294766580f89820ce4a7d6364a , you actually need just the MKMBot.cs), but it's more error-proof to just download all the sources, it's not that big. You may also want to consider using git to keep a local copy of the MKMTool repository on your computer. For example, Git Extensions is a pretty user friendly user interface for git, you just install it and clone https://github.com/alexander-pick/MKMTool.git and then you can always "download" the latest version by doing "pull" (blue downward arrow), details here https://git-extensions-documentation.readthedocs.io/en/latest/getting_started.html

Deedoo34 commented 3 years ago

I did a test today with a "clean file" in which I filtered "problem cards". All seems good but I didn't had time to finish and check apparaised cards so I'll make more tests in next days to get you in touch which error message.

Cards that fail to import should not be passed to the appraisal part at all, so in your case there is probably something that slips through even though it should not. If you find out which cards are throwing the error, I would like to look at it, so if you could show just the one of the error lines of the file as an example (+ the column names) I am interested. I think you should be getting errors "Error with updating price of [card name]: [some error message saying what is wrong]".

I think they didnt pass to appraisal but I'll check this.

Oh yes, a last thing that can cause this : I still had a "403 error" ! Last time I had had those was when I used previous version without "new API limits" (perhaps a limit reached even with this new version ?) Thanks !

I doubt the api limits are a concern for MKMTool, I don't think we ever do 10 requests per second. I get 403 errors only occasionally and it's always because of issues on MKM side, if you are getting 403 regularly there is probably some other problem. Do you have the errors when doing some specific things in MKMTool or always?

It happens sometime but I cannot identify the reason until now. But when I get one, there's a lot just after in general