Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#45 Open Process RAM: core dumped

svn-trunk
open
nobody
None
4
2015-03-02
2013-01-16
Gert Hulselmans
No

WxHexEditor SVN version run on Fedora 17 64-bit.

When I try to view the memory of a process as normal user, wxHexEditor crashes (see also strace output at the end)

$ ./wxHexEditor
Rahman ve Rahim olan Allahn adıyla.
Rahman ve Rahim olan Allahn adıyla.
PID MAPS loading...
cat /proc/9695/maps
Floating point exception (core dumped)

When I start wxHexEditor with root rights, the processmemory only contains 0xFF bytes.

$ sudo ./wxHexEditor
[sudo] password for gert: 
Rahman ve Rahim olan Allahn adıyla.
PID MAPS loading...
cat /proc/9695/maps
Rahman ve Rahim olan Allahn adıyla.
PID MAPS loading...
cat /proc/8283/maps
Send UpdateUI Event
Rahman ve Rahim olan Allahn adıyla.
PID MAPS loading...
cat /proc/9274/maps

Strace output:

$ strace ./wxHexEditor
...
write(1, "PID MAPS loading...\n", 20PID MAPS loading...
)   = 20
write(1, "cat /proc/9695/maps\n", 20cat /proc/9695/maps
)   = 20
pipe([8, 9])                            = 0
pipe([10, 11])                          = 0
pipe([12, 13])                          = 0
pipe([14, 15])                          = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f33c8ab4d10) = 23734
close(10)                               = 0
close(13)                               = 0
close(15)                               = 0
fstat(8, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
fcntl(8, F_GETFL)                       = 0 (flags O_RDONLY)
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
close(9)                                = 0
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"6\6\2\0\347\3`\0025\30\4\0\352\3`\2\10\0`\2h\0d\0F\2\5\0\352\3`\2"..., 620}, {NULL, 0}, {"", 0}], 3) = 620
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvfrom(5, "\1\1L\34\0\0\0\0\225\1`\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=23734, si_status=0, si_utime=0, si_stime=0} ---
select(13, [12], NULL, NULL, {0, 0})    = 1 (in [12], left {0, 0})
read(12, "00400000-004da000 r-xp 00000000 "..., 4096) = 3050
select(13, [12], NULL, NULL, {0, 0})    = 1 (in [12], left {0, 0})
read(12, "", 1046)                      = 0
select(15, [14], NULL, NULL, {0, 0})    = 1 (in [14], left {0, 0})
read(14, "", 4096)                      = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 5, 0) = 2 ([{fd=4, revents=POLLIN}, {fd=8, revents=POLLHUP}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 5, 0) = 2 ([{fd=4, revents=POLLIN}, {fd=8, revents=POLLHUP}])
read(4, "\3\0\0\0\0\0\0\0", 16)         = 8
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
wait4(23734, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 23734
close(8)                                = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
read(4, 0x7fff1da1cd80, 16)             = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\1\0\0\0\0\0\0\0", 16)         = 8
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
read(4, 0x7fff1da1cd80, 16)             = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"7\6\6\0\357\3`\2\v\0`\2\4\0\1\0\r\r\r\0\0\0\0\0007\2\6\0\360\3`\2"..., 728}, {NULL, 0}, {"", 0}], 3) = 728
poll([{fd=5, events=POLLIN}], 1, -1)    = 1 ([{fd=5, revents=POLLIN}])
recvfrom(5, "\n\2w\34\225\1`\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 140
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"6\6\2\0\352\3`\0025\30\4\0\4\4`\2\10\0`\2h\0d\0F\2\5\0\4\4`\2"..., 16376}, {NULL, 0}, {"", 0}], 3) = 16376
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\4\5\0\37\4`\2\36\4`\2*\0\0\0\0\0\0\0\224\32\7\0\1\2\5\0\37\4`\2"..., 15428}, {"\0\0\331\0\0\3\331\0\0\200.\0\0\0\331\0\0g.\0\0\3\331\0\0\200\251\0\0\0\331\0"..., 1920}, {"", 0}], 3) = 17348
brk(0)                                  = 0x2a53000
brk(0x2a74000)                          = 0x2a74000
brk(0)                                  = 0x2a74000
brk(0)                                  = 0x2a74000
brk(0x2a71000)                          = 0x2a71000
brk(0)                                  = 0x2a71000
brk(0)                                  = 0x2a71000
brk(0)                                  = 0x2a71000
brk(0x2a6d000)                          = 0x2a6d000
brk(0)                                  = 0x2a6d000
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\7\2\0)\4`\2\224\4\5\0000\4`\2\v\4`\2*\0\0\0\0\0\0\0\224\32\7\0"..., 14220}, {"\0\0\0\0\0\1\0\0\0\0\4\0\0\0\0\0\0\0\4\0\0\0\1\0\0\200\177\0\0\0\0\0"..., 3120}, {"", 0}], 3) = 17340
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\6\5\0>\4`\2\0\0\0\0\0\0\0\0\204\0\27\0\224\n\32\0\5\0\0\0\306\1`\2"..., 14164}, {"\0\0\0\0\0\1\0\0\0\0\4\0\0\0\0\0\0\0\4\0\0\0\1\0\0\200K\0\0\0\0\0"..., 3120}, {"", 0}], 3) = 17284
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\6\5\0K\4`\2\0\0\0\0\0\0\0\0P\0\27\0\224\n\32\0\5\0\0\0\306\1`\2"..., 14636}, {"\0\0\0\0\0\2\0\0\0\0\1\0\0\0\0\0\0\0\1\0\0\0\1\0\0\200\f\0\0\0\0\0"..., 1800}, {"", 0}], 3) = 16436
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\6\5\0X\4`\2\0\0\0\0\0\0\0\0\16\0\16\0\224\n\20\0\5\0\0\0\306\1`\2"..., 16380}, {NULL, 0}, {"", 0}], 3) = 16380
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\4\5\0x\4`\2v\4`\2&\0\0\0\0\0\0\0\214\3\n\0v\4`\2\356\0`\2"..., 16364}, {NULL, 0}, {"", 0}], 3) = 16364
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\224\32\7\0\3\4`\2\223\4`\2@\230C\225F\222f\346\260\0\354\1\1\0\1\0\224\32\7\0"..., 2820}, {NULL, 0}, {"", 0}], 3) = 2820
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"5\30\4\0\230\4`\2\225\1`\2~\0\247\0\224\4\5\0\231\4`\2\230\4`\2*\0\0\0"..., 1036}, {NULL, 0}, {"", 0}], 3) = 1036
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
poll([{fd=5, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=5, revents=POLLOUT}])
writev(5, [{"\2\30\4\0\225\1`\2\0@\0\0\245\2`\2\2\4\4\0\225\1`\2\0@\0\0\245\2`\2"..., 48}, {NULL, 0}, {"", 0}], 3) = 48
recvfrom(5, 0x2746ae4, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 0 (Timeout)
read(12, "", 1)                         = 0
close(12)                               = 0
close(14)                               = 0
ioctl(11, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7fff1da1d670) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(11, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
close(11)                               = 0
access("-pid=9695.tags", R_OK)          = -1 ENOENT (No such file or directory)
stat("-pid=9695.md5", 0x7fff1da1d790)   = -1 ENOENT (No such file or directory)
stat("-pid=9695.sha1", 0x7fff1da1d790)  = -1 ENOENT (No such file or directory)
stat("-pid=9695.sha256", 0x7fff1da1d790) = -1 ENOENT (No such file or directory)
ioctl(-1, BLKSSZGET, 0x7fff1da1d82c)    = -1 EBADF (Bad file descriptor)
ptrace(PTRACE_PEEKTEXT, 9695, 0, [0])   = -1 EIO (Input/output error)
--- SIGFPE {si_signo=SIGFPE, si_code=FPE_INTDIV, si_addr=0x45e7a3} ---
+++ killed by SIGFPE (core dumped) +++
Floating point exception (core dumped)

Discussion

  • Death Knight®
    Death Knight®
    2013-01-17

    Hi there.
    Thanks for bug report.

    Firstly I run it with OpenSUSE 12.2 64Bit, with normal user rights and it doesn't crashed.

    I suspecting from user rights, so I try to open root process PID and wxHexEditor give error and says "Process cannot open".

    Edit: I think problem with fedora is, there is no ptrace support on kernel. If you cannot read memory with ptrace, wxHexEditor cannot read it. Sorry. It's prerequisite.
    ptrace(PTRACE_PEEKTEXT, 9695, 0, [0]) = -1 EIO (Input/output error)

    Second part of your report. Yup. It 'looks like' filled with FFs. It's a work around. Since wxHexEditor is designed for just "files", how could you open 'memory' with it? Filling blank areas with 0xFF. It is temporary solution that I am happy with. You can also commit a code that removes empty regions but this make code complex. I don't think if its actually needed.

    So the question is how could you find actual 'mapped' sections?
    Just look at your TAG panel. ;-)

     
    Last edit: Death Knight® 2013-01-17
  • When you open a PID with wxHexEditor, can you add in the dialog "Open Process RAM", that you need to look in the TAG panel?

    Also another issue:

    • When selecting a tag in the TAG panel, I see the memory.
    • When using the scrollbar in the hexdump panel, I only get FF characters.
    • When I didn't use the scrollbar, I can use the ARROW keys to navigate in the hexdump panel and I still see all bytes (no FF bytes only).
     
  • Death Knight®
    Death Knight®
    2013-04-09

    I found the problem.
    When read request comes from thread (or wxThreadHelper class), it cannot read memory somehow.
    "Selection shifting" via mouse left button gives "All FF" issue also. :-/

     
  • Death Knight®
    Death Knight®
    2014-02-02

    Hi again.
    Could you check if the issue still appears on svn trunk?
    It looks like fixed for me, probably due changed thread code.

    Actually I couldn't test the scrolling actually due too big file size.
    Might disable scrolling on this big files soon.
    Regards.