Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Migrating from XE7 to XE8 random access violation installing a design pack



Permlink Replies: 20 - Last Post: Jan 14, 2016 4:12 PM Last Post By: Quentin Correll
Davide Angeli

Posts: 31
Registered: 3/1/10
Migrating from XE7 to XE8 random access violation installing a design pack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 9, 2015 9:15 AM
Hi, I'm becaming crazy trying to migrate from XE7 to XE8. I've just installed third party packages and now I need to install a design package of mine (very complex with a lot of customized components). When I try to install I get random access violations in rtl220.bpl. The address seems always the same (some times I get invalid pointer operation and one time the ide was closed). How could I get more info about that address to understand what is getting wrong? On XE7 the same sources works fine.

Thanks,
Davide Angeli
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: Migrating from XE7 to XE8 random access violation installing a design pack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 9, 2015 10:03 AM   in response to: Davide Angeli in response to: Davide Angeli
Davide,

Did you do a new Build of your design package using XE8?

--

Q -- XanaNews 1.19.1.372 - 2015-07-09 10:02:14
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installing a design pack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 10, 2015 12:41 AM   in response to: Quentin Correll in response to: Quentin Correll
Hi Quentin,

Quentin Correll wrote:
Davide,

Did you do a new Build of your design package using XE8?

I tried everything. I delete the dproj and recreate it. I removed all the units and then I tried to add one by one in the new package. Maybe I found the unit that seems generating the problem. Now I'll try to debug IDE as Remy suggest.

Thanks

Davide


--

Q -- XanaNews 1.19.1.372 - 2015-07-09 10:02:14
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Migrating from XE7 to XE8 random access violation installing a designpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 9, 2015 2:24 PM   in response to: Davide Angeli in response to: Davide Angeli
Davide wrote:

When I try to install I get random access violations in rtl220.bpl.
The address seems always the same (some times I get invalid pointer
operation and one time the ide was closed). How could I get more info
about that address to understand what is getting wrong?

Have you tried actually debugging the designtime package from inside the
IDE itself to find out what is actually crashing? Did you know that you
can run two instances of the IDE, where one instance runs in the debugger
of the other instance? This is very useful for debugging designtime packages.

--
Remy Lebeau (TeamB)
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installing a designpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 10, 2015 12:28 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Hi Remy,

Remy Lebeau (TeamB) wrote:
Davide wrote:

When I try to install I get random access violations in rtl220.bpl.
The address seems always the same (some times I get invalid pointer
operation and one time the ide was closed). How could I get more info
about that address to understand what is getting wrong?

Have you tried actually debugging the designtime package from inside the
IDE itself to find out what is actually crashing? Did you know that you
can run two instances of the IDE, where one instance runs in the debugger
of the other instance? This is very useful for debugging designtime packages.

I heard about that but I never used it. I'm looking for documentation to try it.

Thanks

Davide


--
Remy Lebeau (TeamB)
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installing a designpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 10, 2015 2:01 AM   in response to: Davide Angeli in response to: Davide Angeli
Remy Lebeau (TeamB) wrote:
Davide wrote:

Have you tried actually debugging the designtime package from inside the
IDE itself to find out what is actually crashing? Did you know that you
can run two instances of the IDE, where one instance runs in the debugger
of the other instance? This is very useful for debugging designtime packages.

It's not so easy and not always work but I'm doing IDE debug. I discover this: the package install works fine the first time, but if I recompile it (or unistall/install) I get the error. I suppose that there is something wrong in the finalization process. The access violation happens in System.Threading unit in destruction of a generic list of TObjectCache. I'm not capable to follow with debug the finalization process and call stack gives me insufficient info to discover the faulty unit. There are 811 unit to follow in the finalize process (most of them are about third party components) !
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installing a designpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 10, 2015 3:05 AM   in response to: Davide Angeli in response to: Davide Angeli
Davide Angeli wrote:
Remy Lebeau (TeamB) wrote:
Davide wrote:

Have you tried actually debugging the designtime package from inside the
IDE itself to find out what is actually crashing? Did you know that you
can run two instances of the IDE, where one instance runs in the debugger
of the other instance? This is very useful for debugging designtime packages.

It's not so easy and not always work but I'm doing IDE debug. I discover this: the package install works fine the first time, but if I recompile it (or unistall/install) I get the error. I suppose that there is something wrong in the finalization process. The access violation happens in System.Threading unit in destruction of a generic list of TObjectCache. I'm not capable to follow with debug the finalization process and call stack gives me insufficient info to discover the faulty unit. There are 811 unit to follow in the finalize process (most of them are about third party components) !

Another thing that I don't understand is that the first chance exception "access violation at...." says "... Process updatecheck.exe". What is this process and what is it doing during a package install?
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installing a designpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 13, 2015 11:00 PM   in response to: Davide Angeli in response to: Davide Angeli
Davide Angeli wrote:
Davide Angeli wrote:
Remy Lebeau (TeamB) wrote:
Davide wrote:

Have you tried actually debugging the designtime package from inside the
IDE itself to find out what is actually crashing? Did you know that you
can run two instances of the IDE, where one instance runs in the debugger
of the other instance? This is very useful for debugging designtime packages.

It's not so easy and not always work but I'm doing IDE debug. I discover this: the package install works fine the first time, but if I recompile it (or unistall/install) I get the error. I suppose that there is something wrong in the finalization process. The access violation happens in System.Threading unit in destruction of a generic list of TObjectCache. I'm not capable to follow with debug the finalization process and call stack gives me insufficient info to discover the faulty unit. There are 811 unit to follow in the finalize process (most of them are about third party components) !

Another thing that I don't understand is that the first chance exception "access violation at...." says "... Process updatecheck.exe". What is this process and what is it doing during a package install?

After 2 days wasted of nightmare debugging I discoverd the problem: there is a bug in the system.threading unit; if you use it in a design package you get an access violation in the core220.bpl. I've already created the issue in the new qc and seems that the problem will be solved in next release.

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Migrating from XE7 to XE8 random access violation installing adesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 14, 2015 11:36 AM   in response to: Davide Angeli in response to: Davide Angeli
Davide wrote:

After 2 days wasted of nightmare debugging I discoverd the problem:
there is a bug in the system.threading unit; if you use it in a design
package you get an access violation in the core220.bpl. I've already
created the issue in the new qc and seems that the problem will be
solved in next release.

What is the ticket number?

--
Remy Lebeau (TeamB)
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installing adesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 15, 2015 7:03 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
Davide wrote:

After 2 days wasted of nightmare debugging I discoverd the problem:
there is a bug in the system.threading unit; if you use it in a design
package you get an access violation in the core220.bpl. I've already
created the issue in the new qc and seems that the problem will be
solved in next release.

What is the ticket number?

--
Remy Lebeau (TeamB)

I've opend it in both:
- old qc : http://qc.embarcadero.com/wc/qcmain.aspx?d=132526
- new qp : https://quality.embarcadero.com/browse/RSP-11472

I would like to give a change to the new parallel library and in the last release I used it just in one place in my library. As I couldn't wait for next XE8 update or XE9 now I switch back to the more robust OTL. I asked qc for a workaround but till now they don't answer.

Davide
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Migrating from XE7 to XE8 random access violation installingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 15, 2015 10:28 AM   in response to: Davide Angeli in response to: Davide Angeli
Davide wrote:


FYI, when you report something to both sytems, you should link them together.
I have updated your tickets for you, but next time, you should post the
relevant links in the ticket descriptions. Or, simply stop posting new reports
in QC at all, only post them to QP (which is what Embarcadero wants people
to do anyway).

In any case, comments on your QP ticket say the issue has already been fixed,
so you will just have to wait for the next update to get the fix. Otherwise,
try patching the System.Threading unit to fix the AV yourself in the meantime.

--
Remy Lebeau (TeamB)
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violation installingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 16, 2015 8:24 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
FYI, when you report something to both sytems, you should link them together.
I have updated your tickets for you, but next time, you should post the
relevant links in the ticket descriptions. Or, simply stop posting new reports
in QC at all, only post them to QP (which is what Embarcadero wants people
to do anyway).

Yes you are right but getting help&support from Embarcadero is becoming a nightmare:
- this portal is a SHAME: it works 1 day and 2 days is down; 5 minutes to open the post replay editor and 20 minutes to post a message ???!!??? I can't believe that Embarcadero couldn't invest some more resources on it (unbelivable!)
- if there is a QP, why is still possible to submit bugs on QC? It is confusing. When I had to open this ticket I asked myself where to submit it and as I seen that QC is more used than QP I decide to post on both of them because I needed a quick response and I had never used QP so I didn't know response times. Next time I'll use only QP.

In any case, comments on your QP ticket say the issue has already been fixed,
so you will just have to wait for the next update to get the fix. Otherwise,
try patching the System.Threading unit to fix the AV yourself in the meantime.

Ok, but I need it NOW, I loose two working days to discover a problem that is not mine and now I'm locked. I'm refactoring some parts of my design time package and I need to compile it very often: it is a nightmare to close & open the IDE at each compile to install the package. I have no more time to correct the bug myself. Why is so impossible to get the file already patched without waiting weeks or months for next update pack (or next XE9)? They have already correct it why I have to loose other time to do something that someone else has already done? Unfortunatly my immediate solution is switch back to omnithreadlibrary and avoid use of System.Threading.
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Migrating from XE7 to XE8 random access violationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2015 10:38 AM   in response to: Davide Angeli in response to: Davide Angeli
Davide wrote:

- if there is a QP, why is still possible to submit bugs on QC?

QC will be retired eventually, it even says so on its website:

The old Quality Central is still running for your existing reports, but will
eventually be retired!

QP is not at the same level of quality as QC, IMHO. There is still some
functionality to be added to QP before QC can be completely shut down. But
you are right, maybe they should at least make QC read-only, except for comments
and resolutions.

The thing I hate most about QP is that you are required to use an EDN account
to even read it. QC did not have that restriction, which made it very
useful to share links to QC tickets so non-EDN users can see them. Not so
with QP.

Ok, but I need it NOW

Which is why I suggest you patch the System.Threading unit youself until
the fix is released. You do know that you can manually patch RTL/VCL/FMX
units in your projects, don't you? Simply make a copy of System.Threading.pas,
modify its implementation section (not its interface section) as needed,
and then add the modified file to your project. It will override the native
System.Threading unit during the compiling stage. Just make sure that runtime
packages are disabled, or this will not work.

Why is so impossible to get the file already patched without waiting
weeks or months for next update pack (or next XE9)?

Because they are not in the habit of releasing hotfixes for individual issues,
except in critical situations. It makes more sense to release periodic updates
that fix multiple issues at one time.

They have already correct it

That does not mean they are ready to release it yet. As a component vendor
myself, I fix issues in code as soon as I can, but that doesn't mean I have
the time to test them right away, make sure there are no side effects, etc.
That is what QA is for, and that takes time, especially for larger projects,
like the IDE/RTL.

why I have to loose other time to do something that someone else
has already done?

Someone did the fix, but someone else has to verify it, and someone else
has to package it for release, etc.

Unfortunatly my immediate solution is switch back to omnithreadlibrary
and avoid use of System.Threading.

Such is your choice.

--
Remy Lebeau (TeamB)
Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 21, 2015 12:36 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Thanks Remy for all the answers. I'm sorry for late answering this post but this forum it's really unusable.

Best regards
Davide

Remy Lebeau (TeamB) wrote:
Davide wrote:

- if there is a QP, why is still possible to submit bugs on QC?

QC will be retired eventually, it even says so on its website:

The old Quality Central is still running for your existing reports, but will
eventually be retired!

QP is not at the same level of quality as QC, IMHO. There is still some
functionality to be added to QP before QC can be completely shut down. But
you are right, maybe they should at least make QC read-only, except for comments
and resolutions.

The thing I hate most about QP is that you are required to use an EDN account
to even read it. QC did not have that restriction, which made it very
useful to share links to QC tickets so non-EDN users can see them. Not so
with QP.

Ok, but I need it NOW

Which is why I suggest you patch the System.Threading unit youself until
the fix is released. You do know that you can manually patch RTL/VCL/FMX
units in your projects, don't you? Simply make a copy of System.Threading.pas,
modify its implementation section (not its interface section) as needed,
and then add the modified file to your project. It will override the native
System.Threading unit during the compiling stage. Just make sure that runtime
packages are disabled, or this will not work.

Why is so impossible to get the file already patched without waiting
weeks or months for next update pack (or next XE9)?

Because they are not in the habit of releasing hotfixes for individual issues,
except in critical situations. It makes more sense to release periodic updates
that fix multiple issues at one time.

They have already correct it

That does not mean they are ready to release it yet. As a component vendor
myself, I fix issues in code as soon as I can, but that doesn't mean I have
the time to test them right away, make sure there are no side effects, etc.
That is what QA is for, and that takes time, especially for larger projects,
like the IDE/RTL.

why I have to loose other time to do something that someone else
has already done?

Someone did the fix, but someone else has to verify it, and someone else
has to package it for release, etc.

Unfortunatly my immediate solution is switch back to omnithreadlibrary
and avoid use of System.Threading.

Such is your choice.

--
Remy Lebeau (TeamB)
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: Migrating from XE7 to XE8 random access violationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 21, 2015 2:07 AM   in response to: Davide Angeli in response to: Davide Angeli
On Tue, 21 Jul 2015 00:36:18 -0700, Davide Angeli <> wrote:

Thanks Remy for all the answers. I'm sorry for late answering this post but this forum it's really unusable.

Yes, this is incredible. I thionk that there are only a handful of
people still here. :(

Is there an alternate forum/newsserver where one can discuss
Delphi/CPPB issues and which has decent traffic and members?
And of course one thta works 24/7.
Preferably a newsserver....

---
Bo Berglund
Sweden & Texas
Newsreader: Forte Free Agent 1.92/32.572

Davide Angeli

Posts: 31
Registered: 3/1/10
Re: Migrating from XE7 to XE8 random access violationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 21, 2015 2:25 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo Berglund wrote:
On Tue, 21 Jul 2015 00:36:18 -0700, Davide Angeli <> wrote:

Thanks Remy for all the answers. I'm sorry for late answering this post but this forum it's really unusable.

Yes, this is incredible. I thionk that there are only a handful of
people still here. :(

I repeat myself : it's a shame!


Is there an alternate forum/newsserver where one can discuss
Delphi/CPPB issues and which has decent traffic and members?
And of course one thta works 24/7.
Preferably a newsserver....

I'm trying to use the community on G+


---
Bo Berglund
Sweden & Texas
Newsreader: Forte Free Agent 1.92/32.572
Jack Baltus

Posts: 18
Registered: 11/23/00
Re: Migrating from XE7 to XE8 random access violationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2016 7:19 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy Lebeau (TeamB) wrote:
Which is why I suggest you patch the System.Threading unit youself until
the fix is released. You do know that you can manually patch RTL/VCL/FMX
units in your projects, don't you? Simply make a copy of System.Threading.pas,
modify its implementation section (not its interface section) as needed,
and then add the modified file to your project. It will override the native
System.Threading unit during the compiling stage. Just make sure that runtime
packages are disabled, or this will not work.

Remy Lebeau (TeamB)

And where can we find what's the way to fix this problem ?
(as is, where can we see the solution to quickfix this)
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: Migrating from XE7 to XE8 random access violationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2016 11:12 AM   in response to: Jack Baltus in response to: Jack Baltus
Jack,

| And where can we find what's the way to fix this problem ?
| (as is, where can we see the solution to quickfix this)

Uhhh,... Isn't that what Remy just typed in his post? (???)

--

Q -- XanaNews 1.19.1.372 - 2016-01-14 11:10:51
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Migrating from XE7 to XE8 random accessviolationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2016 11:14 AM   in response to: Quentin Correll in response to: Quentin Correll
Quentin wrote:

Uhhh,... Isn't that what Remy just typed in his post? (???)

I never posted any details about how to fix the actual code, I merely told
Davide how he can apply his fix to his local system while waiting for Embarcader
to release their fix.

--
Remy Lebeau (TeamB)
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: Migrating from XE7 to XE8 random accessviolationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2016 4:12 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy,

Oh. <g>

--

Q -- XanaNews 1.19.1.372 - 2016-01-14 16:12:35
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Migrating from XE7 to XE8 random accessviolationinstallingadesignpack
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 14, 2016 11:13 AM   in response to: Jack Baltus in response to: Jack Baltus
Jack wrote:

And where can we find what's the way to fix this problem ?
(as is, where can we see the solution to quickfix this)

Davide did not explain the details, and they are not in the ticket either
(RSP-11472), which has been marked as fixed in Seattle. I don't have the
details of the fix right now (will have to diff the RTL source).

--
Remy Lebeau (TeamB)
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02