Sorry Dirk, I may have wrong-footed you there. The first try catch block throws an exception (which is caught and not reported). The exception is thrown here:

#0 SSRecord::SSRecord (this=0xd010f0, [EMAIL PROTECTED], offset=0) at ./SSPhysLib/SSRecord.cpp:94 #1 0x00011fd8 in SSFileImp::ReadRecord (this=0x50000000, offset=0) at ./SSPhysLib/SSFiles.cpp:134 #2 0x000144e8 in SSFileImp::GetRecord (this=0xd010c0, offset=0) at ./ SSPhysLib/SSFiles.cpp:121 #3 0x00014764 in SSRecordFile::GetRecord (this=0x2000c07, offset=7) at ./SSPhysLib/SSFiles.cpp:274 #4 0x0001562c in SSRecordFile::GetFirstRecord (this=0xbffff564) at ./ SSPhysLib/SSFiles.cpp:235 #5 0x00015f9c in SSRecordFile::MakeFile ([EMAIL PROTECTED]) at ./ SSPhysLib/SSFiles.cpp:194 #6 0x0000e998 in CInfoCommand::Execute (this=0xd00750, [EMAIL PROTECTED], [EMAIL PROTECTED]) at ./source/InfoCommand.cpp:58 #7 0x00004914 in CMultiArgCommand::Execute (this=0xd00750, [EMAIL PROTECTED], [EMAIL PROTECTED]) at ./source/Command.cpp:121 #8 0x00004fe8 in CCommand::Execute (this=0xd00750, [EMAIL PROTECTED]) at ./source/Command.cpp:81 #9 0x00010f2c in main (argc=-1073743588, argv=0xbffffb44) at ./ source/ssphys.cpp:122

The exception is "bad header: length variable exceeds file size". At this point the m_Header is:

(gdb) print m_Header
$4 = {
  size = 1342177280,
  type = "HN",
  checksum = -23990
}

The size looks way too big. It's equal to the first 4 bytes of the file (0x50000000) (see od dump below). gdb says:

(gdb) print sizeof(m_Header)
$5 = 8

Does this indicate the compilation problem? If so, what kind of compiler arguments should I be looking into? I've not done any C++ programming ever, but have done C (long long time ago).

Many thanks,

- Marcel

On 01/03/2007, at 3:16 PM, Marcel Juffermans wrote:

OK, so I've compiled again with -g flag, and run it through gdb. The problem occurs in eType SSRecord::GetType () because m_pBuffer is null. I found the other private data defined in SSRecord.h and printed them:

(gdb) print m_Header
$8 = {
  size = 0,
  type = "\000",
  checksum = 0
}
(gdb) print m_pBuffer
$9 = (byte *) 0x0
(gdb) print m_FileImpPtr
$10 = {
  px = 0xd01390,
  pn = {
    pi_ = 0xd013b0
  }
}
(gdb) print m_Header
$11 = {
  size = 0,
  type = "\000",
  checksum = 0
}
(gdb) print m_pBuffer
$12 = (byte *) 0x0
(gdb) print m_Len
$13 = 0
(gdb) print m_Offset
$14 = 52
(gdb) print m_FileImpPtr
$15 = {
  px = 0xd01390,
  pn = {
    pi_ = 0xd013b0
  }
}

Good fun, I've never done this before! Can't see straight away why this happens, though. Any ideas?

Thanks,

- Marcel

On 01/03/2007, at 10:59 AM, Dirk wrote:



$ od -N 50 -a -H dummy/data/names.dat
0000000 P nul nul nul H N a2 J nul nul nul nul nul nul nul nul 50000000 484ea24a 00000000 00000000 0000020 nul nul nul nul nul nul nul nul db cd soh nul nul nul nul nul 00000000 00000000 dbcd0100 00000000 0000040 nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul nul 00000000 00000000 00000000 00000000
*
0000060

So the names.dat does have the "HN" magic in it (not sure if it's in the right spot or not). I'm stuck now, what else can I do?

All in all this looks ok to me. It must have to do with the compilation you used. Perhaps some structure misalignment. Can you run the ssphys command within the debugger? Please try to step through the function SSRecordFile* SSRecordFile::MakeFile (const std::string& fileName) in SSFiles.cpp. the first try catch block should return a valid record. Please check that record.

Dirk

_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users- lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version- control.subversion.vss2svn.user



_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users- lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version- control.subversion.vss2svn.user



_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user

Reply via email to