Opened 7 years ago

Closed 7 years ago

#8446 closed bug (invalid)

git error: rev-list died of signal 21 (in hrev43574)

Reported by: Karvjorm Owned by: nobody
Priority: normal Milestone: R1
Component: - General Version: R1/Development
Keywords: git pull error Cc: Karvjorm
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

When I tried to update haiku source code using "git pull", I received the following rev-list died of signal 21 error.

~/haiku/haiku> git pull
remote: Counting objects: 138, done.
remote: Compressing objects: 100% (107/107), done.
remote: Total 107 (delta 90), reused 0 (delta 0)
Receiving objects: 100% (107/107), 13.61 KiB, done.
Resolving deltas: 100% (90/90), completed with 29 local objects.
From git://git.haiku-os.org/haiku
   e1b41a1..bc11edc  master     -> origin/master
 * [new tag]         hrev43948  -> hrev43948
error: rev-list died of signal 21
remote: Total 0 (delta 0), reused 0 (delta 0)
From git://git.haiku-os.org/haiku
 * [new tag]         hrev43939  -> hrev43939
 * [new tag]         hrev43940  -> hrev43940
 * [new tag]         hrev43941  -> hrev43941
 * [new tag]         hrev43942  -> hrev43942
 * [new tag]         hrev43943  -> hrev43943
 * [new tag]         hrev43944  -> hrev43944
 * [new tag]         hrev43945  -> hrev43945
 * [new tag]         hrev43946  -> hrev43946
 * [new tag]         hrev43947  -> hrev43947
Updating e1b41a1..bc11edc
Fast-forward
 build/jam/OptionalPackages                         |    8 +-
 headers/private/graphics/common/dp_raw.h           |  225 ++++++++++++++++++++
 .../private/graphics/radeon_hd/displayport_reg.h   |  161 --------------
 src/add-ons/accelerants/radeon_hd/accelerant.h     |    2 +-
 src/add-ons/accelerants/radeon_hd/displayport.cpp  |   90 ++++----
 src/add-ons/accelerants/radeon_hd/displayport.h    |    7 +-
 .../kernel/drivers/graphics/radeon_hd/driver.cpp   |    1 +
 src/add-ons/opengl/swrast/MesaSoftwareRenderer.cpp |   77 ++++++--
 src/add-ons/opengl/swrast/MesaSoftwareRenderer.h   |    8 +-
 src/apps/networkstatus/NetworkStatusView.cpp       |   17 +-
 src/preferences/screen/ScreenWindow.cpp            |   10 +-
 11 files changed, 362 insertions(+), 244 deletions(-)
 create mode 100644 headers/private/graphics/common/dp_raw.h
 delete mode 100644 headers/private/graphics/radeon_hd/displayport_reg.h

Attachments (6)

git-pull-error1.png (68.0 KB) - added by Karvjorm 7 years ago.
git-pull-error2.png (57.4 KB) - added by Karvjorm 7 years ago.
git-pull-error3.png (61.9 KB) - added by Karvjorm 7 years ago.
git-pull-error4.png (61.2 KB) - added by Karvjorm 7 years ago.
activitymonitor.png (20.7 KB) - added by Karvjorm 7 years ago.
ActivityMonitor of my test laptop
virtualmemory.png (13.4 KB) - added by Karvjorm 7 years ago.
Virtual memory setting of my test laptop

Download all attachments as: .zip

Change History (14)

Changed 7 years ago by Karvjorm

Attachment: git-pull-error1.png added

Changed 7 years ago by Karvjorm

Attachment: git-pull-error2.png added

Changed 7 years ago by Karvjorm

Attachment: git-pull-error3.png added

Changed 7 years ago by Karvjorm

Attachment: git-pull-error4.png added

comment:1 Changed 7 years ago by bonefish

Version: R1/alpha3R1/Development

Signal 21 is SIGKILLTHR, which is sent by gdb to terminate the debugged program. As can be seen in the second screenshot (you know you can just copy the text from the debugger terminal?) the program crashed due to a segmentation violation in the memory allocator code. So it's likely a heap corruption.

I suppose this is not easily reproducible?

comment:2 Changed 7 years ago by Karvjorm

The next git pull was "error: cannot fork() for gc: Out of memory":

~/haiku/haiku> git pull
remote: Counting objects: 144, done.
remote: Compressing objects: 100% (79/79), done.
remote: Total 79 (delta 65), reused 0 (delta 0)
Unpacking objects: 100% (79/79), done.
From git://git.haiku-os.org/haiku
   bc11edc..84c93bf  master     -> origin/master
 * [new tag]         hrev43951  -> hrev43951
From git://git.haiku-os.org/haiku
 * [new tag]         hrev43949  -> hrev43949
 * [new tag]         hrev43950  -> hrev43950
Updating bc11edc..84c93bf
Checking out files: 100% (43/43), done.
Fast-forward
error: cannot fork() for gc: Out of memory
 Jamfile                                            |    1 -
 build/jam/BuildSetup                               |    5 +-
 build/jam/HaikuImage                               |   13 +-
 headers/private/libbe/LocaleBackend.h              |   34 -
 headers/private/locale/LibbeLocaleBackend.h        |   32 -
 headers/private/locale/SystemCatalog.h             |   18 +
 .../kernel/file_systems/netfs/server/Jamfile       |    1 -
 .../kernel/file_systems/userlandfs/server/Jamfile  |    1 -
 .../userlandfs/shared/driver_settings.c            |  769 --------------------
 src/add-ons/locale/catalogs/plaintext/Jamfile      |    2 +-
 src/add-ons/locale/catalogs/zeta/Jamfile           |    2 +-
 src/add-ons/locale/collators/Jamfile               |    4 +-
 src/add-ons/translators/raw/Jamfile                |   10 +-
 src/apps/charactermap/Jamfile                      |    2 +-
 src/apps/mediaplayer/Jamfile                       |    2 +-
 src/bin/Jamfile                                    |    8 +-
 src/bin/locale/Jamfile                             |    8 +-
 src/kits/{locale => }/CountryFlags.rdef            |    0
 src/kits/Jamfile                                   |   37 +-
 src/kits/{locale => }/LanguageFlags.rdef           |    0
 src/kits/LocaleBackend.cpp                         |   63 --
 src/kits/app/InitTerminateLibBe.cpp                |    5 +
 src/kits/app/Jamfile                               |    2 +-
 src/kits/interface/ColorControl.cpp                |   19 +-
 src/kits/interface/Dragger.cpp                     |   13 +-
 src/kits/interface/Jamfile                         |    2 +-
 src/kits/interface/Menu.cpp                        |   13 +-
 src/kits/interface/PrintJob.cpp                    |   13 +-
 src/kits/interface/TextView.cpp                    |   18 +-
 src/kits/interface/ZombieReplicantView.cpp         |   21 +-
 .../locale/{LibraryInit.cpp => InitLocaleKit.cpp}  |   16 +-
 src/kits/locale/Jamfile                            |   36 +-
 src/kits/locale/LibbeLocaleBackend.cpp             |   51 --
 src/kits/shared/AboutMenuItem.cpp                  |   16 +-
 src/kits/shared/AboutWindow.cpp                    |   26 +-
 src/kits/shared/Jamfile                            |    2 +-
 src/kits/shared/StringForSize.cpp                  |   21 +-
 src/kits/storage/QueryPredicate.cpp                |   38 +-
 src/tests/kits/locale/Jamfile                      |    4 +-
 src/tests/kits/locale/number_format/Jamfile        |    2 +-
 40 files changed, 183 insertions(+), 1147 deletions(-)
 delete mode 100644 headers/private/libbe/LocaleBackend.h
 delete mode 100644 headers/private/locale/LibbeLocaleBackend.h
 create mode 100644 headers/private/locale/SystemCatalog.h
 delete mode 100644 src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
 rename src/kits/{locale => }/CountryFlags.rdef (100%)
 rename src/kits/{locale => }/LanguageFlags.rdef (100%)
 delete mode 100644 src/kits/LocaleBackend.cpp
 rename src/kits/locale/{LibraryInit.cpp => InitLocaleKit.cpp} (94%)
 delete mode 100644 src/kits/locale/LibbeLocaleBackend.cpp

comment:3 in reply to:  1 Changed 7 years ago by Karvjorm

Replying to bonefish:

(you know you can just copy the text from the debugger terminal?)

I'm sorry.

I suppose this is not easily reproducible?

no, but during the next "git pull" some hour later yesterday I received:

error: cannot fork() for gc: Out of memory

But when I booted haiku today and tried "git pull", all was as it should be, I suppose:

~/haiku/haiku> git pull
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From git://git.haiku-os.org/haiku
   84c93bf..71cfb0c  master     -> origin/master
 * [new tag]         hrev43952  -> hrev43952
Updating 84c93bf..71cfb0c
Fast-forward
 build/jam/OptionalPackages |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

comment:4 Changed 7 years ago by Karvjorm

OK,

the second error message (error: cannot fork() for gc: Out of memory) was reproducible:

~/haiku/haiku> git pull
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From git://git.haiku-os.org/haiku
   84c93bf..71cfb0c  master     -> origin/master
 * [new tag]         hrev43952  -> hrev43952
Updating 84c93bf..71cfb0c
Fast-forward
 build/jam/OptionalPackages |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)
~/haiku/haiku> cd ..
~/haiku> cd haikuports
~/haiku/haikuports> ls -al
total 26
drwxr-xr-x 1 user root 2048 2012-02-24 23:54 .
drwxr-xr-x 1 user root 2048 2012-03-15 22:31 ..
drwxr-xr-x 1 user root 2048 2012-04-04 21:29 .svn
drwxr-xr-x 1 user root 2048 2012-02-24 23:54 branches
drwxr-xr-x 1 user root 2048 2012-02-24 23:54 tags
drwxr-xr-x 1 user root 4096 2012-02-24 23:52 trunk
~/haiku/haikuports> svn update
At revision 1865.
~/haiku/haikuports> cd ..
~/haiku> cd haiku
~/haiku/haiku> git pull
remote: Counting objects: 44, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 26 (delta 21), reused 0 (delta 0)
Unpacking objects: 100% (26/26), done.
From git://git.haiku-os.org/haiku
   71cfb0c..c83bde4  master     -> origin/master
 * [new tag]         hrev43955  -> hrev43955
From git://git.haiku-os.org/haiku
 * [new tag]         hrev43953  -> hrev43953
 * [new tag]         hrev43954  -> hrev43954
Updating 71cfb0c..c83bde4
Fast-forward
error: cannot fork() for gc: Out of memory
 build/scripts/build_cross_tools_gcc4               |    7 ++-
 headers/private/runtime_loader/runtime_loader.h    |    5 +-
 src/system/kernel/sem.cpp                          |    1 +
 src/system/libroot/posix/dlfcn.c                   |   16 ++---
 src/system/runtime_loader/elf.cpp                  |   69 ++++++++++++--------
 src/system/runtime_loader/export.cpp               |    2 +-
 src/system/runtime_loader/runtime_loader_private.h |    4 +-
 7 files changed, 61 insertions(+), 43 deletions(-)

I made "svn update" for haikuports and again "git pull" for haiku source tree and now I received that error message again.

comment:5 Changed 7 years ago by diver

How much memory do you have in your system?

comment:6 in reply to:  5 Changed 7 years ago by Karvjorm

Replying to diver:

How much memory do you have in your system?

Actually, not so much RAM, I suppose. Mt means Megabytes in the following images, Gt is Gigabytes.

Changed 7 years ago by Karvjorm

Attachment: activitymonitor.png added

ActivityMonitor of my test laptop

Changed 7 years ago by Karvjorm

Attachment: virtualmemory.png added

Virtual memory setting of my test laptop

comment:7 Changed 7 years ago by umccullough

Sounds like you're really just running out of available virtual memory...

It really is important to have some - so that when a process forks, there is enough available to guarantee the program (forking essentially requires double the available virtual memory that the process was using).

You might try creating at least as much swap as you have physical RAM, which is generally a good practice.

comment:8 Changed 7 years ago by diver

Resolution: invalid
Status: newclosed

According to virtualmemory.png you have ~ 494Mb. This explains Out of memory messages.

Note: See TracTickets for help on using tickets.