Error : Can not find dictionnary

Discussions about machine vision support in GdPicture.
Nigels
Posts: 28
Joined: Tue Jul 08, 2008 4:23 pm

Re: Error : Can not find dictionnary

Post by Nigels » Thu Oct 08, 2009 11:37 am

Hi Loic

I think we still have a problem here. I have just sent an email (to esupport) with a test application attached (same as last one but processes the document 100 times) and more details on the problem.

When using the eng.user-words file supplied with gdpicture the problem (or a similar crash) still occurs - it just takes longer to occur.

Whether it is connected, the application seems to use more and more memory the longer it processes the OCR documents.

Let me know if you require any more information.

Best regards

Nigel

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Re: Error : Can not find dictionnary

Post by Loïc » Thu Oct 08, 2009 3:32 pm

Hi Nigel,

I think the problem is away: into the rotate method of GdPicture (when the image source is a cloned image...).

Could you confirm ?

Try to comment all GdPicture Imaging rotate calls & run your test again.


PS: Of course, we fixed the rotate memory leak for the next minor release.

Cheers,

Loïc

Nigels
Posts: 28
Joined: Tue Jul 08, 2008 4:23 pm

Re: Error : Can not find dictionnary

Post by Nigels » Tue Oct 13, 2009 2:26 pm

Hi Loic

I think we still have a problem.

I commented out the lines where the rotation take place, but left in the OCRTesseractGetOrientationEx.

Code: Select all

    rotation = gdi.OCRTesseractGetOrientationEx(TesseractDictionaryEnglish, App.Path & "/ocr", RotationAccuracy)
    DoEvents
    If gdi.GetStat <> 0 Then
        GoTo catch
    End If

''    If rotation <> RotateNoneFlipNone Then
''        MsgBox "rotating!"
''        Select Case rotation
''            Case Rotate90FlipNone
''                gdi.Rotate Rotate270FlipNone
''            Case Rotate180FlipNone
''                gdi.Rotate Rotate180FlipNone
''            Case Rotate270FlipNone
''                gdi.Rotate Rotate90FlipNone
''        End Select
''    End If

I have just run the modified executable and over 3 hours the memory usage rose from an initail 19Mb to 59Mb. I do not think this is leaking as fast as it did with the rotation, but it still appears to be leaking.

I will leave it running overnight to see if it eventually crashes.

Cheers

Nigel

Nigels
Posts: 28
Joined: Tue Jul 08, 2008 4:23 pm

Re: Error : Can not find dictionnary

Post by Nigels » Wed Oct 14, 2009 10:16 am

Hi Loic

Just to confirm that I ran the testcase application (with the rotation removed) overnight and the memory usage went from 19Mb to 185Mb. However, it did not crash - so removing the rotation code has helped but not fixed the entire problem.

Cheers

Nigel

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Re: Error : Can not find dictionnary

Post by Loïc » Fri Oct 16, 2009 12:25 pm

Hi Nigel,

We just released a new version including rotation bug fix.

For the "small" memory leak, it is a known issue from Tesseract OCR. This problem should be resolved in future release of the OCR engine.

With best regards,

Loïc

Nigels
Posts: 28
Joined: Tue Jul 08, 2008 4:23 pm

Re: Error : Can not find dictionnary

Post by Nigels » Tue Oct 20, 2009 2:23 pm

Hi Loic

I have downloaded the latest version and it does slow the memory leak.

It did still leak about 20Mb an hour using the testcase - this would stop the function being able to be run as a service as it could potentially leak up to 0.5Gb a day!

Will this hopefully be fixed in the next release?

Cheers

Nigel

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest