- Status Closed
- Percent Complete
- Task Type Bug Report
- Category QCAD (main)
-
Assigned To
Andrew - Operating System Ubuntu Linux
- Severity Medium
- Priority Very Low
- Reported Version 3.4.4
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Attached to Project: QCAD Bugtracker
Opened by Stijn Verholen - 16.12.2013
Last edited by Andrew - 19.12.2013
Opened by Stijn Verholen - 16.12.2013
Last edited by Andrew - 19.12.2013
FS#993 - QCAD fails to load drawing with message: maximum recursion depth reached
Since today, QCAD fails to load my drawings, with the following error message in the console:
Warning: RBlockReferenceData::getBoundingBox: maximum recursion depth reached: block: “Drukknop”
The block in question is the AREI (Belgian standard for symbols in electrical installations) symbol for a “button” light switch.
It’s a small and simple drawing (see attachment).
I’ve added a lot of these buttons in the drawing since the previous version, but there were some already present, and this never caused problems.
QCAD version: QCAD 3.4.4 Pro for Ubuntu Linux 32bit
System output: see attached file
Thanks for your report.
I understand that the attached file represents the block definition you are using.
Please attach or e-mail the DXF file that actually causes the problem when being loaded. Thanks.
Please find the drawing that doesn't load attached.
Also, note that I've created a dxf for every floor of the house. The other dxf files also don't load anymore, with the same error message.
Thanks in advance.
Thanks.
The following blocks contain indeed recursive references to themselves:
'drukknop', 'droogkast', 'microgolfoven'
I cannot tell at this point how it was possible to create a drawing that does that since QCAD usually does not allow you to insert a reference to block 'A' into block 'A'.
I've attached the fixed file.
Strange. I've noticed this when I first started using those blocks, but it never caused problems before.
The blocks would be represented in the block list both as "Droogkast" and as "droogkast". When clicking on one of those block names, the same block would be selected, as expected.
These blocks were imported from an online library I found and some have had other problems, such as repeating itself onto itself when inserting them into a drawing, but with a slight offset, resulting in a kind of smear effect.
Could the problem appear now because between version 3.4.3 and 3.4.4, some code was changed that distinghuished block names based on capitalisation ? (Something like removing a toLowerCase() statement somewhere.)
Is there a way I can fix my dxf files myself ? I have amassed quite a few :)
A fix is available in QCAD 3.4.5 (released on Dec 18).
Recursive block references are 'grounded' (set to invalid) when loading such a file. If you save the file again, those invalid references are removed completely.