[gtk-vnc-devel] my earlier-found crash...



The crash I found earlier wasn't actually fixed by my aforementioned cure... unfortunately. I have, however, found a way to duplicate the crash reliably.

On your VNC server, have some high-detail graphic material displayed. This will help you catch it at "just the right time." I like to use my desktop background image of my two cats... it is a very high detail image. Obstruct the image with some window. It doesn't matter what window you use, as long as it fully occludes the image. While using VNC to view your desktop, minimize the occlusive window, displaying the high detail image. When you see that high detail image start to appear on the VNC widget, close the widget. It is best to close it when the VNC has started, but barely started the update... if you catch my drift. You might have to retry a number of times before you get the crash, but I can now reproduce the crash once every two or three tries.

The dump I get when I chug this through gdb is:

(gdb)
#0  0x007558ac in memcpy () from /lib/libc.so.6
#1 0xb7890b2a in gvnc_blt_fast (gvnc=0xa9ea36b0, src=0x9840a18 "x¤\203", pitch=5760, x=0, y=270, width=1440, height=1) at gvnc.c:1124 #2 0xb7888e54 in gvnc_blt (gvnc=0x1, src=0x902bcb08 <Address 0x902bcb08 out of bounds>, pitch=1440, x=0, y=270, width=1440, height=1)
   at gvnc.c:1133
#3 0xb78900d5 in gvnc_framebuffer_update (gvnc=0xa9ea36b0, etype=<value optimized out>, x=0, y=270, width=1440, height=45) at gvnc.c:1648
#4  0xb789041f in gvnc_server_message (gvnc=0xa9ea36b0) at gvnc.c:2098
#5  0xb7894888 in vnc_coroutine (opaque=0xa9ea1860) at vncdisplay.c:1651
#6 0xb7898776 in coroutine_trampoline (cc=0xa9ea1954) at coroutine_ucontext.c:40 #7 0xb78985ef in continuation_trampoline (i0=-1444275884, i1=0) at continuation.c:31
#8  0x0071d5f4 in makecontext () from /lib/libc.so.6
#9  0xa9ea1954 in ?? ()
#10 0x00000000 in ?? ()
(gdb) bt full
#0  0x007558ac in memcpy () from /lib/libc.so.6
No symbol table info available.
#1 0xb7890b2a in gvnc_blt_fast (gvnc=0xa9ea36b0, src=0x9840a18 "x¤\203", pitch=5760, x=0, y=270, width=1440, height=1) at gvnc.c:1124
       dst = (uint8_t *) 0x9840a18 "x¤\203"
       i = -1876178168
#2 0xb7888e54 in gvnc_blt (gvnc=0x1, src=0x902bcb08 <Address 0x902bcb08 out of bounds>, pitch=1440, x=0, y=270, width=1440, height=1)
   at gvnc.c:1133
No locals.
#3 0xb78900d5 in gvnc_framebuffer_update (gvnc=0xa9ea36b0, etype=<value optimized out>, x=0, y=270, width=1440, height=45) at gvnc.c:1648 palette = {{114 'r', 0 '\0', 40 '(', 46 '.'}, {99 'c', 145 '\221', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 1 '\001', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 72 'H', 0 '\0'}, {116 't', 191 '¿', 255 'ÿ', 0 '\0'}, {255 'ÿ', 223 'ß', 156 '\234', 0 '\0'}, { 255 'ÿ', 255 'ÿ', 236 'ì', 11 '\v'}, {114 'r', 0 '\0', 255 'ÿ', 0 '\0'}, {191 '¿', 255 'ÿ', 255 'ÿ', 0 '\0'}, {223 'ß', 156 '\234', 72 'H', 0 '\0'}, {0 '\0', 72 'H', 156 '\234', 0 '\0'}, {72 'H', 0 '\0', 20 '\024', 46 '.'}, {99 'c', 145 '\221', 223 'ß', 0 '\0'}, { 0 '\0', 0 '\0', 116 't', 0 '\0'}, {156 '\234', 72 'H', 0 '\0', 0 '\0'}, {116 't', 0 '\0', 0 '\0', 0 '\0'}, {72 'H', 156 '\234', 223 'ß', 0 '\0'}, {128 '\200', 128 '\200', 128 '\200', 0 '\0'}, {192 'À', 192 'À', 192 'À', 0 '\0'}, {191 '¿', 116 't', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 72 'H', 0 '\0'}, {0 '\0', 116 't', 84 'T', 149 '\225'}, {131 '\203', 0 '\0', 255 'ÿ', 0 '\0'}, {116 't', 0 '\0', 72 'H', 0 '\0'}, {72 'H', 72 'H', 156 '\234', 0 '\0'}, {116 't', 0 '\0', 116 't', 0 '\0'}, {116 't', 116 't', 72 'H', 0 '\0'}, {191 '¿', 116 't', 116 't', 0 '\0'}, {116 't', 116 't', 191 '¿', 0 '\0'}, {191 '¿', 191 '¿', 116 't', 0 '\0'}, {156 '\234', 156 '\234', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 255 'ÿ', 255 'ÿ'}, {255 'ÿ', 255 'ÿ', 61 '=', 0 '\0'}, {0 '\0', 0 '\0', 47 '/', 157 '\235'}, {137 '\211', 183 '·', 23 '\027', 157 '\235'}, {137 '\211', 183 '·', 1 '\001', 0 '\0'}, {0 '\0', 0 '\0', 11 '\v', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 1 '\001', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 10 '\n', 0 '\0'}, {0 '\0', 0 '\0', 19 '\023', 46 '.'}, {99 'c', 145 '\221', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 32 ' ', 0 '\0'}, { 156 '\234', 223 'ß', 191 '¿', 0 '\0'}, {156 '\234', 191 '¿', 255 'ÿ', 0 '\0'}, {116 't', 72 'H', 156 '\234', 0 '\0'}, {223 'ß', 255 'ÿ', 223 'ß', 0 '\0'}, {156 '\234', 100 'd', 223 'ß', 0 '\0'}, {116 't', 191 '¿', 223 'ß', 0 '\0'}, {156 '\234', 191 '¿', 255 'ÿ', 0 '\0'}, { 156 '\234', 116 't', 116 't', 0 '\0'}, {191 '¿', 116 't', 72 'H', 0 '\0'}, {0 '\0', 72 'H', 72 'H', 0 '\0'}, {116 't', 116 't', 0 '\0', 0 '\0'}, {116 't', 191 '¿', 191 '¿', 0 '\0'}, {72 'H', 156 '\234', 156 '\234', 0 '\0'}, {156 '\234', 116 't', 72 'H', 0 '\0'}, {116 't', 156 '\234', 156 '\234', 0 '\0'}, {223 'ß', 156 '\234', 156 '\234', 0 '\0'}, {191 '¿', 191 '¿', 255 'ÿ', 0 '\0'}, {191 '¿', 191 '¿', 191 '¿', 0 '\0'}, {72 'H', 116 't', 116 't', 0 '\0'}, {250 'ú', 235 'ë', 225 'á', 255 'ÿ'}, {251 'û', 236 'ì', 226 'â', 255 'ÿ'}, { 218 'Ú', 154 '\232', 114 'r', 251 'û'}, {0 '\0', 116 't', 191 '¿', 0 '\0'}, {191 '¿', 116 't', 0 '\0', 0 '\0'}, {218 'Ú', 153 '\231', 116 't', 237 'í'}, {219 'Û', 154 '\232', 117 'u', 235 'ë'}, {229 'å', 187 '»', 147 '\223', 252 'ü'}, {247 '÷', 245 'õ', 241 'ñ', 255 'ÿ'}, {199 'Ç', 197 'Å', 192 'À', 255 'ÿ'}, {196 'Ä', 194 'Â', 188 '¼', 255 'ÿ'}, {207 'Ï', 204 'Ì', 198 'Æ', 255 'ÿ'}, {254 'þ', 249 'ù', 240 'ð', 255 'ÿ'}, {254 'þ', 248 'ø', 45 '-', 157 '\235'}, {137 '\211', 183 '·', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 232 'è', 255 'ÿ'}, {251 'û', 241 'ñ', 230 'æ', 255 'ÿ'}, {250 'ú', 240 'ð', 229 'å', 255 'ÿ'}, {229 'å', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 142 '\216', 252 'ü'}, {255 'ÿ', 251 'û', 1 '\001', 0 '\0'}, {0 '\0', 0 '\0', 0 '\0', 0 '\0'}, {0 '\0', 0 '\0', 208 'Ð', 46 '.'}, {99 'c', 145 '\221', 176 '°', 255 'ÿ'}, {187 '»', 182 '¶', 175 '¯', 255 'ÿ'}, {243 'ó', 236 'ì', 226 'â', 255 'ÿ'}, {234 'ê', 203 'Ë', 163 '£', 255 'ÿ'}, {230 'æ', 192 'À', 152 '\230', 255 'ÿ'}, {227 'ã', 181 'µ', 142 '\216', 255 'ÿ'}, {224 'à', 171 '«', 132 '\204', 255 'ÿ'}, {221 'Ý', 161 '¡', 122 'z', 255 'ÿ'}, {227 'ã', 181 'µ', 141 '\215', 251 'û'}, {226 'â', 176 '°', 136 '\210', 252 'ü'}, {
---Type <return> to continue, or q <return> to quit---
253 'ý', 248 'ø', 237 'í', 255 'ÿ'}, {226 'â', 220 'Ü', 211 'Ó', 255 'ÿ'}, {178 '²', 173 '­', 165 '¥', 255 'ÿ'}, {177 '±', 172 '¬', 164 '¤', 255 'ÿ'}, {177 '±', 171 '«', 163 '£', 255 'ÿ'}, {243 'ó', 233 'é', 223 'ß', 255 'ÿ'}, {250 'ú', 239 'ï', 228 'ä', 255 'ÿ'}, { 249 'ù', 237 'í', 226 'â', 255 'ÿ'}, {248 'ø', 236 'ì', 225 'á', 255 'ÿ'}, {248 'ø', 235 'ë', 223 'ß', 255 'ÿ'}, {247 '÷', 233 'é', 221 'Ý', 255 'ÿ'}, {247 '÷', 232 'è', 220 'Ü', 255 'ÿ'}, {246 'ö', 230 'æ', 218 'Ú', 255 'ÿ'}, {225 'á', 176 '°', 136 '\210', 251 'û'}, { 116 't', 116 't', 0 '\0', 0 '\0'}, {224 'à', 171 '«', 131 '\203', 252 'ü'}, {251 'û', 242 'ò', 232 'è', 255 'ÿ'}, {248 'ø', 239 'ï', 228 'ä', 255 'ÿ'}, {183 '·', 176 '°', 168 '¨', 255 'ÿ'}, {168 '¨', 160 ' ', 153 '\231', 255 'ÿ'}, {201 'É', 191 '¿', 182 '¶', 255 'ÿ'}, { 248 'ø', 235 'ë', 224 'à', 255 'ÿ'}, {234 'ê', 202 'Ê', 163 '£', 255 'ÿ'}, {230 'æ', 191 '¿', 151 '\227', 255 'ÿ'}, {227 'ã', 181 'µ', 141 '\215', 255 'ÿ'}, {224 'à', 171 '«', 131 '\203', 255 'ÿ'}, {221 'Ý', 161 '¡', 121 'y', 255 'ÿ'}, {223 'ß', 170 'ª', 130 '\202', 251 'û'}, {222 'Þ', 165 '¥', 125 '}', 252 'ü'}, {241 'ñ', 230 'æ', 219 'Û', 255 'ÿ'}, {201 'É', 190 '¾', 181 'µ', 255 'ÿ'}, {168 '¨', 159 '\237', 151 '\227', 255 'ÿ'}, {158 '\236', 149 '\225', 142 '\216', 255 'ÿ'}, {181 'µ', 170 'ª', 161 '¡', 255 'ÿ'}, {212 'Ô', 199 'Ç', 188 '¼', 255 'ÿ'}, {245 'õ', 229 'å', 217 'Ù', 255 'ÿ'}, {245 'õ', 228 'ä', 215 '×', 255 'ÿ'}, {246 'ö', 228 'ä', 216 'Ø', 255 'ÿ'}, {247 '÷', 229 'å', 218 'Ú', 255 'ÿ'}, {247 '÷', 231 'ç', 219 'Û', 255 'ÿ'}, {222 'Þ', 165 '¥', 125 '}', 251 'û'}, {220 'Ü', 159 '\237', 120 'x', 252 'ü'}, {206 'Î', 193 'Á', 184 '¸', 255 'ÿ'}, {178 '²', 166 '¦', 158 '\236', 255 'ÿ'}, {179 '³', 166 '¦', 158 '\236', 255 'ÿ'}, {182 '¶', 169 '©', 160 ' ', 255 'ÿ'}, {242 'ò', 225 'á', 213 'Õ', 255 'ÿ'}, {247 '÷', 230 'æ', 218 'Ú', 255 'ÿ'}, { 248 'ø', 231 'ç', 220 'Ü', 255 'ÿ'}, {249 'ù', 233 'é', 222 'Þ', 255 'ÿ'}, {220 'Ü', 159 '\237', 120 'x', 251 'û'}, {219 'Û', 154 '\232', 114 'r', 252 'ü'}, {247 '÷', 231 'ç', 220 'Ü', 255 'ÿ'}, {248 'ø', 232 'è', 222 'Þ', 255 'ÿ'}, {249 'ù', 234 'ê', 223 'ß', 255 'ÿ'}, {250 'ú', 235 'ë', 224 'à', 255 'ÿ'}, {250 'ú', 235 'ë', 225 'á', 255 'ÿ'}, {251 'û', 236 'ì', 226 'â', 255 'ÿ'}, {218 'Ú', 154 '\232', 114 'r', 251 'û'}, {116 't', 0 '\0', 116 't', 0 '\0'}, {218 'Ú', 153 '\231', 116 't', 237 'í'}, {219 'Û', 154 '\232', 117 'u', 235 'ë'}, {191 '¿', 223 'ß', 156 '\234', 0 '\0'}, {116 't', 191 '¿', 191 '¿', 0 '\0'}, {223 'ß', 191 '¿', 156 '\234', 0 '\0'}, { 185 '¹', 162 '¢', 52 '4', 0 '\0'}, {0 '\0', 0 '\0', 162 '¢', 28 '\034'}, {0 '\0', 0 '\0', 81 'Q', 131 '\203'}, {135 '\207', 0 '\0', 16 '\020', 0 '\0'}, {224 'à', 169 '©', 16 '\020', 0 '\0'}, {0 '\0', 0 '\0', 162 '¢', 28 '\034'}, {0 '\0', 0 '\0', 252 'ü', 148 '\224'}, { 135 '\207', 0 '\0', 24 '\030', 226 'â'}, {135 '\207', 183 '·', 240 'ð', 152 '\230'}, {135 '\207', 0 '\0', 1 '\001', 0 '\0'}, {0 '\0', 0 '\0', 252 'ü', 148 '\224'}, {135 '\207', 0 '\0', 24 '\030', 226 'â'}, {135 '\207', 183 '·', 240 'ð', 152 '\230'}, {135 '\207', 0 '\0', 1 '\001', 198 'Æ'}, {118 'v', 8 '\b', 140 '\214', 43 '+'}, {99 'c', 145 '\221', 0 '\0', 153 '\231'}, {135 '\207', 0 '\0', 204 'Ì', 43 '+'}, {99 'c', 145 '\221', 207 'Ï', 28 '\034'}, {126 '~', 183 '·', 204 'Ì', 198 'Æ'}, {118 'v', 8 '\b', 0 '\0', 153 '\231'}, { 135 '\207', 0 '\0', 204 'Ì', 43 '+'}, {99 'c', 145 '\221', 245 'õ', 179 '³'}, {135 '\207', 0 '\0', 220 'Ü', 132 '\204'}, {37 '%', 0 '\0', 64 '@', 114 'r'}, {118 'v', 8 '\b', 188 '¼', 43 '+'}, {99 'c', 145 '\221', 101 'e', 94 '^'}, {37 '%', 0 '\0', 5 '\005', 0 '\0'}, {0 '\0', 0 '\0', 24 '\030', 226 'â'}, {135 '\207', 183 '·', 28 '\034', 44 ','}...}
       filter_id = 2 '\002'
       data_size = 259200
       zlib_length = <value optimized out>
       zlib_data = (
uint8_t *) 0x8e63560 "ìýI¬fÛ\225ç\207ýÖÚû4_s\233\210xïñ\221É$\223*gU¹\004\017è\022\230\032X -\bpC\001v\r\f²\006)@\200 \200\023Á,\200YðÈ\220G2sð\004O\bÛ\003\00351Ó\036¨&\004<Ðà\205àA!\201Ä\033¸\220¶UU\231,\222É×GÜækÎ9»Y\036¬}¾\033\217Je\226\001M\fë"
       ccontrol = <value optimized out>
       pixel = {114 'r', 0 '\0', 192 'À', 148 '\224'}
       i = <value optimized out>
#4  0xb789041f in gvnc_server_message (gvnc=0xa9ea36b0) at gvnc.c:2098
       x = 0
---Type <return> to continue, or q <return> to quit---
       y = 270
       w = 1440
       h = 45
       pad = {254 'þ'}
       n_rects = <value optimized out>
       i = 7
       msg = 0 '\0'
       ret = <value optimized out>
#5  0xb7894888 in vnc_coroutine (opaque=0xa9ea1860) at vncdisplay.c:1651
       obj = (VncDisplay *) 0xa9ea1860
       priv = (VncDisplayPrivate *) 0xa9ea18a8
encodings = {-27, 7, -258, -223, 1464686185, -239, -240, -257, 16, 5, 2, 1, 0, -232}
       encodingsp = <value optimized out>
       n_encodings = <value optimized out>
       ret = <value optimized out>
s = {obj = 0xa9ea1860, caller = 0xa9ea193c, signum = 5, cred_list = 0x0, width = 0, height = 0, msg = 0x0, auth_type = 0,
 str = 0xb789455b}
#6 0xb7898776 in coroutine_trampoline (cc=0xa9ea1954) at coroutine_ucontext.c:40
       co = (struct coroutine *) 0xa9ea193c
#7 0xb78985ef in continuation_trampoline (i0=-1444275884, i1=0) at continuation.c:31
       arg = {p = 0x1, i = {1, -1876178168}}
       cc = (struct continuation *) 0x1
#8  0x0071d5f4 in makecontext () from /lib/libc.so.6
No symbol table info available.
#9  0xa9ea1954 in ?? ()
No symbol table info available.
#10 0x00000000 in ?? ()
No symbol table info available.
(gdb)



It seems to me that the VNC widget cannot handle being killed mid-update.
Thanks for the wonderful widget, and keep up the good work!

Rob Stoddard




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]