#27 COTVNC crashes if the VNC server is killed.

v1.3.6
closed-fixed
Networking (54)
5
2004-08-18
2003-02-25
No

COTVNC crashes if the VNC server is killed.

The VNC server is TridiaVNC 1.4.0 running on Linux 8.0.
Bit depth is 16 bpp.
The VNC client is Chicken of the VNC 1.3.6 running on Mac OS X 10.2.4.

Here's a crash dump:

Date/Time: 2003-02-25 02:41:31 -0800
OS Version: 10.2.4 (Build 6I32)

Command: Chicken of the VNC
PID: 27005

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0 Crashed:
#0 0x9068bc08 in objc_msgSend_stret
#1 0x00010234 in -[RFBConnection visibleRect]
#2 0x00014a84 in -[RFBProtocol requestIncrementalFrameBufferUpdateForVisibleRect:]
#3 0x907e521c in __NSFireTimer
#4 0x901632f0 in __CFRunLoopDoTimer
#5 0x90148e48 in __CFRunLoopRun
#6 0x90180fe4 in CFRunLoopRunSpecific
#7 0x969a3160 in RunCurrentEventLoopInMode
#8 0x969b3118 in ReceiveNextEventCommon
#9 0x969da208 in BlockUntilNextEventMatchingListInMode
#10 0x9308d8ac in _DPSNextEvent
#11 0x9309fb04 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
#12 0x930b15e4 in -[NSApplication run]
#13 0x9315f6b8 in NSApplicationMain
#14 0x00003948 in _start (crt.c:267)
#15 0x000037c8 in start

Thread 1:
#0 0x90073c48 in mach_msg_trap
#1 0x90005f90 in mach_msg
#2 0xc0007754 in __ape_internal
#3 0xc000119c in __ape_agent
#4 0x90020d48 in _pthread_body

Thread 2:
#0 0x9003eaa8 in semaphore_wait_signal_trap
#1 0x9003e8c4 in _pthread_cond_wait
#2 0x90824180 in -[NSConditionLock lockWhenCondition:]
#3 0x93081388 in -[NSUIHeartBeat _heartBeatThread:]
#4 0x9081cd38 in forkThreadForFunction
#5 0x90020d48 in _pthread_body

PPC Thread State:
srr0: 0x9068bc08 srr1: 0x0000f030 vrsave: 0x00000000
xer: 0x00000000 lr: 0x00010234 ctr: 0x9068bbf0 mq: 0x00000000
r0: 0x00014a84 r1: 0xbfffea10 r2: 0x00020000 r3: 0xbfffeaa0
r4: 0x001ea540 r5: 0x906a94a4 r6: 0xbfffec50 r7: 0x00020000
r8: 0xa0131da8 r9: 0x00000002 r10: 0x00000000 r11: 0x00020a24
r12: 0x00000000 r13: 0x00000000 r14: 0x00000000 r15: 0x00000001
r16: 0x00000001 r17: 0x00000000 r18: 0x24002420 r19: 0x00000000
r20: 0x0000579f r21: 0x00000000 r22: 0x0006ed50 r23: 0x0006ee58
r24: 0x00000001 r25: 0xa01331b4 r26: 0x00000295 r27: 0xce04e988
r28: 0xa0131674 r29: 0xbfffeb10 r30: 0x01375cc0 r31: 0xbfffeaa0

Discussion

  • Kurt Werle

    Kurt Werle - 2003-02-27

    Logged In: YES
    user_id=6449

    oooh, where you scrolling when it died?

     
  • Jeff Stearns

    Jeff Stearns - 2003-02-27

    Logged In: YES
    user_id=660929

    I don't know whether I was scrolling or not when it died.
    If so, it was unintentional. Here's what I did:

    - I had a VNC session up and running. Within that session, I had a telnet
    window to the server.
    - In the telnet window, I typed "halt" to shut down the server.
    - I waited a few seconds to see whether the server was shutting down,
    then moved the mouse up toward the COTVNC menu bar so I could
    select the "Quit Chicken of the VNC" menu item.
    - Before I was able to get to the menu item, COTVNC crashed.

     
  • Kurt Werle

    Kurt Werle - 2003-02-27

    Logged In: YES
    user_id=6449

    So, you were trying to quit chicken, and before you could
    quit, it quit?
    Sounds like a feature to me :-)
    Seriously, I'll check it out, but I'm not in a big hurry on
    this one.

     
  • Nobody/Anonymous

    Logged In: NO

    This happens to me *often*. It wouldn't be annoying except that if I close 1 VNC session while I have another open, it still quits.

    Basically when closing a session there is a chance that COTVNC will quit.

    It doesn't seem to matter what server I connect to, or how/why the disconnect happens (Quit from the menu, close the window, kill the sever, reboot the sever, etc)

    Its about a 50% chance, I'd estimate.

    **********

    Date/Time: 2003-04-09 14:09:10 -0400
    OS Version: 10.2.4 (Build 6I32)
    Host: pbook2.local.

    Command: Chicken of the VNC
    PID: 3211

    Exception: EXC_BAD_ACCESS (0x0001)
    Codes: KERN_INVALID_ADDRESS (0x0001) at 0x80727272

    Thread 0 Crashed:
    #0 0x9068ba74 in objc_msgSend
    #1 0x000128a8 in -[RFBConnection scrollFullscreenView:]
    #2 0x907e521c in __NSFireTimer
    #3 0x901632f0 in __CFRunLoopDoTimer
    #4 0x90148e48 in __CFRunLoopRun
    #5 0x90180fe4 in CFRunLoopRunSpecific
    #6 0x969a3160 in RunCurrentEventLoopInMode
    #7 0x969b3090 in ReceiveNextEventCommon
    #8 0x969da208 in BlockUntilNextEventMatchingListInMode
    #9 0x9308d8ac in _DPSNextEvent
    #10 0x9309fb04 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
    #11 0x930b15e4 in -[NSApplication run]
    #12 0x9315f6b8 in NSApplicationMain
    #13 0x00003948 in _start (crt.c:267)
    #14 0x000037c8 in start

    Thread 1:
    #0 0x9003eaa8 in semaphore_wait_signal_trap
    #1 0x9003e8c4 in _pthread_cond_wait
    #2 0x90824180 in -[NSConditionLock lockWhenCondition:]
    #3 0x93081388 in -[NSUIHeartBeat _heartBeatThread:]
    #4 0x9081cd38 in forkThreadForFunction
    #5 0x90020d48 in _pthread_body

    Thread 2:
    #0 0x90000e2c in read
    #1 0x908b52cc in _backgroundActivity
    #2 0x90020d48 in _pthread_body

    PPC Thread State:
    srr0: 0x9068ba74 srr1: 0x0000f030 vrsave: 0x00000000
    xer: 0x20000000 lr: 0x000128a8 ctr: 0x9068ba3c mq: 0x00000000
    r0: 0x0001d370 r1: 0xbfffea10 r2: 0x44004422 r3: 0x012a2630
    r4: 0x906ad1b8 r5: 0x012c4120 r6: 0xbfffec50 r7: 0x00020000
    r8: 0x907e521c r9: 0x01000008 r10: 0x80727272 r11: 0x08080918
    r12: 0x0008011c r13: 0x00000000 r14: 0x00000000 r15: 0x00000001
    r16: 0x00000000 r17: 0x00000001 r18: 0x24004422 r19: 0x00000000
    r20: 0x00000000 r21: 0x00000000 r22: 0x0006ed50 r23: 0x0006ee58
    r24: 0x00000001 r25: 0xa01331b4 r26: 0x000003f6 r27: 0x92194297
    r28: 0x012ca600 r29: 0xbfffeb10 r30: 0x012c4120 r31: 0x907e51b8

     
  • Jason Harris

    Jason Harris - 2003-04-09

    Logged In: YES
    user_id=351330

    Both of the attached backtraces show that we're crashing
    while firing a timer - one in automatic fullscreen scrolling
    and the other while updating the framebuffer.

    I don't think that there's any code in place to invalidate
    timers if the connection unexpectedly drops. I'll take a
    look at this.

     
  • Jason Harris

    Jason Harris - 2003-04-09
    • labels: --> Networking
    • assigned_to: nobody --> smeger
     
  • Nobody/Anonymous

    Logged In: NO

    any progress?

     
  • Jason Harris

    Jason Harris - 2003-05-12

    Logged In: YES
    user_id=351330

    Nope, haven't had a chance to look at it yet.

     
  • Jason Harris

    Jason Harris - 2004-05-01

    Logged In: YES
    user_id=351330

    Update: This is fixed in the GEN_2_GUI branch of CVS. I'm going to
    leave this bug open until we release a public build, though.

     
  • Jason Harris

    Jason Harris - 2004-05-01
    • status: open --> open-fixed
     
  • Jason Harris

    Jason Harris - 2004-08-18

    Logged In: YES
    user_id=351330

    Fixed in Chicken 2.0b1. Closing.

     
  • Jason Harris

    Jason Harris - 2004-08-18
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.