Міністерство Внутрішніх Винятків Підтвердило: Країна Провалилася У `NullPointerException` І Продовжує Викликати Себе Далі
У ніч на вівторок державні служби офіційно визнали те, що громадяни підозрювали вже давно: вся адміністративна машина, побутова техніка, міжміські маршрутки й щонайменше троє депутатів працюють на одному гігантському Java-проєкті, запущеному колись у 2006 році стажером на ім’я Богдан, який «просто хотів автоматизувати чергу в ЖЕК».
Паніку посилив оприлюднений урядом стек викликів, який, за словами посадовців, «не є приводом для хвилювання, а лише структурованою вертикаллю відповідальності». Щоправда, документ виявився настільки довгим, що його почали друкувати на рулонах касової стрічки, а в окремих регіонах ним тимчасово замінили шпалери, генеральний план забудови і дві слабкі коаліції.
Нижче публікуємо сам документ без скорочень, оскільки саме в ньому, за оцінками експертів, і міститься вся державна філософія:
Exception in thread "main" java.lang.RuntimeException: Failed to initialize NationalRealityContext
at ua.gov.state.bootstrap.CountryLauncher.main(CountryLauncher.java:17)
Caused by: java.lang.IllegalStateException: Could not start bean 'cabinetOfMinisters'
at ua.gov.state.spring.VeryImportantContext.refresh(VeryImportantContext.java:451)
at ua.gov.state.bootstrap.BudgetAwareApplication.run(BudgetAwareApplication.java:88)
at ua.gov.state.bootstrap.Country.launch(Country.java:102)
at ua.gov.state.bootstrap.CountryLauncher.main(CountryLauncher.java:14)
Caused by: ua.gov.state.corruption.TenderException: Unexpected winner "ТОВ Роги & Асинхронність"
at ua.gov.state.procurement.ProzorroButWithFeelings.selectWinner(ProzorroButWithFeelings.java:233)
at ua.gov.state.procurement.ProzorroButWithFeelings.evaluate(ProzorroButWithFeelings.java:181)
at ua.gov.state.cabinet.MinistryOfEverything.orderPaperclips(MinistryOfEverything.java:72)
at ua.gov.state.cabinet.CabinetOfMinisters.initialize(CabinetOfMinisters.java:39)
... 4 more
Caused by: java.lang.NullPointerException: Cannot invoke "Object.toString()" because "reform" is null
at ua.gov.state.reform.BigReformCoordinator.announce(BigReformCoordinator.java:57)
at ua.gov.state.reform.BigReformCoordinator.announceAgainLouder(BigReformCoordinator.java:64)
at ua.gov.state.reform.BigReformCoordinator.announceForTelevision(BigReformCoordinator.java:79)
at ua.gov.state.cabinet.MinistryOfHope.deploy(MinistryOfHope.java:145)
at ua.gov.state.cabinet.MinistryOfHope.deployPilotProject(MinistryOfHope.java:146)
at ua.gov.state.cabinet.MinistryOfHope.deployPilotProjectButNationwide(MinistryOfHope.java:147)
at ua.gov.state.cabinet.MinistryOfHope.deployPilotProjectButActuallyForever(MinistryOfHope.java:148)
at ua.gov.state.regions.RegionService.applyUniformChaos(RegionService.java:211)
at ua.gov.state.regions.RegionService.applyUniformChaosWithMethodology(RegionService.java:224)
at ua.gov.state.regions.RegionService.applyUniformChaosWithMethodologyAndLogo(RegionService.java:225)
at ua.gov.state.media.TelethonNarrativeFactory.spin(TelethonNarrativeFactory.java:19)
at ua.gov.state.media.TelethonNarrativeFactory.spinHarder(TelethonNarrativeFactory.java:20)
at ua.gov.state.media.TelethonNarrativeFactory.spinUntilWarm(TelethonNarrativeFactory.java:21)
at ua.gov.state.transport.RailwayOfDestiny.scheduleTrainMaybe(RailwayOfDestiny.java:301)
at ua.gov.state.transport.RailwayOfDestiny.scheduleTrainDefinitelyMaybe(RailwayOfDestiny.java:302)
at ua.gov.state.transport.RailwayOfDestiny.scheduleTrainWhenMercuryAllows(RailwayOfDestiny.java:303)
at ua.gov.state.utilities.HeatingSeasonPredictor.guess(HeatingSeasonPredictor.java:44)
at ua.gov.state.utilities.HeatingSeasonPredictor.guessWithSpreadsheet(HeatingSeasonPredictor.java:52)
at ua.gov.state.utilities.HeatingSeasonPredictor.guessWithSpreadsheetAndPrayer(HeatingSeasonPredictor.java:53)
at ua.gov.state.utilities.CityBoiler.rotateValvePhilosophically(CityBoiler.java:118)
at ua.gov.state.utilities.CityBoiler.rotateValvePhilosophicallyCounterClockwise(CityBoiler.java:119)
at ua.gov.state.utilities.CityBoiler.emitOptimism(CityBoiler.java:140)
at ua.gov.state.economy.InflationService.stabilizeByRenaming(InflationService.java:98)
at ua.gov.state.economy.InflationService.stabilizeByRenamingAndRoundDown(InflationService.java:99)
at ua.gov.state.economy.InflationService.publishEncouragingChart(InflationService.java:144)
at ua.gov.state.market.BuckwheatReserve.releaseStrategically(BuckwheatReserve.java:12)
at ua.gov.state.market.BuckwheatReserve.releaseStrategicallyBeforeElection(BuckwheatReserve.java:13)
at ua.gov.state.market.BuckwheatReserve.releaseStrategicallyBeforeElectionButDenyIt(BuckwheatReserve.java:14)
at ua.gov.state.education.UniversityOfAppliedQueueing.processApplicants(UniversityOfAppliedQueueing.java:402)
at ua.gov.state.education.UniversityOfAppliedQueueing.processApplicantsInCorridor(UniversityOfAppliedQueueing.java:403)
at ua.gov.state.education.UniversityOfAppliedQueueing.processApplicantsInCorridorNearWindow(UniversityOfAppliedQueueing.java:404)
at ua.gov.state.health.DistrictClinic.findCard(DistrictClinic.java:67)
at ua.gov.state.health.DistrictClinic.findCardInOtherCabinet(DistrictClinic.java:68)
at ua.gov.state.health.DistrictClinic.findCardInOtherCabinetAfterLunch(DistrictClinic.java:69)
at ua.gov.state.health.DistrictClinic.recommendTea(DistrictClinic.java:90)
at ua.gov.state.health.DistrictClinic.recommendTeaAndWoolSocks(DistrictClinic.java:91)
at ua.gov.state.digital.DiiaButOnPaper.verifyIdentity(DiiaButOnPaper.java:250)
at ua.gov.state.digital.DiiaButOnPaper.verifyIdentityByStamp(DiiaButOnPaper.java:251)
at ua.gov.state.digital.DiiaButOnPaper.verifyIdentityByStampAndWitness(DiiaButOnPaper.java:252)
at ua.gov.state.post.OfficeOfInfiniteParcels.locateBox(OfficeOfInfiniteParcels.java:14)
at ua.gov.state.post.OfficeOfInfiniteParcels.locateBoxBehindAnotherBox(OfficeOfInfiniteParcels.java:15)
at ua.gov.state.post.OfficeOfInfiniteParcels.locateBoxBehindAnotherBoxUnderCalendar(OfficeOfInfiniteParcels.java:16)
at ua.gov.state.agriculture.MinistryOfBeetroot.measureYieldByVibes(MinistryOfBeetroot.java:77)
at ua.gov.state.agriculture.MinistryOfBeetroot.measureYieldByVibesAndDrone(MinistryOfBeetroot.java:78)
at ua.gov.state.agriculture.MinistryOfBeetroot.exportSunflowerOilIntoPresentation(MinistryOfBeetroot.java:102)
at ua.gov.state.weather.NationalHydroMetCenter.predictSun(Predictably.java:11)
at ua.gov.state.weather.NationalHydroMetCenter.predictRainOptimistically(Predictably.java:12)
at ua.gov.state.weather.NationalHydroMetCenter.predictSnowForBudget(Predictably.java:13)
at ua.gov.state.local.MayorOffice.repairRoadWithGravelAndHope(MayorOffice.java:208)
at ua.gov.state.local.MayorOffice.cutRibbonBeforeRoadExists(MayorOffice.java:209)
at ua.gov.state.local.MayorOffice.postPhotoFromFuture(MayorOffice.java:210)
at ua.gov.state.culture.CenterForTraditionalInnovation.hostForum(CenterForTraditionalInnovation.java:55)
at ua.gov.state.culture.CenterForTraditionalInnovation.hostForumAboutHostingForums(CenterForTraditionalInnovation.java:56)
at ua.gov.state.culture.CenterForTraditionalInnovation.publishResolutionNobodyRead(CenterForTraditionalInnovation.java:57)
at ua.gov.state.security.SeriousPeopleCommittee.raiseConcern(Security.java:300)
at ua.gov.state.security.SeriousPeopleCommittee.raiseConcernFormally(Security.java:301)
at ua.gov.state.security.SeriousPeopleCommittee.raiseConcernFormallyInTriplicate(Security.java:302)
at ua.gov.state.tax.TaxService.requestExplanation(TaxService.java:612)
at ua.gov.state.tax.TaxService.requestExplanationForPreviousExplanation(TaxService.java:613)
at ua.gov.state.tax.TaxService.requestExplanationForWhyExplanationWasLate(TaxService.java:614)
at ua.gov.state.tax.TaxService.freezeAccountTemporarilyUntilEternity(TaxService.java:615)
at ua.gov.state.smallbusiness.CoffeeKiosk.generateReceiptIfPrinterFeelsLikeIt(CoffeeKiosk.java:27)
at ua.gov.state.smallbusiness.CoffeeKiosk.acceptCardThenChangeMind(CoffeeKiosk.java:28)
at ua.gov.state.smallbusiness.CoffeeKiosk.offerTransferToPersonalNumber(CoffeeKiosk.java:29)
at ua.gov.state.family.GrandmotherProtocol.askIfYouHaveEaten(GrandmotherProtocol.java:1)
at ua.gov.state.family.GrandmotherProtocol.askAgainBecauseYouLookThin(GrandmotherProtocol.java:2)
at ua.gov.state.family.GrandmotherProtocol.wrapCutletsForRoad(GrandmotherProtocol.java:3)
at ua.gov.state.roads.PotholeClassifier.classifyAsHistoricalDepression(PotholeClassifier.java:88)
at ua.gov.state.roads.PotholeClassifier.applyTourismGrant(PotholeClassifier.java:89)
at ua.gov.state.roads.PotholeClassifier.installCommemorativePlaque(PotholeClassifier.java:90)
at ua.gov.state.space.NationalCosmosAgency.launchPressReleaseIntoOrbit(NationalCosmosAgency.java:5)
at ua.gov.state.space.NationalCosmosAgency.delayRocketForCeremony(NationalCosmosAgency.java:6)
at ua.gov.state.space.NationalCosmosAgency.cutRibbonNearRocket(NationalCosmosAgency.java:7)
at ua.gov.state.archives.MinistryOfDust.findDecree(MinistryOfDust.java:404)
at ua.gov.state.archives.MinistryOfDust.findDecreeInFolderMarkedMisc(MinistryOfDust.java:405)
at ua.gov.state.archives.MinistryOfDust.findDecreeInFolderMarkedMiscFinal2(MinistryOfDust.java:406)
at ua.gov.state.procurement.ChairBuyingCommission.compareThreeChairsForNineMonths(ChairBuyingCommission.java:71)
at ua.gov.state.procurement.ChairBuyingCommission.compareThreeChairsForNineMonthsAndSiteVisit(ChairBuyingCommission.java:72)
at ua.gov.state.procurement.ChairBuyingCommission.declareAllChairsNonCompliant(ChairBuyingCommission.java:73)
at ua.gov.state.energy.GasNegotiator.lowerThermostatOfTheNation(Energy.java:155)
at ua.gov.state.energy.GasNegotiator.recommendSweater(Energy.java:156)
at ua.gov.state.energy.GasNegotiator.recommendSecondSweater(Energy.java:157)
at ua.gov.state.energy.GasNegotiator.callItEuropeanPractice(Energy.java:158)
at ua.gov.state.antiCorruption.IntegrityBureau.openCase(IntegrityBureau.java:201)
at ua.gov.state.antiCorruption.IntegrityBureau.transferCase(IntegrityBureau.java:202)
at ua.gov.state.antiCorruption.IntegrityBureau.loseCaseBetweenDepartments(IntegrityBureau.java:203)
at ua.gov.state.antiCorruption.IntegrityBureau.scheduleBriefing(IntegrityBureau.java:204)
at ua.gov.state.antiCorruption.IntegrityBureau.sayNoCommentClearly(IntegrityBureau.java:205)
at ua.gov.state.justice.CourtScheduler.postponeHearing(CourtScheduler.java:900)
at ua.gov.state.justice.CourtScheduler.postponeHearingDueToWeather(CourtScheduler.java:901)
at ua.gov.state.justice.CourtScheduler.postponeHearingDueToPreviousPostponement(CourtScheduler.java:902)
at ua.gov.state.justice.CourtScheduler.scheduleNextCentury(CourtScheduler.java:903)
at ua.gov.state.housing.ElevatorService.displayOutOfOrderWithDignity(ElevatorService.java:44)
at ua.gov.state.housing.ElevatorService.playSadBuzz(ElevatorService.java:45)
at ua.gov.state.housing.ElevatorService.recommendStairsForPatriotism(ElevatorService.java:46)
at ua.gov.state.sports.FootballFederation.changeCoachAgain(FootballFederation.java:111)
at ua.gov.state.sports.FootballFederation.presentLongTermStrategyForThreeWeeks(FootballFederation.java:112)
at ua.gov.state.sports.FootballFederation.blamePitch(FootballFederation.java:113)
at ua.gov.state.domestic.KitchenCommittee.boilDumplingsUntilStrategic(KitchenCommittee.java:8)
at ua.gov.state.domestic.KitchenCommittee.debateSourCreamAllocation(KitchenCommittee.java:9)
at ua.gov.state.domestic.KitchenCommittee.passResolutionWithCrackedPlate(KitchenCommittee.java:10)
at ua.gov.state.history.InstituteOfNationalMemory.rememberSelectively(InstituteOfNationalMemory.java:66)
at ua.gov.state.history.InstituteOfNationalMemory.renameStreetForThirdTime(InstituteOfNationalMemory.java:67)
at ua.gov.state.history.InstituteOfNationalMemory.printNewMapOverOldMap(InstituteOfNationalMemory.java:68)
at ua.gov.state.bank.StateBank.calculateCommissionMysteriously(StateBank.java:333)
at ua.gov.state.bank.StateBank.roundAgainstCustomer(StateBank.java:334)
at ua.gov.state.bank.StateBank.offerPremiumQueueForRegularQueue(StateBank.java:335)
at ua.gov.state.bank.StateBank.requirePassportForMobileApp(StateBank.java:336)
at ua.gov.state.it.OutsourcedConsultant.prepareRoadmap(OutsourcedConsultant.java:21)
at ua.gov.state.it.OutsourcedConsultant.prepareRoadmapForPreparingRoadmaps(OutsourcedConsultant.java:22)
at ua.gov.state.it.OutsourcedConsultant.invoiceBySlide(OutsourcedConsultant.java:23)
at ua.gov.state.telecom.NationalInternetProvider.restartRouterNationwide(NationalInternetProvider.java:404)
at ua.gov.state.telecom.NationalInternetProvider.askEverybodyToTurnItOffAndOnAgain(NationalInternetProvider.java:405)
at ua.gov.state.telecom.NationalInternetProvider.declareStabilityRestoredBeforeTest(NationalInternetProvider.java:406)
at ua.gov.state.finallyblock.NationalFate.cleanup(NationalFate.java:1)
at ua.gov.state.finallyblock.NationalFate.cleanupAgainJustInCase(NationalFate.java:2)
at ua.gov.state.finallyblock.NationalFate.throwOriginalProblemAwayAccidentally(NationalFate.java:3)
Suppressed: java.lang.UnsupportedOperationException: Reform is immutable in production
at ua.gov.state.reform.LegacySystem.replaceCore(LegacySystem.java:12)
at ua.gov.state.reform.LegacySystem.replaceCoreWithoutDowntime(LegacySystem.java:13)
at ua.gov.state.reform.LegacySystem.replaceCoreWithoutDowntimeOnFriday(LegacySystem.java:14)
Caused by: java.lang.StackOverflowError
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)
at ua.gov.state.hotline.CitizenSupport.listen(CitizenSupport.java:51)
at ua.gov.state.hotline.CitizenSupport.transferToOperator(CitizenSupport.java:52)
at ua.gov.state.hotline.CitizenSupport.transferToSeniorOperator(CitizenSupport.java:53)
at ua.gov.state.hotline.CitizenSupport.transferToEvenSeniorerOperator(CitizenSupport.java:54)
at ua.gov.state.hotline.CitizenSupport.askToHold(CitizenSupport.java:55)
at ua.gov.state.hotline.CitizenSupport.playFluteVersionOfGreensleeves(CitizenSupport.java:56)Очевидці кажуть, що в момент падіння системи в кількох містах одночасно мигнули світлофори, самі собою закрилися електронні черги, а один державний портал чесно вивів повідомлення: «Спробуйте пізніше, ми теж не розуміємо, що відбувається».
Фахівці з цифрової стабільності, зібрані в екстреному порядку в конференц-залі готелю над трасою, вже запропонували комплексний план відновлення. Він передбачає три етапи: очистити кеш, змінити підрядника і урочисто оголосити, що помилка насправді є частиною сучасної сервісної архітектури з людським обличчям.
Тим часом парламентський комітет з питань технологічної долі вже провів слухання, на яких після шести годин дебатів дійшов висновку, що винен, імовірно, main, оскільки саме він усе почав. Опозиція у відповідь заявила, що проблема набагато глибша й сягає ще старих версій, де країна компілювалася з попередженнями, але їх, як завжди, проігнорували, бо «воно ж працює на моєму ноутбуці».
Найсумніше, втім, те, що окремі чиновники вже намагаються використати інцидент конструктивно. Один із них повідомив, що падіння системи відкриває унікальне вікно можливостей для модернізації. Інший уточнив, що модернізація почнеться одразу після створення міжвідомчої робочої підгрупи з напрацювання термінологічного бачення дорожньої карти підготовки до попереднього технічного аудиту можливості оголосити тендер на аудит.
Мешканцям країни ж поки що радять зберігати спокій, перезавантажувати документи не більше трьох разів на день і в разі появи в повітрі рядка Caused by не дивитися йому просто в очі. За попередніми прогнозами, повне відновлення може відбутися одразу після того, як хтось нарешті знайде, де саме в системі зберігається змінна reform, і перестане передавати туди null.
До того часу держава, як повідомляється, працюватиме в режимі сумісності. Тобто приблизно так само, як і раніше.