Opened 16 years ago

Closed 16 years ago

Last modified 15 years ago

#167 closed defect (fixed)

Assertion in adlang1.c when running 64bit version

Reported by: baderk Owned by: devel
Priority: blocker Milestone:
Component: no idea Version: SVN
Keywords: export 64bit assertion Cc: epruesse

Description

When compiling ARB in a 64bit environment an assertion is thrown when exporting sequence data.

The assertion was inserted in [4648] (line 109, currently line 147) in adlang1.c:

case GB_INT:
gb_assert(sizeof(int) == sizeof(size_t));
// assumed by GBL_PARAM_SIZET

The two sizes differ at least under Ubuntu 9.04 AMD64.

Attachments (1)

adlang_sizet (3.4 KB) - added by epruesse 16 years ago.

Download all attachments as: .zip

Change History (4)

Changed 16 years ago by epruesse

comment:1 Changed 16 years ago by epruesse

  • Cc epruesse added

sizeof(size_t) will usually be sizeof(*void), since it is the "length" type for malloc, strlen, etc.

GBL_PARAM_SIZET is only used by gbl_format_sequence to read it's parameters for which an uint8 would actually suffice. I've attached a patch that will just remove GBL_PARAM_SIZET and use GBL_PARAM_INT instead.

comment:2 Changed 16 years ago by westram

  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 15 years ago by westram

  • revoked [5938] and [5966]
  • replaced GBL_PARAM_SIZET by GBL_PARAM_UINT

effective change is diff:ARBDB/adlang1.c@5928:6026

Note: See TracTickets for help on using tickets.