# Update on Build factory status

**URL:** <https://discourse.slicer.org/t/update-on-build-factory-status/8146>\
**Category:** Development\
**Created:** [August 23, 2019, 2:42pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146 "2019-08-23T14:42:59Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sam\_Horvath](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sam_horvath/32/3092_2.png) [@Sam\_Horvath](https://discourse.slicer.org/u/Sam_Horvath)\
**Post date:** [August 23, 2019, 2:42pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/1 "2019-08-23T14:42:59Z")

</div>

Hello all (@lassoan @jcfr @pieper) :

Mac and Windows builds have been failing for the past few days, without obvious errors.

Example: [http://slicer.cdash.org/index.php?project=SlicerPreview&date=2019-08-21](http://slicer.cdash.org/index.php?project=SlicerPreview&date=2019-08-21) - Windows build

This appears to be due to the tests, which are all running to the timeout of 900s. Logging into the factory machines through VNC (both mac and windows) show the tests hanging on the directory chooser for a new/existing DICOM database. Linux is building with no issues (because no tests). They eventually finish, (see mac above which eventually packaged), but far later than is feasible for a nightly build.

I have forced packaging / extension builds for both platforms, so reports should be coming up on CDash for that. Windows packaging is failing with this error, which i will work on sorting out today:

`1>CUSTOMBUILD : error EndUpdateResourceD: /D/P/Slicer-0-build/Slicer-build/Slicer.exe [D:\D\P\Slicer-0-build\Slicer-build\Applications\SlicerApp\SlicerUpdateLauncherIcon.vcxproj]`

Edit - error was due the open Slicer.exe’s in the background as the tests attempted to run. Windows package should be up shortly.

Eddit: Package link isn’t coming up on CDash: [http://slicer.kitware.com/midas3/item/454544](http://slicer.kitware.com/midas3/item/454544)

---

<div class="post-metadata">

**Author:** ![adamrankin](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/adamrankin/32/155_2.png) [@adamrankin](https://discourse.slicer.org/u/adamrankin)\
**Post date:** [August 23, 2019, 3:01pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/2 "2019-08-23T15:01:06Z")

</div>

Thanks for all the digging!

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [August 23, 2019, 3:40pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/3 "2019-08-23T15:40:27Z")

</div>

> [@Sam\_Horvath](#):
>
> show the tests hanging on the directory chooser for a new/existing DICOM database.

Commit [r28452](http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=28452) from @cpinter was intended to address this.

It turns out that the popup leading to the timeout is the following:

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/b/8/b8d645da060000b6c56bbc7489ae6cdda74328ea.png)

Last commit updating the source code responsible to display the dialog was [ENH: Allow updating DICOM database into different folder; Allow appli… · commontk/CTK@313e2f9 · GitHub](https://github.com/commontk/CTK/commit/313e2f98c)

---

<div class="post-metadata">

**Author:** ![Sam\_Horvath](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sam_horvath/32/3092_2.png) [@Sam\_Horvath](https://discourse.slicer.org/u/Sam_Horvath)\
**Post date:** [August 23, 2019, 4:03pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/4 "2019-08-23T16:03:27Z")

</div>

Here is where ctkDICOMBrowser pops that dialog:

> <https://github.com/commontk/CTK/blob/acd419d5c6e27c6e13811dd508ab8cf17ec76c7a/Libs/DICOM/Widgets/ctkDICOMBrowser.cpp#L495>

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [August 23, 2019, 4:11pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/5 "2019-08-23T16:11:49Z")

</div>

@cpinter I think you have fixed this (or a very similar) error. Could you check this? Thanks!

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [August 23, 2019, 4:52pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/6 "2019-08-23T16:52:30Z")

</div>

The tests passed for me, but maybe I didn’t clear the ini file. I’ll check again.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [August 23, 2019, 6:13pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/7 "2019-08-23T18:13:13Z")

</div>

I manually removed the files and updated the dashboard scripts to ensure settings files are cleared every day.

> <https://github.com/Slicer/DashboardScripts/commit/42a2f93caa582a8cea63a1e59566766587034066>

---

<div class="post-metadata">

**Author:** ![Sam\_Horvath](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/sam_horvath/32/3092_2.png) [@Sam\_Horvath](https://discourse.slicer.org/u/Sam_Horvath)\
**Post date:** [August 26, 2019, 1:58pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/8 "2019-08-26T13:58:01Z")

</div>

Tests still timing out (whole test suite taking \>20hrs):

[http://slicer.cdash.org/viewTest.php?onlyfailed&buildid=1677416](http://slicer.cdash.org/viewTest.php?onlyfailed&buildid=1677416)

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [August 27, 2019, 9:56pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/9 "2019-08-27T21:56:12Z")

</div>

This should hopefully be fixed by [r28464](http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=28464)

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [August 28, 2019, 1:33pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/10 "2019-08-28T13:33:20Z")

</div>

Looking at today dashboard, I confirm the issue is fixed.

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [August 28, 2019, 4:09pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/11 "2019-08-28T16:09:25Z")

</div>

Thanks a lot! Sorry I didn’t get to it sooner; working on refactoring the model hierarchies, and the way hierarchy visibilities are handled. You’ll see a PR soon 😉

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [September 6, 2019, 11:51am UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/12 "2019-09-06T11:51:30Z")

</div>

The workaround I added is incomplete and not working.

I think a proper fix would to initialize `ShemaUpdateAutoCreateDirectory` using settings like it is already done [here](https://github.com/commontk/CTK/blob/20a9195338ad3b84402fc7058f9d049189280912/Libs/DICOM/Widgets/ctkDICOMBrowser.cpp#L993-L999) for `schemaUpdateOption`. This would allow us to initialize the settings once without having to set the dicom browser property each time a browser is instantiated …

Failing to do so end up triggering the showing of [this dialog](https://github.com/commontk/CTK/blob/20a9195338ad3b84402fc7058f9d049189280912/Libs/DICOM/Widgets/ctkDICOMBrowser.cpp#L531-L537) asking the user to `Choose existing database / Select empty folder for new DICOM database`.

Will be waiting today’s dashboard to complete to have a better idea of the test triggering a timeout

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [September 9, 2019, 6:55pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/13 "2019-09-09T18:55:21Z")

</div>

It seems that there are still problems with the factory. There is no Windows package today; certain extensions are not available for yesterday (e.g, SlicerJupyter is missing).

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [September 9, 2019, 7:19pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/14 "2019-09-09T19:19:47Z")

</div>

@cpinter Could you look into improving ctkDICOMBrowser by adding a settings for ShemaUpdateAutoCreateDirectory ?

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [September 9, 2019, 8:05pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/15 "2019-09-09T20:05:05Z")

</div>

Yes I will take a look at this tomorrow.

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [September 10, 2019, 12:28pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/16 "2019-09-10T12:28:27Z")

</div>

I created a PR: [https://github.com/commontk/CTK/pull/884](https://github.com/commontk/CTK/pull/884)

One question that I have is what should be the default. I changed the default to true, so that the tests pass with a clean settings. In this case we’ll need to commit a fix in Slicer that changes this flag to false if Slicer is not in testing mode (DICOMWidgets.py:100)

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [September 10, 2019, 1:24pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/17 "2019-09-10T13:24:23Z")

</div>

Thank you @cpinter. I find selecting an appropriate parent folder and creating a new empty folder is not very easy, so it would be great if we would do this for the users automatically by default (but have the option of setting a custom folder location and having the option of starting with a clean database or a copy of the old one).

Is it expected that database update is initiated immediately when Slicer is started (and not when you go to the DICOM module)?

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [September 10, 2019, 1:40pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/18 "2019-09-10T13:40:44Z")

</div>

> [@lassoan](#):
>
> Is it expected that database update is initiated immediately when Slicer is started (and not when you go to the DICOM module)?

It only happens when the user opens the DICOM browser.

---

<div class="post-metadata">

**Author:** ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)\
**Post date:** [September 10, 2019, 1:52pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/19 "2019-09-10T13:52:15Z")

</div>

I can confirm that I opened a recent Slicer nightly and it automatically made a SlicerDicomDatabase folder in my user documents location. I did not open the DICOM browser, but it must’ve instantiated an object on load.

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [September 10, 2019, 1:53pm UTC](https://discourse.slicer.org/t/update-on-build-factory-status/8146/20 "2019-09-10T13:53:03Z")

</div>

I see. To me this is unexpected. I will investigate why this happens. Thanks!

[Next page](https://discourse.slicer.org/t/update-on-build-factory-status/8146.md?page=2)
