/usr/local/bin/ssphys: unrecognized file during LOADVSSNAMES
Marcel Juffermans
mjuffermans at paradigmone.com.au
Wed Feb 28 23:57:26 EST 2007
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, filePtr=@0x2000c07, 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 (fileName=@0xd00cb0) at ./
SSPhysLib/SSFiles.cpp:194
#6 0x0000e998 in CInfoCommand::Execute (this=0xd00750,
options=@0xd0075c, arg=@0xd00cb0) at ./source/InfoCommand.cpp:58
#7 0x00004914 in CMultiArgCommand::Execute (this=0xd00750,
options=@0xd0075c, args=@0x7) at ./source/Command.cpp:121
#8 0x00004fe8 in CCommand::Execute (this=0xd00750, args=@0xbffff770)
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
>
>
More information about the vss2svn-users
mailing list