This project is read-only.

Crash when connected to Twit IRC network and one question

Mar 16, 2011 at 11:27 PM

Hey, I'm really loving this IRC client but I'm having an issue when connected to the Twit IRC network (irc.twit.tv). I assume it's some badly formed incoming message from their servers but I have no idea what the message is. Are you able to debug this or should I compile my own and run a debug session?

Also, is there any way to "pause" when connecting using the "On Connect" stuff in the server config? This is important for servers that require authentication. Since we're not authenticated before the "On Connect" stuff gets sent, we get rejected from the channels that require us to be authenticated and have to manually type the /join stuff.

Thanks!

Mar 17, 2011 at 6:42 PM

Thanks for reporting the issue, I'll check it out and let you know what I find.

I will look into adding some kind of /sleep or /delay command for the next version as well.

Mar 17, 2011 at 8:08 PM

Can you give me a few more details on the problem you're seeing when connected to irc.twit.tv? I seem to be able to connect OK, but I'm not sure how to repro.

Thanks!

Mar 31, 2011 at 9:18 AM

Not really. It just crashes randomly. No idea what's in the chat when it happens as I'm always looking at something else and then I notice there's a crash dialog box up. I'll have to compile my own build and run it from the debugger in VS and send you the debug info I guess.

Apr 1, 2011 at 7:02 PM

You can also check for an exception.txt file in the config directory (go to settings, Buffer, open log location, and then go up one level to find it). That might give me a clue as to what's going on. I'll also try joining a channel on that network and letting it sit for a while to see if I can get the same crash.

Apr 2, 2011 at 9:58 PM

Apparently I was kicked?

-
3/7/2011 6:40:27 PM
System.NullReferenceException: Object reference not set to an instance of an object.
   at Floe.UI.ChatControl.Session_Kicked(Object sender, IrcKickEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at Floe.Net.IrcSession.RaiseEvent[T](EventHandler`1 evt, T e)
   at Floe.Net.IrcSession.OnKick(IrcMessage message)
   at Floe.Net.IrcSession.OnMessageReceived(IrcEventArgs e)
   at Floe.Net.IrcSession._conn_MessageReceived(Object sender, IrcEventArgs e)
   at Floe.Net.IrcConnection.OnMessageReceived(IrcMessage message)
   at Floe.Net.IrcConnection.<>c__DisplayClass4`1.b__2(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at Floe.UI.App.Main()
Apr 3, 2011 at 2:51 AM

Probably someone else being kicked, actually. I'll check it out.

Apr 3, 2011 at 7:24 PM

Cool, thanks! My guess is they have a weird character in a message and for whatever reason it's considered invalid and gets filtered or... something and thus the null. IDK, just brainstorming really.

Apr 5, 2011 at 11:03 PM

Found the problem; it seems that the server will sometimes kick someone from a channel for flooding. Since there is no kicker, the nickname is null. I will add some handling for this scenario, and it'll be fixed in 1.6. Thanks for bringing up the issue!

Apr 8, 2011 at 5:49 AM

Hey no problem. Let me know if you need any help debugging or whatever. I'm @Ogre on Twitter but I check the Codeplex site from time to time too.

Apr 14, 2011 at 11:48 PM

I just put up a download (1.5.9) that includes this bugfix. It contains the voice chat feature which is in Alpha, but it should be safe to use if you ignore that part.

Apr 20, 2011 at 12:19 AM

Seems to be working. No crashes yet!