Message: Re: Double delete when in MT mode Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Note Re: Double delete when in MT mode 

Forum: Multithreading
Re: None Double delete when in MT mode (Giuseppe Vacanti)
Date: 23 Dec, 2016
From: Giuseppe Vacanti <Giuseppe Vacanti>

I thought I would post an update on the problem.

I followed the advice given, cleaned up how I was holding pointers, and I can run the application if I do not try to write any data out. If I activate a stepping action I again trigger a core dump. I can post the few lines of code (m_runman is a const pointer to the MT RunManager):

...UserSteppingAction(const G4Step* aStep) 
  const G4Track * aTrack = aStep->GetTrack();
  G4VPhysicalVolume * volume = aTrack->GetVolume();
  const G4int event_id = m_runman->GetCurrentEvent()->GetEventID();
  const G4int track_id = aTrack->GetTrackID();

The pointer called volume seems to be valid, but as soon as I try to make use of it I get a core dump.

If I look at the example advanced/lAr_calorimeter, I see similar code.

I had understood that I'm allowed to fetch geometry-related data in a thread, as the geometry is constant, but I'm not doing this correctly. Of course, with a core dump the problem could be somewhere else, and just manifest itself here.

I'll continue the hunt and post another update in a few days.

Giuseppe

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Question: Re: Double delete when in MT mode   (Michael H. Kelsey - 23 Dec, 2016)
 Add Message Add Message
to: "Re: Double delete when in MT mode"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews