Toad World® Forums

100 % repeatable crash


#1

Hi,
I found a way to get exception attached below with 100% probability.
To get it: In object explorer find a user, then drop him by sql script. Finally double click on him in explorer [to get details].
What is more interesting tables has been secured against this issue.


Butter

System.ArgumentOutOfRangeException
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Stack Trace:

Server stack trace:
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at Quest.FastData.FastTable.RowCollection.GetFastRow(FastTable fastTable, Int32 index)
at Quest.FastData.FastTable.System.Collections.IList.get_Item(Int32 index)
at Quest.FastData.FastRowCollection.get_Item(Int32 index)
at Quest.Toad.Oracle.Trl.Users.UserInfoTrl.CheckSysDbaLogId(Object sender, EventArgs e)
at Quest.Toad.Trl.BaseSqlTrl.CompletelyDone(Boolean hasLock)

Exception rethrown at [0]:
at Quest.Toad.Util.Global.RethrowKeepingStackTrace(Exception e)
at Quest.Toad.Trl.BaseSqlTrl.OnFetchException(Exception exc, Boolean notificationManager)
at Quest.Toad.Trl.BaseSqlTrl.CompletelyDone(Boolean hasLock)
at Quest.Toad.Trl.BaseSqlTrl.Done(Object sender, EventArgs args)
at Quest.Toad.Trl.BaseSqlTrl.AsyncDone(Object sender)


#2

Sorry for the late response on this. Which database is this on?


#3

I use Oracle.

SELECT * FROM V$VERSION results as follow:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

CORE 11.2.0.3.0 Production

TNS for Solaris: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production


#4

While we could improve this, it would mean we would need to query the DB all the time. We prefer to cache the information.

I did make a task, QAT-2482, to at least avoid the crash and exception.


#5

it will be enough if no unhandled error will be raised. Imho It will be great if, when sbdy will try to access not existing element, warning will be shown.


#6

I agree. I’ll be creating QAT shortly to address this issue.

Igor.