linuxulator64 status
Chagin Dmitry
chagin.dmitry at gmail.com
Thu Jul 24 09:08:02 UTC 2008
On Thu, 24 Jul 2008, Roman Divacky wrote:
> On Thu, Jul 24, 2008 at 10:30:41AM +0400, Chagin Dmitry wrote:
>>
>> hi!
>> I'm not subscribed on fbsd-current@, therefore I shall answer here...
>>
>> It is possible to tell that it works, now I investigate LTP results and
>> search that does not work.
>>
>> ps. signals, dynamic loading of libs works.
>> 100% know that there are problems with getdents syscall, at least at
>> x86_64.
>
> I recall you telling me about glibc using getdents as readdir or something
> like that.. have you progressed on this front?
>
Yesterday I tried to compile glibc-2.7 in x86_64 emulation, look that
happens:
*** glibc detected *** gmake: double free or corruption (!prev):
0x0000000000693
d20 ***
======= Backtrace: =========
/lib64/libc.so.6[0x8008b4832]
/lib64/libc.so.6(cfree+0x8c)[0x8008b7f2c]
gmake[0x41d463]
gmake[0x4045d9]
gmake[0x404e3f]
gmake[0x4082b7]
Below a piece of ktrace dump:
29143 make CALL linux_open(0x7fffffffc9d0,O_NONBLOCK|O_DIRECTORY|O_CLOEXEC
,<unused>0x62fd70)
29143 make NAMI "string"
29143 make RET linux_open 5
29143 make CALL linux_newfstat(0x5,0x7fffffffc7d0)
29143 make STRU struct stat {dev=98, ino=3203960, mode=drwxrwxr-x , nlink=
3, uid=500, gid=500, rdev=12856072, atime=1216839073, stime=1192706475, ctime=12
16833980, birthtime=1192706475, size=3072, blksize=4096, blocks=8, flags=0x0 }
29143 make RET linux_newfstat 0
29143 make CALL linux_fcntl(0x5,F_SETFD,FD_CLOEXEC)
29143 make RET linux_fcntl 0
29143 make CALL linux_getdents(0x5,0x692e78,0x1000)
!29143 make RET linux_getdents 4096/0x1000
29143 make CALL linux_open(0x80096312c,O_RDWR|O_NOCTTY|O_NONBLOCK,<unused>0x12)
29143 make NAMI "/compat/linux/dev/tty"
29143 make NAMI "/dev/tty"
29143 make RET linux_open 6
29143 make CALL writev(0x6,0x7fffffffbf60,0x7)
29143 make GIO fd 6 wrote 109 bytes
"*** glibc detected *** /compat/linux/usr/bin/make: double free or corr\
uption (!prev): 0x0000000000693e80 ***
getdents must be called at least twice, the last getdents call
must return 0.
You can try this on i386 :)
> I am more than willing to join you in trying to see whats going on if this
> is the main obstacle on getting linuxulator64 commited...
>
> I hope we can prepare a set of patches to commit to -current so it gets
> integrated. I propose to make another branch devoted to integrating your
> work to -current
>
--
Have fun!
chd
More information about the freebsd-emulation
mailing list