sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

Dennis Clarke

On Oracle solaris 10 sparc with 16GB of memory I was surprised to see :

.
.
.
Time: keyword1.test 229 ms
Time: lastinsert.test 64 ms
Time: laststmtchanges.test 60 ms
  (82 ms - want less than 1000)  (80 ms - want less than 1000) Time:
like.test 188 ms
Time: like2.test 215 ms
Time: like3.test 56 ms
Time: limit.test 233 ms
Time: limit2.test 103 ms
Time: loadext2.test 38 ms
Time: lock.test 913 ms
lock2-1.1...
Error: couldn't fork child process: not enough memory
lock2-1.3...
Error: can't read "::tf1": no such variable
lock2-1.4...
Error: can't read "::tf1": no such variable
! lock2-1.5 expected: [1 {database is locked}]
! lock2-1.5 got:      [0 {}]
lock2-1.6...
Error: can't read "::tf1": no such variable
lock2-1.7...
Error: can't read "::tf1": no such variable
! lock2-1.8 expected: [0 {}]
! lock2-1.8 got:      [1 {cannot commit - no transaction is active}]
lock2-1.10...
Error: can't read "::tf1": no such variable
Time: lock2.test 39 ms
Time: lock3.test 35 ms
lock4-1.2...
Error: couldn't fork child process: not enough memory
lock4-1.3...
Error: invalid command name "db2"
lock4-999.1...
Error: can't delete "db2": command doesn't exist
Time: lock4.test 61 ms
Time: lock5.test 37 ms
.
.
.

Perhaps I was mistaken to enable --enable-tempstore=yes  during configure ?

Any thoughts ?

Dennis
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

Richard Hipp-3
On 1/23/19, Dennis Clarke <[hidden email]> wrote:
>
> Perhaps I was mistaken to enable --enable-tempstore=yes  during configure ?
>

Maybe.  Does it work if you omit that option?

--
D. Richard Hipp
[hidden email]
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

Dennis Clarke
On 1/23/19 7:10 PM, Richard Hipp wrote:
> On 1/23/19, Dennis Clarke <[hidden email]> wrote:
>>
>> Perhaps I was mistaken to enable --enable-tempstore=yes  during configure ?
>>
>
> Maybe.  Does it work if you omit that option?
>

I just tried without and also went back to sqlite-src-3240000 and they
all fail in the same way.  This has me baffled. I may try this with less
strict CFLAGS but I don't see how that is related. I am checking my user
session limits but there is nothing interesting there either.

Dennis
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

Dennis Clarke
In reply to this post by Richard Hipp-3
On 1/23/19 7:10 PM, Richard Hipp wrote:
> On 1/23/19, Dennis Clarke <[hidden email]> wrote:
>>
>> Perhaps I was mistaken to enable --enable-tempstore=yes  during configure ?
>>
>
> Maybe.  Does it work if you omit that option?
>


The solution seems to be to throw hardware at the problem and then it
goes away.  I allocated 32G of memory to the process and also allowed
the Solaris zone to lock 32G and everything runs with the exception
of a single test :

.
.
.
Time: sharedA.test 1052 ms
Time: sharedB.test 104 ms
Time: sharedlock.test 42 ms
! shell1-1.7.1 expected: [0 1 1]
! shell1-1.7.1 got:      [1 1 1]
Time: shell1.test 7604 ms
Time: shell2.test 841 ms
Time: shell3.test 398 ms
Time: shell4.test 319 ms
Time: shell5.test 2315 ms
.
.
.
SQLite 2018-12-01 12:34:55
bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238b4f9
1 errors out of 146673 tests on corv SunOS 64-bit big-endian
!Failures on these tests: shell1-1.7.1
All memory allocations freed - no leaks
Maximum memory usage: 9276472 bytes
Current memory usage: 0 bytes
Number of malloc()  : -1 calls
gmake: *** [Makefile:1234: tcltest] Error 1

Not sure what the issue is with a tcltest Error or why some process
called "testfixture" needed 2G of memory :


    PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP

      5 root        0K    0K sleep   99  -20   0:36:29 2.2%
zpool-jupiter_r/166
  29033 dclarke  2087M  221M sleep    0    0   0:07:29 0.3% testfixture/2
  27749 root     4976K 3760K cpu0   100    -   0:00:15 0.1% prstat/1
    119 root        0K    0K sleep   99  -20   7:19:26 0.1%
zpool-jupiter_z/166
      7 root        0K    0K sleep    0  -20   0:03:13 0.0% vmtasks/8
   2294 dclarke    10M 8568K sleep    0    0   0:00:00 0.0% testfixture/1
    729 root     3096K 1600K sleep   59    0   0:02:44 0.0% dhcpagent/1
    572 root       62M   23M sleep   59    0   0:02:22 0.0% poold/9
    175 daemon   1896K 1264K sleep   60  -20   0:00:00 0.0% kcfd/3
    235 root     2680K 1368K sleep   59    0   0:00:00 0.0%
iscsi-initiator/2
    327 root     2952K 2184K sleep   59    0   0:00:00 0.0% rpc.bootparamd/1
    256 root     8056K 5256K sleep   59    0   0:00:24 0.0% ntpd/1
ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE

      0       53  156M  145M   0.2%   8:55:32 2.4% global

     11       33 2150M  337M   0.5%   0:07:32 0.3% z_001

      6       20   68M   92M   0.1%   0:00:29 0.0% z_005

      5       16   41M   41M   0.1%   0:00:24 0.0% z_002

      2       43  100M  122M   0.2%   0:01:53 0.0% z_000

      4       20   70M   97M   0.1%   0:01:09 0.0% z_006

Also, since I am here with memory tossed at the issue :

Time: between.test 70 ms
Skipping bigmmap.test - requires SQLITE_MAX_MMAP_SIZE >= 8G
Time: bigmmap.test 29 ms

What do I do here?

Set an env var SQLITE_MAX_MMAP_SIZE=17179869184 for 16G and then see
what happens?

Dennis
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

Peter da Silva-2
Sounds like something is using fork when it should be using vfork?
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Reply | Threaded
Open this post in threaded view
|

Re: sqlite-src-3260000 tests throw Error: couldn't fork child process: not enough memory

Dennis Clarke
On 1/24/19 4:17 AM, Peter da Silva wrote:
> Sounds like something is using fork when it should be using vfork?

No idea.  My only concern is getting the sources to build clean and then
to pass the testsuite. Which it doesn't due to one single itty bitty test.

So how does one run a single test in isolation with full verbose
debugging and annoying noisey level of chatter about what hurts?


Time: sharedlock.test 42 ms
! shell1-1.7.1 expected: [0 1 1]
! shell1-1.7.1 got:      [1 1 1]


Dennis
_______________________________________________
sqlite-users mailing list
[hidden email]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users