pcb

Draw w/auto drc during DRC causes crash

Bug #699284 reported by Ben Jackson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pcb
Fix Released
Medium
Chad Parker

Bug Description

DRC uses InitConnectionLookup() to allocate some (global) memory. When it pauses to show you a DRC error it is possible to cause a InitConnectionLookup/FreeConnectionLookupMemory pair which will cause the DRC to crash when it resumes. The easiest way to do this is to be in line drawing mode when you start the DRC and then inadvertently click when the cursor is warped to the problem location. If AutoDRC is on, a LookupConnection will be initiated to find what net you are drawing on. That will trigger the init/free. When you click 'next' in the DRC dialog PCB will crash.

It looks like the only safe way to handle this is to free before the DRC dialog and init again after. There could be more objects after the dialog, after all.

Traumflug (mah-jump-ing)
Changed in geda-project:
importance: Undecided → Critical
Revision history for this message
Traumflug (mah-jump-ing) wrote :

Trying with current Git master I can't reproduce this bug. Looking at the age of the bug it may well have been fixed already. If the bug persists, please open a new one with a test case.

Changed in geda-project:
status: New → Fix Released
tags: added: crash drc
Revision history for this message
Chad Parker (parker-charles) wrote :

The DRC has been changed such that it runs to completion before presenting the user with any violations. Thus the scenario that caused this issue is no longer possible. This will be released in 4.2.0.

Changed in pcb:
assignee: nobody → Chad Parker (parker-charles)
status: New → Fix Committed
milestone: none → pcb-4.2.0
Changed in pcb:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.