WebHare community

Service 'publisher:assetpackcontrol' is unavailable

Running into this error, any idea how to fix? WebHare is stuck in “WebHare is initializing, please wait…”

==> /Users/pimkaptein/projects/webhare/whtree/whdata/log/errors.20200604.log <==
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] Request failed due to errors for http://127.0.0.1:8000/
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] mod::system/lib/internal/services.whlib (256,15): Exception SERVICEUNAVAILABLEEXCEPTION: Service ‘publisher:assetpackcontrol’ is unavailable.
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] #0 mod::system/lib/internal/services.whlib (256,15): OPENWEBHARESERVICE
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] #1 wh::internal/hsservices.whlib (1085,41): WAITUNTILMULTIPLE
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] #2 wh::internal/hsservices.whlib (984,10): WAITUNTIL
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] #3 wh::internal/hsservices.whlib (1127,17): WAITFORPROMISE
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] #4 mod::publisher/lib/internal/webdesign/designfilesapi2.whlib (39,21): WAITFORCOMPILEDASSETPACK
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] #5 direct::/Users/pimkaptein/projects/webhare/whtree/modules/publisher/web/view.shtml (209,7): :INITFUNCTION
[04/Jun/2020:12:44:31 +0000] [client 127.0.0.1:56236] Request failed, HareScript errors. ID: UD4f161g6Yo9vrt94Lzwsg

There has to be a reason for the publisher:assetpackcontrol service not being available

Try:

  • look in servicemanager.log or notice.log for errors.
  • wh services debug publisher:assetpackcontrol

After starting webhare, servicemanager log:

[04/Jun/2020:12:42:14 +0000] Service manager:Starting in console mode
[04/Jun/2020:12:42:14 +0000] Service manager:Starting service (developer's build: branch git@gitlab.com:webhare/platform.git:master, commit c6b91be8b5)
[04/Jun/2020:12:42:14 +0000] Database server:Starting PostgreSQL
[04/Jun/2020:12:42:14 +0000] Database server:2020-06-04 14:42:14.675 CEST [25941] LOG:  starting PostgreSQL 12.3 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit
[04/Jun/2020:12:42:14 +0000] Database server:2020-06-04 14:42:14.676 CEST [25941] LOG:  listening on Unix socket "../.s.PGSQL.5432"
[04/Jun/2020:12:42:14 +0000] Database server:2020-06-04 14:42:14.710 CEST [25948] LOG:  database system was shut down at 2020-06-04 14:42:12 CEST
[04/Jun/2020:12:42:14 +0000] Database server:2020-06-04 14:42:14.718 CEST [25941] LOG:  database system is ready to accept connections

wh services debug publisher:assetpackcontrol:

Pims-MacBook-Pro-2:installedmodules pimkaptein$ wh services debug publisher:assetpackcontrol
/Users/pimkaptein/projects/webhare/whtree/modules/system/lib/internal/services.whlib:256:15: Error: Exception SERVICEUNAVAILABLEEXCEPTION: Service 'system:apprunner' is unavailable.

/Users/pimkaptein/projects/webhare/whtree/modules/system/lib/internal/services.whlib:256:15: Called from OPENWEBHARESERVICE
/Users/pimkaptein/projects/webhare/whtree/modules/system/whlibs/internal/hsservices.whlib:1085:41: Called from WAITUNTILMULTIPLE
/Users/pimkaptein/projects/webhare/whtree/modules/system/whlibs/internal/hsservices.whlib:984:10: Called from WAITUNTIL
/Users/pimkaptein/projects/webhare/whtree/modules/system/whlibs/internal/hsservices.whlib:1127:17: Called from WAITFORPROMISE
/Users/pimkaptein/projects/webhare/whtree/modules/system/scripts/whcommands/services.whscr:136:11: Called from MAIN
/Users/pimkaptein/projects/webhare/whtree/modules/system/scripts/whcommands/services.whscr:180:1: Called from :INITFUNCTION

Sounds like a bug. Can you try editing

…/projects/webhare/whtree/modules/publisher/lib/internal/siteprofiles/compiler.whlib

and removing/disabling

FixConsilioIndices([ reportmissing := reportmissing ]);

on line 646 ? see if you can restart webhare then

I have a local webhare now. After commenting the line you said it “works” is assume?

we still need to fix it, but at least we know the cause

FYI, same problem and fix for Niels (Nubium)

I think I’ve found the pattern. It only fails if consilio has already started once but the webhare_testsuite:testcatalog still needs to be added at startup. If you updated WebHare while it was running and triggered a siteprofile recompilation, or did a full clean start, you avoid it.

That makes the bug pretty much invisible to CI, and it will only hit you if you shut down WebHare before updating it. Which is how you’re supposed to do it (eg umic) and which is why not all of us here hit it :stuck_out_tongue:

https://gitlab.com/webhare/platform/-/merge_requests/387 should fix it

If anyone running into this issue could try the https://gitlab.com/webhare/platform/-/tree/feature/fix-consilio-startup-hangs and report back if it resolves the issue, that would be great

If you applied the workaround above, you should first undo it and restart without the fix in the branch to see if your WebHare still gets stuck (ie: it never reports ‘Service started (online)’) - otherwise th missing testsuite index is already created and the bug avoided.

Well, it explains why I didn’t have the same problem since I too have learned the hard way to kill WebHare before umiccing :slight_smile:

actually, not killing webhare was the workaround here. and having updated frequently enough that you got the update that broke it, but not any of the C++ updates that would require you to kill and restart anyway

but it wasn’t guaranteed to actually hit you anyway. just goes to show that CI can’t find everything.