Summary: | unhandled syscall: mdep: 5 (i386_set_ldt) | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Stefan Dösinger <stefandoesinger> |
Component: | general | Assignee: | Julian Seward <jseward> |
Status: | ASSIGNED --- | ||
Severity: | normal | CC: | jan, njn, rhyskidd |
Priority: | NOR | ||
Version: | 3.5 SVN | ||
Target Milestone: | wanted3.6.0 | ||
Platform: | unspecified | ||
OS: | macOS | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | valgring -v log |
Description
Stefan Dösinger
2009-05-31 15:37:37 UTC
This is i386_set_ldt, which is syscall number 5 in Darwin's "machine-dependent" syscalls. i386_get_ldt will probably be hit soon after, it's number 6. If you update your SVN trunk check-out, you'll now get a slightly more informative error message -- it should better identify the syscall class and number. But that doesn't solve your problem. LDTs are tricky, unfortunately... This should not be too difficult to fix, but I will need a test case to develop/verify the fix with. How difficult is it to build Wine on MacOSX? It would be helpful if you could send step by step instructions to build Wine on a MacOSX box and reproduce the failure. Stefan, can you provide the info that Julian asked for? Ah, sorry, I did not see Julian's posting Building Wine on OSX is not much harder than on Linux, but you have to provide many libraries that exist on a standard Linux systems manually, like libpng or libjpeg. You also need the newest release of Apple's X server. I think OpenGL still does not work right with the standard X server, but it is not needed to reproduce this bug. Wine has a wiki page for OSX: http://wiki.winehq.org/MacOSX. If you run into problems, feel free to ask back Actually, that wiki page has a lot of outdated information. The best is to download the source, run configure and see where it complains. After building 'valgrind-devel' (aka r11104 + VEX r1965) with --enable-32bitonly I ran into the same bug: --97875-- WARNING: unhandled syscall: mdep: 5 --97875-- You may be able to write your own handler. --97875-- Read the file README_MISSING_SYSCALL_OR_IOCTL. --97875-- Nevertheless we consider this a bug. Please report --97875-- it at http://valgrind.org/support/bug_reports.html. eq_SyscallStatus: {78 0 43} {78 0 41} valgrind: m_syswrap/syswrap-main.c:384 (eq_SyscallStatus): the 'impossible' happened. ==97875== at 0xF00AB1F5: ??? ==97875== by 0xF00AB3B8: ??? ==97875== by 0xF010A66C: ??? ==97875== by 0xF010B933: ??? ==97875== by 0xF01072B3: ??? ==97875== by 0xF0108409: ??? ==97875== by 0xF012EF5F: ??? sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==97875== at 0x4015D5F7: i386_set_ldt (in /usr/lib/libSystem.B.dylib) ==97875== by 0x4001E8B4: wine_ldt_init_fs (in /opt/local/lib/libwine.1.0.dylib) ==97875== by 0x7BC657CA: signal_init_thread (in /opt/local/lib/wine/ntdll.dll.so) ==97875== by 0x7BC6E9BA: thread_init (in /opt/local/lib/wine/ntdll.dll.so) ==97875== by 0x7BC42793: __wine_process_init (in /opt/local/lib/wine/ntdll.dll.so) ==97875== by 0x4001F8D0: wine_init (in /opt/local/lib/libwine.1.0.dylib) ==97875== by 0x7BF00D8C: main (in /opt/local/libexec/wine/wine) wine is wine-1.2rc2 (aka wine-devel from macports). It might be possible to make progress on this by looking at how the equivalent syscall on x86-linux is handled. I'm sure there is one for setting LDT entries. Look in syswrap-x86-linux.c. |