UISES Bug Report   DATE   /   Priority   /   Error Number
ID: 38
Date Filed: 9/24/2007
Date Solved:
Priority: 1
Applet/Procedure: General
Problem: Denial of Service Attack
Description: Steve Hess informs me that the UISES development server uises.cba.uiuc.edu was involved in a denial of service attack. I have given Steve full authority to do whatever he needs to do to work with CITES's forensics people and determine where and how the attack was launched. This means that the development server will be unavailable for the time being.
Diagnosis: There are several things we need to do to secure both UISES servers. This item will be cleared when CITES and OIM give us the all clear.

November 2008: We need to get together with Steve Hess on this. We have been without a development server for more than a year and waiting for the new building to be finished is no longer an option.

May 2009: Servers have been moved to BIF. The security setting seems to a problem in the data pull. This needs to be addressed.

ID: 44
Date Filed: 12/12/2008
Date Solved: 1/29/2009
Priority: 1
Applet/Procedure: Currency Transactions
Problem: order overflow
Description: On occasion, when currency transactions are executed, a buy sell amount overflows, and UISES comes to a crashing halt. This happens most often with Japanese Yen.

Sell 1m USD / Buy x JPY

UISES calculates x as 100m and overflows. The system stops until the transaction is modified manually and processing can continue.


Diagnosis: There are a number of ways to deal with this. I think the best way is to modify the currency order procedure so that when the user clicks on [save] x is calculated using current exchange rates and, if x will cause an overflow, reject the order with an error message that encourages the user to enter a smaller transaction.

ID: 43
Date Filed: 11/1/2008
Date Solved: 2/6/2009
Priority: 1
Applet/Procedure: Statement Generation Procedure
Problem: Wrong exchange rate used
Description: When a statement is generated for a portfolio that includes non USD assets these assets are translated into US dollars at the current exchange rates rather than at the exchange rates on the date of the statement.

Thus when the user generates a statement on December 4 as at month end November 30 assets are priced as of November 30, but exchanged into dollars as of December 4.

ID: 41
Date Filed: 11/20/2008
Date Solved: 3/1/2009
Priority: 2
Applet/Procedure: Challenge Administration Applet
Problem: Automate a manual procedure
Description: Every morning someone has to go into UISES and manually generate the challenge reports. Since the reports take a while to generate they don't get generated on a regular basis. A further problem exists because we publish the day after the close. Thus the challenge report published November 20 has November 20 as the publish date, but reflects the prices as at the close November 19.
Diagnosis: We need to automate this. I should be able to set up a challenge report so that it runs every day either after the update or at one minute to midnight (after the interest run) as part of the batch process. The reports would then be up to date, and have the correct date on it.

Since the challenge reports are set up by the SEC we don't need anything fancy as an interface; the only people using it would be Elisabeth and Kevin.

ID: 33
Date Filed: 3/16/2007
Date Solved: 2/6/2009
Priority: 2
Applet/Procedure: Administration Applet
Problem: Delete Partner/ Delete Company
Description: It would appear that some partners were inadvertantly deleted by a section administrator. I think the best way to deal with this is to emulate the old Java conditions: only the SEC can delete partners or companies. This was originally for billing purposes but it also prevents accidental deletions and allows us to better track usage for grant credit purposes.

ID: 47
Date Filed: 5/1/2009
Date Solved:
Priority: 2
Applet/Procedure: Currency Transactions
Problem: Gaming the system
Description: Students game the currency transactions portion of UISES because they can see current exchange rates live while trading currencies on UISES at yesterday's rate.


Monday the Euro closes at $1.30.

Tuesday the Euro is trading at $1.40 but UISES still exchanges currencies as at yesterday's rate. Students can buy E1,000,000 at $1.30 every 15 minutes during the day, knowing they can sell at $1.40 tomorrow.

Wednesday the Euro is trading at $1.35 but UISES still exchanges currencies at yesterday's rate. Students can sell E1,000,000 at $1.40 every 15 minutes until all their Euros are gone.

Diagnosis: We need to trade currencies the same way we trade everything else. Trade orders are kept in the pending file until 3pm, then executed at the new closing rate when they come in.

ID: 46
Date Filed: 3/13/2009
Date Solved:
Priority: 2
Applet/Procedure: Transaction Procedure
Problem: Sybase Deadlock
Description: The UISES server came down due to a database deadlock. Deadlocks normally happen when several processes are trying to access the same database chunk at the same time. The first time this happened was during UisesStockTradeProcess run 27 February 2009. The deadlock was attributed to the 1500 transactions that were processed for the same close. The second time it happened was during a UisesWarningProcess rather than a UisesStockTradeProcess. It is true that, during a volatile market students take on more risk and we generate more warnings than when prices are relatively stable, but this should not happen.
Diagnosis: Pending.

ID: 42
Date Filed: 11/20/2008
Date Solved: 2/6/2009
Priority: 2
Applet/Procedure: Transaction Procedure
Problem: Warnings triggered by exchange problems
Description: As part of the update procedure UISES checks to see if the portfolio is in violation of the warning rules (overdraft & extended shorts) and sets up a warning. The problem is that the parameters are set up in $$. The system works in all currencies except Japanese yen. I think it actually only appears to work in other currencies because their exchange rates are closer to 1:1 with the US dollar.

The problem is obvious when you get to the japanese yen. For example, when you go into overdraft in Yen it looks 100 times bigger than it really is. In a portfolio of $1m and 100% brokers loan we trigger a warning and move from brokers loan to overdraft at 1,000,000 yen ($1000) rather than the equivalent of $1 million etc.

If we move into overdraft at 1m Euros rather than the equivalent of 1m dollars, the discrepancy is harder to notice, but it is still there. When the Euro was trading at $1.46 it meant that students were able to borrow 1 million Euros ($1.46 million) at low rates when they should have been cut off at 684,932 Euros ($1 million).
Diagnosis: We need to add a procedure to set the currency before the warning is triggered.

ID: 32
Date Filed: 1/31/2007
Date Solved: 11/1/2008
Priority: 3
Applet/Procedure: General
Problem: Ticker/Company Name/ Exchange
Description: There has to be a way for me to make minor changes in the asset list

Change the company Name (change the entry in the asset table - no change to price pull)
Change the company ticker (change the entry in the asset table - change to price pull)
Change the exchange (change the entry in the asset table - no change in price pull)
(For example American Eagle Outfitters changed from AEOS (Nasdaq) to AEO (NYSE)
(St Paul Travellers (STA) change to Travellers (TRV)

Add a new company to the list
Delete a company from the list

Diagnosis: I think we have solved this by simply making the changes to the asset table. However, to keep things clean we should fully document changes made and procedures uised to make them so that we are not relying on my memory. So transfer this to Elisabeth's list.

ID: 30
Date Filed: 3/9/2007
Date Solved: 11/20/2008
Priority: 3
Applet/Procedure: Challenge Administration Applet
Problem: Time
Description: It takes a long time to generate challenge statements. Even after you wait three minutes to generate the company level statement you need to wait a further three minutes to generate the team level statement.
Diagnosis: Can we change the statement generation so that it pulls from the market values calculated as part of the 15 minute cycle. This should speed things up.

November 2008: This item should be combined with #41 so mark it not as solved but as to be addressed as part of item #41

ID: 28
Date Filed: 3/9/2007
Date Solved: 11/20/2008
Priority: 3
Applet/Procedure: Dividend Procedure
Problem: Clean up
Description: Lets clean out all dividends and splits with ex dates and\or pay dates not in 2007. There are actually dividends in there going to 2099.

November 2008: I can do this myself after the fall 2008 production run so transfer this to Elisabeth's list

ID: 26
Date Filed: 5/15/2006
Date Solved:
Priority: 3
Applet/Procedure: Splits Applet
Problem: Backdated splits
Description: When splits are backdated they work perfectly so long as the position has not been closed.

Example: (getting it right)
Jan 2: portfolio buys 300 shares at $100/share
Jan 3: stock splits 2:1 but is not entered into the splits program
Jan 4: portfolio sells 200 shares at $50/share so still has 100 shares
Jan 12: split is entered and executed
Jan 12: 300 new shares are backdated to Jan 3 so the portfolio correctly has 400 shares.

Example: (getting it wrong)
Jan 2: portfolio buys 300 shares at $100/share
Jan 3: stock splits 2:1 but is not entered into the splits program
Jan 4: portfolio sells all 300 shares at $50/share
Jan 12: split is entered and executed
Jan 12: 300 new shares are backdated to Jan 3 in that the transaction shows but portfolio has 0 shares where it should have 300 shares.

I think the problem arises because there is no active entry in the position table.
Diagnosis: November 2008: At the moment this is a priority 3 simply because prices are going down so there are few splits and partly because we are getting good current split information from earnings.com so we have had no incidents this semester.

ID: 45
Date Filed: 2/27/2009
Date Solved:
Priority: 3
Applet/Procedure: Email Procedure
Problem: No email sent
Description: Section Administrators' passwords are reset from inside the section properties procedure. The reset password works just fine, but there is no email sent. We have been resetting without email addresses so that we know the password is please, but this should be fixed.

ID: 13
Date Filed: 9/22/2005
Date Solved:
Priority: 4
Applet/Procedure: Dividend Procedure
Problem: Enhancement
Description: Facility whereby one company can takeover another without manual intervention in the data tables.