I learned how to record the gdb session. The attached gdb sessions may provide
more useful information. One gdb session run as root, the other as user. Ran to
break, then stepped through. Hope this helps.
mike
GNU gdb (GDB) 7.3-debian
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/enlightenment...done.
(gdb) br _e_randr_crtc_info_set
Breakpoint 1 at 0x4fc72b: file e_randr.c, line 546.
(gdb) r
Starting program: /usr/local/bin/enlightenment
[Thread debugging using libthread_db enabled]
ESTART: 0.00000 [0.00000] - Begin Startup
ESTART: 0.00010 [0.00010] - Signal Trap
ESTART: 0.00012 [0.00003] - Signal Trap Done
ESTART: 0.01462 [0.01449] - Eina Init
ESTART: 0.01516 [0.00054] - Eina Init Done
ESTART: 0.01517 [0.00001] - Determine Prefix
=================================
Enlightenment relocation handling
=================================
PREFIX: /usr/local
BINDIR: /usr/local/bin
LIBDIR: /usr/local/lib
DATADIR: /usr/local/share/enlightenment
LOCALE: /usr/local/share/locale
=================================
ESTART: 0.05223 [0.03707] - Determine Prefix Done
ESTART: 0.05231 [0.00008] - Environment Variables
ESTART: 0.05235 [0.00004] - Environment Variables Done
ESTART: 0.05236 [0.00001] - Parse Arguments
ESTART: 0.05238 [0.00003] - Parse Arguments Done
ESTART: 0.05239 [0.00001] - Eet Init
ESTART: 0.05695 [0.00456] - Eet Init Done
ESTART: 0.05699 [0.00004] - Ecore Init
ESTART: 0.05748 [0.00049] - Ecore Init Done
ESTART: 0.05751 [0.00003] - Ecore Event Handlers
ESTART: 0.05752 [0.00002] - Ecore Event Handlers Done
ESTART: 0.05753 [0.00001] - Ecore_IMF Init
ESTART: 0.14440 [0.08687] - Ecore_IMF Init Done
ESTART: 0.14444 [0.00004] - Ecore_File Init
ESTART: 0.14498 [0.00054] - Ecore_File Init Done
ESTART: 0.14500 [0.00002] - Ecore_Con Init
ESTART: 0.14517 [0.00017] - Ecore_Con Init Done
ESTART: 0.14518 [0.00001] - Ecore_Ipc Init
ESTART: 0.14520 [0.00002] - Ecore_Ipc Init Done
ESTART: 0.14522 [0.00002] - Ecore_X Init
ESTART: 0.14523 [0.00001] - Ecore_X Init Done
ESTART: 0.14524 [0.00001] - Ecore_Evas Init
ESTART: 0.18133 [0.03609] - Ecore_Evas Init Done
ESTART: 0.18137 [0.00004] - Ecore_Evas Engine Check
ESTART: 0.18138 [0.00001] - Ecore_Evas Engine Check Done
ESTART: 0.18139 [0.00001] - Edje Init
ESTART: 0.20255 [0.02116] - Edje Init Done
ESTART: 0.20260 [0.00005] - E Intl Init
ESTART: 0.21375 [0.01116] - E Intl Init Done
ESTART: 0.21379 [0.00004] - E_Alert Init
ESTART: 0.21380 [0.00001] - E_Alert Init Done
ESTART: 0.21381 [0.00001] - E_Xinerama Init
E17 INIT: XINERAMA SCREEN: [0], 1920x1080+0+0
E17 INIT: XINERAMA CHOSEN: [0], 1920x1080+0+0
ESTART: 0.21568 [0.00187] - E_Xinerama Init Done
ESTART: 0.21570 [0.00002] - E_Hints Init
ESTART: 0.21749 [0.00179] - E_Hints Init Done
ESTART: 0.21751 [0.00003] - E_Configure Init
ESTART: 0.21766 [0.00015] - E_Configure Init Done
ESTART: 0.21767 [0.00001] - E Directories Init
ESTART: 0.24693 [0.02926] - E Directories Init Done
ESTART: 0.24697 [0.00004] - E_Filereg Init
ESTART: 0.24782 [0.00085] - E_Filereg Init Done
ESTART: 0.24785 [0.00003] - E_Config Init
ESTART: 0.27811 [0.03026] - E_Config Init Done
ESTART: 0.27844 [0.00033] - E_Randr Init
E_RANDR: filling 1/6 (79)
Breakpoint 1, _e_randr_crtc_info_set (crtc_info=0x7f8540) at e_randr.c:546
546 Ecore_X_Randr_Mode mode = 0;
(gdb) step
547 fprintf(stderr, "Fillng CRTC %d (%p)\n", crtc_info->xid, crtc_info);
(gdb) step
Fillng CRTC 79 (0x7f8540)
548 if (E_RANDR_NO_12 || !crtc_info) return;
(gdb) step
551 _e_randr_crtc_outputs_refs_update(crtc_info);
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x7f8540) at e_randr.c:1915
1915 if (!e_randr_screen_info->rrvd_info.randr_info_12->outputs) return;
(gdb) step
1918 if ((outputs =
ecore_x_randr_crtc_outputs_get(e_randr_screen_info->root, crtc_info->xid,
&noutputs)))
(gdb) step
ecore_x_randr_crtc_outputs_get (root=363, crtc=79, num=0x7fffffffd9c4) at
ecore_x_randr_12.c:536
536 RANDR_CHECK_1_2_RET(NULL);
(gdb) step
537 XRRScreenResources *res = NULL;
(gdb) step
538 Ecore_X_Randr_Output *ret = NULL;
(gdb) step
539 XRRCrtcInfo *crtc_info = NULL;
(gdb) step
541 if (_ecore_x_randr_crtc_validate(root,
(gdb) step
_ecore_x_randr_crtc_validate (root=363, crtc=79) at ecore_x_randr_12.c:85
85 RANDR_CHECK_1_2_RET(EINA_FALSE);
(gdb) step
87 XRRScreenResources *res = NULL;
(gdb) step
89 Eina_Bool ret = EINA_FALSE;
(gdb) step
91 if ((crtc == Ecore_X_Randr_None) ||
(gdb) step
95 if (_ecore_x_randr_root_validate(root) && crtc &&
(gdb) step
_ecore_x_randr_root_validate (root=363) at ecore_x_randr.c:92
92 Ecore_X_Randr_Screen scr = -1;
(gdb) step
93 if (root && RANDR_VALIDATE_ROOT(scr, root))
(gdb) step
94 return EINA_TRUE;
(gdb) step
101 }
(gdb) step
_ecore_x_randr_crtc_validate (root=363, crtc=79) at ecore_x_randr_12.c:96
96 (res = _ecore_x_randr_get_screen_resources (_ecore_x_disp,
root)))
(gdb) step
95 if (_ecore_x_randr_root_validate(root) && crtc &&
(gdb) step
98 for (i = 0; i < res->ncrtc; i++)
(gdb) step
100 if (res->crtcs[i] == crtc)
(gdb) step
102 ret = EINA_TRUE;
(gdb) step
103 break;
(gdb) step
106 XRRFreeScreenResources(res);
(gdb) step
109 return ret;
(gdb) step
113 }
(gdb) step
ecore_x_randr_crtc_outputs_get (root=363, crtc=79, num=0x7fffffffd9c4) at
ecore_x_randr_12.c:544
544 _ecore_x_randr_get_screen_resources (_ecore_x_disp,
(gdb) step
542 crtc) &&
(gdb) step
546 (crtc_info = XRRGetCrtcInfo(_ecore_x_disp, res, crtc)))
(gdb) step
545 root)) &&
(gdb) step
548 if ((ret = malloc(sizeof(Ecore_X_Randr_Output) *
crtc_info->noutput)))
(gdb) step
551 (sizeof(Ecore_X_Randr_Output) *
crtc_info->noutput));
(gdb) step
550 memcpy(ret, crtc_info->outputs,
(gdb) step
552 if (num)
(gdb) step
553 *num = crtc_info->noutput;
(gdb) step
556 if (crtc_info)
(gdb) step
557 XRRFreeCrtcInfo(crtc_info);
(gdb) step
559 if (res)
(gdb) step
560 XRRFreeScreenResources(res);
(gdb) step
563 return ret;
(gdb) step
567 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x7f8540) at e_randr.c:1920
1920 eina_list_free(crtc_info->outputs);
(gdb) step
eina_list_free (list=0x0) at eina_list.c:758
758 if (!list)
(gdb) step
759 return NULL;
(gdb) step
772 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x7f8540) at e_randr.c:1921
1921 crtc_info->outputs = NULL;
(gdb) step
1922 for (i = 0; i < noutputs; i++)
(gdb) step
1924 output_info = _e_randr_output_info_get(outputs[i]);
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:698
698 E_RANDR_NO_OUTPUTS_RET(NULL);
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_data_get (list=0x7ae860) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7ae860) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x7ae890) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7ae890) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x7ae8c0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7ae8c0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x7ae8f0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7ae8f0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:703
703 return NULL;
(gdb) step
704 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x7f8540) at e_randr.c:1925
1925 crtc_info->outputs = eina_list_append(crtc_info->outputs,
output_info);
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:534
534 eina_error_set(0);
(gdb) step
eina_error_set (err=0) at eina_error.c:258
258 _eina_last_error = err;
(gdb) step
259 }
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:535
535 new_l = _eina_list_mempool_list_new(list);
(gdb) step
_eina_list_mempool_list_new (list=0x0) at eina_list.c:199
199 tmp = eina_mempool_malloc(_eina_list_mp, sizeof (Eina_List));
(gdb) step
eina_mempool_malloc (mp=0x77f520, size=40) at
../../src/include/eina_inline_mempool.x:103
103 return mp->backend.alloc(mp->backend_data, size);
(gdb) step
eina_chained_mempool_malloc (data=0x77f5a0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:240
240 Chained_Mempool *pool = data;
(gdb) step
241 Chained_Pool *p = NULL;
(gdb) step
244 if (!eina_lock_take(&pool->mutex))
(gdb) step
eina_lock_take (mutex=0x77f5d0) at
../../src/include/eina_inline_lock_posix.x:143
143 Eina_Lock_Result ret = EINA_LOCK_FAIL;
(gdb) step
178 ok = pthread_mutex_lock(&(mutex->mutex));
(gdb) step
183 if (ok == 0) ret = EINA_LOCK_SUCCEED;
(gdb) step
205 return ret;
(gdb) step
206 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f5a0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:252
252 if (pool->first) p = EINA_INLIST_CONTAINER_GET(pool->first,
Chained_Pool);
(gdb) step
255 if (p && !p->base && !p->last)
(gdb) step
265 if (!p)
(gdb) step
279 mem = _eina_chained_mempool_alloc_in(pool, p);
(gdb) step
_eina_chained_mempool_alloc_in (pool=0x77f5a0, p=0x7ad8a0) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:166
166 if (p->last)
(gdb) step
168 mem = p->last;
(gdb) step
169 p->last += pool->item_alloc;
(gdb) step
170 if (p->last >= p->limit)
(gdb) step
183 if (!p->base && !p->last)
(gdb) step
186 p->usage++;
(gdb) step
187 pool->usage++;
(gdb) step
193 return mem;
(gdb) step
194 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f5a0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:281
281 eina_lock_release(&pool->mutex);
(gdb) step
eina_lock_release (mutex=0x77f5d0) at
../../src/include/eina_inline_lock_posix.x:278
278 ret = (pthread_mutex_unlock(&(mutex->mutex)) == 0) ?
(gdb) step
280 return ret;
(gdb) step
281 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f5a0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:283
283 return mem;
(gdb) step
284 }
(gdb) step
eina_mempool_malloc (mp=0x77f520, size=40) at
../../src/include/eina_inline_mempool.x:104
104 }
(gdb) step
_eina_list_mempool_list_new (list=0x0) at eina_list.c:200
200 if (!tmp)
(gdb) step
203 EINA_MAGIC_SET(tmp, EINA_MAGIC_LIST);
(gdb) step
205 return tmp;
(gdb) step
206 }
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:536
536 if (!new_l)
(gdb) step
539 new_l->next = NULL;
(gdb) step
540 new_l->data = (void *)data;
(gdb) step
541 if (!list)
(gdb) step
543 new_l->prev = NULL;
(gdb) step
544 return _eina_list_setup_accounting(new_l);
(gdb) step
_eina_list_setup_accounting (list=0x7ae920) at eina_list.c:223
223 EINA_MAGIC_CHECK_LIST(list, NULL);
(gdb) step
225 list->accounting = _eina_list_mempool_accounting_new(list);
(gdb) step
_eina_list_mempool_accounting_new (list=0x7ae920) at eina_list.c:176
176 eina_mempool_malloc(_eina_list_accounting_mp,
(gdb) step
175 tmp =
(gdb) step
eina_mempool_malloc (mp=0x77f610, size=16) at
../../src/include/eina_inline_mempool.x:103
103 return mp->backend.alloc(mp->backend_data, size);
(gdb) step
eina_chained_mempool_malloc (data=0x77f690, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:240
240 Chained_Mempool *pool = data;
(gdb) step
241 Chained_Pool *p = NULL;
(gdb) step
244 if (!eina_lock_take(&pool->mutex))
(gdb) step
eina_lock_take (mutex=0x77f6c0) at
../../src/include/eina_inline_lock_posix.x:143
143 Eina_Lock_Result ret = EINA_LOCK_FAIL;
(gdb) step
178 ok = pthread_mutex_lock(&(mutex->mutex));
(gdb) step
183 if (ok == 0) ret = EINA_LOCK_SUCCEED;
(gdb) step
205 return ret;
(gdb) step
206 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f690, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:252
252 if (pool->first) p = EINA_INLIST_CONTAINER_GET(pool->first,
Chained_Pool);
(gdb) step
255 if (p && !p->base && !p->last)
(gdb) step
265 if (!p)
(gdb) step
279 mem = _eina_chained_mempool_alloc_in(pool, p);
(gdb) step
_eina_chained_mempool_alloc_in (pool=0x77f690, p=0x7ab510) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:166
166 if (p->last)
(gdb) step
168 mem = p->last;
(gdb) step
169 p->last += pool->item_alloc;
(gdb) step
170 if (p->last >= p->limit)
(gdb) step
183 if (!p->base && !p->last)
(gdb) step
186 p->usage++;
(gdb) step
187 pool->usage++;
(gdb) step
193 return mem;
(gdb) step
194 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f690, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:281
281 eina_lock_release(&pool->mutex);
(gdb) step
eina_lock_release (mutex=0x77f6c0) at
../../src/include/eina_inline_lock_posix.x:278
278 ret = (pthread_mutex_unlock(&(mutex->mutex)) == 0) ?
(gdb) step
280 return ret;
(gdb) step
281 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f690, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:283
283 return mem;
(gdb) step
284 }
(gdb) step
eina_mempool_malloc (mp=0x77f610, size=16) at
../../src/include/eina_inline_mempool.x:104
104 }
(gdb) step
_eina_list_mempool_accounting_new (list=0x7ae920) at eina_list.c:178
178 if (!tmp)
(gdb) step
181 EINA_MAGIC_SET(tmp, EINA_MAGIC_LIST_ACCOUNTING);
(gdb) step
183 return tmp;
(gdb) step
184 }
(gdb) step
_eina_list_setup_accounting (list=0x7ae920) at eina_list.c:226
226 if (!list->accounting)
(gdb) step
229 list->accounting->last = list;
(gdb) step
230 list->accounting->count = 1;
(gdb) step
232 return list;
(gdb) step
237 }
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:557
557 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x7f8540) at e_randr.c:1926
1926 output_info->crtc = crtc_info;
(gdb) step
Program received signal SIGSEGV, Segmentation fault.
0x00000000004ffe48 in _e_randr_crtc_outputs_refs_update (crtc_info=0x7f8540) at
e_randr.c:1926
1926 output_info->crtc = crtc_info;
(gdb) step
e_sigseg_act (x=0, info=0x0, data=0x0) at e_signals.c:118
118 {
(gdb) step
119 _e_backtrace("**** SEGMENTATION FAULT ****");
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x000000000050f26f in _e_backtrace_int (fd=0, msg=0x7fffffffec80 "\001",
msg_len=4391808) at e_signals.c:92
92 {
(gdb) step
111 }
(gdb) step
e_sigseg_act (x=11, info=0x7fffffffd670, data=0x7fffffffd540) at e_signals.c:120
120 _e_x_composite_shutdown();
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x000000000050f1a9 in _e_x_composite_shutdown () at e_signals.c:16
16 {
(gdb) step
20 if (_e_x_composite_shutdown_try) return; /* we failed :-( */
(gdb) step
21 _e_x_composite_shutdown_try = 1;
(gdb) step
24 root = ecore_x_window_root_first_get();
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7622231 in ecore_x_window_root_first_get () at ecore_x.c:1202
1202 {
(gdb) step
1203 return RootWindow(_ecore_x_disp, 0);
(gdb) step
1220 }
(gdb) step
_e_x_composite_shutdown () at e_signals.c:27
27 ecore_x_composite_unredirect_subwindows(root,
ECORE_X_COMPOSITE_UPDATE_MANUAL);
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff762b598 in ecore_x_composite_unredirect_subwindows (win=0,
type=7861952) at ecore_x_composite.c:111
111 {
(gdb) step
113 int update = CompositeRedirectAutomatic;
(gdb) step
116 switch (type)
(gdb) step
123 update = CompositeRedirectManual;
(gdb) step
124 break;
(gdb) step
126 XCompositeUnredirectSubwindows(_ecore_x_disp, win, update);
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff2fc2405 in XCompositeUnredirectSubwindows () from
/usr/lib/x86_64-linux-gnu/libXcomposite.so.1
(gdb) step
Single stepping until exit from function XCompositeUnredirectSubwindows,
which has no line number information.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff2fc1db5 in XCompositeFindDisplay () from
/usr/lib/x86_64-linux-gnu/libXcomposite.so.1
(gdb) step
Single stepping until exit from function XCompositeFindDisplay,
which has no line number information.
0x00007ffff2fc2426 in XCompositeUnredirectSubwindows () from
/usr/lib/x86_64-linux-gnu/libXcomposite.so.1
(gdb) step
Single stepping until exit from function XCompositeUnredirectSubwindows,
which has no line number information.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff1c7bba1 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
(gdb) step
Cannot find bounds of current function
(gdb) step
Cannot find bounds of current function
(gdb) quit
A debugging session is active.
Inferior 1 [process 2868] will be killed.
Quit anyway? (y or n) Not confirmed.
(gdb) step
Cannot find bounds of current function
(gdb) GNU gdb (GDB) 7.3-debian
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/enlightenment...done.
(gdb) br _e_randr_crtc_displa[K[K[K[K[K[Kinfo_set
Breakpoint 1 at 0x4fc72b: file e_randr.c, line 546.
(gdb) r
Starting program: /usr/local/bin/enlightenment
[Thread debugging using libthread_db enabled]
ESTART: 0.00000 [0.00000] - Begin Startup
ESTART: 0.00010 [0.00010] - Signal Trap
ESTART: 0.00013 [0.00003] - Signal Trap Done
ESTART: 0.00854 [0.00841] - Eina Init
ESTART: 0.00885 [0.00031] - Eina Init Done
ESTART: 0.00886 [0.00001] - Determine Prefix
=================================
Enlightenment relocation handling
=================================
PREFIX: /usr/local
BINDIR: /usr/local/bin
LIBDIR: /usr/local/lib
DATADIR: /usr/local/share/enlightenment
LOCALE: /usr/local/share/locale
=================================
ESTART: 0.04617 [0.03731] - Determine Prefix Done
ESTART: 0.04625 [0.00008] - Environment Variables
ESTART: 0.04629 [0.00004] - Environment Variables Done
ESTART: 0.04629 [0.00001] - Parse Arguments
ESTART: 0.04632 [0.00003] - Parse Arguments Done
ESTART: 0.04633 [0.00001] - Eet Init
ESTART: 0.06077 [0.01445] - Eet Init Done
ESTART: 0.06080 [0.00003] - Ecore Init
ESTART: 0.06124 [0.00044] - Ecore Init Done
ESTART: 0.06126 [0.00002] - Ecore Event Handlers
ESTART: 0.06127 [0.00001] - Ecore Event Handlers Done
ESTART: 0.06128 [0.00001] - Ecore_IMF Init
ESTART: 0.13460 [0.07332] - Ecore_IMF Init Done
ESTART: 0.13464 [0.00004] - Ecore_File Init
ESTART: 0.13517 [0.00053] - Ecore_File Init Done
ESTART: 0.13518 [0.00001] - Ecore_Con Init
ESTART: 0.13529 [0.00011] - Ecore_Con Init Done
ESTART: 0.13530 [0.00001] - Ecore_Ipc Init
ESTART: 0.13532 [0.00002] - Ecore_Ipc Init Done
ESTART: 0.13534 [0.00002] - Ecore_X Init
ESTART: 0.13535 [0.00001] - Ecore_X Init Done
ESTART: 0.13535 [0.00001] - Ecore_Evas Init
ESTART: 0.17516 [0.03981] - Ecore_Evas Init Done
ESTART: 0.17520 [0.00004] - Ecore_Evas Engine Check
ESTART: 0.17521 [0.00001] - Ecore_Evas Engine Check Done
ESTART: 0.17522 [0.00001] - Edje Init
ESTART: 0.19636 [0.02114] - Edje Init Done
ESTART: 0.19641 [0.00005] - E Intl Init
ESTART: 0.20762 [0.01120] - E Intl Init Done
ESTART: 0.20766 [0.00004] - E_Alert Init
ESTART: 0.20767 [0.00001] - E_Alert Init Done
ESTART: 0.20767 [0.00001] - E_Xinerama Init
E17 INIT: XINERAMA SCREEN: [0], 1920x1080+0+0
E17 INIT: XINERAMA CHOSEN: [0], 1920x1080+0+0
ESTART: 0.20950 [0.00183] - E_Xinerama Init Done
ESTART: 0.20952 [0.00002] - E_Hints Init
ESTART: 0.21124 [0.00172] - E_Hints Init Done
ESTART: 0.21127 [0.00003] - E_Configure Init
ESTART: 0.21143 [0.00016] - E_Configure Init Done
ESTART: 0.21144 [0.00001] - E Directories Init
ESTART: 0.25965 [0.04822] - E Directories Init Done
ESTART: 0.25970 [0.00004] - E_Filereg Init
ESTART: 0.26059 [0.00089] - E_Filereg Init Done
ESTART: 0.26062 [0.00003] - E_Config Init
ESTART: 0.29730 [0.03669] - E_Config Init Done
ESTART: 0.34773 [0.05043] - E_Randr Init
E_RANDR: filling 1/6 (79)
Breakpoint 1, _e_randr_crtc_info_set (crtc_info=0x808860) at e_randr.c:546
546 Ecore_X_Randr_Mode mode = 0;
(gdb) step
547 fprintf(stderr, "Fillng CRTC %d (%p)\n", crtc_info->xid, crtc_info);
(gdb) step
Fillng CRTC 79 (0x808860)
548 if (E_RANDR_NO_12 || !crtc_info) return;
(gdb) step
551 _e_randr_crtc_outputs_refs_update(crtc_info);
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x808860) at e_randr.c:1915
1915 if (!e_randr_screen_info->rrvd_info.randr_info_12->outputs) return;
(gdb) step
1918 if ((outputs =
ecore_x_randr_crtc_outputs_get(e_randr_screen_info->root, crtc_info->xid,
&noutputs)))
(gdb) step
ecore_x_randr_crtc_outputs_get (root=363, crtc=79, num=0x7fffffffd984) at
ecore_x_randr_12.c:536
536 RANDR_CHECK_1_2_RET(NULL);
(gdb) step
537 XRRScreenResources *res = NULL;
(gdb) step
538 Ecore_X_Randr_Output *ret = NULL;
(gdb) step
539 XRRCrtcInfo *crtc_info = NULL;
(gdb) step
541 if (_ecore_x_randr_crtc_validate(root,
(gdb) step
_ecore_x_randr_crtc_validate (root=363, crtc=79) at ecore_x_randr_12.c:85
85 RANDR_CHECK_1_2_RET(EINA_FALSE);
(gdb) step
87 XRRScreenResources *res = NULL;
(gdb) step
89 Eina_Bool ret = EINA_FALSE;
(gdb) step
91 if ((crtc == Ecore_X_Randr_None) ||
(gdb) step
95 if (_ecore_x_randr_root_validate(root) && crtc &&
(gdb) step
_ecore_x_randr_root_validate (root=363) at ecore_x_randr.c:92
92 Ecore_X_Randr_Screen scr = -1;
(gdb) step
93 if (root && RANDR_VALIDATE_ROOT(scr, root))
(gdb) step
94 return EINA_TRUE;
(gdb) step
101 }
(gdb) step
_ecore_x_randr_crtc_validate (root=363, crtc=79) at ecore_x_randr_12.c:96
96 (res = _ecore_x_randr_get_screen_resources (_ecore_x_disp,
root)))
(gdb) step
95 if (_ecore_x_randr_root_validate(root) && crtc &&
(gdb) step
98 for (i = 0; i < res->ncrtc; i++)
(gdb) step
100 if (res->crtcs[i] == crtc)
(gdb) step
102 ret = EINA_TRUE;
(gdb) step
103 break;
(gdb) step
106 XRRFreeScreenResources(res);
(gdb) step
109 return ret;
(gdb) step
113 }
(gdb) step
ecore_x_randr_crtc_outputs_get (root=363, crtc=79, num=0x7fffffffd984) at
ecore_x_randr_12.c:544
544 _ecore_x_randr_get_screen_resources (_ecore_x_disp,
(gdb) step
542 crtc) &&
(gdb) step
546 (crtc_info = XRRGetCrtcInfo(_ecore_x_disp, res, crtc)))
(gdb) step
545 root)) &&
(gdb) step
548 if ((ret = malloc(sizeof(Ecore_X_Randr_Output) *
crtc_info->noutput)))
(gdb) step
551 (sizeof(Ecore_X_Randr_Output) *
crtc_info->noutput));
(gdb) step
550 memcpy(ret, crtc_info->outputs,
(gdb) step
552 if (num)
(gdb) step
553 *num = crtc_info->noutput;
(gdb) step
556 if (crtc_info)
(gdb) step
557 XRRFreeCrtcInfo(crtc_info);
(gdb) step
559 if (res)
(gdb) step
560 XRRFreeScreenResources(res);
(gdb) step
563 return ret;
(gdb) step
567 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x808860) at e_randr.c:1920
1920 eina_list_free(crtc_info->outputs);
(gdb) step
eina_list_free (list=0x0) at eina_list.c:758
758 if (!list)
(gdb) step
759 return NULL;
(gdb) step
772 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x808860) at e_randr.c:1921
1921 crtc_info->outputs = NULL;
(gdb) step
1922 for (i = 0; i < noutputs; i++)
(gdb) step
1924 output_info = _e_randr_output_info_get(outputs[i]);
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:698
698 E_RANDR_NO_OUTPUTS_RET(NULL);
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_data_get (list=0x7b0ea0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7b0ea0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x7b0ed0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7b0ed0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x7b0f00) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7b0f00) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x7b0f30) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
47 return list->data;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:701
701 if (output_info && output_info->xid == output) return
output_info;
(gdb) step
699 EINA_LIST_FOREACH
(e_randr_screen_info->rrvd_info.randr_info_12->outputs, iter, output_info)
(gdb) step
eina_list_next (list=0x7b0f30) at
/usr/local/include/eina-1/eina/eina_inline_list.x:32
32 if (!list) return NULL;
(gdb) step
33 return list->next;
(gdb) step
34 }
(gdb) step
eina_list_data_get (list=0x0) at
/usr/local/include/eina-1/eina/eina_inline_list.x:46
46 if (!list) return NULL;
(gdb) step
48 }
(gdb) step
_e_randr_output_info_get (output=88) at e_randr.c:703
703 return NULL;
(gdb) step
704 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x808860) at e_randr.c:1925
1925 crtc_info->outputs = eina_list_append(crtc_info->outputs,
output_info);
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:534
534 eina_error_set(0);
(gdb) step
eina_error_set (err=0) at eina_error.c:258
258 _eina_last_error = err;
(gdb) step
259 }
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:535
535 new_l = _eina_list_mempool_list_new(list);
(gdb) step
_eina_list_mempool_list_new (list=0x0) at eina_list.c:199
199 tmp = eina_mempool_malloc(_eina_list_mp, sizeof (Eina_List));
(gdb) step
eina_mempool_malloc (mp=0x77f530, size=40) at
../../src/include/eina_inline_mempool.x:103
103 return mp->backend.alloc(mp->backend_data, size);
(gdb) step
eina_chained_mempool_malloc (data=0x77f5b0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:240
240 Chained_Mempool *pool = data;
(gdb) step
241 Chained_Pool *p = NULL;
(gdb) step
244 if (!eina_lock_take(&pool->mutex))
(gdb) step
eina_lock_take (mutex=0x77f5e0) at
../../src/include/eina_inline_lock_posix.x:143
143 Eina_Lock_Result ret = EINA_LOCK_FAIL;
(gdb) step
178 ok = pthread_mutex_lock(&(mutex->mutex));
(gdb) step
183 if (ok == 0) ret = EINA_LOCK_SUCCEED;
(gdb) step
205 return ret;
(gdb) step
206 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f5b0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:252
252 if (pool->first) p = EINA_INLIST_CONTAINER_GET(pool->first,
Chained_Pool);
(gdb) step
255 if (p && !p->base && !p->last)
(gdb) step
265 if (!p)
(gdb) step
279 mem = _eina_chained_mempool_alloc_in(pool, p);
(gdb) step
_eina_chained_mempool_alloc_in (pool=0x77f5b0, p=0x7ad8a0) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:166
166 if (p->last)
(gdb) step
168 mem = p->last;
(gdb) step
169 p->last += pool->item_alloc;
(gdb) step
170 if (p->last >= p->limit)
(gdb) step
183 if (!p->base && !p->last)
(gdb) step
186 p->usage++;
(gdb) step
187 pool->usage++;
(gdb) step
193 return mem;
(gdb) step
194 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f5b0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:281
281 eina_lock_release(&pool->mutex);
(gdb) step
eina_lock_release (mutex=0x77f5e0) at
../../src/include/eina_inline_lock_posix.x:278
278 ret = (pthread_mutex_unlock(&(mutex->mutex)) == 0) ?
(gdb) step
280 return ret;
(gdb) step
281 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f5b0, size=40) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:283
283 return mem;
(gdb) step
284 }
(gdb) step
eina_mempool_malloc (mp=0x77f530, size=40) at
../../src/include/eina_inline_mempool.x:104
104 }
(gdb) step
_eina_list_mempool_list_new (list=0x0) at eina_list.c:200
200 if (!tmp)
(gdb) step
203 EINA_MAGIC_SET(tmp, EINA_MAGIC_LIST);
(gdb) step
205 return tmp;
(gdb) step
206 }
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:536
536 if (!new_l)
(gdb) step
539 new_l->next = NULL;
(gdb) step
540 new_l->data = (void *)data;
(gdb) step
541 if (!list)
(gdb) step
543 new_l->prev = NULL;
(gdb) step
544 return _eina_list_setup_accounting(new_l);
(gdb) step
_eina_list_setup_accounting (list=0x7b0f60) at eina_list.c:223
223 EINA_MAGIC_CHECK_LIST(list, NULL);
(gdb) step
225 list->accounting = _eina_list_mempool_accounting_new(list);
(gdb) step
_eina_list_mempool_accounting_new (list=0x7b0f60) at eina_list.c:176
176 eina_mempool_malloc(_eina_list_accounting_mp,
(gdb) step
175 tmp =
(gdb) step
eina_mempool_malloc (mp=0x77f620, size=16) at
../../src/include/eina_inline_mempool.x:103
103 return mp->backend.alloc(mp->backend_data, size);
(gdb) step
eina_chained_mempool_malloc (data=0x77f6a0, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:240
240 Chained_Mempool *pool = data;
(gdb) step
241 Chained_Pool *p = NULL;
(gdb) step
244 if (!eina_lock_take(&pool->mutex))
(gdb) step
eina_lock_take (mutex=0x77f6d0) at
../../src/include/eina_inline_lock_posix.x:143
143 Eina_Lock_Result ret = EINA_LOCK_FAIL;
(gdb) step
178 ok = pthread_mutex_lock(&(mutex->mutex));
(gdb) step
183 if (ok == 0) ret = EINA_LOCK_SUCCEED;
(gdb) step
205 return ret;
(gdb) step
206 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f6a0, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:252
252 if (pool->first) p = EINA_INLIST_CONTAINER_GET(pool->first,
Chained_Pool);
(gdb) step
255 if (p && !p->base && !p->last)
(gdb) step
265 if (!p)
(gdb) step
279 mem = _eina_chained_mempool_alloc_in(pool, p);
(gdb) step
_eina_chained_mempool_alloc_in (pool=0x77f6a0, p=0x7ab630) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:166
166 if (p->last)
(gdb) step
168 mem = p->last;
(gdb) step
169 p->last += pool->item_alloc;
(gdb) step
170 if (p->last >= p->limit)
(gdb) step
183 if (!p->base && !p->last)
(gdb) step
186 p->usage++;
(gdb) step
187 pool->usage++;
(gdb) step
193 return mem;
(gdb) step
194 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f6a0, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:281
281 eina_lock_release(&pool->mutex);
(gdb) step
eina_lock_release (mutex=0x77f6d0) at
../../src/include/eina_inline_lock_posix.x:278
278 ret = (pthread_mutex_unlock(&(mutex->mutex)) == 0) ?
(gdb) step
280 return ret;
(gdb) step
281 }
(gdb) step
eina_chained_mempool_malloc (data=0x77f6a0, size=16) at
../../src/modules/mp/chained_pool/eina_chained_mempool.c:283
283 return mem;
(gdb) step
284 }
(gdb) step
eina_mempool_malloc (mp=0x77f620, size=16) at
../../src/include/eina_inline_mempool.x:104
104 }
(gdb) step
_eina_list_mempool_accounting_new (list=0x7b0f60) at eina_list.c:178
178 if (!tmp)
(gdb) step
181 EINA_MAGIC_SET(tmp, EINA_MAGIC_LIST_ACCOUNTING);
(gdb) step
183 return tmp;
(gdb) step
184 }
(gdb) step
_eina_list_setup_accounting (list=0x7b0f60) at eina_list.c:226
226 if (!list->accounting)
(gdb) c[Kstep
229 list->accounting->last = list;
(gdb) step
230 list->accounting->count = 1;
(gdb) step
232 return list;
(gdb) step
237 }
(gdb) step
eina_list_append (list=0x0, data=0x0) at eina_list.c:557
557 }
(gdb) step
_e_randr_crtc_outputs_refs_update (crtc_info=0x808860) at e_randr.c:1926
1926 output_info->crtc = crtc_info;
(gdb) step
Program received signal SIGSEGV, Segmentation fault.
0x00000000004ffe48 in _e_randr_crtc_outputs_refs_update (crtc_info=0x808860) at
e_randr.c:1926
1926 output_info->crtc = crtc_info;
(gdb) step
e_sigseg_act (x=0, info=0x0, data=0x0) at e_signals.c:118
118 {
(gdb) step
119 _e_backtrace("**** SEGMENTATION FAULT ****");
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x000000000050f26f in _e_backtrace_int (fd=0, msg=0x7fffffffec40 "\001",
msg_len=4391808) at e_signals.c:92
92 {
(gdb) step
111 }
(gdb) step
e_sigseg_act (x=11, info=0x7fffffffd630, data=0x7fffffffd500) at e_signals.c:120
120 _e_x_composite_shutdown();
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x000000000050f1a9 in _e_x_composite_shutdown () at e_signals.c:16
16 {
(gdb) step
20 if (_e_x_composite_shutdown_try) return; /* we failed :-( */
(gdb) step
21 _e_x_composite_shutdown_try = 1;
(gdb) step
24 root = ecore_x_window_root_first_get();
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7622231 in ecore_x_window_root_first_get () at ecore_x.c:1202
1202 {
(gdb) step
1203 return RootWindow(_ecore_x_disp, 0);
(gdb) step
1220 }
(gdb) step
_e_x_composite_shutdown () at e_signals.c:27
27 ecore_x_composite_unredirect_subwindows(root,
ECORE_X_COMPOSITE_UPDATE_MANUAL);
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff762b598 in ecore_x_composite_unredirect_subwindows (win=0,
type=7861968) at ecore_x_composite.c:111
111 {
(gdb) step
113 int update = CompositeRedirectAutomatic;
(gdb) step
116 switch (type)
(gdb) step
123 update = CompositeRedirectManual;
(gdb) step
124 break;
(gdb) step
126 XCompositeUnredirectSubwindows(_ecore_x_disp, win, update);
(gdb) step
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff2fc2405 in XCompositeUnredirectSubwindows () from
/usr/lib/x86_64-linux-gnu/libXcomposite.so.1
(gdb) step
Single stepping until exit from function XCompositeUnredirectSubwindows,
which has no line number information.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff2fc1db5 in XCompositeFindDisplay () from
/usr/lib/x86_64-linux-gnu/libXcomposite.so.1
(gdb) step
Single stepping until exit from function XCompositeFindDisplay,
which has no line number information.
0x00007ffff2fc2426 in XCompositeUnredirectSubwindows () from
/usr/lib/x86_64-linux-gnu/libXcomposite.so.1
(gdb) step
Single stepping until exit from function XCompositeUnredirectSubwindows,
which has no line number information.
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff1c7bba1 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
(gdb) step
Cannot find bounds of current function
(gdb) step
Cannot find bounds of current function
(gdb)
> On Dec 25, 2011, at 11:49 AM, Leif Middelschulte wrote:
>
>> Hi Mike,
>>
>> sorry for this late reply, but am kept busy with rl.
>> Find comments in their respective context.
>>
>> 2011/12/24 mh <[email protected]>:
>>>
>>>>>> On Dec 23, 2011, at 12:27 PM, Leif Middelschulte wrote:
>>>>>>
>>>>>>> 2011/12/23 mh <[email protected]>:
>>>>>>>> Salute:
>>>>>>>>
>>>>>>>> I'm having the same issue using two different distros on the same
>>>>>>>> hardware (two drives).
>>>>>>>>
>>>>>>>> When I'm running Arch, I'm running xorg-server 1.11.3-1 , using
>>>>>>>> xf86-video-ati 6.14.3-1
>>>>>>>>
>>>>>>>> On Debian, sid, I have xserver-xorg-core 1.11.2.902-1, using
>>>>>>>> xserver-xorg-video-radeon 6.14.3-2
>>>>>>>>
>>>>>>> I'd like you to start e via gdb (compile e with debugging symbols, see
>>>>>>> our wiki). Then break on _e_randr_crtc_info_set and step through that
>>>>>>> function until bad things (crash) happens.
>>>>>>
>>>>>> Will do and let you know what I find here.
>>>>>
>>>>> Ok, I installed gdb, downloaded the latest 66482 from svn. Followed the
>>>>> wiki
>>>>> and rebuilt the EFLs after export CFLAG=-g. Now I'm stuck. From the wiki
>>>>> it
>>>>> seems that I should start e, then when it crashes start gdb and break on
>>>>> _e_randr_crtc_info_set. Not sure how to do that. Help appreciated.
>>>>
>>>> On Dec 23, 2011, at 9:41 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>
>>>> you're going to need to start an xserver raw without any "gdm".
>>>>
>>>> Xorg -ac :1 &
>>>>
>>>> run that in a text console somewhere.
>>>> in another text console do:
>>>>
>>>> export E_START=1
>>>> gdb enlightenment
>> Thanks to raster for helping out here :-)
>> But shouldn't this be
>> gdb enlightenment_start instead?
>>>> br _e_randr_crtc_info_set
>>>> r
>>>>
>>>>> But, e never crashes though. What happens is that I'll run startx from
>>>>> vt1,
>>>>
>>>> it won't - you have to make it STOP when it hits that function with a
>>>> breakpoint (br). you have to set it up before e starts like above.
>>>>
>>>
>>> Thanks! Attached are three sequential console shots, after hitting the
>>> breakpoint three times . These seem to look exactly the messages I saw
>>> earlier.
>>
>> Sadly you did something wrong when trying to run e via gdb. Ecore_X
>> fails to initialize, which is way before e_randr initialization.
>>>
>>>
>>>>> and then in vt1 there are a series of messages like I included earlier in
>>>>> the
>>>>> file called "start-results". The messages say "Enlightenment relocation
>>>>> handling", then many ESTART messages, then "Enlighenment relocation
>>>>> handling"
>>>>> again, followed by the same ESTART messages, then "<Enlightenment Error> A
>>>>> previous instance of Enlightenment is still active on this screen.
>>>>> Aborting
>>>>> startup." And then it repeats this process over and over until there's a
>>>>> final error and X shuts down.
>>>>>
>>>>> So there doesn't seem to be a PID of enlightenment to run gdb on. I guess.
>>>>> I've never really run gdb before.
>>>>>
>>>>> Any suggestions/hints would be appreciated, I'm willing to try and help
>>>>> track
>>>>> down the problem with this damn ATI hardware.
>>>>>
>>>>>
>>>>>> mike
>>>>>>>>
>>>>>>>>
>>>>>>>> On Dec 23, 2011, at 3:52 AM, Andrea Suisani wrote:
>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> sorry for not being able to join
>>>>>>>>> the irc debug session last evening...
>>>>>>>>>
>>>>>>>>> though it seems we have have narrowed
>>>>>>>>> the problem down to a peculiar comibination
>>>>>>>>> of HW (ATI HD 5770/5750), e17 ver,
>>>>>>>>> xorg version and x org drivere version.
>>>>>>>>>
>>>>>>>>> just trying get a more clear picture
>>>>>>>>> I'm running X.Org X Server 1.10.4
>>>>>>>>> with fglrx used as video driver (defined
>>>>>>>>> in xorg.conf) installed using
>>>>>>>>>
>>>>>>>>> apt-get install fglrx-updates
>>>>>>>>>
>>>>>>>>> on an ubuntu box ver 11.10, that's
>>>>>>>>> the output of uname -a:
>>>>>>>>>
>>>>>>>>> Linux suino 3.0.0-14-server #23-Ubuntu SMP Mon Nov 21 20:49:05 UTC
>>>>>>>>> 2011
>>>>>>>>> x86_64 x86_64 x86_64 GNU/Linux
>>>>>>>>>
>>>>>>>>> Mike what's your xorg version and
>>>>>>>>> which driver are you using for your
>>>>>>>>> 5770?
>>>>>>>>>
>>>>>>>>> I'm going to try to configure my Xorg
>>>>>>>>> dropping the binary only driver and using
>>>>>>>>> instead the one provided by:
>>>>>>>>>
>>>>>>>>> xserver-xorg-video-radeon
>>>>>>>>>
>>>>>>>>> i.e.
>>>>>>>>>
>>>>>>>>> http://www.x.org/wiki/radeon
>>>>>>>>>
>>>>>>>>> I'll report back
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Andrea
>>>>>>>>>
>>>>>>>>> On 12/22/2011 08:49 PM, mh wrote:
>>>>>>>>>> Leif,
>>>>>>>>>>
>>>>>>>>>> Following up on our irc session today: I
>>>>>>>>>> deleted /opt/e17/lib/enlightenment/conf_randr and restarted e. Still
>>>>>>>>>> had the black screen with gkrellm.
>>>>>>>>>>
>>>>>>>>>> Decided to try something else: I took the 5770 video card out of the
>>>>>>>>>> box and tried the onboard video, which is a Radeon HD 4200. Restarted
>>>>>>>>>> e, and the display worked properly. Recompiled e to rev 66466, and it
>>>>>>>>>> worked fine. Shutdown, the reinstalled the Radeon HD 5770 based video
>>>>>>>>>> card and restarted, back to a black display with gkrellm still
>>>>>>>>>> working.
>>>>>>>>>>
>>>>>>>>>> So, from there I went back to the vt and recompiled e from v. 66218
>>>>>>>>>> and
>>>>>>>>>> restarted e. Display and system worked fine. So that's where I'm at
>>>>>>>>>> right now.
>>>>>>>>>>
>>>>>>>>>> mike
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Write once. Port to many.
>>> Get the SDK and tools to simplify cross-platform app development. Create
>>> new or port existing apps to sell to consumers worldwide. Explore the
>>> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
>>> http://p.sf.net/sfu/intel-appdev
>>> _______________________________________________
>>> enlightenment-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>
>>
>>
>>
>> --
>> Leif
>>
>> ------------------------------------------------------------------------------
>> Write once. Port to many.
>> Get the SDK and tools to simplify cross-platform app development. Create
>> new or port existing apps to sell to consumers worldwide. Explore the
>> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
>> http://p.sf.net/sfu/intel-appdev
>> _______________________________________________
>> enlightenment-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev_______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel