2
votes

I'm working through the Symfony Jobeet tutorial and am getting a segmentation fault when trying to load data from my fixtures files.

PHP 5.2.6-1+lenny8 with Suhosin-Patch 0.9.6.2 (cli), S symfony version 1.4.5

I'm using the Doctrine plugin.

My fixtures below:

/data/fixtures/categories.yml

JobeetCategory:
  design:
    name: Design
  programming:
    name: Programming
  manager:
    name: Manager
  administrator:
    name: Administrator

/data/fixtures/jobs.yml

JobeetJob:
  job_sensio_labs:
    JobeetCategory: programming
    type:         full-time
    company:      Sensio Labs
    logo:         sensio-labs.gif
    url:          http://www.sensiolabs.com/
    position:     Web Developer
    location:     Paris, France
    description:  |
      You've already developed websites with symfony and you want to work
      with Open-Source technologies. You have a minimum of 3 years
      experience in web development with PHP or Java and you wish to
      participate to development of Web 2.0 sites using the best
      frameworks available.
    how_to_apply: |
      Send your resume to fabien.potencier [at] sensio.com
    is_public:    true
    is_activated: true
    token:        job_sensio_labs
    email:        [email protected]
    expires_at:   '2010-10-10'

  job_extreme_sensio:
    JobeetCategory:  design
    type:         part-time
    company:      Extreme Sensio
    logo:         extreme-sensio.gif
    url:          http://www.extreme-sensio.com/
    position:     Web Designer
    location:     Paris, France
    description:  |
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
      eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
      enim ad minim veniam, quis nostrud exercitation ullamco laboris
      nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
      in reprehenderit in.

      Voluptate velit esse cillum dolore eu fugiat nulla pariatur.
      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum.
    how_to_apply: |
      Send your resume to fabien.potencier [at] sensio.com
    is_public:    true
    is_activated: true
    token:        job_extreme_sensio
    email:        [email protected]
    expires_at:   '2010-10-10'

  expired_job:
    JobeetCategory: programming
    company:        Sensio Labs
    position:       Web Developer
    location:       Paris, France
    description:    Lorem ipsum dolor sit amet, consectetur adipisicing elit.
    how_to_apply:   Send your resume to lorem.ipsum [at] dolor.sit
    is_public:      true
    is_activated:   true
    created_at:     '2005-12-01 00:00:00'
    token:          job_expired
    email:          [email protected]
<?php for ($i = 100; $i <= 130; $i++): ?>
  job_<?php echo $i ?>:
    JobeetCategory: programming
    company:      Company <?php echo $i."\n" ?>
    position:     Web Developer
    location:     Paris, France
    description:  Lorem ipsum dolor sit amet, consectetur adipisicing elit.
    how_to_apply: |
      Send your resume to lorem.ipsum [at] company_<?php echo $i ?>.sit
    is_public:    true
    is_activated: true
    token:        job_<?php echo $i."\n" ?>
    email:        [email protected]

<?php endfor ?>

I've followed the tutorial exactly as it says, I'm on day 7 (http://www.symfony-project.org/jobeet/1_4/Doctrine/en/07) at the Job Category Module Creation then Update Database.

I'm really not sure what could be causing this.

Any ideas?

Thanks

3
Try turning on XDebug tracing, you may see which line it is going stupid. xdebug.org/docs/execution_traceyclian

3 Answers

2
votes

Segmentation faults are usually either incorrect opcode caches or broken modules. I'd disable opcode caches like apc first, and if the problem still persists, keep disabling php-modules on at a time to determine which one gives you problems.

If even that doesn't work, try to upgrade php (5.2.13 or 5.3.2 are considered stable), and report a bug in to bugs.php.net if the problem persist with a minimum use case.

1
votes

For arguments sake, I would like to share the way I resolved a similar error.

I had issues in a fixtures logic I was reviewing that would return the same code: Segmentation fault

Basically, the same var was overwritten in a loop after being declared and passed as arguments in methods, yeah I know, what a ride :)

So by defining other vars and properly reassigning them around, the error completely vanished...

Hope that helps someone else reaching this page like i did!

Concerning your case, if the other answer was not resolving it, you may want to try and correct your code in the template part by adding a ; after the endfor closing directive.

0
votes

When this happens to me when working on symfony project, first I check logs, but not always can found the solution. If not, I run some symfony command from the project I am working on that I have programmed to see if some described error is shown in console.

I also check last changes I've done and try to rollback parts of code.

Last time It happened to my was because of an incorrect parameter in a yml file, just a "parent" class.

Hope it helps to think about how to think about the problem.