Jump to content
Tom F

Unfixed bug in Sydney

Recommended Posts

I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has.  

 

So, first: here are some positives: I'm a big fan (and decades-long user) of Delphi.  I used Delphi at a Fortune 1000 company where we created several very successful, industry-changing, million-line international applications with it.   I use Delphi now in a smaller company to create award-winning products for macOS and Windows.  Delphi (and Turbo and UCSD Pascal before that) has been a major contributor to my successful career.  


But, here's the negative: I'm tired of wasting money on annual maintenance plans. But I need them to fix older bugs or for fixes or access to new platforms. It seems I always have to wait until the first few bug-fixing patches from EMB. If I don't wait until one or two patches have been released, it seems that I and the rest of us becoming unwitting beta testers for EMB. 

 

But, now, it's worse: I am totally unable to use Sydney to develop our products. 

 

This problem is a memory leak. It was reported last summer: https://quality.embarcadero.com/browse/RSP-30215. And it hasn't been fixed by EMB.  

 

This bug prevents us from being able to compile our product in Sydney because we depend on the (wonderful) Mitov libraries which the bug affects.

 

So, the subscription we paid for almost one year ago has been useless to me.

 

The above URL contains a simple sample code to reproduce the problem.  EMB has acknowledged the problem.

 

I'm told that a workaround was proposed by EMB but that the workaround would take an enormous amount of time to implemented by us.

 

I recently expressed the above concerns to Marco and Jim.  But, I have not heard back anything positive. I'm worried that they may have once again postponed fixing this bug. So I thought I'd post about it here.

If you're using the Mitov libraries, you're in the same boat as I am. I hope you (and anyone else reading this) will vote for this issue at the above URL so that perhaps it will be fixed in the near future.

Meanwhile, I'm stuck paying for updates that don't work.  

 

From my perspective, EMB's programming team appears to be seriously under-resourced.  

 

I am very worried that Atana Popov and the group that manages Delphi has abandoned the product and are just squeezing as much revenue for as little investment as they can. It certainly looks that way from here. 😞

 

  • Like 1

Share this post


Link to post
Guest

I dont use RAD 10.4.x or Mitov suite, but for help us, my vote was registered! ✔️

Edited by Guest

Share this post


Link to post
Quote

I'm told that a workaround was proposed by EMB but that the workaround would take an enormous amount of time to implemented by us.

Can you link us where that was proposed? I don't see a workaround suggestion.

 

Looking at the three required conditions for memory to leak:

Quote

The 3 ingredients required to expose the problems are:

  1. Have an inline variable
  2. Have a function returning an instance that must also be managed
    1. The returned instance must not be used
  3. Have an Exit statement

Can't parsers like FixInsight help here? I think (2) should be a rare enough occasion and still easy to find.

Share this post


Link to post
28 minutes ago, Der schöne Günther said:

Can you link us where that was proposed?

Thanks for you thinking on this issue.
 

I am an end user of the libraries. Not having source code, I don’t know anything more about the problem or proposed fixes than what I’ve shared in my post. 

 

Tom

Share this post


Link to post
Guest

@Tom F I suggest to contact Embarcadero sales and ask for refund/reimbursement, they might offer you some cash back or give you next license for free (who knows !), because this is what legitimate and honest companies do (and developers), with of course an email with nice words explaining how sorry they are jeopardizing your business after already taking your money and not delivering, this what you would do for your own clients when you fail to fix problem or violate a deadline.

Share this post


Link to post
7 hours ago, Tom F said:

I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has. 

@Tom F It's perfectly OK to complain, even better if you provide details when the issue is resolved or you made any progress with the Embarcadero. In last few years we see that just reporting bugs is not enough, they clear a lot of them but also introduce a lot of new ones.

We all want Embarcadero to succeed in providing best Delphi versions, but if we keep our heads in the sand and not 'rock the boat' we are all doing ourselves a big disservice.

  • Like 1

Share this post


Link to post

If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes.

 

Mitov is a EMB MVP.

 

This issue may raise further questions if Mitov has also brought the bug to EMB attention and as been unable to get a resolution.

 

 

Share this post


Link to post
9 minutes ago, JSPUS said:

If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes.

 

Mitov is a EMB MVP.

 

This issue may raise further questions if Mitov has also brought the bug to EMB attention and as been unable to get a resolution.

@JSPUS Your statements above are all correct.  If you click the link in my OP, the "Reporter" of the bug is listed as Mitov.  He has also posted in the Comments section of the report.  

The report contains a 30-line self-contained code sample that reproduces the problem.

Share this post


Link to post
3 hours ago, JSPUS said:

If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes.

Since the bug has workarounds, has Mitov updated his code to apply the workarounds until the bug is fixed?

  • Like 1

Share this post


Link to post
22 minutes ago, Remy Lebeau said:

Since the bug has workarounds, has Mitov updated his code to apply the workarounds until the bug is fixed?

Mitov has said that he is waiting for EMB to fix their bug because the work-around would be prohibitively expensive to implement.

Share this post


Link to post

>The 3 ingredients required to expose the problems are:
>1. Have an inline variable

 

There I stopped reading.

 

Most likely it will be fixed in the next release, but don't understand ppl. using this very new (not mature enough) feature, especially in 3rd party products.

Use a decent library instead. (sorry)

  • Like 2

Share this post


Link to post

As I understand it, the source code of Mitovs libraries can be purchased.

I would never rely of a library without the source.

  • Like 1

Share this post


Link to post
Guest
Can I use Mitov Runtime for commercial products?
A:Yes, Mitov Runtime is free for commercial use without source code.
Q:Can I purchase the source code for the Mitov Runtime?
A:Yes, you can purchase the source code.

Share this post


Link to post
On 12/28/2020 at 7:49 PM, Tom F said:

I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has.  

....

 

From my perspective, EMB's programming team appears to be seriously under-resourced.  

 

I am very worried that Atana Popov and the group that manages Delphi has abandoned the product and are just squeezing as much revenue for as little investment as they can. It certainly looks that way from here. 😞

 

 

 

30215 was reported in July.  A minimal stand-alone test case to reproduce the issue was posted by Embarcadero in September.  To complain that you don't have a fix by December is too much.  This particular edge case issue is no where near the prime example to be complaining about long-standing bugs... to me, it considerably reduces the strength of your argument.

 

Share this post


Link to post
Guest
2 hours ago, Darian Miller said:

it considerably reduces the strength of your argument.

Then let me replenish that strength 🙂

 

They are selling a compiler for money, and we deliver software for money using that compiler so

1) How could they sleep at night knowing they took money for faulty product ?

2) If that is a bug was introduced between 10.3.3 and 10.4, then how hard to track and fix ? i mean, did they wrote 1 million of line ? even so, they should/would/could have fix it by dropping everything else and fix it, literally everything, we build our tests based on the assumption that compiler is right, so what else we are not testing for? and how on earth such bug introduced in the first place ? do they even test their own code ?

3) It is a compiler not a burger, but lets assume you are paying some fast food near you a monthly subscription for one burger per day, and here one day they handed you a burger with a hair in it, you say i can't eat that, it is disgusting and i don't know what else with the hair (in this virus era) ? and now, i don't know what else without the hair are you feeding me everyday? and the master chef say while turning his back on you "just wait till tomorrow it will be better and more delicious we are preparing great new mustard recipe" !!!

 

Would the above considered as argument, can any developer sleep at night knowing he delivered faulty product and took money, risking his client livelihood deliberately, what is the level of Machiavellianism is that ? and on what scale?

 

Believe it or not, some Delphi application does handle real money, and even deal with Nuclear power plants, and some deals with medical machines playing role in human lives.

Share this post


Link to post
8 hours ago, Kas Ob. said:

They are selling a compiler for money, and we deliver software for money using that compiler so

1) How could they sleep at night knowing they took money for faulty product ?

Do you sell your software?

Are there bugs in it?

How do you sleep at night?

 

I guess I don't understand what your point is.

Edited by Anders Melander

Share this post


Link to post
Guest
1 hour ago, Anders Melander said:

I guess I don't understand what your point is.

My point was in the first line answering commenting on Darian point, if few months to fix a bug, known bug introduced that was introduced not long ago messing the core compiler and yet there is full reproduce steps, months passed while they released a roadmap that might be took longer time in preparing than hunting and fixing such bug,

 

Are these valid point to strengthen the empathy with Tom ? 

Tom have the right be unhappy with his wasted time and money as we all, or do you think such dissatisfaction is improper here ?

Share this post


Link to post
19 minutes ago, Kas Ob. said:

Are these valid point to strengthen the empathy with Tom ? 

Tom have the right be unhappy with his wasted time and money as we all, or do you think such dissatisfaction is improper here ?

We have zero information about what kind of bug is in the compiler. It can be a 5 second fix or can require a rewrite. I doubt that rollback to Delphi 10.3 is an option otherwise why would anyone change the compiler?

As a software developers I think it is reasonable that we can understand that even that there is a bug for some cases nobody tries to rush fixes to be published and risk to introduce new bugs (and make the situation worse). For these kind of things it's better to test and be sure that it's working.
BTW. I am also in the process to move from old versions to 10.4 and I am also not happy the state of the IDE and compiler (after these fixes and one minor version there are still known bugs). 

  • Like 1

Share this post


Link to post
Guest

RAD 10.4.x = BLACK-HOLE in programming universe!

Share this post


Link to post
42 minutes ago, emailx45 said:

RAD 10.4.x = BLACK-HOLE in programming universe!

Strongly disagree. 10.4.1 is a lot more useable on our large project at work than any previous version was. Sure, it's far away from perfect, but it does not mean it's a "black hole".

17 hours ago, Attila Kovacs said:

don't understand ppl. using this very new (not mature enough) feature, especially in 3rd party products.

Tbh I was already shocked that inline variables will be added to the language. Was it community requested? Majority of the coders are staying away from it as far as I heard.

  • Like 2

Share this post


Link to post
Guest

ok... still have a dreams ... good dreams!

Share this post


Link to post
59 minutes ago, emailx45 said:

RAD 10.4.x = BLACK-HOLE in programming universe!

That is not my experience at all. I have a lot of projects with 10.4.1 including some large on (hundreds of thousands lines of code).

I have no problem at all. Probably my coding style is in Embarcadero testing mainstream. I never rush to brand new features neither.

  • Like 2

Share this post


Link to post
Guest

if is to stay on the same, then ... stay on the "before"

:classic_cheerleader:

Share this post


Link to post
11 hours ago, Kas Ob. said:

Then let me replenish that strength 🙂

 

LOL.   I knew some response was bound to come in from someone.

 

11 hours ago, Kas Ob. said:

They are selling a compiler for money, and we deliver software for money using that compiler so

1) How could they sleep at night knowing they took money for faulty product ?

 

Sorry, but that is pretty weak as every piece of software has bugs.  If you mentioned, say, RSP-9678 Delphi IDE is not DPI aware (from 2014 with 93 votes) then it may have been stronger.  Or maybe RSP-17724 Linux x64 compiler produce very bloated code.  Or perhaps this thread:

 

 

 

11 hours ago, Kas Ob. said:

2) If that is a bug was introduced between 10.3.3 and 10.4, then how hard to track and fix ? i mean, did they wrote 1 million of line ? even so, they should/would/could have fix it by dropping everything else and fix it, literally everything, we build our tests based on the assumption that compiler is right, so what else we are not testing for? and how on earth such bug introduced in the first place ? do they even test their own code ?

 

Again, that's not an overly strong argument.  How many one liner changes have you had to chase for hours on end, that may have not have revealed themselves as a problem for months?  The key point here is tests.

 

 

11 hours ago, Kas Ob. said:

3) It is a compiler not a burger, but lets assume you are paying some fast food near you a monthly subscription for one burger per day, and here one day they handed you a burger with a hair in it, you say i can't eat that, it is disgusting and i don't know what else with the hair (in this virus era) ? and now, i don't know what else without the hair are you feeding me everyday? and the master chef say while turning his back on you "just wait till tomorrow it will be better and more delicious we are preparing great new mustard recipe" !!!

 

So you can put bugs in your code, or hair on your burgers which you serve, but they aren't allowed?

 

11 hours ago, Kas Ob. said:

Would the above considered as argument, can any developer sleep at night knowing he delivered faulty product and took money, risking his client livelihood deliberately, what is the level of Machiavellianism is that ? and on what scale?

 

Believe it or not, some Delphi application does handle real money, and even deal with Nuclear power plants, and some deals with medical machines playing role in human lives.

 

 

I believe the major issue here is lack of tests.  The main way to gain more confidence in the Delphi platform is by trumpeting, marketing, glorifying their major gains in testing over the last few years (which assumedly has been the case.)  Likely one of their most dominant product features is backwards compatibility - that very valuable feature can only be assured with a huge amount of manual effort, or a very large amount of tests.  Likely one of their most harshest points of criticism lately is new code is not up to the quality of old code.  That also can and should be braced with an adequate amount of tests.

 

Finally, let's state the obvious here:  Boian Mitov should not have changed his core library to inline variables until he was completely satisfied that it wouldn't cause problems for his customers.  Changing your legacy source code in thousands of places to utilize a new feature of Delphi seems pretty reckless without adequate testing.  Yes, we should be able to trust the compiler, but how about using Microsoft as an example...  They have one of the largest R&D budgets in the world and they still ship very questionable software.  If they came out with Visual Studio 2021 today, would you immediately migrate all your source code to it, after changing it in thousands of places to use one of the VS 2021's newest language features, and then quickly ship your product to all of your customers with a large amount of memory leaks?  Would you be out there stating that Microsoft shouldn't be able to sleep at night, or would you be rolling back your changes and provide a stable product again to your customers?

 

I certainly don't like providing an excuse for buggy code, or lack of tests.  But this particular example is certainly not the hill to die on.  

  • Like 2

Share this post


Link to post
Guest

WOW... IT'S A BIG ANSWER!!! WOW

:classic_cheerleader::classic_cheerleader:

 

Some doubt about Black-Hole? 

or... how the light get out from there?

Edited by Guest

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×