Dave Culp wrote:
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engine/R-3350.xml",


The directory should be plural, "Engines".  Maybe that will fix it.

Also, this prop config will give you better thrust. Aero-Matic's prop generator needs some work.

[snip]

Dave,
Thanks for the prop file. I'll try it out, though I may have written that file from scratch myself, which is probably no better :)


As for the directory, it is Engines, but that doesn't matter, I tried it both ways and it pretty much does the same thing. I just took a closer look at this. I had misread the strace before. Here's what I found that it's doing:

brk
brk
open b29.xml
fstat
mmap2 <address>
some junk
for i = 1 .. 4
        Attempt to open the file in Engines &&
                memap2
                read from it
                close it
                munmap
        Attempt to open the file in Engine &&
                memap2
                read from it
                close it
                munmap
munmap <address>
segfault

So it looks like it's choking when it tries to free some memory that it was using when it started parsing the FDM file, and the engine file has nothing to do with it.

Thoughts?
Josh

Here's a bigger strace starting before the first mmap2 call:

brk(0) = 0xcb44000
brk(0xcb70000) = 0xcb70000
open("/usr/local/share/FlightGear/data/Aircraft/b29/b29.xml", O_RDONLY) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=12009, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7c3e000 <<<< THIS ONE ******************
read(8, "<FDM_CONFIG NAME=\"b29\" VERSION=\""..., 131072) = 12009
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0xbfffed40) = 4875
waitpid(4875, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 4875
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7c3d000
write(1, "\n", 1) = 1
write(1, "\n", 1) = 1
write(1, "\33[1mThis aircraft model is a \33[3"..., 58) = 58
write(1, "\n", 1) = 1
write(1, "\33[0mThis aircraft model probably"..., 59) = 59
write(1, "\n", 1) = 1
write(1, "\33[34m\33[1mUse this model for deve"..., 66) = 66
write(1, "\n", 1) = 1
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engines/R-3350.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engine/R-3350.xml", O_RDONLY) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=434, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7bcc000
read(9, "<?xml version=\"1.0\"?>\n<!--\n Fil"..., 131072) = 434
read(9, "", 131072) = 0
read(9, "", 131072) = 0
close(9) = 0
munmap(0xa7bcc000, 131072) = 0
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engines/R-3350.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engine/R-3350.xml", O_RDONLY) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=434, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7bcc000
read(9, "<?xml version=\"1.0\"?>\n<!--\n Fil"..., 131072) = 434
read(9, "", 131072) = 0
read(9, "", 131072) = 0
close(9) = 0
munmap(0xa7bcc000, 131072) = 0
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engines/R-3350.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engine/R-3350.xml", O_RDONLY) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=434, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7bcc000
read(9, "<?xml version=\"1.0\"?>\n<!--\n Fil"..., 131072) = 434
read(9, "", 131072) = 0
read(9, "", 131072) = 0
close(9) = 0
munmap(0xa7bcc000, 131072) = 0
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engines/R-3350.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/FlightGear/data/Aircraft/b29/Engine/R-3350.xml", O_RDONLY) = 9
fstat64(9, {st_mode=S_IFREG|0644, st_size=434, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7bcc000
read(9, "<?xml version=\"1.0\"?>\n<!--\n Fil"..., 131072) = 434
read(9, "", 131072) = 0
read(9, "", 131072) = 0
close(9) = 0
munmap(0xa7bcc000, 131072) = 0
read(8, "", 131072) = 0
read(8, "", 131072) = 0
close(8) = 0
munmap(0xa7c3e000, 131072) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d

Reply via email to