MemoryError

Angel Ezquerra angel.ezquerra at gmail.com
Mon Nov 5 15:35:53 UTC 2012


Hi,

a colleague of mine just had a problem when committing a pretty large
binary file (260 MB). At first he was not able to commit (hg returned error
code 255). In the end he was able to successfully commit (I believe he
created a brand new repository and tried again). However, now he is not
able to update to that revision.

Running "hg verify --verbose" returns:

    C:\scb\prueba>hg verify --verbose
    repository uses revlog format 1
    checking changesets
    checking manifests
    crosschecking files in changesets and manifests
    checking files
    MCRInstaller.exe at 0: unpacking 63e2441ad980: MemoryError()
    12 files, 1 changesets, 12 total revisions
    1 integrity errors encountered!
    (first damaged changeset appears to be 0)

Apparently mercurial is unable to unpack the file due to memory problems.

Checking  the sizes of the fiels on the store you get:

    C:\scb\prueba>cd .hg\store\data
    C:\scb\prueba\.hg\store\data>dir /p
    El volumen de la unidad C no tiene etiqueta.
    El número de serie del volumen es: 7401-B806

    Directorio de C:\scb\prueba\.hg\store\data

    05/11/2012  12:41    <DIR>          .
    05/11/2012  12:41    <DIR>          ..
    05/11/2012  12:41           613.027 meas_i_q.dll.d
    05/11/2012  12:41                64 meas_i_q.dll.i
    05/11/2012  12:41               308 meas_i_qreleasescript.m.i
    05/11/2012  12:41            13.513 meas_i_qwrapper.dll.i
    05/11/2012  12:41             4.954 meas_i_qwrapper.h.i
    05/11/2012  12:41               885 meas_i_qwrapper.lib.i
    05/11/2012  12:41         2.934.406 meas_l_t_e.dll.d
    05/11/2012  12:41                64 meas_l_t_e.dll.i
    05/11/2012  12:41               307 meas_l_t_ereleasescript.m.i
    05/11/2012  12:41            18.545 meas_l_t_ewrapper.dll.i
    05/11/2012  12:41            11.663 meas_l_t_ewrapper.h.i
    05/11/2012  12:41               991 meas_l_t_ewrapper.lib.i
    05/11/2012  12:41       267.385.324 _m_c_r_installer.exe.d
    05/11/2012  12:41                64 _m_c_r_installer.exe.i
    05/11/2012  12:40                64 ~2ehgignore.i
                15 archivos    270.984.179 bytes
                2 dirs  208.450.764.800 bytes libres

Thus the biggest file is less than 270 MB.

His PC is running WindowsXP 32bit, and it only has 2 GB of ram. However the
Windows Task Admin shows that he has 1.13 GB free (I attach a picture
showing it, but it is in Spanish. "Disponible" means "Available").

[image: Inline image 1]

Does this error make sense? I believed that mercurial needed twice as much
free memory as the size of the biggest file. If that is the case it seems
that is computer should have enough memory to handle this file.

We could use the largefiles extension but I'd rather not go that route. We
have never used before and thus our web server is not configured to use it
yet. Also, since this file is not meant to change (or only very, very
rarely) I don't think the largefiles extension would give us much (other
than perhaps make it work! :-P ).

Any ideas why he is having this problem? Is there something else that we
can do?

Thank you in advance,

Angel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20121105/d1fafb57/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: windows_task_manager_free_memory.jpg
Type: image/jpeg
Size: 134548 bytes
Desc: not available
URL: <http://selenic.com/pipermail/mercurial/attachments/20121105/d1fafb57/attachment.jpg>


More information about the Mercurial mailing list