import and setting tmp dir
When I try and import a large zexp, I get a 'Error Value: [Errno 28] No space left on device' (traceback below). If I do a 'df' while the import is processing, I can see the it is my root partition that is filling up. My zope install dir does not live on the root partition, and I have set the TMPDIR env var in my zope start script to point to a non root partition that has plenty of space. When I start the python interpreter in this environment, with the same command that I use to start zope in 'start' and test the tempfile config, it points to the dir I set with TMPDIR (ie, /workn/tmp)
import tempfile print tempfile.mktemp() /workn/tmp/@13559.0
However, if I restart zope and try to do the import again, I get the same device full message and I see with df that it is the root partition that is filling up again. I have no idea why this is happening -- is it possible that there is some tmp file allocation that is going on independently of tempfile with the import, and if so, can anyone suggest how I can set where that storage should reside? Thanks, John Hunter Zope Version (Zope 2.5.1b1 (source release, python 2.1, linux2), python 2.1.3, linux2) Python Version 2.1.3 (#1, Apr 12 2002, 00:33:22) [GCC 3.0.4] System Platform linux2 Traceback: Zope Error Zope has encountered an error while publishing this resource. Error Type: IOError Error Value: [Errno 28] No space left on device Troubleshooting Suggestions The URL may be incorrect. The parameters passed to this resource may be incorrect. A resource that this resource relies on may be encountering an error. For more detailed information about the error, please refer to the HTML source for this page. If the error persists please contact the site maintainer. Thank you for your patience. Traceback (innermost last): File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 150, in publish_module File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 114, in publish File /usr/local/Zope/lib/python/Zope/__init__.py, line 159, in zpublisher_exception_hook (Object: Zope) File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 98, in publish File /usr/local/Zope/lib/python/ZPublisher/mapply.py, line 88, in mapply (Object: manage_importObject) File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 39, in call_object (Object: manage_importObject) File /usr/local/Zope-2.5.1b1-src/lib/python/OFS/ObjectManager.py, line 521, in manage_importObject (Object: Zope) File /usr/local/Zope-2.5.1b1-src/lib/python/OFS/ObjectManager.py, line 537, in _importObjectFromFile (Object: Zope) File /usr/local/Zope/lib/python/ZODB/ExportImport.py, line 79, in importFile File /usr/local/Zope/lib/python/ZODB/Transaction.py, line 234, in commit File /usr/local/Zope/lib/python/ZODB/Connection.py, line 235, in commit File /usr/local/Zope/lib/python/ZODB/ExportImport.py, line 152, in _importDuringCommit File /usr/local/Zope/lib/python/ZODB/TmpStore.py, line 77, in store IOError: (see above)
John, It sounds like you've done everything right. One painful way to find out where it *is* writing the tempfile may be to run Python/Zope under strace and do the import. - C John Hunter wrote:
When I try and import a large zexp, I get a 'Error Value: [Errno 28] No space left on device' (traceback below). If I do a 'df' while the import is processing, I can see the it is my root partition that is filling up.
My zope install dir does not live on the root partition, and I have set the TMPDIR env var in my zope start script to point to a non root partition that has plenty of space. When I start the python interpreter in this environment, with the same command that I use to start zope in 'start' and test the tempfile config, it points to the dir I set with TMPDIR (ie, /workn/tmp)
import tempfile print tempfile.mktemp()
/workn/tmp/@13559.0
However, if I restart zope and try to do the import again, I get the same device full message and I see with df that it is the root partition that is filling up again.
I have no idea why this is happening -- is it possible that there is some tmp file allocation that is going on independently of tempfile with the import, and if so, can anyone suggest how I can set where that storage should reside?
Thanks, John Hunter
Zope Version (Zope 2.5.1b1 (source release, python 2.1, linux2), python 2.1.3, linux2) Python Version 2.1.3 (#1, Apr 12 2002, 00:33:22) [GCC 3.0.4] System Platform linux2
Traceback:
Zope Error Zope has encountered an error while publishing this resource. Error Type: IOError Error Value: [Errno 28] No space left on device Troubleshooting Suggestions The URL may be incorrect. The parameters passed to this resource may be incorrect. A resource that this resource relies on may be encountering an error. For more detailed information about the error, please refer to the HTML source for this page. If the error persists please contact the site maintainer. Thank you for your patience.
Traceback (innermost last): File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 150, in publish_module File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 114, in publish File /usr/local/Zope/lib/python/Zope/__init__.py, line 159, in zpublisher_exception_hook (Object: Zope) File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 98, in publish File /usr/local/Zope/lib/python/ZPublisher/mapply.py, line 88, in mapply (Object: manage_importObject) File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 39, in call_object (Object: manage_importObject) File /usr/local/Zope-2.5.1b1-src/lib/python/OFS/ObjectManager.py, line 521, in manage_importObject (Object: Zope) File /usr/local/Zope-2.5.1b1-src/lib/python/OFS/ObjectManager.py, line 537, in _importObjectFromFile (Object: Zope) File /usr/local/Zope/lib/python/ZODB/ExportImport.py, line 79, in importFile File /usr/local/Zope/lib/python/ZODB/Transaction.py, line 234, in commit File /usr/local/Zope/lib/python/ZODB/Connection.py, line 235, in commit File /usr/local/Zope/lib/python/ZODB/ExportImport.py, line 152, in _importDuringCommit File /usr/local/Zope/lib/python/ZODB/TmpStore.py, line 77, in store IOError: (see above)
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-- Chris McDonough Zope Corporation http://www.zope.org http://www.zope.com "Killing hundreds of birds with thousands of stones"
"Chris" == Chris McDonough <chrism@zope.com> writes:
Chris> One painful way to find out where it *is* writing the Chris> tempfile may be to run Python/Zope under strace and do the Chris> import. Hi Chris, Thanks for the response. I tried the strace. I am only getting system calls up to the point where the zope server starts. Ie, nothing is reported by the strace after the zope message 2002-05-07T03:22:03 INFO(0) ZServer PCGI Server started at Mon May 6 22:22:03 2002 Unix socket: /usr/local/Zope-2.5.1b1-src/var/pcgi.soc which is the last log entry after the server starts when I execute the ./start script. I am using strace like 'strace ./start'. I have also tried in my ./start script: exec strace /usr/local/bin/python2.1 \ $INST_HOME/z2.py \ -D "$@" Are either of these the correct way? In any case, nothing in the strace as executed above matches 'tmp'. I also grepped the output for '^open' and didn't see anything interesting. For the record, if I simply do a copy/paste from the manager interface and without invoking import/export, i get the same behavior. That is, if I choose a copy operation that is sufficiently large that I can execute multiple df's and see the change in the Use% column, the root partition is being used for the copy. Possibly something in the transaction system is using a tmp file not supplied by tempfile.py? Thanks, John Hunter
John, try strace ./start -t1 (single-threaded) ----- Original Message ----- From: "John Hunter" <jdhunter@ace.bsd.uchicago.edu> To: "Zope Users" <zope@zope.org> Sent: Monday, May 06, 2002 11:42 PM Subject: Re: [Zope] import and setting tmp dir
"Chris" == Chris McDonough <chrism@zope.com> writes:
Chris> One painful way to find out where it *is* writing the Chris> tempfile may be to run Python/Zope under strace and do the Chris> import.
Hi Chris,
Thanks for the response. I tried the strace. I am only getting system calls up to the point where the zope server starts. Ie, nothing is reported by the strace after the zope message
2002-05-07T03:22:03 INFO(0) ZServer PCGI Server started at Mon May 6 22:22:03 2002 Unix socket: /usr/local/Zope-2.5.1b1-src/var/pcgi.soc
which is the last log entry after the server starts when I execute the ./start script.
I am using strace like 'strace ./start'. I have also tried in my ./start script:
exec strace /usr/local/bin/python2.1 \ $INST_HOME/z2.py \ -D "$@"
Are either of these the correct way?
In any case, nothing in the strace as executed above matches 'tmp'. I also grepped the output for '^open' and didn't see anything interesting.
For the record, if I simply do a copy/paste from the manager interface and without invoking import/export, i get the same behavior. That is, if I choose a copy operation that is sufficiently large that I can execute multiple df's and see the change in the Use% column, the root partition is being used for the copy.
Possibly something in the transaction system is using a tmp file not supplied by tempfile.py?
Thanks, John Hunter
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
"Chris" == Chris McDonough <chrism@zope.com> writes:
Chris> John, try strace ./start -t1 (single-threaded) Hmm. This doesn't seem to be working. I still get no entries in the strace output after the zope server startup message I referred to previously. Ignoring strace for a moment, there seems to be a problem with the -t1 flag. If I do a ps aux grepping for python processes, right after I execute
./start -t1
I have two processes mother:~> ps aux | grep /usr/local/bin/py root 21016 0.4 0.7 5196 3620 pts/8 S 09:30 0:00 /usr/local/bin/py nobody 21019 30.1 3.5 20272 18184 pts/8 S 09:30 0:23 /usr/local/bin/py These are the two pids in var/Z2.pid When I start the copy command form the zope manager interface, and then do the ps, I get some new processes that look like threads: mother:~> ps aux | grep /usr/local/bin/py root 21016 0.3 0.7 5196 3620 pts/8 S 09:30 0:00 /usr/local/bin/py nobody 21019 22.4 3.7 29376 19236 pts/8 S 09:30 0:23 /usr/local/bin/py nobody 21084 0.0 3.7 29376 19236 pts/8 S 09:31 0:00 /usr/local/bin/py nobody 21085 26.0 3.7 29376 19236 pts/8 D 09:31 0:04 /usr/local/bin/py I have the same problem when I modify the start script to start zope like: exec /usr/local/bin/python2.1 \ $INST_HOME/z2.py -t1 \ -D "$@" Woe is me. Should I be getting these extra processes with the t1 flag? It looks to me like these extra process are why I am not getting anything in the strace when I start the copy. Gee, when you said using strace would be painful, you weren't kidding. Thanks for you help; I'll eagerly try any further suggestions. John Hunter
Oops.. try this: strace ./start -t1 -Z'' This starts Zope in single-threaded mode and does not fork off a zdaemon process. Sorry for the incomplete info. - C ----- Original Message ----- From: "John Hunter" <jdhunter@ace.bsd.uchicago.edu> To: "Chris McDonough" <chrism@zope.com> Cc: "Zope Users" <zope@zope.org> Sent: Tuesday, May 07, 2002 10:39 AM Subject: Re: [Zope] import and setting tmp dir
"Chris" == Chris McDonough <chrism@zope.com> writes:
Chris> John, try strace ./start -t1 (single-threaded)
Hmm. This doesn't seem to be working. I still get no entries in the strace output after the zope server startup message I referred to previously.
Ignoring strace for a moment, there seems to be a problem with the -t1 flag. If I do a ps aux grepping for python processes, right after I execute
./start -t1
I have two processes
mother:~> ps aux | grep /usr/local/bin/py root 21016 0.4 0.7 5196 3620 pts/8 S 09:30 0:00 /usr/local/bin/py nobody 21019 30.1 3.5 20272 18184 pts/8 S 09:30 0:23 /usr/local/bin/py These are the two pids in var/Z2.pid
When I start the copy command form the zope manager interface, and then do the ps, I get some new processes that look like threads:
mother:~> ps aux | grep /usr/local/bin/py root 21016 0.3 0.7 5196 3620 pts/8 S 09:30 0:00 /usr/local/bin/py nobody 21019 22.4 3.7 29376 19236 pts/8 S 09:30 0:23 /usr/local/bin/py nobody 21084 0.0 3.7 29376 19236 pts/8 S 09:31 0:00 /usr/local/bin/py nobody 21085 26.0 3.7 29376 19236 pts/8 D 09:31 0:04 /usr/local/bin/py
I have the same problem when I modify the start script to start zope like:
exec /usr/local/bin/python2.1 \ $INST_HOME/z2.py -t1 \ -D "$@"
Woe is me. Should I be getting these extra processes with the t1 flag? It looks to me like these extra process are why I am not getting anything in the strace when I start the copy.
Gee, when you said using strace would be painful, you weren't kidding. Thanks for you help; I'll eagerly try any further suggestions.
John Hunter
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
"Chris" == Chris McDonough <chrism@zope.com> writes:
Chris> Oops.. try this: strace ./start -t1 -Z'' For the record, on my system (RHL7.1) I need strace ./start -t1 -Z '' ^ SPACE else I get the error Error: getopt.GetoptError: option -Z requires argument Chris> This starts Zope in single-threaded mode and does not fork Chris> off a zdaemon process. Sorry for the incomplete info. Success! I have gotten the strace. Unfortunately, I'll have to wait until later for complete results because others are using the server now and I don't want to fill the root partition on them, and their queries are complicating the strace logs. For now, though, I'll paste the part of the strace where I accessed the folder containing the source of the data 'Seizure.orig' and then try to paste it into the folder 'summer'. Nothing leaps out at me in this part of the record. A few more things to point out first. Grepping 'tmp' on the entire strace yields read(255, "TMPDIR=/workn/tmp\nINST_HOME=`cd "..., 355) = 324 open("/usr/local/Zope/var/Data.fs.tmp", O_RDWR|O_CREAT|O_TRUNC, 0666) = 5 So my TMPDIR setting is working. There are some socket connect attempts on /var: connect(10, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or directory) That's all for now -- thanks for all your help so far. JDH Here is the strace starting with my access of the source data folder Seizure.orig recv(17, "GET /Seizure.orig/manage_workspa"..., 4096, 0) = 783 gettimeofday({1020790933, 636018}, NULL) = 0 kill(22456, SIGRT_0) = 0 select(18, [7 9 10 11 12 16 17], [], [], {30, 0}) = 1 (in [7], left {29, 980000}) read(7, "x", 8192) = 1 select(18, [7 9 10 11 12 16 17], [17], [], {30, 0}) = 1 (out [17], left {30, 0}) send(17, "HTTP/1.1 302 Moved Temporarily\r\n"..., 479, 0) = 479 select(18, [7 9 10 11 12 16 17], [], [], {30, 0}) = 1 (in [7], left {30, 0}) read(7, "x", 8192) = 1 select(18, [7 9 10 11 12 16 17], [17], [], {30, 0}) = 1 (out [17], left {30, 0}) gettimeofday({1020790933, 653654}, NULL) = 0 write(3, "192.168.1.13 - myuser [07/May"..., 185) = 185 select(18, [7 9 10 11 12 16 17], [], [], {30, 0}) = 1 (in [17], left {29, 930000}) recv(17, "GET /Seizure.orig/manage_main HT"..., 4096, 0) = 778 gettimeofday({1020790933, 721712}, NULL) = 0 kill(22456, SIGRT_0) = 0 select(18, [7 9 10 11 12 16 17], [], [], {30, 0}) = 1 (in [9], left {29, 990000}) rt_sigprocmask(SIG_SETMASK, NULL, [RT_0], 8) = 0 rt_sigsuspend([] <unfinished ...> --- SIGRT_0 (Real-time signal 0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) accept(9, {sin_family=AF_INET, sin_port=htons(33349), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 19 fcntl64(19, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(19, F_SETFL, O_RDWR|O_NONBLOCK) = 0 getpeername(19, {sin_family=AF_INET, sin_port=htons(33349), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 0 gettimeofday({1020790933, 737038}, NULL) = 0 fcntl64(19, F_SETFD, FD_CLOEXEC) = 0 select(20, [7 9 10 11 12 16 17 19], [], [], {30, 0}) = 1 (in [7], left {29, 490000}) read(7, "x", 8192) = 1 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (out [17], left {30, 0}) send(17, "HTTP/1.1 200 OK\r\nServer: Zope/(Z"..., 65536, 0) = 14480 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (in [7], left {29, 990000}) read(7, "x", 8192) = 1 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (out [17], left {29, 930000}) gettimeofday({1020790934, 322934}, NULL) = 0 write(3, "192.168.1.13 - myuser [07/May"..., 182) = 182 send(17, " true\"\n onMouseOut=\"window.sta"..., 64795, 0) = 5792 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (out [17], left {29, 970000}) send(17, "\n 1 Kb\n </div>"..., 59003, 0) = 13032 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (out [17], left {29, 960000}) send(17, "\" valign=\"top\">\n <div class=\"li"..., 45971, 0) = 17376 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (out [17], left {29, 940000}) send(17, ">\n </td>\n </tr>\n<tr class=\"row"..., 28595, 0) = 26064 select(20, [7 9 10 11 12 16 17 19], [17], [], {30, 0}) = 1 (out [17], left {29, 930000}) send(17, "=\"list-item\">\n \n "..., 2531, 0) = 2531 select(20, [7 9 10 11 12 16 17 19], [], [], {30, 0}) = 1 (in [9], left {5, 750000}) accept(9, {sin_family=AF_INET, sin_port=htons(33350), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 21 fcntl64(21, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(21, F_SETFL, O_RDWR|O_NONBLOCK) = 0 getpeername(21, {sin_family=AF_INET, sin_port=htons(33350), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 0 gettimeofday({1020790958, 782597}, NULL) = 0 fcntl64(21, F_SETFD, FD_CLOEXEC) = 0 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [21], left {29, 990000}) recv(21, "POST /Seizure.orig/ HTTP/1.1\r\nUs"..., 4096, 0) = 889 gettimeofday({1020790958, 793806}, NULL) = 0 kill(22456, SIGRT_0) = 0 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [7], left {29, 700000}) read(7, "x", 8192) = 1 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {30, 0}) send(21, "HTTP/1.1 200 OK\r\nServer: Zope/(Z"..., 65536, 0) = 14480 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (in [7], left {30, 0}) read(7, "x", 8192) = 1 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {29, 880000}) gettimeofday({1020790959, 212005}, NULL) = 0 write(3, "192.168.1.13 - myuser [07/May"..., 172) = 172 send(21, "ue\"\n onMouseOut=\"window.status"..., 65026, 0) = 13032 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {29, 970000}) send(21, "age_workspace\">\n <img src=\"/mis"..., 51994, 0) = 18824 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {29, 940000}) send(21, ">\n <td align=\"left\" valign=\"top"..., 33170, 0) = 13032 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {29, 980000}) send(21, "if\" alt=\"DTML Document\" \n titl"..., 20138, 0) = 13032 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {29, 950000}) send(21, "45\n </div>\n </td>\n </tr>\n<tr "..., 7106, 0) = 7106 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [19], left {26, 280000}) recv(19, "GET /summer/manage_workspace HTT"..., 4096, 0) = 777 gettimeofday({1020790963, 98169}, NULL) = 0 kill(22456, SIGRT_0) = 0 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [7], left {30, 0}) read(7, "x", 8192) = 1 select(22, [7 9 10 11 12 16 17 19 21], [19], [], {30, 0}) = 1 (out [19], left {30, 0}) send(19, "HTTP/1.1 302 Moved Temporarily\r\n"..., 467, 0) = 467 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [7], left {30, 0}) read(7, "x", 8192) = 1 select(22, [7 9 10 11 12 16 17 19 21], [19], [], {30, 0}) = 1 (out [19], left {30, 0}) gettimeofday({1020790963, 108116}, NULL) = 0 write(3, "192.168.1.13 - myuser [07/May"..., 179) = 179 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [21], left {29, 900000}) recv(21, "GET /summer/manage_main HTTP/1.1"..., 4096, 0) = 772 gettimeofday({1020790963, 205559}, NULL) = 0 kill(22456, SIGRT_0) = 0 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [7], left {29, 930000}) read(7, "x", 8192) = 1 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {30, 0}) send(21, "HTTP/1.1 200 OK\r\nServer: Zope/(Z"..., 18619, 0) = 18619 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [7], left {30, 0}) read(7, "x", 8192) = 1 select(22, [7 9 10 11 12 16 17 19 21], [21], [], {30, 0}) = 1 (out [21], left {30, 0}) gettimeofday({1020790963, 274496}, NULL) = 0 write(3, "192.168.1.13 - myuser [07/May"..., 176) = 176 select(22, [7 9 10 11 12 16 17 19 21], [], [], {30, 0}) = 1 (in [9], left {28, 190000}) accept(9, {sin_family=AF_INET, sin_port=htons(33351), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 22 fcntl64(22, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(22, F_SETFL, O_RDWR|O_NONBLOCK) = 0 getpeername(22, {sin_family=AF_INET, sin_port=htons(33351), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 0 gettimeofday({1020790965, 84490}, NULL) = 0 fcntl64(22, F_SETFD, FD_CLOEXEC) = 0 select(23, [7 9 10 11 12 16 17 19 21 22], [], [], {30, 0}) = 1 (in [22], left {29, 980000}) recv(22, "POST /summer/ HTTP/1.1\r\nUser-Age"..., 4096, 0) = 865 gettimeofday({1020790965, 105114}, NULL) = 0 kill(22456, SIGRT_0) = 0 select(23, [7 9 10 11 12 16 17 19 21 22], [], [], {30, 0}) = 1 (in [16], left {29, 330000}) rt_sigprocmask(SIG_SETMASK, NULL, [RT_0], 8) = 0 rt_sigsuspend([] <unfinished ...> --- SIGRT_0 (Real-time signal 0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) recv(16, "GET /Seizure/listEEGs?sql=pid%3D"..., 4096, 0) = 380 gettimeofday({1020790965, 771959}, NULL) = 0 select(23, [7 9 10 11 12 16 17 19 21 22], [], [], {30, 0}) = 1 (in [12], left {26, 320000}) recv(12, 0x8eac3ac, 4096, 0) = -1 ECONNRESET (Connection reset by peer) close(12) = 0 select(23, [7 9 10 11 16 17 19 21 22], [], [], {30, 0}) = 1 (in [9], left {12, 440000}) rt_sigprocmask(SIG_SETMASK, NULL, [RT_0], 8) = 0 rt_sigsuspend([] <unfinished ...> --- SIGRT_0 (Real-time signal 0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) accept(9, {sin_family=AF_INET, sin_port=htons(4965), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 12 fcntl64(12, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(12, F_SETFL, O_RDWR|O_NONBLOCK) = 0 rt_sigprocmask(SIG_SETMASK, NULL, [RT_0], 8) = 0 rt_sigsuspend([] <unfinished ...> --- SIGRT_0 (Real-time signal 0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) getpeername(12, {sin_family=AF_INET, sin_port=htons(4965), sin_addr=inet_addr("192.168.1.13")}}, [16]) = 0 gettimeofday({1020790987, 274406}, NULL) = 0 fcntl64(12, F_SETFD, FD_CLOEXEC) = 0 kill(22456, SIGRT_0) = 0 select(23, [7 9 10 11 12 16 17 19 21 22], [], [], {30, 0}) = 1 (in [12], left {30, 0}) rt_sigprocmask(SIG_SETMASK, NULL, [RT_0], 8) = 0 rt_sigsuspend([] <unfinished ...> --- SIGRT_0 (Real-time signal 0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) rt_sigprocmask(SIG_SETMASK, NULL, [RT_0], 8) = 0 rt_sigsuspend([] <unfinished ...> --- SIGRT_0 (Real-time signal 0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) recv(12, "GET /Seizure/listPatients?sql=1%"..., 4096, 0) = 474 gettimeofday({1020790987, 488627}, NULL) = 0 kill(22456, SIGRT_0) = 0 kill(22456, SIGRT_0) = 0 select(23, [7 9 10 11 12 16 17 19 21 22], [], [], {30, 0}) = 1 (in [16], left {28, 920000}) recv(16, "", 4096, 0) = 0 close(16) = 0 select(23, [7 9 10 11 12 17 19 21 22], [], [], {30, 0} <unfinished ...>
John Hunter writes:
"Chris" == Chris McDonough <chrism@zope.com> writes:
Chris> John, try strace ./start -t1 (single-threaded)
Hmm. This doesn't seem to be working. I still get no entries in the strace output after the zope server startup message I referred to previously. Use "-Z ''", too. It prevents the ZDemon from being started. (It's the second process in your process list).
Dieter
John Hunter writes:
When I try and import a large zexp, I get a 'Error Value: [Errno 28] No space left on device' (traceback below). If I do a 'df' while the import is processing, I can see the it is my root partition that is filling up. Sometimes, swap space uses a dynamically determined part of "/tmp"...
Dieter
"Dieter" == Dieter Maurer <dieter@handshake.de> writes: Dieter> Sometimes, swap space uses a dynamically determined part Dieter> of "/tmp"...
I'll bear this in mind. It seems unlikely because when I do 'top' sorted by memory during the copy operation, the python processes have a stable, low memory usage while the root partition fills. I am still curious about the strace, though. When I do
strace ./start -t1 -Z ''
I initially have one python process listed in 'top'. When I access a folder through the zope manager interface, two additional python process are spawned. Before folder access: 2793 nobody 9 0 18176 17M 2312 S 0.0 3.5 0:04 python2.1 After folder access in manager interface: 2793 nobody 9 0 18660 18M 2344 S 0.0 3.6 0:04 python2.1 2797 nobody 9 0 18660 18M 2344 S 0.0 3.6 0:00 python2.1 2798 nobody 14 0 18660 18M 2344 S 6.5 3.6 0:00 python2.1 So I am still not sure if my strace is capturing all the relevant events because it appears some threads are still spawned. On a lark, I tried
strace ./start -t0 -Z ''&
Now no new processes are spawned according to 'top', but the server never responds to requests (the browser just hangs), although I could see the requests in my strace... Cheers, John Hunter
participants (3)
-
Chris McDonough -
Dieter Maurer -
John Hunter