Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 99181
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:20:18+00:00 2026-05-11T00:20:18+00:00

i wonder if i’ve found a compiler bug? i was removing some old code

  • 0

i wonder if i’ve found a compiler bug? i was removing some old code from my app and now i get stackoverflow at ‘begin’ (see code & disassembly below).

procedure TfraNewRTMDisplay.ShowMeasurement; var   iDummy, iDummy2, iDummy3:integer; begin    // STACK OVERFLOW BEFORE MY CODE STARTS   iDummy:=0;   iDummy2:=0;    case iDummy2 of     1:       case iDummy of         1:m_SelectedRTMMenuData.ChannelMeasSet.MeasKV.ClearMeasurementData;         2:m_SelectedRTMMenuData.ChannelMeasSet.MeasKV.ClearMeasurementData;       end;   end;   end;  NewRTMDisplay.pas.1601: begin 00983BF8 55               push ebp 00983BF9 8BEC             mov ebp,esp 00983BFB B9D4E40400       mov ecx,$0004e4d4 00983C00 6A00             push $00             // stack overflow loop 00983C02 6A00             push $00             // stack overflow loop  00983C04 49               dec ecx              // stack overflow loop   00983C05 75F9             jnz $00983c00        // stack overflow loop 00983C07 56               push esi 00983C08 57               push edi 00983C09 8945FC           mov [ebp-$04],eax 00983C0C 8D856005FFFF     lea eax,[ebp-$0000faa0] 00983C12 8B153C789A00     mov edx,[$009a783c] 00983C18 E88B35A8FF       call @InitializeRecord 00983C1D 8D85D00AFEFF     lea eax,[ebp-$0001f530] 00983C23 8B153C789A00     mov edx,[$009a783c] 00983C29 E87A35A8FF       call @InitializeRecord 00983C2E 33C0             xor eax,eax 00983C30 55               push ebp 00983C31 68F73C9800       push $00983cf7 00983C36 64FF30           push dword ptr fs:[eax] 00983C39 648920           mov fs:[eax],esp NewRTMDisplay.pas.1602: iDummy:=0; 00983C3C 33C0             xor eax,eax 00983C3E 8945F8           mov [ebp-$08],eax NewRTMDisplay.pas.1603: iDummy2:=0; 00983C41 33C0             xor eax,eax 00983C43 8945F4           mov [ebp-$0c],eax NewRTMDisplay.pas.1605: case iDummy2 of 00983C46 8B45F4           mov eax,[ebp-$0c] 00983C49 48               dec eax 00983C4A 7571             jnz $00983cbd NewRTMDisplay.pas.1607: case iDummy of 00983C4C 8B45F8           mov eax,[ebp-$08] 00983C4F 48               dec eax 00983C50 7405             jz $00983c57 00983C52 48               dec eax 00983C53 7436             jz $00983c8b 00983C55 EB66             jmp $00983cbd NewRTMDisplay.pas.1608: 1:m_SelectedRTMMenuData.ChannelMeasSet.MeasKV.ClearMeasurementData; 00983C57 8D951872EBFF     lea edx,[ebp-$00148de8] 00983C5D 8B45FC           mov eax,[ebp-$04] 00983C60 8B80F0020000     mov eax,[eax+$000002f0] 00983C66 E895DBE9FF       call TRTMMenuData.ChannelMeasSet 00983C6B 8DB52072EBFF     lea esi,[ebp-$00148de0] 00983C71 8DBD6005FFFF     lea edi,[ebp-$0000faa0] 00983C77 B9A43E0000       mov ecx,$00003ea4 00983C7C F3A5             rep movsd  00983C7E 8D856005FFFF     lea eax,[ebp-$0000faa0] 00983C84 E81B3F0200       call TDeviceMeas.ClearMeasurementData 00983C89 EB32             jmp $00983cbd NewRTMDisplay.pas.1609: 2:m_SelectedRTMMenuData.ChannelMeasSet.MeasKV.ClearMeasurementData; 00983C8B 8D9560D9D8FF     lea edx,[ebp-$002726a0] 00983C91 8B45FC           mov eax,[ebp-$04] 00983C94 8B80F0020000     mov eax,[eax+$000002f0] 00983C9A E861DBE9FF       call TRTMMenuData.ChannelMeasSet 00983C9F 8DB568D9D8FF     lea esi,[ebp-$00272698] 00983CA5 8DBDD00AFEFF     lea edi,[ebp-$0001f530] 00983CAB B9A43E0000       mov ecx,$00003ea4 00983CB0 F3A5             rep movsd  00983CB2 8D85D00AFEFF     lea eax,[ebp-$0001f530] 00983CB8 E8E73E0200       call TDeviceMeas.ClearMeasurementData NewRTMDisplay.pas.1612: end; 

any ideas?

thank you! mp

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:20:19+00:00Added an answer on May 11, 2026 at 12:20 am

    Yuliy is right: The 320KB buffer is likely an array[20] of whatever is returned by ChannelMeasSet – based on the size of the rep movsd loop.

    It looks like you’ve got some code that is returning a very large data structure by value, rather than just a reference to it. Apart from the stack overflow issue, that’s likely to be very inefficient.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 155k
  • Answers 155k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer I believe you're hitting this known limitation (or bug) that… May 12, 2026 at 10:43 am
  • Editorial Team
    Editorial Team added an answer Visual Studio displays different icons in the IntelliSense list. It's… May 12, 2026 at 10:43 am
  • Editorial Team
    Editorial Team added an answer <?php $string = "event name|event description|event type|2009-08-01|event time|event details, event… May 12, 2026 at 10:43 am

Related Questions

i wonder if i've found a compiler bug? i was removing some old code
I wonder if I can test landscape view using simulator?
I wonder if I could write a program in the C -programming language that
I wonder if I could read or write shared int value without locking on
I wonder if this would be doable ? To insert an array into one

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.