New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: Government occasionally shuts down #3

Closed
davatron5000 opened this Issue Oct 9, 2013 · 770 comments

Comments

Projects
None yet
@davatron5000

davatron5000 commented Oct 9, 2013

I noticed a bug over the past week or so and it seems reproducible:

  1. Go to U.S. Government.
  2. U.S. Government is shut down.

Expected results: Government should be working.

I'm unable to debug or propose a fix since there's not an open, transparent stack trace. Conflicting error messages are being thrown as well.

Hope you can resolve this soon. It would seem that the U.S. Government would value 100% uptime in order to be a reliable and trustworthy source for the rest of the world.

Thanks! Love this project and would like to continue using it.

@syropian

This comment has been minimized.

Show comment
Hide comment
@syropian

syropian commented Oct 9, 2013

+1

@VinSpee

This comment has been minimized.

Show comment
Hide comment
@VinSpee

VinSpee Oct 9, 2013

I can confirm that this is reproducible. Have you tried rebooting it?

VinSpee commented Oct 9, 2013

I can confirm that this is reproducible. Have you tried rebooting it?

@danveloper

This comment has been minimized.

Show comment
Hide comment
@danveloper

danveloper commented Oct 9, 2013

👍

@mikehostetler

This comment has been minimized.

Show comment
Hide comment
@mikehostetler

mikehostetler commented Oct 9, 2013

YES

@ceejayoz

This comment has been minimized.

Show comment
Hide comment
@ceejayoz

ceejayoz Oct 9, 2013

We could probably reassign this back to 🇬🇧

ceejayoz commented Oct 9, 2013

We could probably reassign this back to 🇬🇧

@dcneiner

This comment has been minimized.

Show comment
Hide comment
@dcneiner

dcneiner commented Oct 9, 2013

👍

@coogie

This comment has been minimized.

Show comment
Hide comment
@coogie

coogie Oct 9, 2013

My local installation of Government seems to be running as normal.
There may be a problem with your configuration. Have you tried removing certain troublesome components and restarting?

coogie commented Oct 9, 2013

My local installation of Government seems to be running as normal.
There may be a problem with your configuration. Have you tried removing certain troublesome components and restarting?

@Gastove

This comment has been minimized.

Show comment
Hide comment
@Gastove

Gastove Oct 9, 2013

My branch of the government is also shut down; can confirm that this is affecting more than just master.

Gastove commented Oct 9, 2013

My branch of the government is also shut down; can confirm that this is affecting more than just master.

@zachleat

This comment has been minimized.

Show comment
Hide comment
@zachleat

zachleat Oct 9, 2013

Looks like someone may have inserted some malicious congresspeople, can we issue a Pull Request to remove?

zachleat commented Oct 9, 2013

Looks like someone may have inserted some malicious congresspeople, can we issue a Pull Request to remove?

@betacar

This comment has been minimized.

Show comment
Hide comment
@betacar

betacar commented Oct 9, 2013

itcrowd

@morganestes

This comment has been minimized.

Show comment
Hide comment
@morganestes

morganestes Oct 9, 2013

Love this project would like to continue using it.

This had me laughing out loud in the office. Thanks!

morganestes commented Oct 9, 2013

Love this project would like to continue using it.

This had me laughing out loud in the office. Thanks!

@RedWolves

This comment has been minimized.

Show comment
Hide comment
@RedWolves

RedWolves Oct 9, 2013

I think it's time to fork a new repo again.

RedWolves commented Oct 9, 2013

I think it's time to fork a new repo again.

@erikroyall

This comment has been minimized.

Show comment
Hide comment
@erikroyall

erikroyall Oct 9, 2013

Barack Obama, the lead developer should be assigned

erikroyall commented Oct 9, 2013

Barack Obama, the lead developer should be assigned

@dajbelshaw

This comment has been minimized.

Show comment
Hide comment
@dajbelshaw

dajbelshaw Oct 9, 2013

Could be a FOR loop issue with init.Republicans?

dajbelshaw commented Oct 9, 2013

Could be a FOR loop issue with init.Republicans?

@ChrisMissal

This comment has been minimized.

Show comment
Hide comment
@ChrisMissal

ChrisMissal Oct 9, 2013

If only contributors were allowed to rewrite history...

ChrisMissal commented Oct 9, 2013

If only contributors were allowed to rewrite history...

@pmgllc

This comment has been minimized.

Show comment
Hide comment
@pmgllc

pmgllc Oct 9, 2013

The sysadmin says it's user error. Arrogant like all sysadmins.

pmgllc commented Oct 9, 2013

The sysadmin says it's user error. Arrogant like all sysadmins.

@johnrengelman

This comment has been minimized.

Show comment
Hide comment
@johnrengelman

johnrengelman commented Oct 9, 2013

👍

@seanislegend

This comment has been minimized.

Show comment
Hide comment
@seanislegend

seanislegend commented Oct 9, 2013

+1

@scottjehl

This comment has been minimized.

Show comment
Hide comment
@scottjehl

scottjehl Oct 9, 2013

@johnboehner closed issue #3 as "#wontfix"

scottjehl commented Oct 9, 2013

@johnboehner closed issue #3 as "#wontfix"

@dastels

This comment has been minimized.

Show comment
Hide comment
@dastels

dastels Oct 9, 2013

Typical proprietary bloatware. Trash it and find a simpler, lighter weight alternative.

dastels commented Oct 9, 2013

Typical proprietary bloatware. Trash it and find a simpler, lighter weight alternative.

@tbwiii

This comment has been minimized.

Show comment
Hide comment
@tbwiii

tbwiii commented Oct 9, 2013

👍

@jcsalterego

This comment has been minimized.

Show comment
Hide comment
@jcsalterego

jcsalterego Oct 9, 2013

php strikes again

jcsalterego commented Oct 9, 2013

php strikes again

@sinker

This comment has been minimized.

Show comment
Hide comment
@sinker

sinker Oct 9, 2013

Can we elevate this bug to critical?

sinker commented Oct 9, 2013

Can we elevate this bug to critical?

@betacar

This comment has been minimized.

Show comment
Hide comment
@betacar

betacar Oct 9, 2013

It's a ObamaCare exception trowed by Republican.all?

betacar commented Oct 9, 2013

It's a ObamaCare exception trowed by Republican.all?

@dastels

This comment has been minimized.

Show comment
Hide comment
@dastels

dastels Oct 9, 2013

Sounds like a new distributed approach might be worth trying.

dastels commented Oct 9, 2013

Sounds like a new distributed approach might be worth trying.

@VinSpee

This comment has been minimized.

Show comment
Hide comment
@VinSpee

VinSpee Oct 9, 2013

Looks like new code added to the getter on healthCare() is causing some of the constitution tests to fail.

VinSpee commented Oct 9, 2013

Looks like new code added to the getter on healthCare() is causing some of the constitution tests to fail.

@dastels

This comment has been minimized.

Show comment
Hide comment
@dastels

dastels Oct 9, 2013

Rewrite, this time using logic programming.

dastels commented Oct 9, 2013

Rewrite, this time using logic programming.

@sao

This comment has been minimized.

Show comment
Hide comment
@sao

sao commented Oct 9, 2013

+1

@zachleat

This comment has been minimized.

Show comment
Hide comment
@zachleat

zachleat Oct 9, 2013

@VinSpee naw, @SupremeCourt verified tests are passing fine.

zachleat commented Oct 9, 2013

@VinSpee naw, @SupremeCourt verified tests are passing fine.

@jakerella

This comment has been minimized.

Show comment
Hide comment
@jakerella

jakerella Oct 9, 2013

Confirmed, was able to reproduce. I think there may be a locking issue with congressional members.

jakerella commented Oct 9, 2013

Confirmed, was able to reproduce. I think there may be a locking issue with congressional members.

@ExtAnimal

This comment has been minimized.

Show comment
Hide comment
@ExtAnimal

ExtAnimal Apr 3, 2015

Best solution is to revert to the pre 1776 commit.

The British government has never exhibited this bug. So it was definitely introduced after that.

ExtAnimal commented Apr 3, 2015

Best solution is to revert to the pre 1776 commit.

The British government has never exhibited this bug. So it was definitely introduced after that.

@sqram

This comment has been minimized.

Show comment
Hide comment
@sqram

sqram Apr 3, 2015

It's not a bug, it's a feature.
Please lock thread as @xiongchiamiov suggested :)

sqram commented Apr 3, 2015

It's not a bug, it's a feature.
Please lock thread as @xiongchiamiov suggested :)

@weshatheleopard

This comment has been minimized.

Show comment
Hide comment
@weshatheleopard

weshatheleopard Apr 3, 2015

Why is this bug closed? The root case of the problem has not been eliminated!

weshatheleopard commented Apr 3, 2015

Why is this bug closed? The root case of the problem has not been eliminated!

@lmon

This comment has been minimized.

Show comment
Hide comment
@lmon

lmon Apr 3, 2015

Isn't the root cause the existence of the government?
On Apr 3, 2015 2:04 PM, "weshatheleopard" notifications@github.com wrote:

Why is this bug closed? The root case of the problem has not been
eliminated!


Reply to this email directly or view it on GitHub
#3 (comment).

lmon commented Apr 3, 2015

Isn't the root cause the existence of the government?
On Apr 3, 2015 2:04 PM, "weshatheleopard" notifications@github.com wrote:

Why is this bug closed? The root case of the problem has not been
eliminated!


Reply to this email directly or view it on GitHub
#3 (comment).

@chrisfranko

This comment has been minimized.

Show comment
Hide comment
@chrisfranko

chrisfranko Apr 4, 2015

Better late than never.

chrisfranko commented Apr 4, 2015

Better late than never.

@lionleaf

This comment has been minimized.

Show comment
Hide comment
@lionleaf

lionleaf Jan 20, 2018

Uh oh. Looks like this bug might have to be re-opened. Getting an 'imminent shutdown' warning from my local branch. And I had just switched too... Anyone else able to reproduce?

lionleaf commented Jan 20, 2018

Uh oh. Looks like this bug might have to be re-opened. Getting an 'imminent shutdown' warning from my local branch. And I had just switched too... Anyone else able to reproduce?

@dskvr

This comment has been minimized.

Show comment
Hide comment
@dskvr

dskvr Jan 20, 2018

I just pulled master for the first time in a few years, but it appears there's a number of dependencies missing. I've been able to reproduce the "imminent shutdown" bug, any solutions?

dskvr commented Jan 20, 2018

I just pulled master for the first time in a few years, but it appears there's a number of dependencies missing. I've been able to reproduce the "imminent shutdown" bug, any solutions?

@BenKeyFSI

This comment has been minimized.

Show comment
Hide comment
@BenKeyFSI

BenKeyFSI Jan 20, 2018

I think we need to revert all changes made since 1776. God save the queen!

On second thought, perhaps we should revert to the pristine pre-1492 version of the code. That is an even better idea!

BenKeyFSI commented Jan 20, 2018

I think we need to revert all changes made since 1776. God save the queen!

On second thought, perhaps we should revert to the pristine pre-1492 version of the code. That is an even better idea!

@michaeljnedell

This comment has been minimized.

Show comment
Hide comment
@michaeljnedell

michaeljnedell Jan 20, 2018

There are other bugs to worry about. Lets leave this til next sprint.

michaeljnedell commented Jan 20, 2018

There are other bugs to worry about. Lets leave this til next sprint.

@ril3y

This comment has been minimized.

Show comment
Hide comment
@ril3y

ril3y Jan 20, 2018

@davatron5000

It would seem to me that issue is still valid. I was unable to find the fourtyfive repo. However good news I did find the bug. @EdCharbeneau original bug is absolutely still valid. However I am adding.

while(congressIsStillFullOfAssholes && trump.isAnIdiot == true) { };

ril3y commented Jan 20, 2018

@davatron5000

It would seem to me that issue is still valid. I was unable to find the fourtyfive repo. However good news I did find the bug. @EdCharbeneau original bug is absolutely still valid. However I am adding.

while(congressIsStillFullOfAssholes && trump.isAnIdiot == true) { };

@mattrayner

This comment has been minimized.

Show comment
Hide comment
@mattrayner

mattrayner Jan 20, 2018

mattrayner commented Jan 20, 2018

@sheldonrampton

This comment has been minimized.

Show comment
Hide comment
@sheldonrampton

sheldonrampton Jan 20, 2018

I've done a root cause analysis. This bug stems from a race condition triggered when class inheritance passes public objects to a private subclass. It can be fixed by eliminating class-based inheritance, implementing rapid replication-on-demand from master to slave servers, and reverting commits during the past year that have been caused severe performance degradation.

sheldonrampton commented Jan 20, 2018

I've done a root cause analysis. This bug stems from a race condition triggered when class inheritance passes public objects to a private subclass. It can be fixed by eliminating class-based inheritance, implementing rapid replication-on-demand from master to slave servers, and reverting commits during the past year that have been caused severe performance degradation.

@AyrA

This comment has been minimized.

Show comment
Hide comment
@AyrA

AyrA Jan 20, 2018

This is so horribly broken it should be rewritten from scratch to be honest. The democracy class is horribly broken. Every time you submit a value, it no longer accepts inputs for 4 years. What the class does during that time is mostly disappointing and the outcome doesn't seems to be affected too much by the value you submit. I recommend rewriting the entire Democracy structure, or if the behaviour is intended (I hope not) at least rename it to Oligarchy to be less confusing

AyrA commented Jan 20, 2018

This is so horribly broken it should be rewritten from scratch to be honest. The democracy class is horribly broken. Every time you submit a value, it no longer accepts inputs for 4 years. What the class does during that time is mostly disappointing and the outcome doesn't seems to be affected too much by the value you submit. I recommend rewriting the entire Democracy structure, or if the behaviour is intended (I hope not) at least rename it to Oligarchy to be less confusing

@nonprofitable

This comment has been minimized.

Show comment
Hide comment
@nonprofitable

nonprofitable commented Jan 20, 2018

@hyperbolicTom

This comment has been minimized.

Show comment
Hide comment
@hyperbolicTom

hyperbolicTom Jan 20, 2018

The bug is being given the codename Spectre Orange.
Something is causing massive amounts of erroneous code to be injected into the running system.
Currently the only known fix is to spank SO with a copy of Forbes Magazine.

hyperbolicTom commented Jan 20, 2018

The bug is being given the codename Spectre Orange.
Something is causing massive amounts of erroneous code to be injected into the running system.
Currently the only known fix is to spank SO with a copy of Forbes Magazine.

@hyperbolicTom

This comment has been minimized.

Show comment
Hide comment
@hyperbolicTom

hyperbolicTom Jan 20, 2018

Also the version number is 45, not 44

hyperbolicTom commented Jan 20, 2018

Also the version number is 45, not 44

@naterkane

This comment has been minimized.

Show comment
Hide comment
@naterkane

naterkane Jan 20, 2018

^ this is why semver is important.

Can someone please move this to the next sprint?

naterkane commented Jan 20, 2018

^ this is why semver is important.

Can someone please move this to the next sprint?

@jpettitt

This comment has been minimized.

Show comment
Hide comment
@jpettitt

jpettitt Jan 20, 2018

Reading notes from @ wchurchill (prior PM on a parallel project) it appears to be related to it being "the worst system of government apart from all the others" and his research showed that a five minute conversation with the average user indicated they didn't understand the product.

Further market research by @ ripley suggests "nuke the entire site from orbit. It’s the only way to be sure." The North Korean office is working on the necessary technology.

jpettitt commented Jan 20, 2018

Reading notes from @ wchurchill (prior PM on a parallel project) it appears to be related to it being "the worst system of government apart from all the others" and his research showed that a five minute conversation with the average user indicated they didn't understand the product.

Further market research by @ ripley suggests "nuke the entire site from orbit. It’s the only way to be sure." The North Korean office is working on the necessary technology.

@Kirk-H

This comment has been minimized.

Show comment
Hide comment
@Kirk-H

Kirk-H Jan 23, 2018

The amount of technical debt in this application is astounding. I think you need to rip n' replace all services that interface with the original code base. The services seem totally disconnected from the intent of the original code authors and seem to be written to serve their own best interests and not the intentions of the original code.

I suggest you replace the entire framework with one that actually works together for the betterment of the application.

Kirk-H commented Jan 23, 2018

The amount of technical debt in this application is astounding. I think you need to rip n' replace all services that interface with the original code base. The services seem totally disconnected from the intent of the original code authors and seem to be written to serve their own best interests and not the intentions of the original code.

I suggest you replace the entire framework with one that actually works together for the betterment of the application.

@emjayess

This comment has been minimized.

Show comment
Hide comment
@emjayess

emjayess Jan 23, 2018

Needs more blockchain; call for papers open!

emjayess commented Jan 23, 2018

Needs more blockchain; call for papers open!

@mitar

This comment has been minimized.

Show comment
Hide comment
@mitar

mitar Jan 23, 2018

I would advise against reimplementing from scratch because current code, with all its bugs, imperfections, and corruptions, have many checks and balances accumulated through centuries of use. Those checks prevent edge cases and adversarial attacks from internal and external sources or other corrupt or self-motivated processes. For many we even forgot that they exist, or we think that they do not exist anymore, because checks are preventing them from occurring. Sadly, current code is not well documented so it is impossible to reconstruct the list of all design and security decisions, use cases, bug reports, user experiences and general requirements which are present indirectly in the implementation.

See this tale for more background information: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

mitar commented Jan 23, 2018

I would advise against reimplementing from scratch because current code, with all its bugs, imperfections, and corruptions, have many checks and balances accumulated through centuries of use. Those checks prevent edge cases and adversarial attacks from internal and external sources or other corrupt or self-motivated processes. For many we even forgot that they exist, or we think that they do not exist anymore, because checks are preventing them from occurring. Sadly, current code is not well documented so it is impossible to reconstruct the list of all design and security decisions, use cases, bug reports, user experiences and general requirements which are present indirectly in the implementation.

See this tale for more background information: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

@MiguelCastillo

This comment has been minimized.

Show comment
Hide comment
@MiguelCastillo

MiguelCastillo Jan 23, 2018

did someone leave a few console.log in the main module? It keeps writing tweets about nonsensical corrupted memory dumps.

MiguelCastillo commented Jan 23, 2018

did someone leave a few console.log in the main module? It keeps writing tweets about nonsensical corrupted memory dumps.

@weshatheleopard

This comment has been minimized.

Show comment
Hide comment
@weshatheleopard

weshatheleopard Jan 23, 2018

@mitar: the problem is that those checks and balances are, well, checking-and-balancing against old bugs that are no longer the case. For example, the institute of electors was implemented to solve the problem of XIX-century communication channels that were known for their low throughput, high latency and packet loss rates (see RFC 1149), and most consumer devices had trouble recognizing handwriting. No longer a problem: in year 2017, 99% of the user endpoints communicate over TCP/IP. Time to throw out the obsolete code, and implement at least direct democracy (although I would recommend moving on to XXI century and implement online/realtime democracy).

weshatheleopard commented Jan 23, 2018

@mitar: the problem is that those checks and balances are, well, checking-and-balancing against old bugs that are no longer the case. For example, the institute of electors was implemented to solve the problem of XIX-century communication channels that were known for their low throughput, high latency and packet loss rates (see RFC 1149), and most consumer devices had trouble recognizing handwriting. No longer a problem: in year 2017, 99% of the user endpoints communicate over TCP/IP. Time to throw out the obsolete code, and implement at least direct democracy (although I would recommend moving on to XXI century and implement online/realtime democracy).

@hyperbolicTom

This comment has been minimized.

Show comment
Hide comment
@hyperbolicTom

hyperbolicTom Jan 23, 2018

hyperbolicTom commented Jan 23, 2018

@mitar

This comment has been minimized.

Show comment
Hide comment
@mitar

mitar Jan 24, 2018

the problem is that those checks and balances are, well, checking-and-balancing against old bugs that are no longer the case.

Really? I think if you read Plato's Republic, you can see that most cases of issues with governance were already there. Things like corrupt institutions and individuals, concentrations of power, nepotism. Heh, even Ponzi schemes still happen.

Time to throw out the obsolete code, and implement at least direct democracy (although I would recommend moving on to XXI century and implement online/realtime democracy).

Voting is just a very small part of whole governance application. Even story I linked before says:

A second reason programmers think that their code is a mess is that it is inefficient. The rendering code in Netscape was rumored to be slow. But this only affects a small part of the project, which you can optimize or even rewrite. You don’t have to rewrite the whole thing. When optimizing for speed, 1% of the work gets you 99% of the bang.

So yea, we can optimize/improve that 1% of the whole thing. But rewriting the whole application, this leads to failure. But a voting feature, there is definitely some improvement to be made. Collaboration in general. Real-time, massive, online.

mitar commented Jan 24, 2018

the problem is that those checks and balances are, well, checking-and-balancing against old bugs that are no longer the case.

Really? I think if you read Plato's Republic, you can see that most cases of issues with governance were already there. Things like corrupt institutions and individuals, concentrations of power, nepotism. Heh, even Ponzi schemes still happen.

Time to throw out the obsolete code, and implement at least direct democracy (although I would recommend moving on to XXI century and implement online/realtime democracy).

Voting is just a very small part of whole governance application. Even story I linked before says:

A second reason programmers think that their code is a mess is that it is inefficient. The rendering code in Netscape was rumored to be slow. But this only affects a small part of the project, which you can optimize or even rewrite. You don’t have to rewrite the whole thing. When optimizing for speed, 1% of the work gets you 99% of the bang.

So yea, we can optimize/improve that 1% of the whole thing. But rewriting the whole application, this leads to failure. But a voting feature, there is definitely some improvement to be made. Collaboration in general. Real-time, massive, online.

@JonKernPA

This comment has been minimized.

Show comment
Hide comment
@JonKernPA

JonKernPA Jan 25, 2018

JonKernPA commented Jan 25, 2018

@weshatheleopard

This comment has been minimized.

Show comment
Hide comment
@weshatheleopard

weshatheleopard Jan 25, 2018

@mitar: I'm not suggesting we rewrite the entire application, I'm suggesting we stop using the obsolete library that has long known vulnerabilities. I suggest meritocracy.dll which, amongst many other benefits, has built-in protection against last year's widely discussed Trump side-channel attack.

weshatheleopard commented Jan 25, 2018

@mitar: I'm not suggesting we rewrite the entire application, I'm suggesting we stop using the obsolete library that has long known vulnerabilities. I suggest meritocracy.dll which, amongst many other benefits, has built-in protection against last year's widely discussed Trump side-channel attack.

@dijitlalchemist

This comment has been minimized.

Show comment
Hide comment
@dijitlalchemist

dijitlalchemist Mar 11, 2018

for some reason wX + pY == (protection && (injury || death)) || (violation && (murder || death || kill)); is being rejected by the 2a.bor.pkg, anyone familiar with the lobby.of.lost.lives framework on Second Life?

dijitlalchemist commented Mar 11, 2018

for some reason wX + pY == (protection && (injury || death)) || (violation && (murder || death || kill)); is being rejected by the 2a.bor.pkg, anyone familiar with the lobby.of.lost.lives framework on Second Life?

@jpettitt

This comment has been minimized.

Show comment
Hide comment
@jpettitt

jpettitt Mar 12, 2018

Full rewrites have a terrible track record, prior examples in other projects mostly haven't worked and have lead to had system crashes or major corruption. Given the investment in use training, test cases and documentation any major change it likely to be very disruptive to normal system operation. Far better to iterate towards a solution to identified problems by piloting ideas in the state level modules.

There are already "ranked choice / single transferable vote" models in test in several locales with positive results.

On the finance and accounting subsystems the "cut all the taxes" PR seems to have caused major disruption in Kansas and was largely reverted.

jpettitt commented Mar 12, 2018

Full rewrites have a terrible track record, prior examples in other projects mostly haven't worked and have lead to had system crashes or major corruption. Given the investment in use training, test cases and documentation any major change it likely to be very disruptive to normal system operation. Far better to iterate towards a solution to identified problems by piloting ideas in the state level modules.

There are already "ranked choice / single transferable vote" models in test in several locales with positive results.

On the finance and accounting subsystems the "cut all the taxes" PR seems to have caused major disruption in Kansas and was largely reverted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment