Crash on latest FLTK1.4 on my app

30 مرّة مشاهدة
التخطي إلى أول رسالة غير مقروءة

Gonzalo Garramuno

غير مقروءة،
25‏/08‏/2022، 7:20:36 م25‏/8‏/2022
إلى fltkc...@googlegroups.com
Asan catches a crash on latest FLTK master.

==76442==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x00010cf55a78 bp 0x7ff7bbb1ee80 sp 0x7ff7bbb1ee50 T0)
==76442==The signal is caused by a READ memory access.
==76442==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used.
#0 0x10cf55a78 in __asan::Allocator::Deallocate(void*, unsigned long, unsigned long, __sanitizer::BufferedStackTrace*, __asan::AllocType)+0x48 (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x4a78)
#1 0x10cf9969d in wrap_free+0x10d (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x4869d)
#2 0x105235597 in Fl_Quartz_Graphics_Driver::XDestroyRegion(flCocoaRegion*) Fl_Quartz_Graphics_Driver.cxx:152
#3 0x104f7457d in fl_height() fl_draw.H:771
#4 0x1052273fa in fl_height(int, int) fl_draw.cxx:457
#5 0x1051ff9b5 in Fl_Text_Display::recalc_display() Fl_Text_Display.cxx:506
#6 0x1051ff827 in Fl_Text_Display::resize(int, int, int, int) Fl_Text_Display.cxx:481
#7 0x1051ff01f in Fl_Text_Display::buffer_modified_cb(int, int, int, int, char const*, void*) Fl_Text_Display.cxx:1749
#8 0x1051ff5e6 in Fl_Text_Display::buffer(Fl_Text_Buffer*) Fl_Text_Display.cxx:375
#9 0x104fe8d7c in mrv::TextDisplay::TextDisplay(int, int, int, int, char const*) mrvTextDisplay.cpp:48
#10 0x104fe8df6 in mrv::TextDisplay::TextDisplay(int, int, int, int, char const*) mrvTextDisplay.cpp:46
#11 0x104406572 in AboutUI::make_window(ViewerUI*) AboutUI.cxx:34
#12 0x1044084dd in AboutUI::AboutUI(ViewerUI*) AboutUI.cxx:220
#13 0x10440850c in AboutUI::AboutUI(ViewerUI*) AboutUI.cxx:218
#14 0x1044fccee in ViewerUI::make_window() mrViewer.cxx:3400
#15 0x1044fd958 in ViewerUI::ViewerUI() mrViewer.cxx:3415
#16 0x1044fd9c4 in ViewerUI::ViewerUI() mrViewer.cxx:3414
#17 0x1051295f2 in mrv::parse_command_line(int, char const**, mrv::Options&) mrvCommandLine.cpp:589
#18 0x10517b4d6 in main main.cpp:358
#19 0x10bffe52d in start+0x1cd (dyld:x86_64+0x552d)



Gonzalo Garramuno
ggar...@gmail.com




Gonzalo Garramuno

غير مقروءة،
25‏/08‏/2022، 7:39:05 م25‏/8‏/2022
إلى fltkc...@googlegroups.com
Oh yes, this is on macOS. Windows and Linux are fine.


Gonzalo Garramuno
ggar...@gmail.com




Gonzalo Garramuno

غير مقروءة،
25‏/08‏/2022، 9:04:24 م25‏/8‏/2022
إلى fltkc...@googlegroups.com


> El 25 ago. 2022, a las 20:39, Gonzalo Garramuno <ggar...@gmail.com> escribió:
>
> Oh yes, this is on macOS. Windows and Linux are fine.
>

FLTK_TAG 232743c3a5d903be813f6c4445f3f96bab25cae0 is fine. Haven’t tried more up to date tags.


Gonzalo Garramuno
ggar...@gmail.com




Manolo

غير مقروءة،
26‏/08‏/2022، 1:30:49 ص26‏/8‏/2022
إلى fltk.coredev
I would bet a full rebuild of libfltk will repair that.
The list of Fl_Graphics_Driver virtual member functions was changed.

Gonzalo Garramuño

غير مقروءة،
26‏/08‏/2022، 8:25:55 ص26‏/8‏/2022
إلى fltkc...@googlegroups.com

On 26/8/22 02:30, Manolo wrote:
> I would bet a full rebuild of libfltk will repair that.
> The list of Fl_Graphics_Driver virtual member functions was changed.

I did do a full rebuilt of fltk HEAD several times.  I have it all it in
automatic building, cleaning the directories and starting cmake from
scratch.
No cigar, except for the version I pointed out so far.

I'll try a bisect of the versions to point more exactly when the problem
appears when I have some more time.

--
Gonzalo Garramuño
ggar...@gmail.com

Manolo

غير مقروءة،
27‏/08‏/2022، 4:37:49 ص27‏/8‏/2022
إلى fltk.coredev
I will insist there's a problem of updating to new FLTK code because this part of your traceback speaks clear :
#2 0x105235597 in Fl_Quartz_Graphics_Driver::XDestroyRegion(flCocoaRegion*) Fl_Quartz_Graphics_Driver.cxx:152
#3 0x104f7457d in fl_height() fl_draw.H:771

Function fl_height() is a 1-liner:
  return fl_graphics_driver->height();
It should call Fl_Quartz_Graphics_Driver::height(). Instead it calls Fl_Quartz_Graphics_Driver::XDestroyRegion()
because there's a problem with the layout of class Fl_Graphics_Driver that's essential for access to virtual member functions and was recently changed.

Gonzalo Garramuño

غير مقروءة،
27‏/08‏/2022، 6:33:58 ص27‏/8‏/2022
إلى Manolo،fltkc...@googlegroups.com
You are probably right.  Give me a week or so I can investigate what's
going on.  I think there might be some other fltk install on my mac
screwing things over.

--
Gonzalo Garramuño
ggar...@gmail.com

Gonzalo Garramuno

غير مقروءة،
27‏/08‏/2022، 8:26:34 ص27‏/8‏/2022
إلى Manolo،fltkc...@googlegroups.com
Okay. I found what it was. I had some legacy install of fltk in /usr/local/include/FL and albeit I compile to a sandbox, and use CMAKE_PREFIX_PATH, the FindFLTK.cmake script that ships with cmake would pick the includes from /usr/local.


Gonzalo Garramuno
ggar...@gmail.com




الرد على الكل
رد على الكاتب
إعادة توجيه
0 رسالة جديدة