Opened 8 years ago

Closed 8 years ago

#481 closed defect (fixed)

undo "clear full_name" crashes arb

Reported by: westram Owned by: epruesse
Priority: major Milestone: arb6
Component: Library (other) Version: SVN
Keywords: Cc:

Description (last modified by epruesse)

Reproduce:

  • run demo.arb
  • set protection to 6
  • select a species
  • open species info
  • click 'full_name'
  • empty 'Edit box'
  • click undo in main window

#0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:31
#1  0x00007ffff570b4c6 in *__GI___strdup (s=0x0) at strdup.c:42
#2  0x0000000000576358 in make_node_text_nds (gb_main=0x909240, gbd=0x9542b0, mode=NDS_OUTPUT_LEAFTEXT, species=0x1111fd0, tree_name=0x1111a90 "tree_pars") at nds.cxx:661
#3  0x000000000059282e in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1111fd0, Pen=..., limits=...) at TreeDisplay.cxx:1933
#4  0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110fa0, Pen=..., limits=...) at TreeDisplay.cxx:2007
#5  0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110f10, Pen=..., limits=...) at TreeDisplay.cxx:2007
#6  0x00000000005934e8 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110dd0, Pen=..., limits=...) at TreeDisplay.cxx:2018
#7  0x00000000005934e8 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x11102b0, Pen=..., limits=...) at TreeDisplay.cxx:2018
#8  0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110220, Pen=..., limits=...) at TreeDisplay.cxx:2007
#9  0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110190, Pen=..., limits=...) at TreeDisplay.cxx:2007
#10 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110100, Pen=..., limits=...) at TreeDisplay.cxx:2007
#11 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x1110070, Pen=..., limits=...) at TreeDisplay.cxx:2007
#12 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x110ffe0, Pen=..., limits=...) at TreeDisplay.cxx:2007
#13 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x110ff50, Pen=..., limits=...) at TreeDisplay.cxx:2007
#14 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x110fec0, Pen=..., limits=...) at TreeDisplay.cxx:2007
#15 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x110fe30, Pen=..., limits=...) at TreeDisplay.cxx:2007
#16 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x110fda0, Pen=..., limits=...) at TreeDisplay.cxx:2007
#17 0x00000000005933b9 in AWT_graphic_tree::show_dendrogram (this=0x10b9f30, at=0x110fd10, Pen=..., limits=...) at TreeDisplay.cxx:2007
#18 0x00000000005971f6 in AWT_graphic_tree::show (this=0x10b9f30, device=0x10ba2f0) at TreeDisplay.cxx:2636
#19 0x00007ffff734b01a in clip_expose (aww=0x1093d80, scr=0x10ba150, left_border=0, right_border=877, top_border=0, bottom_border=795, hor_overlap=0, ver_overlap=0) at AWT_canvas.cxx:326
#20 0x00007ffff734b0fe in AWT_canvas::refresh (this=0x10ba150) at AWT_canvas.cxx:337
#21 0x00007ffff734b06a in AWT_expose_cb (scr=0x10ba150) at AWT_canvas.cxx:330
#22 0x00000000004c0e4a in StrictlyTypedCallback<void, AW_root*, long, long>::operator() (this=0x110dc48, p1=0x864890, p2=17539408, p3=0) at /home/ralf/ARB-bilbo/ARB.trunk.test/INCLUDE/cbtypes.h:117
#23 0x00000000004c0bfa in Callback_FVV<void, AW_root*>::operator() (this=0x110dc48, fixed=0x864890) at /home/ralf/ARB-bilbo/ARB.trunk.test/INCLUDE/cbtypes.h:172
#24 0x00007ffff707cd0b in AW_root_cblist::call (this=0x110dc40, root=0x864890) at aw_nawar.hxx:47
#25 0x00007ffff707ce6b in AW_root_cblist::call (listhead=@0x107fa28, root=0x864890) at aw_nawar.hxx:68
#26 0x00007ffff707c2e5 in AW_awar::run_callbacks (this=0x107fa10) at AW_awar.cxx:558
#27 0x00007ffff707b90b in AW_awar::update (this=0x107fa10) at AW_awar.cxx:413
#28 0x00007ffff707ab7b in AW_var_gbdata_callback (awar=0x107fa10) at AW_awar.cxx:244
#29 0x00007ffff7b5d64c in StrictlyTypedCallback<void, GBDATA*, long, GB_CB_TYPE>::operator() (this=0x7fffffffd4d0, p1=0x107faa0, p2=17299984, p3=GB_CB_CHANGED) at /home/ralf/ARB-bilbo/ARB.trunk.test/INCLUDE/cbtypes.h:117
#30 0x00007ffff7b5c9dc in Callback_FVF<void, GBDATA*, GB_CB_TYPE>::operator() (this=0x12ad190, f1=0x107faa0, f2=GB_CB_CHANGED) at /home/ralf/ARB-bilbo/ARB.trunk.test/INCLUDE/cbtypes.h:230
#31 0x00007ffff7b5a96f in TypedDatabaseCallback::operator() (this=0x12ad190, gbd=0x107faa0, type_=GB_CB_ALL_BUT_DELETE) at gb_cb.h:44
#32 0x00007ffff7b54d5e in gb_pending_callbacks::call_and_forget (this=0x8f8d98, allowedTypes=GB_CB_ALL_BUT_DELETE) at arbdb.cxx:659
#33 0x00007ffff7b54e6b in GB_MAIN_TYPE::call_pending_callbacks (this=0x8f8d70) at arbdb.cxx:672
#34 0x00007ffff7b5bf0d in GB_MAIN_TYPE::commit_transaction (this=0x8f8d70) at arbdb.cxx:2097
#35 0x00007ffff7b5c14a in GB_MAIN_TYPE::pop_transaction (this=0x8f8d70) at arbdb.cxx:2136
#36 0x00007ffff7b58daf in GB_pop_transaction (gbd=0x909240) at arbdb.cxx:2205
#37 0x00007ffff7b58efa in GB_end_transaction (gbd=0x909240, error=0x0) at arbdb.cxx:2258
#38 0x00007ffff7b69fcc in g_b_undo (gb_main=0x909240, uh=0x8f8c60) at adindex.cxx:516
#39 0x00007ffff7b6aa1d in GB_undo (gb_main=0x909240, type=GB_UNDO_UNDO) at adindex.cxx:778
#40 0x000000000044af33 in NT_undo_cb (undo_type=2, ntw=17539408) at NT_extern.cxx:529
#41 0x00007ffff708658c in StrictlyTypedCallback<void, AW_window*, long, long>::operator() (this=0x1096c28, p1=0x1093d80, p2=2, p3=17539408) at /home/ralf/ARB-bilbo/ARB.trunk.test/INCLUDE/cbtypes.h:117
#42 0x00007ffff7086508 in Callback_FVV<void, AW_window*>::operator() (this=0x1096c28, fixed=0x1093d80) at /home/ralf/ARB-bilbo/ARB.trunk.test/INCLUDE/cbtypes.h:172
#43 0x00007ffff7086313 in AW_cb::run_callbacks (this=0x1096c20) at AW_cb_struct.cxx:148
#44 0x00007ffff70b268d in AW_server_callback (aw_cb_struct=0x1096c20) at AW_window.cxx:1184
#45 0x00007ffff6718c7f in XtCallCallbackList () from /usr/lib/libXt.so.6
#46 0x00007ffff6c5eb05 in ?? () from /usr/lib/libXm.so.3
#47 0x00007ffff674fb2d in ?? () from /usr/lib/libXt.so.6
#48 0x00007ffff6750395 in _XtTranslateEvent () from /usr/lib/libXt.so.6
#49 0x00007ffff6726f5b in XtDispatchEventToWidget () from /usr/lib/libXt.so.6
#50 0x00007ffff67277a3 in ?? () from /usr/lib/libXt.so.6
#51 0x00007ffff6726714 in XtDispatchEvent () from /usr/lib/libXt.so.6
#52 0x00007ffff67268bb in XtAppMainLoop () from /usr/lib/libXt.so.6
#53 0x00007ffff70a4850 in AW_root::main_loop (this=0x864890) at AW_root.cxx:547
#54 0x0000000000457407 in startup_gui (cl=..., error=...) at NT_main.cxx:898
#55 0x000000000045772e in ARB_main (argc=2, argv=0x7fffffffe2e8) at NT_main.cxx:955
#56 0x000000000043776f in main (argc=2, argv=0x7fffffffe2e8) at arb_main.cxx:10

Change History (10)

comment:1 Changed 8 years ago by epruesse

  • Owner changed from devel to epruesse
  • Status changed from new to assigned

comment:2 Changed 8 years ago by epruesse

  • Description modified (diff)

r11817 makes NDS not crash. There is a bug in the DB here though:

After Undo: GB_read_count()>0 but GB_read_pntr() == 0

comment:3 Changed 8 years ago by epruesse

Ok, I've gotten this far: The GBENTRY is not restored correctly. During the delete the string in info.ex.rel_data is removed and put into ext.old, then ext is cleared and during the restore, no "old" is found in the ts of the undo.

My best guess right now is that the bug was introduced with the alilink nerge in r11578.

comment:4 Changed 8 years ago by epruesse

Confirming, works with r11577, crashes with r11578

comment:5 Changed 8 years ago by epruesse

bisection showed bug introduced in r11554

comment:6 Changed 8 years ago by epruesse

note: in r11577 undo works, but a sequence that was marked before is unmarked by undoing the field delete

comment:7 follow-up: Changed 8 years ago by epruesse

"marked" bug is unrelated, happens in 5.5 as well

comment:8 Changed 8 years ago by westram

hotfixed by [11817]

comment:9 in reply to: ↑ 7 Changed 8 years ago by westram

Replying to epruesse:

"marked" bug is unrelated, happens in 5.5 as well

added as #493

[Please reassign #481 if you do not continue]

comment:10 Changed 8 years ago by epruesse

  • Resolution set to fixed
  • Status changed from assigned to closed

Considering fixed, underlying issue (undo delete-entry broken) got new ticket: #496

Note: See TracTickets for help on using tickets.