Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Welche Dateien muss man umziehen auf einen neuen Raspberry

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Welche Dateien muss man umziehen auf einen neuen Raspberry

    This topic has been deleted. Only users with topic management privileges can see it.
    • drsnuggles1982
      drsnuggles1982 @wendy2702 last edited by drsnuggles1982

      @wendy2702

      Hy, hier mal das log:

      Denn Fatal Error sehe ich grad zum ersten mal. Was bedeutet das? JavaScript nutze ich aktuell gar nicht.

      <--- JS stacktrace --->
      FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
      ----- Native stack trace -----
      2025-03-06 09:59:07.302 - warn: node-red.0 (726) 1: 0xb87744 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node-red]
      2: 0xec89cc v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 09:59:07.309 - warn: node-red.0 (726) 3: 0xec8b9c v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 09:59:07.311 - warn: node-red.0 (726) 4: 0x10d082c [node-red]
      2025-03-06 09:59:07.315 - warn: node-red.0 (726) 5: 0x10e6d04 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node-red]
      2025-03-06 09:59:07.318 - warn: node-red.0 (726) 6: 0x1137af0 v8::internal::MinorGCJob::Task::RunInternal() [node-red]
      2025-03-06 09:59:07.322 - warn: node-red.0 (726) 7: 0xd1a918 [node-red]
      2025-03-06 09:59:07.325 - warn: node-red.0 (726) 8: 0xd1ddb4 node::PerIsolatePlatformData::FlushForegroundTasksInternal() [node-red]
      9: 0x1806c90 [node-red]
      2025-03-06 09:59:07.330 - warn: node-red.0 (726) 10: 0x181a5d4 [node-red]
      2025-03-06 09:59:07.336 - warn: node-red.0 (726) 11: 0x1807a4c uv_run [node-red]
      2025-03-06 09:59:07.339 - warn: node-red.0 (726) 12: 0xbc55f0 node::SpinEventLoopInternal(node::Environment*) [node-red]
      13: 0xcf0ecc [node-red]
      2025-03-06 09:59:07.342 - warn: node-red.0 (726) 14: 0xcf1818 node::NodeMainInstance::Run() [node-red]
      2025-03-06 09:59:07.344 - warn: node-red.0 (726) 15: 0xc65210 node::Start(int, char**) [node-red]
      16: 0x7f80b17740 [/lib/aarch64-linux-gnu/libc.so.6]
      17: 0x7f80b17818 __libc_start_main [/lib/aarch64-linux-gnu/libc.so.6]
      18: 0xbc3910 [node-red]
      2025-03-06 09:59:07.373 - info: node-red.0 (726) Node-RED exited with null
      2025-03-06 09:59:12.375 - info: node-red.0 (726) Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
      2025-03-06 09:59:12.391 - info: node-red.0 (726) Node-RED started successfully (PID: 1028)
      2025-03-06 09:59:22.223 - warn: node-red.0 (726) Node-RED: 6 Mar 09:59:22 - [info] User directory : /opt/iobroker/iobroker-data/node-red/
      6 Mar 09:59:22 - [warn] Projects disabled : editorTheme.projects.enabled=false
      2025-03-06 10:00:47.581 - warn: node-red.0 (726)
      <--- Last few GCs --->
      [1028:0x169f7030] 94901 ms: Mark-Compact (reduce) 125.8 (134.3) -> 123.5 (131.3) MB, 115.99 / 0.08 ms (+ 0.4 ms in 1 steps since start of marking, biggest step 0.4 ms, walltime since start of marking 124 ms) (average mu = 0.946, current mu = 0.553) al[1028:0x169f7030] 95159 ms: Mark-Compact (reduce) 124.2 (131.3) -> 123.3 (131.6) MB, 207.53 / 0.03 ms (average mu = 0.880, current mu = 0.198) allocation failure; GC in old space requested
      <--- JS stacktrace --->
      FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
      ----- Native stack trace -----
      2025-03-06 10:00:47.603 - warn: node-red.0 (726) 1: 0xb87744 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 10:00:47.604 - warn: node-red.0 (726) 2: 0xec89cc v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 10:00:47.606 - warn: node-red.0 (726) 3: 0xec8b9c v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 10:00:47.610 - warn: node-red.0 (726) 4: 0x10d082c [node-red]
      5: 0x10e6d04 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node-red]
      2025-03-06 10:00:47.613 - warn: node-red.0 (726) 6: 0x10bfa6c v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node-red]
      7: 0x109edd0 v8::internal::Factory::CodeBuilder::AllocateInstructionStream(bool) [node-red]
      2025-03-06 10:00:47.616 - warn: node-red.0 (726) 8: 0x109f1a4 v8::internal::Factory::CodeBuilder::BuildInternal(bool) [node-red]
      9: 0x21b2734 v8::internal::compiler::CodeGenerator::FinalizeCode() [node-red]
      2025-03-06 10:00:47.619 - warn: node-red.0 (726) 10: 0x20c5880 v8::internal::compiler::PipelineImpl::FinalizeCode(bool) [node-red]
      11: 0x20c6200 v8::internal::compiler::PipelineCompilationJob::FinalizeJobImpl(v8::internal::Isolate*) [node-red]
      2025-03-06 10:00:47.621 - warn: node-red.0 (726) 12: 0xf8be78 v8::internal::Compiler::FinalizeTurbofanCompilationJob(v8::internal::TurbofanCompilationJob*, v8::internal::Isolate*) [node-red]
      13: 0xfb8dc4 v8::internal::OptimizingCompileDispatcher::InstallOptimizedFunctions() [node-red]
      2025-03-06 10:00:47.623 - warn: node-red.0 (726) 14: 0x1058a08 v8::internal::StackGuard::HandleInterrupts() [node-red]
      2025-03-06 10:00:47.625 - warn: node-red.0 (726) 15: 0x14b1908 v8::internal::Runtime_StackGuardWithGap(int, unsigned long*, v8::internal::Isolate*) [node-red]
      2025-03-06 10:00:47.627 - warn: node-red.0 (726) 16: 0x18b2a84 [node-red]
      2025-03-06 10:00:47.654 - info: node-red.0 (726) Node-RED exited with null
      2025-03-06 10:00:52.656 - info: node-red.0 (726) Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
      2025-03-06 10:00:52.669 - info: node-red.0 (726) Node-RED started successfully (PID: 1057)
      2025-03-06 10:01:02.406 - warn: node-red.0 (726) Node-RED: 6 Mar 10:01:02 - [info] User directory : /opt/iobroker/iobroker-data/node-red/
      6 Mar 10:01:02 - [warn] Projects disabled : editorTheme.projects.enabled=false
      6 Mar 10:01:02 - [info] Flows file : /opt/iobroker/iobroker-data/node-red/flows.json
      2025-03-06 10:14:26.386 - warn: node-red.0 (726)
      <--- Last few GCs --->
      [1057:0xcb25030] 813414 ms: Mark-Compact 125.7 (131.1) -> 125.0 (132.3) MB, 138.47 / 0.00 ms (average mu = 0.942, current mu = 0.145) allocation failure; scavenge might not succeed
      [1057:0xcb25030] 813688 ms: Mark-Compact 126.0 (132.3) -> 125.2 (134.6) MB, 250.57 / 0.00 ms (average mu = 0.850, current mu = 0.085) allocation failure; scavenge might not succeed
      <--- JS stacktrace --->
      FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
      ----- Native stack trace -----
      2025-03-06 10:14:26.391 - warn: node-red.0 (726) 1: 0xb87744 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 10:14:26.392 - warn: node-red.0 (726) 2: 0xec89cc v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node-red]
      2025-03-06 10:14:26.395 - warn: node-red.0 (726) 3: 0xec8b9c v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node-red]
      4: 0x10d082c [node-red]
      2025-03-06 10:14:26.397 - warn: node-red.0 (726) 5: 0x10e6d04 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node-red]
      2025-03-06 10:14:26.399 - warn: node-red.0 (726) 6: 0x10bfa6c v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node-red]
      7: 0x10c0830 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node-red]
      2025-03-06 10:14:26.402 - warn: node-red.0 (726) 8: 0x109f850 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [node-red]
      2025-03-06 10:14:26.404 - warn: node-red.0 (726) 9: 0x1090b08 v8::internal::FactoryBase::AllocateRawArray(int, v8::internal::AllocationType) [node-red]
      2025-03-06 10:14:26.406 - warn: node-red.0 (726) 10: 0x1090cac v8::internal::FactoryBase::NewFixedArrayWithFiller(v8::internal::Handle, int, v8::internal::Handle, v8::internal::AllocationType) [node-red]
      11: 0x137c64c v8::internal::Handle v8::internal::HashTable::New(v8::internal::Isolate*, int, v8::internal::AllocationType, v8::internal::MinimumCapacity) [node-red]
      2025-03-06 10:14:26.409 - warn: node-red.0 (726) 12: 0x137c8b4 v8::internal::Handle v8::internal::HashTable::EnsureCapacity(v8::internal::Isolate*, v8::internal::Handle, int, v8::internal::AllocationType) [node-red]
      2025-03-06 10:14:26.411 - warn: node-red.0 (726) 13: 0x137d500 v8::internal::Handle v8::internal::Dictionary::Add(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::PropertyDetails, v8::internal::InternalIndex*) [node-red]
      14: 0x13829f8 v8::internal::BaseNameDictionary::Add(v8::internal::Isolate*, v8::internal::Handle, v8::internal::Handle, v8::internal::Handle, v8::internal::PropertyDetails, v8::internal::InternalIndex*) [node-red]
      2025-03-06 10:14:26.413 - warn: node-red.0 (726) 15: 0x14bab84 v8::internal::Runtime_AddDictionaryProperty(int, unsigned long*, v8::internal::Isolate*) [node-red]
      2025-03-06 10:14:26.415 - warn: node-red.0 (726) 16: 0x18b2a84 [node-red]
      2025-03-06 10:14:26.448 - info: node-red.0 (726) Node-RED exited with null
      2025-03-06 10:14:31.449 - info: node-red.0 (726) Starting node-red: --max-old-space-size=128 /opt/iobroker/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
      2025-03-06 10:14:31.460 - info: node-red.0 (726) Node-RED started successfully (PID: 1090)
      2025-03-06 10:14:41.050 - warn: node-red.0 (726) Node-RED: 6 Mar 10:14:41 - [info] User directory : /opt/iobroker/iobroker-data/node-red/
      6 Mar 10:14:41 - [warn] Projects disabled : editorTheme.projects.enabled=false
      
      
      Iob diag
      

      wird abgelehnt mit “Access denied” da muss ich mich mal schlau machen warum.

      Thomas Braun Marc Berg 2 Replies Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @drsnuggles1982 last edited by

        @drsnuggles1982 sagte in Welche Dateien muss man umziehen auf einen neuen Raspberry:

        da muss ich mich mal schlau machen warum.

        Fehlende Rechte.

        groups
        ls -la /home/iobroker
        

        anschauen.

        drsnuggles1982 1 Reply Last reply Reply Quote 0
        • drsnuggles1982
          drsnuggles1982 @Thomas Braun last edited by drsnuggles1982

          @thomas-braun

          93c39634-fdc1-4a48-ad64-6df6e36db93d-image.png

          Ob das so stimmt weiß ich nicht

          Ist das ok?

          Hab im internet noch den link zum installer fix für den iOS Rocker gefunden. Macht das Sinn hier nochmal drüber laufen zu lassen?

          curl -sL https://iobroker.net/fix.sh | bash -
          
          1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @drsnuggles1982 last edited by

            @drsnuggles1982 sagte in Welche Dateien muss man umziehen auf einen neuen Raspberry:

            Denn Fatal Error sehe ich grad zum ersten mal. Was bedeutet das? JavaScript nutze ich aktuell gar nicht.

            Unabhängig von den Rechteproblemen würde ich den Speicher für die Nodered-Instanz hoch setzen:

            747065f9-5f3b-4614-b02f-bbff23a420dc-grafik.png

            drsnuggles1982 1 Reply Last reply Reply Quote 0
            • drsnuggles1982
              drsnuggles1982 @Marc Berg last edited by

              @marc-berg

              Hy, es stand auf 128MB ich bin mal hoch gegangen auf 512. Jetzt geht es. Konnte ohne Probleme Änderungen durchführen

              Thomas Braun 1 Reply Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @drsnuggles1982 last edited by

                @drsnuggles1982

                Bitte keine Bildchen von Konsolentext. Hau das in CodeTags eingebettet hier rein.

                drsnuggles1982 1 Reply Last reply Reply Quote 0
                • drsnuggles1982
                  drsnuggles1982 @Thomas Braun last edited by

                  @thomas-braun

                  
                  pi@reimerhome:~ $ ls -la /home/iobroker
                  total 76
                  drwxr-xr-x 5 iobroker iobroker  4096 Mar  6 10:32 .
                  drwxr-xr-x 4 root     root      4096 Mar  6 09:11 ..
                  -rw-r--r-- 1 iobroker iobroker   220 Mar 29  2024 .bash_logout
                  -rw-r--r-- 1 iobroker iobroker  3523 Nov 19 14:32 .bashrc
                  drwxr-xr-x 3 iobroker iobroker  4096 Mar  6 09:26 .cache
                  drwx------ 3 iobroker iobroker  4096 Mar  6 10:32 .config
                  -rw-r--r-- 1 iobroker iobroker 40250 Mar  6 10:30 .diag.sh
                  -rw-r--r-- 1 iobroker iobroker  3689 Mar  6 10:35 iob_diag.log
                  drwxr-xr-x 4 iobroker iobroker  4096 Mar  6 09:32 .npm
                  -rw-r--r-- 1 iobroker iobroker   807 Mar 29  2024 .profile
                  pi@reimerhome:~ $ groups
                  pi adm dialout cdrom sudo audio video plugdev games users input render netdev gpio i2c spi iobroker
                  
                  

                  Sorry nun als code tag

                  Thomas Braun 1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @drsnuggles1982 last edited by

                    @drsnuggles1982

                    ls -la /home
                    

                    anschauen.

                    drsnuggles1982 1 Reply Last reply Reply Quote 0
                    • drsnuggles1982
                      drsnuggles1982 @Thomas Braun last edited by

                      @thomas-braun

                      
                      total 16
                      drwxr-xr-x  4 root     root     4096 Mar  6 09:11 .
                      drwxr-xr-x 18 root     root     4096 Nov 19 14:40 ..
                      drwxr-xr-x  5 iobroker iobroker 4096 Mar  6 10:32 iobroker
                      drwx------  5 pi       pi       4096 Mar  6 09:13 pi
                      
                      
                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @drsnuggles1982 last edited by

                        @drsnuggles1982

                        Die Rechte passen eigentlich. Zeig mal die genauen Ein- wie Ausgaben zu

                        iob diag
                        
                        drsnuggles1982 1 Reply Last reply Reply Quote 0
                        • drsnuggles1982
                          drsnuggles1982 @Thomas Braun last edited by

                          @thomas-braun sagte in Welche Dateien muss man umziehen auf einen neuen Raspberry:

                          iob diag

                          
                          pi@reimerhome:~ $ iob diag
                          /usr/bin/iob: line 21: /home/iobroker/iob_diag.log: Permission denied
                          
                          
                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @drsnuggles1982 last edited by Thomas Braun

                            @drsnuggles1982

                            Also scheitert nicht die Ausführung, sondern das Schreiben des logs. Setz da Schreiberechte für die Gruppe auf iob_diag.log

                            Edit: Nee, die Rechte passen. Da muss noch was anderes krumm sein.

                            drsnuggles1982 1 Reply Last reply Reply Quote 0
                            • drsnuggles1982
                              drsnuggles1982 @Thomas Braun last edited by

                              @thomas-braun mhm ok was nun?

                              Doch mal den fix ausführen?

                              
                              curl -sL https://iobroker.net/fix.sh | bash -
                              
                              
                              Thomas Braun 1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @drsnuggles1982 last edited by

                                @drsnuggles1982

                                Ja, mach mal.
                                Was passiert denn, wenn du

                                iob fix
                                

                                aufrufst? Der Befehl verhält sich ja ganz ähnlich zu iob diag.

                                drsnuggles1982 1 Reply Last reply Reply Quote 0
                                • drsnuggles1982
                                  drsnuggles1982 @Thomas Braun last edited by

                                  @thomas-braun

                                  
                                  752 io.pushover.0
                                  792 io.backitup.0
                                  849 io.hm-rpc.1
                                  884 io.synology.0
                                  899 io.zigbee.0
                                  922 io.discovery.0
                                  941 io.enocean.0
                                  977 io.web.0
                                  Please stop them first and try again!
                                  pi@reimerhome:~ $
                                  pi@reimerhome:~ $ iob fix
                                  library: loaded
                                  Library version=2024-10-22
                                  ioBroker or some processes are still running:
                                  599 iobroker.js-con
                                  641 io.admin.0
                                  690 io.javascript.0
                                  720 io.node-red.0
                                  752 io.pushover.0
                                  792 io.backitup.0
                                  849 io.hm-rpc.1
                                  884 io.synology.0
                                  899 io.zigbee.0
                                  922 io.discovery.0
                                  941 io.enocean.0
                                  977 io.web.0
                                  Please stop them first and try again
                                  
                                  

                                  Beide verhalten sich gleich

                                  wendy2702 1 Reply Last reply Reply Quote 0
                                  • wendy2702
                                    wendy2702 @drsnuggles1982 last edited by

                                    @drsnuggles1982

                                    iob stop
                                    iob fix
                                    iob start
                                    
                                    drsnuggles1982 1 Reply Last reply Reply Quote 0
                                    • drsnuggles1982
                                      drsnuggles1982 @wendy2702 last edited by

                                      @wendy2702 @Thomas-Braun

                                      Jetzt lief es durch

                                      
                                      Compressed 2 JSONL files. Done
                                      
                                      ==========================================================================
                                          Checking autostart (5/5)
                                      ==========================================================================
                                      
                                      ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
                                      Authentication is required to stop 'iobroker.service'.
                                      Authenticating as: ,,, (pi)
                                      Password:
                                      Enabling autostart...
                                      polkit-agent-helper-1: pam_authenticate failed: Authentication failure
                                                       Autostart enabled!
                                      
                                      ==========================================================================
                                      
                                          Your installation was fixed successfully
                                          Run iobroker start to start ioBroker again!
                                      
                                      
                                      wendy2702 1 Reply Last reply Reply Quote 0
                                      • wendy2702
                                        wendy2702 @drsnuggles1982 last edited by

                                        @drsnuggles1982 Hast du davon die vollständige Ausgabe?

                                        Jetzt mal

                                        iob diag
                                        
                                        drsnuggles1982 1 Reply Last reply Reply Quote 0
                                        • drsnuggles1982
                                          drsnuggles1982 @wendy2702 last edited by drsnuggles1982

                                          @wendy2702

                                          Ja leider nur die Ausgabe

                                          
                                          Status admin and web instance:
                                          + system.adapter.admin.0                  : admin                 : reimerhome                               -  enabled, port: 8081, bind: 0.0.0.0, run as: admin
                                          + system.adapter.web.0                    : web                   : reimerhome                               -  enabled, port: 8082, bind: 0.0.0.0, run as: admin
                                          
                                          Objects:                1773
                                          States:                 1476
                                          
                                          Size of iob-Database:
                                          
                                          12M     /opt/iobroker/iobroker-data/objects.jsonl
                                          1.4M    /opt/iobroker/iobroker-data/states.jsonl
                                          
                                          
                                          Operating System is the current Debian stable version codenamed 'bookworm'!
                                          
                                          =================== END OF SUMMARY ====================
                                          
                                          === Mark text until here for copying ===
                                          
                                          

                                          Sieht aber deutlich besser aus

                                          Thomas Braun 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @drsnuggles1982 last edited by

                                            @drsnuggles1982 sagte in Welche Dateien muss man umziehen auf einen neuen Raspberry:

                                            Sieht aber deutlich besser aus

                                            Könnte man sagen, wenn man die Langfassung sehen würde.

                                            drsnuggles1982 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            959
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            28
                                            949
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo