bugDDD - Bugs: bug #41485, SourceView.C:8724: assertion...

 
 

bug #41485: SourceView.C:8724: assertion `*proc_id == *id' failed

Submitted by:  Peeter Joot <peeterjoot>
Submitted on:  Thu Feb 6 19:21:48 2014  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: None
Privacy: PublicAssigned to: None
Open/Closed: OpenRelease: None

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue May 17 12:49:40 2016, comment #2:

It turns out the the work around is not working 100% of the time, but its better then before. If anyone was figured out how to fix this please add a comment saying what you did to fix it.

John T. Kerich <jkerich>
Mon May 9 21:34:15 2016, comment #1:

We just updated to RHEL 7.2 and are using 3.3.12 ddd and found that this bug is happening to us too. However; if we Edit->Preferences, Select Tab Source, and select Show Position as Text Characters vs. the default Glyphs the core stops. Also, if LANG unset or set to C it works with Select Tab Source as Glyphs. But we need to set LANG=en_US.UTF-8 for Sybase to work.

We noticed that some adobe symbol fonts are missing. Is there is some X11 font package required? The SA are only installing packages as needed vs. installing everything. We never had this problem on the old RHEL 5 boxes.

John T. Kerich <jkerich>
Thu Feb 6 19:21:48 2014, original submission:

SourceView.C: In function `static void SourceView::UpdateGlyphsWorkProc(void, XtIntervalId)':
SourceView.C:8724: assertion `proc_id == id' failed
Aborted (core dumped)

Core was generated by `ddd -d /vbs/common/osse/core/src -d /vbs/common/osse/core/inc -d /vbs/engn/sqe'.
Program terminated with signal 6, Aborted.
#0 0x00007fd2f2280b55 in raise () from /lib64/libc.so.6
(gdb) where
#0 0x00007fd2f2280b55 in raise () from /lib64/libc.so.6
#1 0x00007fd2f2282131 in abort () from /lib64/libc.so.6
#2 0x0000000000428fdd in ddd_assert_fail (assertion=0x622e52 "proc_id == id", file=<value optimized out>, line=<value optimized out>,
function=0x623ce0 "static void SourceView::UpdateGlyphsWorkProc(void, XtIntervalId)") at assert.C:38
#3 0x00000000005a53d1 in SourceView::UpdateGlyphsWorkProc (client_data=0x8aa218, id=<value optimized out>) at SourceView.C:8724
#4 0x0000000000435b53 in MyTimerProc (client_data=0xb89cc0) at TimeOut.C:114
#5 0x00007fd2f3d6374f in ?? () from /usr/lib64/libXt.so.6
#6 0x00007fd2f3d638a9 in XtAppNextEvent () from /usr/lib64/libXt.so.6
#7 0x000000000041441a in process_next_event () at ddd.C:3221
#8 0x00000000004d685d in ddd_main_loop () at mainloop.C:120
#9 0x000000000042673b in main (argc=<value optimized out>, argv=<value optimized out>) at ddd.C:3175

Unfortunately, this assertion doesn't dump the values that it is failing, and the build is optimized, and unavailable from the core:

(gdb) frame 3
#3 0x00000000005a53d1 in SourceView::UpdateGlyphsWorkProc (client_data=0x8aa218, id=<value optimized out>) at SourceView.C:8724
8724 assert(proc_id == id);
(gdb) p id
$1 = <value optimized out>
(gdb) p proc_id
$2 = <value optimized out>

Not sure if the value is available from the regs, since it looks like %rdi gets clobbered by the assert call:

Dump of assembler code for function SourceView::UpdateGlyphsWorkProc(XtPointer, XtIntervalId*):
0x00000000005a5390 <+0>: mov %rbx,-0x20(%rsp)
0x00000000005a5395 <+5>: mov %rbp,-0x18(%rsp)
0x00000000005a539a <+10>: mov %rdi,%rbx
0x00000000005a539d <+13>: mov %r12,-0x10(%rsp)
0x00000000005a53a2 <+18>: mov %r13,-0x8(%rsp)
0x00000000005a53a7 <+23>: sub $0x28,%rsp
0x00000000005a53ab <+27>: test %rdi,%rdi
0x00000000005a53ae <+30>: je 0x5a53e0 <SourceView::UpdateGlyphsWorkProc(XtPointer, XtIntervalId*)+80>
0x00000000005a53b0 <+32>: mov (%rsi),%rax
0x00000000005a53b3 <+35>: cmp %rax,(%rdi)
0x00000000005a53b6 <+38>: je 0x5a53d1 <SourceView::UpdateGlyphsWorkProc(XtPointer, XtIntervalId*)+65>
0x00000000005a53b8 <+40>: mov $0x623ce0,%ecx
0x00000000005a53bd <+45>: mov $0x2214,%edx
0x00000000005a53c2 <+50>: mov $0x622aec,%esi
0x00000000005a53c7 <+55>: mov $0x622e52,%edi
0x00000000005a53cc <+60>: callq 0x428eb0 <ddd_assert_fail(char const, char const, unsigned int, char const*)>
=> 0x00000000005a53d1 <+65>: movq $0x0,(%rdi)
0x00000000005a53d8 <+72>: nopl 0x0(%rax,%rax,1)
0x00000000005a53e0 <+80>: mov 0x3048e9(%rip),%rdi # 0x8a9cd0 <_ZN10SourceView13source_text_wE>

Here's what was in the regs for this frame:

(gdb) info registers
rax 0x0 0
rbx 0x8aa218 9085464
rcx 0xffffffffffffffff -1
rdx 0x6 6
rsi 0x2df0d7 3010775
rdi 0x2df0d7 3010775
rbp 0x7fff349f8ea8 0x7fff349f8ea8
rsp 0x7fff349f8e30 0x7fff349f8e30
r8 0xffffff00 4294967040
r9 0x7fd2f25c0e60 140543985978976
r10 0x8 8
r11 0x246 582
r12 0x8cc7e0 9226208
r13 0x0 0
r14 0x0 0
r15 0x7fff349f8f20 140734076260128
rip 0x5a53d1 0x5a53d1 <SourceView::UpdateGlyphsWorkProc(XtPointer, XtIntervalId*)+65>
eflags 0x246 [ PF ZF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0

Peeter Joot <peeterjoot>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by jkerich (Posted a comment)
  • -unavailable- added by peeterjoot (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    No Changes Have Been Made to This Item

    Back to the top


    Powered by Savane 3.1-cleanup