Forum > General

"Demo" project size for possible bug(s)

(1/5) > >>

440bx:
Hello,

This question is because I want to make sure I don't unwittingly do/expect something unreasonable.

I have experienced some "deficiencies" in the current version of Lazarus (v3.2) as well as the trunk version (very recent version, just yesterday's.)  The problem is, when I tried to replicate those "deficiencies" in a simple/short program, they are not there anymore or they are different.   This is a problem by itself.

I am currently working on a project, which I intended to contribute once finished, that is roughly six (6) thousand lines of code and has all the "deficiencies" that are getting in my way but, that's a "big" little project just to point out a few minor deficiencies.

My question is: should I attach that project along with the deficiencies I've observed or should I go about it a different way ? (the 7zip file is 333Kb and it includes a 64bit version of the Zydis (a disassembler) dll created with Visual Studio, i.e, requires Windows.)

NOTE: the project isn't finished but it's somewhat usable/useful in its current state.  It's about 80% done.  Anyway, I will make the "full version" available when it's done.

AlexTP:
You may post the bugreport (bugtracker) with the src only, and give the GitHub link, or e.g. OneDrive link, to Assembly DLLs. This way several bugreports from you will share the single DLLs.

TRon:

--- Quote from: 440bx on May 18, 2024, 03:56:14 pm ---My question is: should I attach that project along with the deficiencies I've observed or should I go about it a different way ? (the 7zip file is 333Kb and it includes a 64bit version of the Zydis (a disassembler) dll created with Visual Studio, i.e, requires Windows.)

--- End quote ---
Did you limited your project with adding only windows headers for the library  ?

440bx:

--- Quote from: TRon on May 18, 2024, 05:14:54 pm ---Did you limited your project with adding only windows headers for the library  ?

--- End quote ---
Yes, the headers are only for Windows but, there are more headers than there would normally be because I use my own Windows headers. I don't use the windows, messages, etc units, I use my own and I had to include those that were necessary to compile the project. That's 139K uncompressed and maybe 10K compressed (all text with lots of whitespace, 7zip squeezes that stuff really well.)  That's nothing compared to the full size of all the headers, about 17MB, it takes time to extract from there to create a small custom version just for that test program (that's not a problem, it's already done because I intended to share the final result anyway.)  In that project, what takes a fair amount of space is the dll, its 224K compressed, a little over 1MB uncompressed.

Martin_fr:
First of all, it would be good to know where about in the IDE the deficiencies are. Different maintainers may have different preferences as to what they find easier to deal with.

In general however, there are several implication to "minimal", and then it comes down to try and match as many of them as possible.

1) The project itself. 

2) The dependencies.
That can in some cases be even more important. The less dependencies the better. Zero should be the goal. Even if you have to copy some units from a dependency.

2a)  Dependencies that need to be installed into the IDE.  Really, really try to get rid of those, please.

Minimal example is usually not about the download size. But the work the extra code causes when tracing the issue.

Example, if I need to debug codetools, because some declaration breaks it, then codetools will scan your entire code, a lookup from the point that fails, may iterate any identifier in your code, and all that needs to be watched in the debugger. => So if there are 20 fields in a class that don't relate to the issue, then that are 20 fields for which debugging has to follow codetools.

Of course it then depends on how easily you can reproduce the issue. If you need to test for an hour each time you removed a field, then that isn't practical.

If the issues with certain settings of the IDE, then try to start of with a default config for the IDE, and see if you can find the minimum set of config changes. That can help getting an initial idea where the issue may be.

If it takes steps to reproduce (including making config changes not present in a downloadable config file), then try find a small set of such steps.


But ultimately, there isn't a hard-limit to what is a minimal example. Sometimes a bug really needs large amounts of code. Or at least a small example can't be found without actually knowing what causes the issues.

Navigation

[0] Message Index

[#] Next page

Go to full version