I have a Linux platform (3.12.13 and 2.6.35.3), & amp; Imx5x series processor In my program I am using two serial ports to read / dev / ttymxc2 & amp; / Dev / ttymxc1 After some period executes / dev / tty open system calls which is not part of my program & amp; The error is open ("/ dev / tty", ...) writev (7, [{" * glibc detected * ", 23}.
suggest port that I'm not used in your code, still / dev / tty / call systems perform to open.
the log some ladders.
open ("Dev / ttymxc2", O_RDWR | O_NOCTTY | O_NONBLOCK) = 4 Diagnosis ({0, 200000000}, NULL) = 0 ioctl (4, TCFLSH, 0x2) = 0 ioctl (4, SNDCTL_TMR_TIME BASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS , {B9600 opost -isig -icanon -echo ...}) = 0 ioctl (4, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSETS, {B9600 opost -isig -icanon -echo ... }) = 0 open ("/ dev / ttymxc0", O_RDWR | O_NONBLOCK) = 5 ioctl (5, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGTS, {B115200 opost -isig -icanon -echo ...}) = 0 ioctl (5, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or Tisisitis, {B115200 opost -isig -icanon -echo ...}) = 0 open ( "/ dev / ttymxc1", O_RDWR | O_NOCTTY | O_NONBLOCK) = 6 micro ({0, 200000000}, NULL) = 0 Ioctl (6, TCFLSH, 0x2) = 0 ioctl (6, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B9600 opost -isig -icanon -echo ...}) = 0 ioctl (6, SNDCTL_TMR_START or SNDRV_TIMER_IOCTL_TREAD or TCSTS, {B9600 opost - Isig -icanon -echo ...}) = 0 fstat64 (1, {st_mode = S_IFCHR | 0620, st_rdev = makedev (136, 0), ...}) = 0 mmap2 (zero, 4096, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0) "main \ n" 0x76f2d000 write (1 = ,, 9 ) = 9 write (1, "living process fun \ n", 22) = 22 sigreturn () (mask []) = 71 write (1, "bab0 bab0 \ n", 11) = 11 open ( "/ dev / tty ", O_RDWR | O_NOCTTY | O_NONBLOCK) = 7 writev (7, [{" *** glibc detected *** ", 23}, {" ./test11_2 ", 10}, {": ", 2} , {"Double free or corruption (! Prev" ..., 33}, {": 0x", 4}, {"00bfa0c0", 8}, {"*** \ n", 5}], 7) = 85 mmap2 (zero, 2,097,152, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0) = 0x76d2d000 munmap (0x76d2d000, 864,256) = 0 name (0x76f00000, 184320) = 0 mprotect (0x76e00000, 135168, PROT_READ | PROT_WRITE) = 0 write rt_sigprocmask (SIG_UNBLOCK, [ABRT], NULL, 8) = 0 (1, "Last out", 9) = 9 gettid () = 8796 tgkill (8796, 8796, SIGABRT) = 0 --- SIGABRT {si_signo = SIGABRT, si_code = SI_TKILL, si_pid = 8796, si_uid = 0} --- ++ + + +++
Please suggest some solution
You have to fix a heap corruption bug that glibc was searched for you.
One way to do this is to run your program under Wolfrand, but I believe it is not available for imx5x
.
Another way is to run the program with the export MALLOC_CHECK_ = 2
. See.
Still have to use another method (if your toolchain supports it).
No comments:
Post a Comment