This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug pascal/20028] New: On pascal application closing error with stack overrun


https://sourceware.org/bugzilla/show_bug.cgi?id=20028

            Bug ID: 20028
           Summary: On pascal application closing error with stack overrun
           Product: gdb
           Version: 7.11
            Status: NEW
          Severity: normal
          Priority: P2
         Component: pascal
          Assignee: unassigned at sourceware dot org
          Reporter: abtaylr at comcast dot net
  Target Milestone: ---

Created attachment 9227
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9227&action=edit
contains 2 gdb output dumps and 1 trace from Lazarus-ide

In attempting to find and fix the errors occurring while an application is
attempting to correct, I am consistently getting:

=thread-selected,id="3"
~"\nThread "
~"1 \"subrip\" received signal SIGSEGV, Segmentation fault.\n"
&"/build/gdb-sqtpXm/gdb-7.11/gdb/gdbtypes.c:2036: internal-error:
resolve_dynamic_struct: Assertion `TYPE_NFIELDS (type) > 0' failed.\nA problem
internal to GDB has been detected,\nfurther debugging may prove unreliable.\n"
&"\nThis is a bug, please report it."
&"  For instructions, see:\n<http://www.gnu.org/software/gdb/bugs/>."

I have include 2 files showing the debug output generated while tracing the
execution of the program.  The point where the error occurs is in the following
procedure:

procedure TFormStartMain.FormClose(Sender : TObject;
  var CloseAction : TCloseAction);
begin
  //stop sequence if active
  StopSequence:=true;
  //Stop Vob Scanning if active
  if VobProcess.Working and not VobProcess.Paused then
    BitBtnPauseContinueClick(Sender);
  try
    if  (not CLI.Enabled)
    and (not AutoText.Enabled)
    and (not FindMatrix.Enabled)
    and (not JoinMatrix.Enabled)
    and (not MatrixInfo.Enabled)
    and (not SortMatrix.Enabled) then
    // [after /SORTMATRIX, this should not be reached because of ExitProcess(),
    //but still...]
    begin
      FConfig.SaveConfigGeneral;
      FConfig.SaveBMPProfile(SysToUTF8(AppzDir + IniConfigFileName));
      //Save last used BMP settings
    end;

    PreviewCFG.AutoZoom := False; //avoid crash when AutoZoom checked
(FormResize call)
    FormErrors.Free;
    CharMatrix.Free;
    AspectRatio.Free;
    AutoProc.Free;
    NulColorArray.Free;
    OcrIt.Free;
    Glyph.Free;
    SubtitleFormat.Free;
    TimingOperations.Free;
    VobProcess.Free;
    SubRipHelp.Free;
    RecognizedBmp.Free;
  except
    raise Exception.Create('FormStartMain FormClose Error');
  end;
end;  <====================== error occurs ===============

While stepping forward once I hit the breakpoint on this line no.763. I
typically go forward until I get to:

Procedure TStringList.Changed;

begin
  If (FUpdateCount=0) Then
   begin
   If Assigned(FOnChange) then        <============== execution stops here! ===
     FOnchange(Self);
   FPONotifyObservers(Self,ooChange,Nil);
   end;
end;

One of these files shows doing an F9 run from the program block 'end' statement
while the other shows F7 stepping forward until failure.

I also include a file showing a run of lazarus-ide under gdb exiting after the
run occurs, included for interest.

If there is anything else I can get you, please let me know.

abt

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]