diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/setUp.st b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/setUp.st index 739dd09..d7f1b8d 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/setUp.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/instance/setUp.st @@ -1,7 +1,6 @@ running setUp super setUp. - (self gemServerClass register: self gemServerName) stopGems. - (ObjectLogEntry trace: 'setup: stopGems') addToLog. + self gemServerClass register: self gemServerName. GemServerRemoteTaskExample reset. System commitTransaction \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json index bce312e..5ca8058 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerRemoteServerExampleTests.class/methodProperties.json @@ -7,7 +7,7 @@ "gemServerName" : "dkh 12/23/2014 13:28", "runTest:client:task:" : "dkh 01/01/2015 11:17", "scheduledTaskList" : "dkh 12/26/2014 18:17", - "setUp" : "dkh 12/26/2014 14:47", + "setUp" : "dkh 01/09/2015 16:50", "startGems:" : "dkh 12/23/2014 13:04", "stopGems:" : "dkh 12/23/2014 15:53", "taskList100" : "dkh 01/02/2015 09:20", diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/setUp.st b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/setUp.st index e0ff067..04ffdca 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/setUp.st +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/instance/setUp.st @@ -1,5 +1,5 @@ running setUp super setUp. - (GemServerSeasideStyleExample register: self gemServerName) stopGems. + GemServerSeasideStyleExample register: self gemServerName. System commitTransaction \ No newline at end of file diff --git a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json index e925709..0f48632 100644 --- a/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json +++ b/repository/GsApplicationTools-ExampleV31.package/GemServerSeasideStyleExampleTests.class/methodProperties.json @@ -4,7 +4,7 @@ "instance" : { "gemServerName" : "dkh 01/02/2015 11:10", "runTest:" : "dkh 01/02/2015 11:45", - "setUp" : "dkh 01/02/2015 14:45", + "setUp" : "dkh 01/09/2015 16:49", "startGems:" : "dkh 01/02/2015 11:11", "stopGems:" : "dkh 01/02/2015 11:11", "tearDown" : "dkh 01/06/2015 13:42", diff --git a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version index ae4c40c..bf31ab8 100644 --- a/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version +++ b/repository/GsApplicationTools-ExampleV31.package/monticello.meta/version @@ -1 +1 @@ -(name 'GsApplicationTools-ExampleV31-dkh.67' message 'Issue #16: setup GemServerRemoteVMTests for static remote server tests (allow for server-side debugging in a tODE client) and fix a basic bug in reentry logic ... still no reentrant tests' id '7e94b9d7-7d5d-412f-96d0-114b279b7db7' date '01/09/2015' time '14:25:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.66' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id '4db76e16-97ae-4007-bd88-1ffb4d3b57ba' date '01/06/2015' time '17:07:33' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.65' message 'more work on replace use of ports with portOrResourceNameList' id '7b120354-dbf6-4928-92fe-2bad21e3dacb' date '01/06/2015' time '16:18:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.64' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id '8dc8b634-f45e-4bc6-b9fb-79d99c526f29' date '01/06/2015' time '13:45:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.63' message 'Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServer: to make example in doc a bit easier to understand' id 'a801997f-7ab7-4593-859a-8efac0766a41' date '01/05/2015' time '20:10:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.62' message 'Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleStatusTask' id '0fbc101f-6f4e-4104-8c54-29a03c05e375' date '01/03/2015' time '13:28:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.61' message 'Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:' id '34485e6e-3b04-47ab-bec1-4325682c8b3a' date '01/03/2015' time '13:26:20' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.60' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '80cd59e5-ae0c-432c-920a-c71d8413bb8a' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.59' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2c4017f2-1b7b-4082-9e38-63e96b2f2481' date '01/02/2015' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.58' message 'Issue #10: finish up tests for seaside-style gemserver example' id '359c8bcc-553c-4ddf-b4a0-cad7b9959899' date '01/02/2015' time '16:46:38' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.57' message 'Issue #10: seaside-style example gem server is now functional and passing a couple of tests ' id '04caa6d3-4e33-4990-86b5-7a43cecfe41a' date '01/02/2015' time '15:26:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.56' message 'Issue #10: checkpoint with seaside-style example' id 'a64ffc61-fc25-4238-98b2-a8f234ef1919' date '01/02/2015' time '12:18:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.55' message 'Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list even further for test100Tasks too much stress?' id '32831007-cc7b-48bd-a58e-df2e83d7224e' date '01/02/2015' time '10:39:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.54' message 'Issue #10: start using a fixed list of 100 tasks ... I suspect that some random failures were due to running out of extent space with too many persistent AOM tests....' id 'c7dcb83b-1d8c-4804-ada7-2f938714f72a' date '01/02/2015' time '09:22:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.53' message 'Issue #10: remove some logging ... reduce percent tOC for triggering AOM to provide some cushion for death (with increased TOC default sice)' id 'a17dfd1e-4577-41be-8cd6-cad0bb5c0f56' date '01/01/2015' time '19:57:08' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.52' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id 'a276bfa4-254c-40c9-9506-ca6ae8b3023f' date '01/01/2015' time '18:14:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.51' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '15ff176b-f2ac-4deb-ae0d-e5ceea8b7af8' date '01/01/2015' time '13:25:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.50' message 'Issue #10: additional tracking and slightly restructured GemServerRemoteClientExample>>outOfMemoryTempMethod ... ' id '8003af06-5c4f-46a8-8969-fd2d09f7dbf9' date '01/01/2015' time '12:54:10' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.49' message 'Issue #10: more work on seaside-style persistence example ... convert to task-based instead of http request-based since it won''t really be handling requests ...' id 'c1cec03e-7160-4dce-baa4-6cb408b05778' date '01/01/2015' time '11:45:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.48' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '72322c71-a1c2-4606-a7d6-688f80b3cd5f' date '01/01/2015' time '11:20:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.47' message 'Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outOfMemoryTempMethod' id '481cf328-cdc4-493d-845c-f454043b54df' date '01/01/2015' time '09:57:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.46' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id 'ab60f1e0-f677-48e4-a61f-e682471eb984' date '12/31/2014' time '21:16:22' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.45' message 'Issue #10: missed renaming GemServerRemoteTask* classes' id 'a19991fe-f4a7-46eb-8410-3bc7d0cd3371' date '12/31/2014' time '20:53:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.44' message 'Issue #10: seaside-style example ... checkpoint' id '6e36784b-97cc-4d9d-8a78-3d8cd022b11c' date '12/31/2014' time '14:55:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.43' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id 'ce4b0d8a-dda5-4aa7-9b40-9376c054ae2e' date '12/31/2014' time '13:02:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.42' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '36fb0650-3e06-42d6-bfb2-f7c7395fd516' date '12/31/2014' time '12:24:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.41' message 'Issue #10: checkpoint on seaside-style transaction model ... address test failures ...' id '70ecc555-aafa-4934-8808-9df369f664e4' date '12/31/2014' time '10:50:07' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.40' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id '873e582c-8d7d-4f5b-ad40-a70579a0e1e0' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.39' message 'Issue #10: rename *TransactionModelA* classes to *ParallelProcessing* and *TransactionModelB* classes to *SerialProcessing*' id 'd9a4b6f5-8664-4920-9e85-2e7c52091c05' date '12/30/2014' time '12:48:28' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.38' message 'Issue #10: accidentally removed GemServerRemoteServerTransactionModelAExample>>taskServiceThreadBlock: ... restored' id '4934525f-b0b2-407f-8f77-cf4bf15ee87c' date '12/30/2014' time '12:42:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.37' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '69e7edb0-6f4f-4c8e-b561-2d9b10dc2303' date '12/30/2014' time '12:27:11' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.36' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '4cae6a25-ac44-496d-a229-6f3f46f83c74' date '12/30/2014' time '07:34:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.35' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id '9bd3adbf-8db5-4db1-a76b-00c4295e74e2' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.34' message 'Issue #10: start todeDebugging.md document and tweak server code a bit ...' id '61200a00-7426-41fa-a2c8-e5b4a8a432b4' date '12/28/2014' time '11:25:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.33' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '2fb4afcf-42fb-467e-91bc-8dbcc1e8c45b' date '12/28/2014' time '07:13:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.32' message 'Issue #10: MAJOR REFACTORING ... transaction model A runs out of transaction most of the time allowing for concurrent request handling ... transaction model B runs in transaction, synced on transaction mutex, ala Seaside transaction model ... still some fine tuning to do ...' id 'fb66f491-b3b3-4266-85a8-303b15f3592e' date '12/26/2014' time '19:03:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.31' message 'Issue #10: [now that tests are (finally) green again](https://travis-ci.org/GsDevKit/gsApplicationTools/builds/45173024) turn continuations for all tests' id 'adc89b22-c441-4804-aec1-1bc0bced1a2d' date '12/26/2014' time '12:37:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.30' message 'Issue #10: sigh ... more logging needed as timeInLondon task was invalide during 100task test ... why? ...' id '3d9b166f-19d8-4b48-85bf-a128acefa74d' date '12/26/2014' time '12:23:36' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.29' message 'Issue #10: add a tad bit more info to failure logging (actual delay amount)' id '6c9c29c7-3d17-420d-84a7-37356bbf2137' date '12/26/2014' time '11:26:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.28' message 'Issue #10: need even more failure logging ... jeesh!' id '894920b4-e621-41a5-8f13-d4991171de9c' date '12/26/2014' time '11:23:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.27' message 'Issue #10: improve logging of test failure ... introduce task specific delay' id '28317e0a-c22e-4db4-842c-7129eae719ed' date '12/26/2014' time '10:58:55' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.26' message 'Issue #10: now enable continuations for those tests that do not normally produce continuations anyway...' id 'eccaa00e-4909-4cd3-bbea-c3ece4502754' date '12/26/2014' time '08:33:31' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.25' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id 'fb780894-33e4-40e3-bbae-3e6197976281' date '12/26/2014' time '08:31:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.24' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id '7c1bed23-50ef-4111-bb3a-41ede84ace39' date '12/26/2014' time '07:53:45' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.23' message 'Issue #10: bump up wait time...' id '23713a0d-f0c9-4039-8fd9-586d13fa4eac' date '12/25/2014' time '21:33:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.22' message 'Issue #10: Delay and persistent blocks do not mix' id 'db3e5f0f-e1fc-40c7-90ae-5a632292270f' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.21' message 'Issue #10: wrap delays with a TransientStackValue' id '83cb9b90-7e93-4250-8529-52c03ac9af7a' date '12/25/2014' time '13:48:18' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.20' message 'Issue #10: I think the http socket calls should be okay ... as long as we don''t catch a socket on the stack ...' id '7a351ded-5a3a-43db-a435-9bb4e12930d4' date '12/25/2014' time '13:19:34' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.19' message 'Issue #10: oops' id '2e63c394-74ab-48b8-a254-87983cb4fcc3' date '12/25/2014' time '11:48:09' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.18' message 'Issue #10: wire out the delays and socket calls ... ' id 'd0cca25c-8434-4596-baef-394a683b7156' date '12/25/2014' time '11:42:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.17' message 'Issue #10: tweak test logging ' id '6aad3e4f-f601-41b9-9ba3-0ad86cede898' date '12/25/2014' time '10:07:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.16' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id 'ae5f5708-720f-4041-9b11-195d214d952f' date '12/25/2014' time '08:25:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.15' message 'Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging' id 'bc6409b2-8167-4566-9f6e-8fd90f2b7cfd' date '12/25/2014' time '07:37:30' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.14' message 'Issue #10: add status task that answers a printed version of server status...' id '78e6eb1e-659f-4042-89f6-ab1f135c7fdb' date '12/24/2014' time '17:51:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.13' message 'Issue #10: more support for interactive debugging of server in dev environment' id '67e5e68b-ae6b-4121-9eb8-fdd7b9d9a636' date '12/24/2014' time '17:26:15' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.12' message 'Issue #10: tweaks for interactive debugging of server ... add 3.2.2 to lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging' id '456c0942-e052-437b-9dcb-c42c8abf6593' date '12/24/2014' time '15:48:32' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.11' message 'Issue #10: suspicious that AlmostOutOfMemory leaks over to other tests when running GemServerRemoteServerExampleTests>>test100Tasks' id '5743e786-da93-453b-a13e-8a7f0933a3d1' date '12/24/2014' time '14:33:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.10' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9b9986ec-814f-4fad-8d51-2c264fc32021' date '12/24/2014' time '13:37:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.9' message 'Issue #10: remove test error logging ...' id '9895d432-4c6b-41c3-962e-7cba3e8a1fb3' date '12/23/2014' time '18:42:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.8' message 'Issue #10: address the test error....' id '8a84c500-b340-4bab-94a1-c1c03fb7853f' date '12/23/2014' time '18:38:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.7' message 'Issue #10: a bit more error logging for GemServerRemoteServerExampleTests' id '19006956-b56d-49f2-a743-199cbbb10e58' date '12/23/2014' time '18:03:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.6' message 'Issue #10: a bit more tracing for example server ... found an inProcess leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)' id '63aec389-c2b9-481a-8b54-b56170890a09' date '12/23/2014' time '17:51:43' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.5' message 'Issue #10: breakpoint, halt and another http example' id 'c6e448dd-a937-4727-9424-d2e55a542779' date '12/23/2014' time '16:28:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.4' message 'Issue #10: add some tracing to example server add add HTTP task ..' id '94710160-3ee0-4a25-953d-45f7ed151834' date '12/23/2014' time '16:01:19' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.3' message 'Issue #10: added an error task to RemoteTaskExample ...' id '50db322e-fda3-41db-b76a-ff2304a2ae46' date '12/23/2014' time '15:17:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.2' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id '29f6b22c-0001-4abf-86d3-d7139c7acf47' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.1' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '547286cc-5384-4d19-ab90-3d2643e15ab5' date '12/23/2014' time '11:19:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'GsApplicationTools-ExampleV31-dkh.68' message 'Issue #16: more test cleanup' id '2062a95f-044e-42a0-92fe-075ee1e54cac' date '01/09/2015' time '16:52:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.67' message 'Issue #16: setup GemServerRemoteVMTests for static remote server tests (allow for server-side debugging in a tODE client) and fix a basic bug in reentry logic ... still no reentrant tests' id '7e94b9d7-7d5d-412f-96d0-114b279b7db7' date '01/09/2015' time '14:25:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.66' message 'Issue #58: checkpoint while working through @rjsargent (very thorough) document review' id '4db76e16-97ae-4007-bd88-1ffb4d3b57ba' date '01/06/2015' time '17:07:33' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.65' message 'more work on replace use of ports with portOrResourceNameList' id '7b120354-dbf6-4928-92fe-2bad21e3dacb' date '01/06/2015' time '16:18:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.64' message 'Make GemServerRegistry a second class object by moving interesting protocol to GemServer' id '8dc8b634-f45e-4bc6-b9fb-79d99c526f29' date '01/06/2015' time '13:45:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.63' message 'Issue #10: add GemServerRemoteClientExample>>submitAndWaitFor:gemServer: to make example in doc a bit easier to understand' id 'a801997f-7ab7-4593-859a-8efac0766a41' date '01/05/2015' time '20:10:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.62' message 'Issue #10: bump up delay for GemServerRemoteClientExample>>scheduleStatusTask' id '0fbc101f-6f4e-4104-8c54-29a03c05e375' date '01/03/2015' time '13:28:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.61' message 'Issue #10: tweak GemServerRemoteClientExample>>waitForTasks:gemServer:' id '34485e6e-3b04-47ab-bec1-4325682c8b3a' date '01/03/2015' time '13:26:20' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.60' message 'Issue #10: convert startBasicServerOn: to basicServerOn: ... basicServerOn: is now the method that should be subclassed' id '80cd59e5-ae0c-432c-920a-c71d8413bb8a' date '01/02/2015' time '17:54:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.59' message 'Issue #10: move basicServerProcess up to GemServer ...' id '2c4017f2-1b7b-4082-9e38-63e96b2f2481' date '01/02/2015' time '17:38:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.58' message 'Issue #10: finish up tests for seaside-style gemserver example' id '359c8bcc-553c-4ddf-b4a0-cad7b9959899' date '01/02/2015' time '16:46:38' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.57' message 'Issue #10: seaside-style example gem server is now functional and passing a couple of tests ' id '04caa6d3-4e33-4990-86b5-7a43cecfe41a' date '01/02/2015' time '15:26:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.56' message 'Issue #10: checkpoint with seaside-style example' id 'a64ffc61-fc25-4238-98b2-a8f234ef1919' date '01/02/2015' time '12:18:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.55' message 'Issue #10: stubborn 3.1.0.6 wants to fail ... reduce the task list even further for test100Tasks too much stress?' id '32831007-cc7b-48bd-a58e-df2e83d7224e' date '01/02/2015' time '10:39:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.54' message 'Issue #10: start using a fixed list of 100 tasks ... I suspect that some random failures were due to running out of extent space with too many persistent AOM tests....' id 'c7dcb83b-1d8c-4804-ada7-2f938714f72a' date '01/02/2015' time '09:22:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.53' message 'Issue #10: remove some logging ... reduce percent tOC for triggering AOM to provide some cushion for death (with increased TOC default sice)' id 'a17dfd1e-4577-41be-8cd6-cad0bb5c0f56' date '01/01/2015' time '19:57:08' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.52' message 'Issue #10: default gem.conf file added ... use the default gem.conf for GemServerRemoteServerExample-based tests ... improve GemServer>>performOnServer: error message ... address the AlmostOutOfMemoory issue (for good?) apparently AlmostOutOfMemoory wasn''t getting re-enabled ' id 'a276bfa4-254c-40c9-9506-ca6ae8b3023f' date '01/01/2015' time '18:14:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.51' message 'Issue #10: perhaps the granlarity of growth is the root cause .. looks like the vm is running out of memory in the process of handling the signal ... we''re creating a continuation ... a smaller increment means that we won''t be overrunning the limit by quite as much' id '15ff176b-f2ac-4deb-ae0d-e5ceea8b7af8' date '01/01/2015' time '13:25:00' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.50' message 'Issue #10: additional tracking and slightly restructured GemServerRemoteClientExample>>outOfMemoryTempMethod ... ' id '8003af06-5c4f-46a8-8969-fd2d09f7dbf9' date '01/01/2015' time '12:54:10' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.49' message 'Issue #10: more work on seaside-style persistence example ... convert to task-based instead of http request-based since it won''t really be handling requests ...' id 'c1cec03e-7160-4dce-baa4-6cb408b05778' date '01/01/2015' time '11:45:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.48' message 'Issue #10: fiddle with test strcuture ... gather more information about the random failures ... (fail on travis, but not locally)' id '72322c71-a1c2-4606-a7d6-688f80b3cd5f' date '01/01/2015' time '11:20:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.47' message 'Issue #10: avoid infinite loops in GemServerRemoteClientExample>>outOfMemoryTempMethod' id '481cf328-cdc4-493d-845c-f454043b54df' date '01/01/2015' time '09:57:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.46' message 'Issue #10: address GemServerRemoteServerParallelProcessingExampleTests>>#testInternalServerError failure ... tweak GemServerRemoteTaskExample class>>reset to avoid potential commit conflicts' id 'ab60f1e0-f677-48e4-a61f-e682471eb984' date '12/31/2014' time '21:16:22' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.45' message 'Issue #10: missed renaming GemServerRemoteTask* classes' id 'a19991fe-f4a7-46eb-8410-3bc7d0cd3371' date '12/31/2014' time '20:53:03' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.44' message 'Issue #10: seaside-style example ... checkpoint' id '6e36784b-97cc-4d9d-8a78-3d8cd022b11c' date '12/31/2014' time '14:55:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.43' message 'Issue #10: clean up sent but not implemented ... fix GemServerInteractiveVMTests test failures' id 'ce4b0d8a-dda5-4aa7-9b40-9376c054ae2e' date '12/31/2014' time '13:02:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.42' message 'Issue #10: remove GemServerRemoteServerSerialProcessingExample>>startBasicServerOn: ... bad boy ... don''t automatically go into interactiveMode when running GemServer>>interactiveStartServiceOn:transactionMode: ... interactiveMode setting for server should be independently controlled, since it is convenient to use interactiveStart... to run tests without debugging exceptions ... to verify that bug is really fixed ... fix logic in GemServer>>doTransaction:onConflict:' id '36fb0650-3e06-42d6-bfb2-f7c7395fd516' date '12/31/2014' time '12:24:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.41' message 'Issue #10: checkpoint on seaside-style transaction model ... address test failures ...' id '70ecc555-aafa-4934-8808-9df369f664e4' date '12/31/2014' time '10:50:07' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.40' message 'Issue #10: more refactoring in face of building a sensible seaside gemserver stack' id '873e582c-8d7d-4f5b-ad40-a70579a0e1e0' date '12/30/2014' time '17:18:53' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.39' message 'Issue #10: rename *TransactionModelA* classes to *ParallelProcessing* and *TransactionModelB* classes to *SerialProcessing*' id 'd9a4b6f5-8664-4920-9e85-2e7c52091c05' date '12/30/2014' time '12:48:28' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.38' message 'Issue #10: accidentally removed GemServerRemoteServerTransactionModelAExample>>taskServiceThreadBlock: ... restored' id '4934525f-b0b2-407f-8f77-cf4bf15ee87c' date '12/30/2014' time '12:42:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.37' message 'Issue #10: rename gemServer:* selectors to use beforeUnwind: instead of onError:' id '69e7edb0-6f4f-4c8e-b561-2d9b10dc2303' date '12/30/2014' time '12:27:11' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.36' message 'Issue #10: implement GemServer>>doBasicTransaction:, GemServer>>doTransaction:, and GemServer>>doTransaction:onConflict: to replace GemServer>>doSimpleTransaction: and GemServer>>doComplexTransaction:onConflict: ... ongoing docs work' id '4cae6a25-ac44-496d-a229-6f3f46f83c74' date '12/30/2014' time '07:34:42' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.35' message 'Issue #10: restore the exception pass for gemServerHandleErrorException: ... comment fiddling' id '9bd3adbf-8db5-4db1-a76b-00c4295e74e2' date '12/29/2014' time '18:03:59' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.34' message 'Issue #10: start todeDebugging.md document and tweak server code a bit ...' id '61200a00-7426-41fa-a2c8-e5b4a8a432b4' date '12/28/2014' time '11:25:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.33' message 'Issue #10: straighten out interactiveMode operation with respect to exception passing .... fix handling of AlmostOutOfMemory exception with temp stack references in GemServerRemoteServerExample' id '2fb4afcf-42fb-467e-91bc-8dbcc1e8c45b' date '12/28/2014' time '07:13:49' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.32' message 'Issue #10: MAJOR REFACTORING ... transaction model A runs out of transaction most of the time allowing for concurrent request handling ... transaction model B runs in transaction, synced on transaction mutex, ala Seaside transaction model ... still some fine tuning to do ...' id 'fb66f491-b3b3-4266-85a8-303b15f3592e' date '12/26/2014' time '19:03:39' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.31' message 'Issue #10: [now that tests are (finally) green again](https://travis-ci.org/GsDevKit/gsApplicationTools/builds/45173024) turn continuations for all tests' id 'adc89b22-c441-4804-aec1-1bc0bced1a2d' date '12/26/2014' time '12:37:02' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.30' message 'Issue #10: sigh ... more logging needed as timeInLondon task was invalide during 100task test ... why? ...' id '3d9b166f-19d8-4b48-85bf-a128acefa74d' date '12/26/2014' time '12:23:36' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.29' message 'Issue #10: add a tad bit more info to failure logging (actual delay amount)' id '6c9c29c7-3d17-420d-84a7-37356bbf2137' date '12/26/2014' time '11:26:52' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.28' message 'Issue #10: need even more failure logging ... jeesh!' id '894920b4-e621-41a5-8f13-d4991171de9c' date '12/26/2014' time '11:23:44' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.27' message 'Issue #10: improve logging of test failure ... introduce task specific delay' id '28317e0a-c22e-4db4-842c-7129eae719ed' date '12/26/2014' time '10:58:55' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.26' message 'Issue #10: now enable continuations for those tests that do not normally produce continuations anyway...' id 'eccaa00e-4909-4cd3-bbea-c3ece4502754' date '12/26/2014' time '08:33:31' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.25' message 'Issue #10: add GemServer>>enableCreateContinuations and disable continuations for all GemServerRemoteServerExampleTests ... run baseline tests ' id 'fb780894-33e4-40e3-bbae-3e6197976281' date '12/26/2014' time '08:31:01' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.24' message 'Issue #10: wrap proc with TransientStackValue and enable continuations again ...' id '7c1bed23-50ef-4111-bb3a-41ede84ace39' date '12/26/2014' time '07:53:45' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.23' message 'Issue #10: bump up wait time...' id '23713a0d-f0c9-4039-8fd9-586d13fa4eac' date '12/25/2014' time '21:33:12' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.22' message 'Issue #10: Delay and persistent blocks do not mix' id 'db3e5f0f-e1fc-40c7-90ae-5a632292270f' date '12/25/2014' time '15:04:48' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.21' message 'Issue #10: wrap delays with a TransientStackValue' id '83cb9b90-7e93-4250-8529-52c03ac9af7a' date '12/25/2014' time '13:48:18' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.20' message 'Issue #10: I think the http socket calls should be okay ... as long as we don''t catch a socket on the stack ...' id '7a351ded-5a3a-43db-a435-9bb4e12930d4' date '12/25/2014' time '13:19:34' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.19' message 'Issue #10: oops' id '2e63c394-74ab-48b8-a254-87983cb4fcc3' date '12/25/2014' time '11:48:09' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.18' message 'Issue #10: wire out the delays and socket calls ... ' id 'd0cca25c-8434-4596-baef-394a683b7156' date '12/25/2014' time '11:42:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.17' message 'Issue #10: tweak test logging ' id '6aad3e4f-f601-41b9-9ba3-0ad86cede898' date '12/25/2014' time '10:07:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.16' message 'Issue #10: add crashLog to GemServer ... clients can recognize that a gem has crashed and take action...' id 'ae5f5708-720f-4041-9b11-195d214d952f' date '12/25/2014' time '08:25:24' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.15' message 'Issue #10: more GemServerRemoteServerExampleTests>>test100Tasks logging' id 'bc6409b2-8167-4566-9f6e-8fd90f2b7cfd' date '12/25/2014' time '07:37:30' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.14' message 'Issue #10: add status task that answers a printed version of server status...' id '78e6eb1e-659f-4042-89f6-ab1f135c7fdb' date '12/24/2014' time '17:51:54' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.13' message 'Issue #10: more support for interactive debugging of server in dev environment' id '67e5e68b-ae6b-4121-9eb8-fdd7b9d9a636' date '12/24/2014' time '17:26:15' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.12' message 'Issue #10: tweaks for interactive debugging of server ... add 3.2.2 to lineup (is 3.2.3-specific problem?) ... add example script in support of interactive debugging' id '456c0942-e052-437b-9dcb-c42c8abf6593' date '12/24/2014' time '15:48:32' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.11' message 'Issue #10: suspicious that AlmostOutOfMemory leaks over to other tests when running GemServerRemoteServerExampleTests>>test100Tasks' id '5743e786-da93-453b-a13e-8a7f0933a3d1' date '12/24/2014' time '14:33:47' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.10' message 'Issue #10: use double dispatching for cutomization of exception handling: exception implements exceptionHandlingForGemServer: to route appropriate message to server. Add AlmostOutOfMemory and AlmostOutOfStack support to GemServer ... add GemServerRemoteServerExampleTests tests for internal server errors, Warning, AlmostOutOfMemory and AlmostOutOfStack' id '9b9986ec-814f-4fad-8d51-2c264fc32021' date '12/24/2014' time '13:37:21' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.9' message 'Issue #10: remove test error logging ...' id '9895d432-4c6b-41c3-962e-7cba3e8a1fb3' date '12/23/2014' time '18:42:35' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.8' message 'Issue #10: address the test error....' id '8a84c500-b340-4bab-94a1-c1c03fb7853f' date '12/23/2014' time '18:38:06' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.7' message 'Issue #10: a bit more error logging for GemServerRemoteServerExampleTests' id '19006956-b56d-49f2-a743-199cbbb10e58' date '12/23/2014' time '18:03:26' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.6' message 'Issue #10: a bit more tracing for example server ... found an inProcess leak ... added GemServerRemoteServerExampleTests>>test100Tasks to put a little bit of stress on the server ... error logging in GemServerRemoteServerExampleTests>>testSimple (test errors on travis?)' id '63aec389-c2b9-481a-8b54-b56170890a09' date '12/23/2014' time '17:51:43' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.5' message 'Issue #10: breakpoint, halt and another http example' id 'c6e448dd-a937-4727-9424-d2e55a542779' date '12/23/2014' time '16:28:40' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.4' message 'Issue #10: add some tracing to example server add add HTTP task ..' id '94710160-3ee0-4a25-953d-45f7ed151834' date '12/23/2014' time '16:01:19' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.3' message 'Issue #10: added an error task to RemoteTaskExample ...' id '50db322e-fda3-41db-b76a-ff2304a2ae46' date '12/23/2014' time '15:17:23' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.2' message 'Issue #10: expand gemserver api a bit more ... add simple test for GemServerRemoteServerExample and it is passing' id '29f6b22c-0001-4abf-86d3-d7139c7acf47' date '12/23/2014' time '14:01:04' author 'dkh' ancestors ((name 'GsApplicationTools-ExampleV31-dkh.1' message 'Issue #10: add GemServer>>gemServer: and GemServer>>gemServer:onError: as non-transactional veriants for handling server errors, breakpoints and halts (should satisfy Issue #12)...refactor GemServer>>gemServerTransaction:onError: to use GemServer>>gemServer:onError: ... add GemServer>>handleGemServerException: to isolate server error and interactiveMoe logic ... GemServer>>serverError:titled:inTransactionDo: allows for performing optional work in the same transaction as the continuation ... if one is already in transaction a commit is expected to come from the caller ... started work on an example server as the GemServerTestServer has been sacrificed to being able to test various error conditions and is no longer a clean example ...' id '547286cc-5384-4d19-ab90-3d2643e15ab5' date '12/23/2014' time '11:19:31' author 'dkh' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file