Menu

#68 Thread-safe

Win32/Linux
closed-fixed
Dbf File (25)
5
2015-05-21
2010-05-18
Milan Tomes
No

I'm having big problems with TDBF when using it in my multi threaded application.
Here is a shortened version of call stack:

[005AEE69]{NavStreetsImporter.exe} dbf_prsdef.TExpressList.Add (Line 805, "dbf_prsdef.pas") + $7
[005AD47C]{NavStreetsImporter.exe} dbf_prssupp.TSortedCollection.AddList (Line 148, "dbf_prssupp.pas") + $10
[005C0785]{NavStreetsImporter.exe} dbf_parser.TDbfParser.FillExpressList (Line 445, "dbf_parser.pas") + $19
[005AF54F]{NavStreetsImporter.exe} dbf_prscore.TCustomExpressionParser.Create (Line 304, "dbf_prscore.pas") + $4
[005C05E0]{NavStreetsImporter.exe} dbf_parser.TDbfParser.Create (Line 365, "dbf_parser.pas") + $4
[005BFD0A]{NavStreetsImporter.exe} dbf.TDbfMasterLink.Create (Line 2956, "dbf.pas") + $9
[004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler (Line 2002, "StdCtrls.pas") + $6
[005BD2BA]{NavStreetsImporter.exe} dbf.TDbf.Create (Line 627, "dbf.pas") + $9
[005C3426]{NavStreetsImporter.exe} Geometry.TShapeFile.Create (Line 732, "Geometry.pas") + $9
[005D0208]{NavStreetsImporter.exe} ImportData.ImportSHP (Line 468, "ImportData.pas") + $7
[005D14A7]{NavStreetsImporter.exe} ImportData.TImportWorkerThread.DoExecute (Line 667, "ImportData.pas") + $4
[005CE13A]{NavStreetsImporter.exe} Globals.TWorkerThread.Execute (Line 1187, "Globals.pas") + $5
[004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler (Line 2002, "StdCtrls.pas") + $6
[0042D0AE]{NavStreetsImporter.exe} Classes.ThreadProc (Line 9372, "classes.pas") + $5
[004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler (Line 2002, "StdCtrls.pas") + $6
[00403001]{NavStreetsImporter.exe} System.@FreeMem (Line 2466, "system.pas") + $0
[00404D48]{NavStreetsImporter.exe} System.ThreadWrapper (Line 11554, "system.pas") + $0
[004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler (Line 2002, "StdCtrls.pas") + $6

The exception occurs when I'm trying to create new instance of TDBF and it happens only sometime so I guess it's because TDBF is not thread safe. Now I've removed support for MasterLink (as you can read from stack list, exception is raised when TDbfParser creation is in progress) and because I don't use Filter so TDbfParser is never used. I hope it will help, but I'll appreciate if this bug will be fixed ASAP.

I'm using Delphi 7 Professional.

Related

Bugs: #68

Discussion

  • Micha Nelissen

    Micha Nelissen - 2015-05-21

    Hi Paul,

    I have given 'Developers' permission to update tickets. Does this allow
    you to update the status?

    Thanks

    On 20-05-15 18:38, Paul Baker wrote:

    This is fixed in revision 407.
    I don't think I have access to change the status of this bug to fixed.


    [bugs:#68] http://sourceforge.net/p/tdbf/bugs/68 Thread-safe

    Status: open
    Group:
    Labels: Dbf File
    Created: Tue May 18, 2010 12:13 PM UTC by Milan Tomes
    Last Updated: Tue May 18, 2010 12:13 PM UTC
    Owner: Micha Nelissen

    I'm having big problems with TDBF when using it in my multi threaded
    application.
    Here is a shortened version of call stack:

    [005AEE69]{NavStreetsImporter.exe} dbf_prsdef.TExpressList.Add (Line
    805, "dbf_prsdef.pas") + $7
    [005AD47C]{NavStreetsImporter.exe} dbf_prssupp.TSortedCollection.AddList
    (Line 148, "dbf_prssupp.pas") + $10
    [005C0785]{NavStreetsImporter.exe} dbf_parser.TDbfParser.FillExpressList
    (Line 445, "dbf_parser.pas") + $19
    [005AF54F]{NavStreetsImporter.exe}
    dbf_prscore.TCustomExpressionParser.Create (Line 304, "dbf_prscore.pas")
    + $4
    [005C05E0]{NavStreetsImporter.exe} dbf_parser.TDbfParser.Create (Line
    365, "dbf_parser.pas") + $4
    [005BFD0A]{NavStreetsImporter.exe} dbf.TDbfMasterLink.Create (Line 2956,
    "dbf.pas") + $9
    [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
    (Line 2002, "StdCtrls.pas") + $6
    [005BD2BA]{NavStreetsImporter.exe} dbf.TDbf.Create (Line 627, "dbf.pas")
    + $9
    [005C3426]{NavStreetsImporter.exe} Geometry.TShapeFile.Create (Line 732,
    "Geometry.pas") + $9
    [005D0208]{NavStreetsImporter.exe} ImportData.ImportSHP (Line 468,
    "ImportData.pas") + $7
    [005D14A7]{NavStreetsImporter.exe}
    ImportData.TImportWorkerThread.DoExecute (Line 667, "ImportData.pas") + $4
    [005CE13A]{NavStreetsImporter.exe} Globals.TWorkerThread.Execute (Line
    1187, "Globals.pas") + $5
    [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
    (Line 2002, "StdCtrls.pas") + $6
    [0042D0AE]{NavStreetsImporter.exe} Classes.ThreadProc (Line 9372,
    "classes.pas") + $5
    [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
    (Line 2002, "StdCtrls.pas") + $6
    [00403001]{NavStreetsImporter.exe} System.@FreeMem (Line 2466,
    "system.pas") + $0
    [00404D48]{NavStreetsImporter.exe} System.ThreadWrapper (Line 11554,
    "system.pas") + $0
    [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
    (Line 2002, "StdCtrls.pas") + $6

    The exception occurs when I'm trying to create new instance of TDBF and
    it happens only sometime so I guess it's because TDBF is not thread
    safe. Now I've removed support for MasterLink (as you can read from
    stack list, exception is raised when TDbfParser creation is in progress)
    and because I don't use Filter so TDbfParser is never used. I hope it
    will help, but I'll appreciate if this bug will be fixed ASAP.

    I'm using Delphi 7 Professional.


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/tdbf/bugs/68/
    https://sourceforge.net/p/tdbf/bugs/68

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/
    https://sourceforge.net/auth/subscriptions

     

    Related

    Bugs: #68

    • Paul Baker

      Paul Baker - 2015-05-21

      Hi Micha,

      Yes. I already had permission to create. Now I have permission to edit
      too. I marked bugs 58 and 68 closed-fixed.

      On Thu, May 21, 2015 at 4:15 AM, Micha Nelissen mdv@users.sf.net wrote:

      Hi Paul,

      I have given 'Developers' permission to update tickets. Does this allow
      you to update the status?

      Thanks

      On 20-05-15 18:38, Paul Baker wrote:

      This is fixed in revision 407.
      I don't think I have access to change the status of this bug to fixed.


      [bugs:#68] http://sourceforge.net/p/tdbf/bugs/68
      http://sourceforge.net/p/tdbf/bugs/68
      http://sourceforge.net/p/tdbf/bugs/68 Thread-safe

      Status: open
      Group:
      Labels: Dbf File
      Created: Tue May 18, 2010 12:13 PM UTC by Milan Tomes
      Last Updated: Tue May 18, 2010 12:13 PM UTC
      Owner: Micha Nelissen

      I'm having big problems with TDBF when using it in my multi threaded
      application.
      Here is a shortened version of call stack:

      [005AEE69]{NavStreetsImporter.exe} dbf_prsdef.TExpressList.Add (Line
      805, "dbf_prsdef.pas") + $7
      [005AD47C]{NavStreetsImporter.exe} dbf_prssupp.TSortedCollection.AddList
      (Line 148, "dbf_prssupp.pas") + $10
      [005C0785]{NavStreetsImporter.exe} dbf_parser.TDbfParser.FillExpressList
      (Line 445, "dbf_parser.pas") + $19
      [005AF54F]{NavStreetsImporter.exe}
      dbf_prscore.TCustomExpressionParser.Create (Line 304, "dbf_prscore.pas")
      + $4
      [005C05E0]{NavStreetsImporter.exe} dbf_parser.TDbfParser.Create (Line
      365, "dbf_parser.pas") + $4
      [005BFD0A]{NavStreetsImporter.exe} dbf.TDbfMasterLink.Create (Line 2956,
      "dbf.pas") + $9
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6
      [005BD2BA]{NavStreetsImporter.exe} dbf.TDbf.Create (Line 627, "dbf.pas")
      + $9
      [005C3426]{NavStreetsImporter.exe} Geometry.TShapeFile.Create (Line 732,
      "Geometry.pas") + $9
      [005D0208]{NavStreetsImporter.exe} ImportData.ImportSHP (Line 468,
      "ImportData.pas") + $7
      [005D14A7]{NavStreetsImporter.exe}
      ImportData.TImportWorkerThread.DoExecute (Line 667, "ImportData.pas") + $4
      [005CE13A]{NavStreetsImporter.exe} Globals.TWorkerThread.Execute (Line
      1187, "Globals.pas") + $5
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6
      [0042D0AE]{NavStreetsImporter.exe} Classes.ThreadProc (Line 9372,
      "classes.pas") + $5
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6
      [00403001]{NavStreetsImporter.exe} System.@FreeMem (Line 2466,
      "system.pas") + $0
      [00404D48]{NavStreetsImporter.exe} System.ThreadWrapper (Line 11554,
      "system.pas") + $0
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6

      The exception occurs when I'm trying to create new instance of TDBF and
      it happens only sometime so I guess it's because TDBF is not thread
      safe. Now I've removed support for MasterLink (as you can read from
      stack list, exception is raised when TDbfParser creation is in progress)
      and because I don't use Filter so TDbfParser is never used. I hope it
      will help, but I'll appreciate if this bug will be fixed ASAP.

      I'm using Delphi 7 Professional.

      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/tdbf/bugs/68/
      https://sourceforge.net/p/tdbf/bugs/68

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/
      https://sourceforge.net/auth/subscriptions


      Status: open
      Group:
      Labels: Dbf File
      Created: Tue May 18, 2010 12:13 PM UTC by Milan Tomes
      Last Updated: Wed May 20, 2015 04:37 PM UTC
      Owner: Micha Nelissen

      I'm having big problems with TDBF when using it in my multi threaded
      application.
      Here is a shortened version of call stack:

      [005AEE69]{NavStreetsImporter.exe} dbf_prsdef.TExpressList.Add (Line 805,
      "dbf_prsdef.pas") + $7
      [005AD47C]{NavStreetsImporter.exe} dbf_prssupp.TSortedCollection.AddList
      (Line 148, "dbf_prssupp.pas") + $10
      [005C0785]{NavStreetsImporter.exe} dbf_parser.TDbfParser.FillExpressList
      (Line 445, "dbf_parser.pas") + $19
      [005AF54F]{NavStreetsImporter.exe}
      dbf_prscore.TCustomExpressionParser.Create (Line 304, "dbf_prscore.pas") +
      $4
      [005C05E0]{NavStreetsImporter.exe} dbf_parser.TDbfParser.Create (Line 365,
      "dbf_parser.pas") + $4
      [005BFD0A]{NavStreetsImporter.exe} dbf.TDbfMasterLink.Create (Line 2956,
      "dbf.pas") + $9
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6
      [005BD2BA]{NavStreetsImporter.exe} dbf.TDbf.Create (Line 627, "dbf.pas") +
      $9
      [005C3426]{NavStreetsImporter.exe} Geometry.TShapeFile.Create (Line 732,
      "Geometry.pas") + $9
      [005D0208]{NavStreetsImporter.exe} ImportData.ImportSHP (Line 468,
      "ImportData.pas") + $7
      [005D14A7]{NavStreetsImporter.exe}
      ImportData.TImportWorkerThread.DoExecute (Line 667, "ImportData.pas") + $4
      [005CE13A]{NavStreetsImporter.exe} Globals.TWorkerThread.Execute (Line
      1187, "Globals.pas") + $5
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6
      [0042D0AE]{NavStreetsImporter.exe} Classes.ThreadProc (Line 9372,
      "classes.pas") + $5
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6
      [00403001]{NavStreetsImporter.exe} System.@FreeMem (Line 2466,
      "system.pas") + $0
      [00404D48]{NavStreetsImporter.exe} System.ThreadWrapper (Line 11554,
      "system.pas") + $0
      [004494FE]{NavStreetsImporter.exe} StdCtrls.TCustomEdit.DefaultHandler
      (Line 2002, "StdCtrls.pas") + $6

      The exception occurs when I'm trying to create new instance of TDBF and it
      happens only sometime so I guess it's because TDBF is not thread safe. Now
      I've removed support for MasterLink (as you can read from stack list,
      exception is raised when TDbfParser creation is in progress) and because I
      don't use Filter so TDbfParser is never used. I hope it will help, but I'll
      appreciate if this bug will be fixed ASAP.

      I'm using Delphi 7 Professional.

      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/tdbf/bugs/68/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #68

  • Paul Baker

    Paul Baker - 2015-05-21
    • status: open --> closed-fixed
    • Group: --> Win32/Linux
      This is fixed in revision 407.
     

    Last edit: Paul Baker 2015-05-21

Log in to post a comment.