$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] Boost-users Digest, Vol 3370, Issue 2
From: Brammert Ottens (Brammert.Ottens_at_[hidden])
Date: 2013-02-25 10:31:06
> Brammert Ottens
>
> Hi,
>
> I've had a closer look and I was too quick in dismissing your solution. however, the on_label_popped(cur_label) gets a const reference to the label. I've used a const_cast to remove the const (see code below), but now the code crashes when cleaning up the labels using deallocate. Any ideas on what could be wrong?
>
> template<class Label, class Graph>
> void QRCSPPVisitor::on_label_popped( const Label& label, const Graph& graph )
> {
>  RCSPPVisitorData().IncrementLabelsPopped();
>
>  if ( TimedOut() || GetMillis(StartTime()) > MaxMillis() )
>  {
>    this->SetTimedOut();
>    const_cast<Label&>(label).b_is_dominated = true;
>  }
> }
I think you can just change the parameter declaration to be a non-const 
reference.  Can you please check where the crash occurs and whatever 
information you can get about the cause?  Thanks.
-- Jeremiah Willcock
Hi,
The crash occurs in the final loop, where you are going over vec_vertex_labels. It crashes when calling l_alloc.deallocate( (*csi).get(), 1 );. We use the standard std::allocator. Unfortunately the code has been encapsulated into a much larger project, and the only information that I have is what windows gives me:
 Problem Event Name:	APPCRASH
  Application Name:	QServer_D64.exe
  Application Version:	2013.6.6145.0
  Application Timestamp:	512b792f
  Fault Module Name:	KERNELBASE.dll
  Fault Module Version:	6.1.7601.18015
  Fault Module Timestamp:	50b8479b
  Exception Code:	40010006
  Exception Offset:	0000000000009e5d
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	1043
  Additional Information 1:	02d5
  Additional Information 2:	02d5a24c112729571ddd0daf5f60defb
  Additional Information 3:	563e
  Additional Information 4:	563e19c789cadcf1ddb48080eecb0875
Removing the const from Label doesn't help, the code still crashes. So if you can put a visitor that allows to jump out of the loop prematurely that would be immensely helpful! Thanks already for the quick help.
Brammert