Hello all!
I am sorry for wasting your time. I had a few holidays and couldn't write.
I have changed Fl::flush() to Fl::awake(). Now I get mistakes when I call this 
function:

Function {process_status_noncritical(cnc_rt_status_noncritical *pstatus)} {open 
return_type void
  } {
    code {// PROCESS STATUS NONCRITICAL DATA:
static cnc_rt_status_noncritical prev_status_noncritical;
printf("process_status_noncritical_1");
 Fl::lock();
memcpy(&curr_rt_status_noncritical, pstatus, sizeof(cnc_rt_status_noncritical));
 Fl::unlock();
/* PRINT LIMITING SWITCHES STATES: */
printf("process_status_noncritical_2");
for (unsigned char i = 0; i < axesNum2NameConformity::axesQuantity(); i++)
{
  if (curr_rt_status_noncritical.limits[i].limits != 
prev_status_noncritical.limits[i].limits)
  {
    limit_on_off(i, 0, curr_rt_status_noncritical.limits[i].limit_plus);
    limit_on_off(i, 1, curr_rt_status_noncritical.limits[i].limit_minus);
    limit_on_off(i, 2, curr_rt_status_noncritical.limits[i].zero_arrive);
  };
};

/* PRINT CURRENT FEED: */
if (prev_status_noncritical.cur_feed != curr_rt_status_noncritical.cur_feed)
{
  char str[64];
  sprintf(str, "%7.1f", curr_rt_status_noncritical.cur_feed * 60.0); // convert 
mm/s. to mm/min.
  feedActual->value(str);
}
printf("process_status_noncritical_3");
/* PRINT TOOL NUMBER */
if(prev_status_noncritical.tool_num != curr_rt_status_noncritical.tool_num)
{
  char s[32];
  sprintf(s, "%d", curr_rt_status_noncritical.tool_num);
  currentTool->copy_label(s);
};
printf("process_status_noncritical_4");
/* PRINT COORDINATES: */
//if (memcmp(prev_rt_status_data.curr_coords, curr_rt_status_data.curr_coords, 
sizeof(geom_data) * axesNum2NameConformity::axesQuantity()))
for (unsigned char i = 0; i < axesNum2NameConformity::axesQuantity(); i++)
{
  if (prev_status_noncritical.curr_coords[i] != 
curr_rt_status_noncritical.curr_coords[i])
  {
    Fl_Output *coord = static_cast<Fl_Output *> (currentCoords->child(i));
    char str[16];
    sprintf(str,"%10.3f", (switchCSYS2CNC->value()) ? 
commandManager.csys->getGlobalComponent(i) : 
commandManager.csys->getLocalComponent(i));
    coord->value(str);
  };
};

// PRINT PROMPT/DIAGNOSTIC MESSAGE:
if (curr_rt_status_noncritical.diagnostic_mes_num != 
prev_status_noncritical.diagnostic_mes_num &&
    curr_rt_status_noncritical.diagnostic_mes_num != MSG_NO_ERROR)
{
  cueText->textcolor(FL_BLACK);
  cueText->color(FL_WHITE);
  cueText->value(msg.getString( curr_rt_status_noncritical.diagnostic_mes_num 
));
};
printf("process_status_noncritical_5");
/* SAVE STATUS: */
memcpy(&prev_status_noncritical, &curr_rt_status_noncritical, 
sizeof(cnc_rt_status_noncritical));

Fl::awake();} {}
  }

All mistakes are related to memory. Malloc(),Realloc()(I have compiled FLTK 
without shared libraries), invalid pointer.
*** glibc detected *** /home/cnc/cnc_v2/cnc_gui/cnc_v2: realloc(): invalid next 
size: 0x08143f40 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7d2d67d]
/lib/libc.so.6(realloc+0x100)[0xb7d2f5d0]
/usr/lib/libX11.so.6[0xb7f54e94]
/usr/lib/libX11.so.6(XUnionRegion+0x83)[0xb7f552e3]
/usr/lib/libX11.so.6(XUnionRectWithRegion+0x83)[0xb7f55473]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x809ce91]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x809cf21]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x80a5986]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x80a5f93]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x80a6011]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x80a6058]
/home/cnc/cnc_v2/cnc_gui/cnc_v2[0x80541d0]
======= Memory map: ========
08048000-080d6000 r-xp 00000000 08:01 220670     /home/cnc/cnc_v2/cnc_gui/cnc_v2
080d6000-080da000 rw-p 0008d000 08:01 220670     /home/cnc/cnc_v2/cnc_gui/cnc_v2
080da000-08150000 rw-p 080da000 00:00 0          [heap]
b7200000-b7221000 rw-p b7200000 00:00 0
b7221000-b7300000 ---p b7221000 00:00 0
b73be000-b73bf000 ---p b73be000 00:00 0
b73bf000-b7bc0000 rw-p b73bf000 00:00 0
b7bc0000-b7bc4000 r-xp 00000000 08:01 84504      /usr/lib/libXdmcp.so.6.0.0
b7bc4000-b7bc5000 rw-p 00003000 08:01 84504      /usr/lib/libXdmcp.so.6.0.0
b7bc5000-b7be3000 r-xp 00000000 08:01 24732      /usr/lib/libexpat.so.1.5.2
b7be3000-b7be5000 rw-p 0001d000 08:01 24732      /usr/lib/libexpat.so.1.5.2
b7be5000-b7be7000 r-xp 00000000 08:01 10186      /lib/libdl-2.7.so
b7be7000-b7be9000 rw-p 00001000 08:01 10186      /lib/libdl-2.7.so
b7be9000-b7bea000 rw-p b7be9000 00:00 0
b7bea000-b7c00000 r-xp 00000000 08:01 84454      /usr/lib/libxcb.so.1.0.0
b7c00000-b7c01000 rw-p 00016000 08:01 84454      /usr/lib/libxcb.so.1.0.0
b7c01000-b7c02000 r-xp 00000000 08:01 84964      /usr/lib/libxcb-xlib.so.0.0.0
b7c02000-b7c03000 rw-p 00000000 08:01 84964      /usr/lib/libxcb-xlib.so.0.0.0
b7c03000-b7c05000 r-xp 00000000 08:01 83827      /usr/lib/libXau.so.6.0.0
b7c05000-b7c06000 rw-p 00001000 08:01 83827      /usr/lib/libXau.so.6.0.0
b7c06000-b7c0d000 r-xp 00000000 08:01 83816      /usr/lib/libXrender.so.1.3.0
b7c0d000-b7c0e000 rw-p 00006000 08:01 83816      /usr/lib/libXrender.so.1.3.0
b7c0e000-b7c21000 r-xp 00000000 08:01 35287      /usr/lib/libz.so.1.2.3
b7c21000-b7c22000 rw-p 00012000 08:01 35287      /usr/lib/libz.so.1.2.3
b7c22000-b7c23000 rw-p b7c22000 00:00 0
b7c23000-b7c91000 r-xp 00000000 08:01 84672      /usr/lib/libfreetype.so.6.3.19
b7c91000-b7c95000 rw-p 0006d000 08:01 84672      /usr/lib/libfreetype.so.6.3.19
b7c95000-b7cb8000 r-xp 00000000 08:01 84221      /usr/lib/libfontconfig.so.1.2.0
b7cb8000-b7cc0000 rw-p 00022000 08:01 84221      /usr/lib/libfontconfig.so.1.2.0
b7cc0000-b7e06000 r-xp 00000000 08:01 10409      /lib/libc-2.7.so
b7e06000-b7e07000 r--p 00146000 08:01 10409      /lib/libc-2.7.so
b7e07000-b7e09000 rw-p 00147000 08:01 10409      /lib/libc-2.7.so
b7e09000-b7e0c000 rw-p b7e09000 00:00 0
b7e0c000-b7e16000 r-xp 00000000 08:01 25312      /usr/lib/libgcc_s.so.1
b7e16000-b7e17000 rw-p 00009000 08:01 25312      /usr/lib/libgcc_s.so.1
b7e17000-b7e3b000 r-xp 00000000 08:01 10404      /lib/libm-2.7.so
b7e3b000-b7e3d000 rw-p 00023000 08:01 10404      /lib/libm-2.7.so
b7e3d000-b7f18000 r-xp 00000000 08:01 35310      /usr/lib/libstdc++.so.6.0.9
b7f18000-b7f1c000 r--p 000da000 08:01 35310      /usr/lib/libstdc++.so.6.0.9
b7f1c000-b7f1d000 rw-p 000de000 08:01 35310      /usr/lib/libstdc++.so.6.0.9
b7f1d000-b7f24000 rw-p b7f1d000 00:00 0
b7f24000-b8007000 r-xp 00000000 08:01 82491      /usr/lib/libX11.so.6.2.0
b8007000-b800b000 rw-p 000e2000 08:01 82491      /usr/lib/libX11.so.6.2.0
b800b000-b8018000 r-xp 00000000 08:01 84452      /usr/lib/libXext.so.6.4.0
b8018000-b8019000 rw-p 0000c000 08:01 84452      /usr/lib/libXext.so.6.4.0
b8019000-b802c000 r-xp 00000000 08:01 10182      /lib/libpthread-2.7.so
b802c000-b802e000 rw-p 00013000 08:01 10182      /lib/libpthread-2.7.so
b802e000-b8030000 rw-p b802e000 00:00 0
b8030000-b8054000 r-xp 00000000 08:01 83454      /usr/lib/libpng12.so.0.29.0
b8054000-b8055000 rw-p 00024000 08:01 83454      /usr/lib/libpng12.so.0.29.0
b8055000-b8074000 r-xp 00000000 08:01 31239      /usr/lib/libjpeg.so.62.0.0
b8074000-b8075000 rw-p 0001e000 08:01 31239      /usr/lib/libjpeg.so.62.0.0
b8075000-b8086000 r-xp 00000000 08:01 85257      /usr/lib/libXft.so.2.1.2
b8086000-b8087000 rw-p 00010000 08:01 85257      /usr/lib/libXft.so.2.1.2
b8087000-b8088000 rw-p b8087000 00:00 0
b8091000-b8092000 rw-p b8091000 00:00 0
b8092000-b8096000 r-xp 00000000 08:01 83815      /usr/lib/libXfixes.so.3.1.0
b8096000-b8097000 rw-p 00003000 08:01 83815      /usr/lib/libXfixes.so.3.1.0
b8097000-b80

Any help would be appreciated. I hope you can find some clue, because I don't 
know what to do :(



_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to