Skip to content

Fixes Fatal Error #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed

Fixes Fatal Error #17

wants to merge 2 commits into from

Conversation

havvg
Copy link
Contributor

@havvg havvg commented Oct 10, 2010

Fatal Error without this commit:

  • Load any request in the profiler
  • Load request panel
  • Fatal error: Call to member function on a non-object

havvg added 2 commits October 10, 2010 13:43
fixes fatal error on /_profiler/:x-debug-token/request
Conflicts:
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/request_panel.php
@fabpot
Copy link
Member

fabpot commented Dec 8, 2010

This is not an issue anymore.

SofHad pushed a commit to SofHad/symfony that referenced this pull request Oct 12, 2015
This PR was squashed before being merged into the master branch (closes symfony#17).

Discussion
----------

Changed the README a bit

* A bit personally, but an ordered list using numbers seem to indicate a list of steps, while an ordered list using characters indicates different options;
* The demo command was added to the symfony installer (and is available if you download it from symfony.com);
* Some code blocks used the bash highlighting, while others didn't;
* Link to symfony's installing composer guide, as it explains how to install globally (composer still doesn't document this on its download page).

Btw, why does the guide use `server:run` and not `server:start`? (maybe to be compatible with Windows users?)

Commits
-------

c52da0f Changed the README a bit
jderusse pushed a commit to jderusse/symfony that referenced this pull request Mar 30, 2020
OskarStark pushed a commit to PGLongo/symfony that referenced this pull request Dec 22, 2020
# Das ist die erste Commit-Beschreibung:

[Notifier] add support for gatewayapi-notifier

# Die Commit-Beschreibung symfony#2 wird ausgelassen:

# Make GatewayAPITransportFactory final

# Die Commit-Beschreibung symfony#3 wird ausgelassen:

# Fix typo in gatewaypi

# Die Commit-Beschreibung symfony#4 wird ausgelassen:

# Fix typo

# Die Commit-Beschreibung symfony#5 wird ausgelassen:

# Update README.md

# Die Commit-Beschreibung symfony#6 wird ausgelassen:

# Rename GatewayAPI -> GatewayApi

# Die Commit-Beschreibung symfony#7 wird ausgelassen:

# Add GatewayApiTransportFactory tests

# Die Commit-Beschreibung symfony#8 wird ausgelassen:

# Add GatewayApiTransportTest testSend

# Die Commit-Beschreibung symfony#9 wird ausgelassen:

# Add GatewayApiTransportTest testSupportsSmsMessage

# Die Commit-Beschreibung symfony#10 wird ausgelassen:

# Add GatewayApiTransportTest testNotSupportsChatMessage

# Die Commit-Beschreibung symfony#11 wird ausgelassen:

# Lint code

# Die Commit-Beschreibung symfony#12 wird ausgelassen:

# Fix name and email in composer.json
#
# Co-authored-by: Tobias Nyholm <tobias.nyholm@gmail.com>

# Die Commit-Beschreibung symfony#13 wird ausgelassen:

# Remove extra from composer.json

# Die Commit-Beschreibung symfony#14 wird ausgelassen:

# Update version tag in GatewayApiTransport

# Die Commit-Beschreibung symfony#15 wird ausgelassen:

# Add /.gitattributes export-ignore in .gitattributes

# Die Commit-Beschreibung symfony#16 wird ausgelassen:

# Update UnsupportedSchemeException

# Die Commit-Beschreibung symfony#17 wird ausgelassen:

# Add required space in phpdoc

# Die Commit-Beschreibung symfony#18 wird ausgelassen:

# Update GatewayApiTransportFactory.php
#
# Update version tag in GatewayApiTransportFactory

# Die Commit-Beschreibung symfony#19 wird ausgelassen:

# [Notifier] add support for gatewayapi-notifier

# Die Commit-Beschreibung symfony#20 wird ausgelassen:

# Make GatewayAPITransportFactory final

# Die Commit-Beschreibung symfony#21 wird ausgelassen:

# Make GatewayAPITransportFactory final

# Die Commit-Beschreibung symfony#22 wird ausgelassen:

# Fix typo in gatewaypi

# Die Commit-Beschreibung symfony#23 wird ausgelassen:

# Fix typo

# Die Commit-Beschreibung symfony#24 wird ausgelassen:

# Update README.md
fabpot added a commit that referenced this pull request Jul 20, 2022
…afimArts)

This PR was squashed before being merged into the 6.2 branch.

Discussion
----------

[VarDumper] Add `FFI\CData` and `FFI\CType` types

| Q             | A
| ------------- | ---
| Branch?       | 6.2
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Added support of FFI:
```php
$ffi = \FFI::cdef(<<<'CPP'
    typedef struct { int x; int y; } Point;
    typedef struct Example {
        uint8_t array[32];
        long longVal;
        __extension__ union {
            __extension__ struct { short shortVal; };
            struct { Point point; float e; };
        };
        bool boolValue;
        int (*func)(struct __sub *h);
    } Example;
CPP);

$struct = $ffi->new('Example');
$struct->func = (static fn (object $ptr) => 42);

dump($struct);
```

**Before**

```
FFI\CData {#2}
```

**After**

```
FFI\CData<struct Example> size 64 align 8 {#2
  +array: FFI\CData<uint8_t[32]> size 32 align 1 {#18}
  +int32_t longVal: 0
  +int16_t shortVal: 0
  +point: FFI\CData<struct <anonymous>> size 8 align 4 {#17
    +int32_t x: 0
    +int32_t y: 0
  }
  +float e: 0.0
  +bool boolValue: false
  +func: [cdecl] callable(struct __sub*): int32_t {#20
    returnType: FFI\CType<int32_t> size 4 align 4 {#25}
  }
}
```

P.S. I apologize for the multiple force pushes, errors in tests and codestyle have been fixed.

## Review And TODOs

- Pointers
  - [x] Pointer to scalar tests.
  - [x] Pointer to struct tests.
  - [x] "Special" pointer to `char*` tests (with `\0` and without `\0`).
- Possible Errors
  - [x] Do not dump union fields with pointer references (possible SIGSEGV).

Commits
-------

1c7dc52 [VarDumper] Add `FFI\CData` and `FFI\CType` types
chalasr added a commit that referenced this pull request Mar 5, 2024
…lishing a message. (jwage)

This PR was squashed before being merged into the 6.4 branch.

Discussion
----------

[Messenger] [Amqp] Handle AMQPConnectionException when publishing a message.

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Issues        | Fix #36538 Fix #48241
| License       | MIT

If you have a message handler that dispatches messages to another queue, you can encounter `AMQPConnectionException` with the message "Library error: a SSL error occurred" or "a socket error occurred"  depending on if you are using tls or not or if you are running behind a load balancer or not.

You can manually reproduce this issue by dispatching a message where the handler then dispatches another message to a different queue, then go to rabbitmq admin and close the connection manually, then dispatch another message and when the message handler goes to dispatch the other message, you will get this exception:

```
a socket error occurred
#0 /vagrant/vendor/symfony/amqp-messenger/Transport/AmqpTransport.php(60): Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpSender->send()
#1 /vagrant/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(62): Symfony\Component\Messenger\Bridge\Amqp\Transport\AmqpTransport->send()
#2 /vagrant/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\Component\Messenger\Middleware\SendMessageMiddleware->handle()
#3 /vagrant/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(61): Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware->handle()
#4 /vagrant/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware->handle()
#5 /vagrant/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(37): Symfony\Component\Messenger\Middleware\RejectRedeliveredMessageMiddleware->handle()
#6 /vagrant/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(40): Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware->handle()
#7 /vagrant/vendor/symfony/messenger/MessageBus.php(70): Symfony\Component\Messenger\Middleware\TraceableMiddleware->handle()
#8 /vagrant/vendor/symfony/messenger/TraceableMessageBus.php(38): Symfony\Component\Messenger\MessageBus->dispatch()
#9 /vagrant/src/Messenger/MessageBus.php(37): Symfony\Component\Messenger\TraceableMessageBus->dispatch()
#10 /vagrant/vendor/symfony/mailer/Mailer.php(66): App\Messenger\MessageBus->dispatch()
#11 /vagrant/src/Mailer/Mailer.php(83): Symfony\Component\Mailer\Mailer->send()
#12 /vagrant/src/Mailer/Mailer.php(96): App\Mailer\Mailer->send()
#13 /vagrant/src/MessageHandler/Trading/StrategySubscriptionMessageHandler.php(118): App\Mailer\Mailer->sendEmail()
#14 /vagrant/src/MessageHandler/Trading/StrategySubscriptionMessageHandler.php(72): App\MessageHandler\Trading\StrategySubscriptionMessageHandler->handle()
#15 /vagrant/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(152): App\MessageHandler\Trading\StrategySubscriptionMessageHandler->__invoke()
#16 /vagrant/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(91): Symfony\Component\Messenger\Middleware\HandleMessageMiddleware->callHandler()
#17 /vagrant/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\Component\Messenger\Middleware\HandleMessageMiddleware->handle()
#18 /vagrant/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\Component\Messenger\Middleware\SendMessageMiddleware->handle()
#19 /vagrant/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\Component\Messenger\Middleware\FailedMessageProcessingMiddleware->handle()
#20 /vagrant/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\Component\Messenger\Middleware\DispatchAfterCurrentBusMiddleware->handle()
#21 /vagrant/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(37): Symfony\Component\Messenger\Middleware\RejectRedeliveredMessageMiddleware->handle()
#22 /vagrant/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(40): Symfony\Component\Messenger\Middleware\AddBusNameStampMiddleware->handle()
#23 /vagrant/vendor/symfony/messenger/MessageBus.php(70): Symfony\Component\Messenger\Middleware\TraceableMiddleware->handle()
#24 /vagrant/vendor/symfony/messenger/TraceableMessageBus.php(38): Symfony\Component\Messenger\MessageBus->dispatch()
#25 /vagrant/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\Component\Messenger\TraceableMessageBus->dispatch()
#26 /vagrant/vendor/symfony/messenger/Worker.php(162): Symfony\Component\Messenger\RoutableMessageBus->dispatch()
#27 /vagrant/vendor/symfony/messenger/Worker.php(109): Symfony\Component\Messenger\Worker->handleMessage()
#28 /vagrant/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(238): Symfony\Component\Messenger\Worker->run()
#29 /vagrant/vendor/symfony/console/Command/Command.php(326): Symfony\Component\Messenger\Command\ConsumeMessagesCommand->execute()
#30 /vagrant/vendor/symfony/console/Application.php(1096): Symfony\Component\Console\Command\Command->run()
#31 /vagrant/vendor/symfony/framework-bundle/Console/Application.php(126): Symfony\Component\Console\Application->doRunCommand()
#32 /vagrant/vendor/symfony/console/Application.php(324): Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand()
#33 /vagrant/vendor/symfony/framework-bundle/Console/Application.php(80): Symfony\Component\Console\Application->doRun()
#34 /vagrant/vendor/symfony/console/Application.php(175): Symfony\Bundle\FrameworkBundle\Console\Application->doRun()
#35 /vagrant/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\Component\Console\Application->run()
#36 /vagrant/vendor/autoload_runtime.php(29): Symfony\Component\Runtime\Runner\Symfony\ConsoleApplicationRunner->run()
#37 /vagrant/bin/console(11): require_once('...')
#38 {main}
```

TODO:

- [x] Add test for retry logic when publishing messages

Commits
-------

f123370 [Messenger] [Amqp] Handle AMQPConnectionException when publishing a message.
stobrien89 pushed a commit to stobrien89/symfony that referenced this pull request Feb 27, 2025
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants